Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test
authorAndrew Tridgell <tridge@samba.org>
Fri, 29 Aug 2008 21:38:02 +0000 (07:38 +1000)
committerAndrew Tridgell <tridge@samba.org>
Fri, 29 Aug 2008 21:38:02 +0000 (07:38 +1000)
(This used to be commit f008c3b6ee324056fd9b63f6151ad6849640c959)

545 files changed:
.gitignore
packaging/Fedora/cplusplus-headers.patch [new file with mode: 0644]
packaging/Fedora/samba4.spec
source4/auth/auth.h
source4/auth/gensec/gensec_gssapi.c
source4/auth/gensec/gensec_gssapi.h [new file with mode: 0644]
source4/auth/kerberos/kerberos_pac.c
source4/auth/session.c
source4/build/make/rules.mk
source4/heimdal/README
source4/heimdal/cf/check-var.m4
source4/heimdal/cf/find-func-no-libs.m4
source4/heimdal/cf/find-func-no-libs2.m4
source4/heimdal/cf/find-func.m4
source4/heimdal/cf/make-proto.pl [new file with mode: 0644]
source4/heimdal/cf/resolv.m4
source4/heimdal/kdc/524.c
source4/heimdal/kdc/default_config.c
source4/heimdal/kdc/digest.c
source4/heimdal/kdc/headers.h
source4/heimdal/kdc/kaserver.c
source4/heimdal/kdc/kdc-private.h [deleted file]
source4/heimdal/kdc/kdc-protos.h [deleted file]
source4/heimdal/kdc/kdc.h
source4/heimdal/kdc/kdc_locl.h
source4/heimdal/kdc/kerberos4.c
source4/heimdal/kdc/kerberos5.c
source4/heimdal/kdc/krb5tgs.c
source4/heimdal/kdc/kx509.c
source4/heimdal/kdc/log.c
source4/heimdal/kdc/misc.c
source4/heimdal/kdc/pkinit.c [changed mode: 0755->0644]
source4/heimdal/kdc/process.c
source4/heimdal/kdc/rx.h
source4/heimdal/kdc/windc.c
source4/heimdal/kdc/windc_plugin.h
source4/heimdal/kuser/kinit.c
source4/heimdal/kuser/kuser_locl.h
source4/heimdal/lib/asn1/CMS.asn1
source4/heimdal/lib/asn1/asn1-common.h
source4/heimdal/lib/asn1/asn1_err.et
source4/heimdal/lib/asn1/asn1_gen.c
source4/heimdal/lib/asn1/asn1_queue.h
source4/heimdal/lib/asn1/canthandle.asn1
source4/heimdal/lib/asn1/der-protos.h [deleted file]
source4/heimdal/lib/asn1/der.c
source4/heimdal/lib/asn1/der.h
source4/heimdal/lib/asn1/der_cmp.c [changed mode: 0755->0644]
source4/heimdal/lib/asn1/der_copy.c
source4/heimdal/lib/asn1/der_format.c
source4/heimdal/lib/asn1/der_free.c
source4/heimdal/lib/asn1/der_get.c
source4/heimdal/lib/asn1/der_length.c
source4/heimdal/lib/asn1/der_locl.h
source4/heimdal/lib/asn1/der_put.c
source4/heimdal/lib/asn1/digest.asn1
source4/heimdal/lib/asn1/extra.c
source4/heimdal/lib/asn1/gen.c
source4/heimdal/lib/asn1/gen_copy.c
source4/heimdal/lib/asn1/gen_decode.c
source4/heimdal/lib/asn1/gen_encode.c
source4/heimdal/lib/asn1/gen_free.c
source4/heimdal/lib/asn1/gen_glue.c
source4/heimdal/lib/asn1/gen_length.c
source4/heimdal/lib/asn1/gen_locl.h
source4/heimdal/lib/asn1/gen_seq.c
source4/heimdal/lib/asn1/hash.c
source4/heimdal/lib/asn1/hash.h
source4/heimdal/lib/asn1/k5.asn1
source4/heimdal/lib/asn1/kx509.asn1
source4/heimdal/lib/asn1/lex.c
source4/heimdal/lib/asn1/lex.h
source4/heimdal/lib/asn1/lex.l
source4/heimdal/lib/asn1/libasn1.h [deleted file]
source4/heimdal/lib/asn1/main.c
source4/heimdal/lib/asn1/parse.c
source4/heimdal/lib/asn1/parse.h
source4/heimdal/lib/asn1/parse.y
source4/heimdal/lib/asn1/pkcs12.asn1
source4/heimdal/lib/asn1/pkcs8.asn1
source4/heimdal/lib/asn1/pkcs9.asn1
source4/heimdal/lib/asn1/symbol.c
source4/heimdal/lib/asn1/symbol.h
source4/heimdal/lib/asn1/test.asn1
source4/heimdal/lib/asn1/test.gen
source4/heimdal/lib/asn1/timegm.c
source4/heimdal/lib/com_err/com_err.c
source4/heimdal/lib/com_err/com_err.h
source4/heimdal/lib/com_err/com_right.h
source4/heimdal/lib/com_err/compile_et.c
source4/heimdal/lib/com_err/compile_et.h
source4/heimdal/lib/com_err/error.c
source4/heimdal/lib/com_err/lex.c
source4/heimdal/lib/com_err/lex.h
source4/heimdal/lib/com_err/lex.l
source4/heimdal/lib/com_err/parse.c
source4/heimdal/lib/com_err/parse.h
source4/heimdal/lib/com_err/parse.y
source4/heimdal/lib/gssapi/gssapi/gssapi.h
source4/heimdal/lib/gssapi/gssapi/gssapi_krb5.h
source4/heimdal/lib/gssapi/gssapi/gssapi_spnego.h
source4/heimdal/lib/gssapi/krb5/8003.c
source4/heimdal/lib/gssapi/krb5/accept_sec_context.c
source4/heimdal/lib/gssapi/krb5/acquire_cred.c
source4/heimdal/lib/gssapi/krb5/add_cred.c
source4/heimdal/lib/gssapi/krb5/arcfour.c
source4/heimdal/lib/gssapi/krb5/canonicalize_name.c
source4/heimdal/lib/gssapi/krb5/cfx.c
source4/heimdal/lib/gssapi/krb5/cfx.h [changed mode: 0755->0644]
source4/heimdal/lib/gssapi/krb5/compare_name.c
source4/heimdal/lib/gssapi/krb5/compat.c
source4/heimdal/lib/gssapi/krb5/context_time.c
source4/heimdal/lib/gssapi/krb5/copy_ccache.c
source4/heimdal/lib/gssapi/krb5/decapsulate.c
source4/heimdal/lib/gssapi/krb5/delete_sec_context.c
source4/heimdal/lib/gssapi/krb5/display_name.c
source4/heimdal/lib/gssapi/krb5/display_status.c
source4/heimdal/lib/gssapi/krb5/duplicate_name.c
source4/heimdal/lib/gssapi/krb5/encapsulate.c
source4/heimdal/lib/gssapi/krb5/export_name.c
source4/heimdal/lib/gssapi/krb5/export_sec_context.c
source4/heimdal/lib/gssapi/krb5/external.c
source4/heimdal/lib/gssapi/krb5/get_mic.c
source4/heimdal/lib/gssapi/krb5/gkrb5_err.et
source4/heimdal/lib/gssapi/krb5/gsskrb5-private.h [deleted file]
source4/heimdal/lib/gssapi/krb5/gsskrb5_locl.h
source4/heimdal/lib/gssapi/krb5/import_name.c
source4/heimdal/lib/gssapi/krb5/import_sec_context.c
source4/heimdal/lib/gssapi/krb5/indicate_mechs.c
source4/heimdal/lib/gssapi/krb5/init.c
source4/heimdal/lib/gssapi/krb5/init_sec_context.c
source4/heimdal/lib/gssapi/krb5/inquire_context.c
source4/heimdal/lib/gssapi/krb5/inquire_cred.c
source4/heimdal/lib/gssapi/krb5/inquire_cred_by_mech.c
source4/heimdal/lib/gssapi/krb5/inquire_cred_by_oid.c
source4/heimdal/lib/gssapi/krb5/inquire_mechs_for_name.c
source4/heimdal/lib/gssapi/krb5/inquire_names_for_mech.c
source4/heimdal/lib/gssapi/krb5/inquire_sec_context_by_oid.c
source4/heimdal/lib/gssapi/krb5/prf.c
source4/heimdal/lib/gssapi/krb5/process_context_token.c
source4/heimdal/lib/gssapi/krb5/release_buffer.c
source4/heimdal/lib/gssapi/krb5/release_cred.c
source4/heimdal/lib/gssapi/krb5/release_name.c
source4/heimdal/lib/gssapi/krb5/sequence.c [changed mode: 0755->0644]
source4/heimdal/lib/gssapi/krb5/set_cred_option.c
source4/heimdal/lib/gssapi/krb5/set_sec_context_option.c
source4/heimdal/lib/gssapi/krb5/unwrap.c
source4/heimdal/lib/gssapi/krb5/verify_mic.c
source4/heimdal/lib/gssapi/krb5/wrap.c
source4/heimdal/lib/gssapi/mech/context.c
source4/heimdal/lib/gssapi/mech/context.h
source4/heimdal/lib/gssapi/mech/cred.h
source4/heimdal/lib/gssapi/mech/gss_accept_sec_context.c
source4/heimdal/lib/gssapi/mech/gss_acquire_cred.c
source4/heimdal/lib/gssapi/mech/gss_add_cred.c
source4/heimdal/lib/gssapi/mech/gss_add_oid_set_member.c
source4/heimdal/lib/gssapi/mech/gss_buffer_set.c
source4/heimdal/lib/gssapi/mech/gss_canonicalize_name.c
source4/heimdal/lib/gssapi/mech/gss_compare_name.c
source4/heimdal/lib/gssapi/mech/gss_context_time.c
source4/heimdal/lib/gssapi/mech/gss_create_empty_oid_set.c
source4/heimdal/lib/gssapi/mech/gss_decapsulate_token.c
source4/heimdal/lib/gssapi/mech/gss_delete_sec_context.c
source4/heimdal/lib/gssapi/mech/gss_display_name.c
source4/heimdal/lib/gssapi/mech/gss_display_status.c
source4/heimdal/lib/gssapi/mech/gss_duplicate_name.c
source4/heimdal/lib/gssapi/mech/gss_duplicate_oid.c
source4/heimdal/lib/gssapi/mech/gss_encapsulate_token.c
source4/heimdal/lib/gssapi/mech/gss_export_name.c
source4/heimdal/lib/gssapi/mech/gss_export_sec_context.c
source4/heimdal/lib/gssapi/mech/gss_get_mic.c
source4/heimdal/lib/gssapi/mech/gss_import_name.c
source4/heimdal/lib/gssapi/mech/gss_import_sec_context.c
source4/heimdal/lib/gssapi/mech/gss_indicate_mechs.c
source4/heimdal/lib/gssapi/mech/gss_init_sec_context.c
source4/heimdal/lib/gssapi/mech/gss_inquire_context.c
source4/heimdal/lib/gssapi/mech/gss_inquire_cred.c
source4/heimdal/lib/gssapi/mech/gss_inquire_cred_by_mech.c
source4/heimdal/lib/gssapi/mech/gss_inquire_cred_by_oid.c
source4/heimdal/lib/gssapi/mech/gss_inquire_mechs_for_name.c
source4/heimdal/lib/gssapi/mech/gss_inquire_names_for_mech.c
source4/heimdal/lib/gssapi/mech/gss_inquire_sec_context_by_oid.c
source4/heimdal/lib/gssapi/mech/gss_krb5.c
source4/heimdal/lib/gssapi/mech/gss_mech_switch.c
source4/heimdal/lib/gssapi/mech/gss_names.c
source4/heimdal/lib/gssapi/mech/gss_oid_equal.c
source4/heimdal/lib/gssapi/mech/gss_oid_to_str.c
source4/heimdal/lib/gssapi/mech/gss_process_context_token.c
source4/heimdal/lib/gssapi/mech/gss_pseudo_random.c
source4/heimdal/lib/gssapi/mech/gss_release_buffer.c
source4/heimdal/lib/gssapi/mech/gss_release_cred.c
source4/heimdal/lib/gssapi/mech/gss_release_name.c
source4/heimdal/lib/gssapi/mech/gss_release_oid.c
source4/heimdal/lib/gssapi/mech/gss_release_oid_set.c
source4/heimdal/lib/gssapi/mech/gss_seal.c
source4/heimdal/lib/gssapi/mech/gss_set_cred_option.c
source4/heimdal/lib/gssapi/mech/gss_set_sec_context_option.c
source4/heimdal/lib/gssapi/mech/gss_sign.c
source4/heimdal/lib/gssapi/mech/gss_test_oid_set_member.c
source4/heimdal/lib/gssapi/mech/gss_unseal.c
source4/heimdal/lib/gssapi/mech/gss_unwrap.c
source4/heimdal/lib/gssapi/mech/gss_utils.c
source4/heimdal/lib/gssapi/mech/gss_verify.c
source4/heimdal/lib/gssapi/mech/gss_verify_mic.c
source4/heimdal/lib/gssapi/mech/gss_wrap.c
source4/heimdal/lib/gssapi/mech/gss_wrap_size_limit.c
source4/heimdal/lib/gssapi/mech/gssapi.asn1
source4/heimdal/lib/gssapi/mech/mech_locl.h
source4/heimdal/lib/gssapi/mech/mech_switch.h
source4/heimdal/lib/gssapi/mech/name.h
source4/heimdal/lib/gssapi/mech/utils.h
source4/heimdal/lib/gssapi/spnego/accept_sec_context.c
source4/heimdal/lib/gssapi/spnego/compat.c
source4/heimdal/lib/gssapi/spnego/context_stubs.c
source4/heimdal/lib/gssapi/spnego/cred_stubs.c
source4/heimdal/lib/gssapi/spnego/external.c
source4/heimdal/lib/gssapi/spnego/init_sec_context.c
source4/heimdal/lib/gssapi/spnego/spnego-private.h [deleted file]
source4/heimdal/lib/gssapi/spnego/spnego.asn1
source4/heimdal/lib/gssapi/spnego/spnego_locl.h
source4/heimdal/lib/hcrypto/aes.c
source4/heimdal/lib/hcrypto/aes.h
source4/heimdal/lib/hcrypto/bn.c
source4/heimdal/lib/hcrypto/bn.h
source4/heimdal/lib/hcrypto/des.c
source4/heimdal/lib/hcrypto/des.h
source4/heimdal/lib/hcrypto/dh-imath.c
source4/heimdal/lib/hcrypto/dh.c
source4/heimdal/lib/hcrypto/dh.h
source4/heimdal/lib/hcrypto/dsa.c
source4/heimdal/lib/hcrypto/dsa.h
source4/heimdal/lib/hcrypto/engine.c
source4/heimdal/lib/hcrypto/engine.h
source4/heimdal/lib/hcrypto/evp-aes-cts.c [new file with mode: 0644]
source4/heimdal/lib/hcrypto/evp-hcrypto.c [new file with mode: 0644]
source4/heimdal/lib/hcrypto/evp.c
source4/heimdal/lib/hcrypto/evp.h
source4/heimdal/lib/hcrypto/hash.h
source4/heimdal/lib/hcrypto/hmac.h
source4/heimdal/lib/hcrypto/imath/LICENSE
source4/heimdal/lib/hcrypto/imath/imath.c [changed mode: 0755->0644]
source4/heimdal/lib/hcrypto/imath/imath.h [changed mode: 0755->0644]
source4/heimdal/lib/hcrypto/imath/iprime.c [changed mode: 0755->0644]
source4/heimdal/lib/hcrypto/imath/iprime.h [changed mode: 0755->0644]
source4/heimdal/lib/hcrypto/md2.c
source4/heimdal/lib/hcrypto/md2.h
source4/heimdal/lib/hcrypto/md4.c
source4/heimdal/lib/hcrypto/md4.h
source4/heimdal/lib/hcrypto/md5.c
source4/heimdal/lib/hcrypto/md5.h
source4/heimdal/lib/hcrypto/pkcs12.c
source4/heimdal/lib/hcrypto/pkcs12.h
source4/heimdal/lib/hcrypto/pkcs5.c
source4/heimdal/lib/hcrypto/rand-egd.c
source4/heimdal/lib/hcrypto/rand-fortuna.c
source4/heimdal/lib/hcrypto/rand-unix.c
source4/heimdal/lib/hcrypto/rand.c
source4/heimdal/lib/hcrypto/rand.h
source4/heimdal/lib/hcrypto/randi.h
source4/heimdal/lib/hcrypto/rc2.c
source4/heimdal/lib/hcrypto/rc2.h
source4/heimdal/lib/hcrypto/rc4.c
source4/heimdal/lib/hcrypto/rc4.h
source4/heimdal/lib/hcrypto/rijndael-alg-fst.c
source4/heimdal/lib/hcrypto/rnd_keys.c
source4/heimdal/lib/hcrypto/rsa-imath.c
source4/heimdal/lib/hcrypto/rsa.c
source4/heimdal/lib/hcrypto/rsa.h
source4/heimdal/lib/hcrypto/sha.c
source4/heimdal/lib/hcrypto/sha.h
source4/heimdal/lib/hcrypto/sha256.c
source4/heimdal/lib/hcrypto/ui.c
source4/heimdal/lib/hcrypto/ui.h
source4/heimdal/lib/hdb/db.c
source4/heimdal/lib/hdb/dbinfo.c
source4/heimdal/lib/hdb/ext.c
source4/heimdal/lib/hdb/hdb-private.h [deleted file]
source4/heimdal/lib/hdb/hdb-protos.h [deleted file]
source4/heimdal/lib/hdb/hdb.asn1
source4/heimdal/lib/hdb/hdb.c
source4/heimdal/lib/hdb/hdb.h
source4/heimdal/lib/hdb/hdb_err.et
source4/heimdal/lib/hdb/hdb_locl.h
source4/heimdal/lib/hdb/keys.c
source4/heimdal/lib/hdb/keytab.c
source4/heimdal/lib/hdb/mkey.c
source4/heimdal/lib/hdb/ndbm.c
source4/heimdal/lib/hx509/ca.c
source4/heimdal/lib/hx509/cert.c
source4/heimdal/lib/hx509/cms.c
source4/heimdal/lib/hx509/collector.c
source4/heimdal/lib/hx509/crmf.asn1
source4/heimdal/lib/hx509/crypto.c
source4/heimdal/lib/hx509/env.c
source4/heimdal/lib/hx509/error.c
source4/heimdal/lib/hx509/hx509-private.h [deleted file]
source4/heimdal/lib/hx509/hx509-protos.h [deleted file]
source4/heimdal/lib/hx509/hx509.h
source4/heimdal/lib/hx509/hx509_err.et
source4/heimdal/lib/hx509/hx_locl.h
source4/heimdal/lib/hx509/keyset.c
source4/heimdal/lib/hx509/ks_dir.c
source4/heimdal/lib/hx509/ks_file.c
source4/heimdal/lib/hx509/ks_keychain.c
source4/heimdal/lib/hx509/ks_mem.c
source4/heimdal/lib/hx509/ks_null.c
source4/heimdal/lib/hx509/ks_p11.c
source4/heimdal/lib/hx509/ks_p12.c
source4/heimdal/lib/hx509/lock.c
source4/heimdal/lib/hx509/name.c
source4/heimdal/lib/hx509/ocsp.asn1
source4/heimdal/lib/hx509/peer.c
source4/heimdal/lib/hx509/pkcs10.asn1
source4/heimdal/lib/hx509/print.c
source4/heimdal/lib/hx509/req.c
source4/heimdal/lib/hx509/revoke.c
source4/heimdal/lib/hx509/test_name.c
source4/heimdal/lib/krb5/acache.c
source4/heimdal/lib/krb5/add_et_list.c
source4/heimdal/lib/krb5/addr_families.c
source4/heimdal/lib/krb5/appdefault.c
source4/heimdal/lib/krb5/asn1_glue.c
source4/heimdal/lib/krb5/auth_context.c
source4/heimdal/lib/krb5/build_ap_req.c
source4/heimdal/lib/krb5/build_auth.c
source4/heimdal/lib/krb5/cache.c
source4/heimdal/lib/krb5/changepw.c
source4/heimdal/lib/krb5/codec.c
source4/heimdal/lib/krb5/config_file.c
source4/heimdal/lib/krb5/config_file_netinfo.c
source4/heimdal/lib/krb5/constants.c
source4/heimdal/lib/krb5/context.c
source4/heimdal/lib/krb5/convert_creds.c
source4/heimdal/lib/krb5/copy_host_realm.c
source4/heimdal/lib/krb5/crc.c
source4/heimdal/lib/krb5/creds.c
source4/heimdal/lib/krb5/crypto.c
source4/heimdal/lib/krb5/data.c
source4/heimdal/lib/krb5/eai_to_heim_errno.c
source4/heimdal/lib/krb5/error_string.c
source4/heimdal/lib/krb5/expand_hostname.c
source4/heimdal/lib/krb5/fcache.c
source4/heimdal/lib/krb5/free.c
source4/heimdal/lib/krb5/free_host_realm.c
source4/heimdal/lib/krb5/generate_seq_number.c
source4/heimdal/lib/krb5/generate_subkey.c
source4/heimdal/lib/krb5/get_cred.c
source4/heimdal/lib/krb5/get_default_principal.c
source4/heimdal/lib/krb5/get_default_realm.c
source4/heimdal/lib/krb5/get_for_creds.c
source4/heimdal/lib/krb5/get_host_realm.c
source4/heimdal/lib/krb5/get_in_tkt.c
source4/heimdal/lib/krb5/get_in_tkt_with_keytab.c
source4/heimdal/lib/krb5/get_port.c
source4/heimdal/lib/krb5/heim_err.et
source4/heimdal/lib/krb5/heim_threads.h [changed mode: 0755->0644]
source4/heimdal/lib/krb5/init_creds.c
source4/heimdal/lib/krb5/init_creds_pw.c
source4/heimdal/lib/krb5/k524_err.et
source4/heimdal/lib/krb5/kcm.c
source4/heimdal/lib/krb5/keyblock.c
source4/heimdal/lib/krb5/keytab.c
source4/heimdal/lib/krb5/keytab_any.c
source4/heimdal/lib/krb5/keytab_file.c
source4/heimdal/lib/krb5/keytab_keyfile.c
source4/heimdal/lib/krb5/keytab_krb4.c [deleted file]
source4/heimdal/lib/krb5/keytab_memory.c
source4/heimdal/lib/krb5/krb5-private.h [deleted file]
source4/heimdal/lib/krb5/krb5-protos.h [deleted file]
source4/heimdal/lib/krb5/krb5-v4compat.h
source4/heimdal/lib/krb5/krb5.h
source4/heimdal/lib/krb5/krb5_ccapi.h
source4/heimdal/lib/krb5/krb5_err.et
source4/heimdal/lib/krb5/krb5_locl.h
source4/heimdal/lib/krb5/krbhst.c
source4/heimdal/lib/krb5/locate_plugin.h
source4/heimdal/lib/krb5/log.c
source4/heimdal/lib/krb5/mcache.c
source4/heimdal/lib/krb5/misc.c
source4/heimdal/lib/krb5/mit_glue.c [changed mode: 0755->0644]
source4/heimdal/lib/krb5/mk_error.c
source4/heimdal/lib/krb5/mk_priv.c
source4/heimdal/lib/krb5/mk_rep.c
source4/heimdal/lib/krb5/mk_req.c
source4/heimdal/lib/krb5/mk_req_ext.c
source4/heimdal/lib/krb5/n-fold.c
source4/heimdal/lib/krb5/pac.c
source4/heimdal/lib/krb5/padata.c
source4/heimdal/lib/krb5/pkinit.c [changed mode: 0755->0644]
source4/heimdal/lib/krb5/plugin.c
source4/heimdal/lib/krb5/principal.c
source4/heimdal/lib/krb5/prompter_posix.c
source4/heimdal/lib/krb5/rd_cred.c
source4/heimdal/lib/krb5/rd_error.c
source4/heimdal/lib/krb5/rd_priv.c
source4/heimdal/lib/krb5/rd_rep.c
source4/heimdal/lib/krb5/rd_req.c
source4/heimdal/lib/krb5/replay.c
source4/heimdal/lib/krb5/send_to_kdc.c
source4/heimdal/lib/krb5/set_default_realm.c
source4/heimdal/lib/krb5/store.c
source4/heimdal/lib/krb5/store_emem.c
source4/heimdal/lib/krb5/store_fd.c
source4/heimdal/lib/krb5/store_mem.c
source4/heimdal/lib/krb5/ticket.c
source4/heimdal/lib/krb5/time.c
source4/heimdal/lib/krb5/transited.c
source4/heimdal/lib/krb5/v4_glue.c
source4/heimdal/lib/krb5/version.c
source4/heimdal/lib/krb5/warn.c
source4/heimdal/lib/ntlm/heimntlm-protos.h [deleted file]
source4/heimdal/lib/ntlm/heimntlm.h
source4/heimdal/lib/ntlm/ntlm.c
source4/heimdal/lib/roken/base64.c
source4/heimdal/lib/roken/base64.h
source4/heimdal/lib/roken/bswap.c
source4/heimdal/lib/roken/cloexec.c
source4/heimdal/lib/roken/closefrom.c
source4/heimdal/lib/roken/copyhostent.c
source4/heimdal/lib/roken/dumpdata.c
source4/heimdal/lib/roken/ecalloc.c
source4/heimdal/lib/roken/emalloc.c
source4/heimdal/lib/roken/erealloc.c
source4/heimdal/lib/roken/err.hin
source4/heimdal/lib/roken/estrdup.c
source4/heimdal/lib/roken/freeaddrinfo.c
source4/heimdal/lib/roken/freehostent.c
source4/heimdal/lib/roken/gai_strerror.c
source4/heimdal/lib/roken/get_window_size.c
source4/heimdal/lib/roken/getaddrinfo.c
source4/heimdal/lib/roken/getarg.c
source4/heimdal/lib/roken/getarg.h
source4/heimdal/lib/roken/getipnodebyaddr.c
source4/heimdal/lib/roken/getipnodebyname.c
source4/heimdal/lib/roken/getnameinfo.c
source4/heimdal/lib/roken/getprogname.c
source4/heimdal/lib/roken/h_errno.c
source4/heimdal/lib/roken/hex.c
source4/heimdal/lib/roken/hex.h
source4/heimdal/lib/roken/hostent_find_fqdn.c
source4/heimdal/lib/roken/inet_aton.c
source4/heimdal/lib/roken/inet_ntop.c
source4/heimdal/lib/roken/inet_pton.c
source4/heimdal/lib/roken/issuid.c
source4/heimdal/lib/roken/net_read.c
source4/heimdal/lib/roken/net_write.c
source4/heimdal/lib/roken/parse_bytes.h
source4/heimdal/lib/roken/parse_time.c
source4/heimdal/lib/roken/parse_time.h
source4/heimdal/lib/roken/parse_units.c
source4/heimdal/lib/roken/parse_units.h
source4/heimdal/lib/roken/resolve.c
source4/heimdal/lib/roken/resolve.h
source4/heimdal/lib/roken/roken-common.h
source4/heimdal/lib/roken/roken.h.in
source4/heimdal/lib/roken/roken_gethostby.c
source4/heimdal/lib/roken/rtbl.c
source4/heimdal/lib/roken/rtbl.h
source4/heimdal/lib/roken/setprogname.c
source4/heimdal/lib/roken/signal.c
source4/heimdal/lib/roken/simple_exec.c
source4/heimdal/lib/roken/socket.c
source4/heimdal/lib/roken/strcollect.c
source4/heimdal/lib/roken/strlwr.c
source4/heimdal/lib/roken/strpool.c
source4/heimdal/lib/roken/strsep.c
source4/heimdal/lib/roken/strsep_copy.c
source4/heimdal/lib/roken/strupr.c
source4/heimdal/lib/roken/vis.c
source4/heimdal/lib/roken/vis.hin
source4/heimdal/lib/roken/xfree.c
source4/heimdal/lib/vers/print_version.c
source4/heimdal/lib/wind/CompositionExclusions-3.2.0.txt [new file with mode: 0644]
source4/heimdal/lib/wind/DerivedNormalizationProps.txt [new file with mode: 0644]
source4/heimdal/lib/wind/NormalizationCorrections.txt [new file with mode: 0644]
source4/heimdal/lib/wind/NormalizationTest.txt [new file with mode: 0644]
source4/heimdal/lib/wind/UnicodeData.py [new file with mode: 0644]
source4/heimdal/lib/wind/UnicodeData.txt [new file with mode: 0644]
source4/heimdal/lib/wind/bidi_table.c [deleted file]
source4/heimdal/lib/wind/bidi_table.h [deleted file]
source4/heimdal/lib/wind/combining_table.c [deleted file]
source4/heimdal/lib/wind/combining_table.h [deleted file]
source4/heimdal/lib/wind/errorlist_table.c [deleted file]
source4/heimdal/lib/wind/errorlist_table.h [deleted file]
source4/heimdal/lib/wind/gen-bidi.py [new file with mode: 0755]
source4/heimdal/lib/wind/gen-combining.py [new file with mode: 0755]
source4/heimdal/lib/wind/gen-errorlist.py [new file with mode: 0755]
source4/heimdal/lib/wind/gen-map.py [new file with mode: 0755]
source4/heimdal/lib/wind/gen-normalize.py [new file with mode: 0755]
source4/heimdal/lib/wind/generate.py [new file with mode: 0644]
source4/heimdal/lib/wind/map.c
source4/heimdal/lib/wind/map_table.c [deleted file]
source4/heimdal/lib/wind/map_table.h [deleted file]
source4/heimdal/lib/wind/normalize.c
source4/heimdal/lib/wind/normalize_table.c [deleted file]
source4/heimdal/lib/wind/normalize_table.h [deleted file]
source4/heimdal/lib/wind/rfc3454.py [new file with mode: 0644]
source4/heimdal/lib/wind/rfc3454.txt [new file with mode: 0644]
source4/heimdal/lib/wind/rfc3490.txt [new file with mode: 0644]
source4/heimdal/lib/wind/rfc3491.txt [new file with mode: 0644]
source4/heimdal/lib/wind/rfc3492.txt [new file with mode: 0644]
source4/heimdal/lib/wind/rfc4013.txt [new file with mode: 0644]
source4/heimdal/lib/wind/rfc4518.py [new file with mode: 0644]
source4/heimdal/lib/wind/rfc4518.txt [new file with mode: 0644]
source4/heimdal/lib/wind/stringprep.c
source4/heimdal/lib/wind/stringprep.py [new file with mode: 0644]
source4/heimdal/lib/wind/utf8.c
source4/heimdal/lib/wind/util.py [new file with mode: 0644]
source4/heimdal/lib/wind/wind.h
source4/heimdal/lib/wind/wind_err.et
source4/heimdal/lib/wind/windlocl.h
source4/heimdal_build/gssapi-glue.c [new file with mode: 0644]
source4/heimdal_build/internal.m4
source4/heimdal_build/internal.mk
source4/heimdal_build/kpasswdd-glue.h [new file with mode: 0644]
source4/heimdal_build/krb5-glue.c [moved from source4/heimdal_build/glue.c with 75% similarity]
source4/kdc/hdb-ldb.c
source4/kdc/kpasswdd.c
source4/kdc/pac-glue.c
source4/libcli/config.mk
source4/libcli/drsblobs.c [new file with mode: 0644]
source4/libcli/drsblobs.h [new file with mode: 0644]
source4/libcli/util/nterr.c
source4/libcli/util/ntstatus.h
source4/librpc/config.mk
source4/librpc/idl/drsblobs.idl
source4/librpc/idl/krb5pac.idl
source4/librpc/idl/lsa.idl
source4/librpc/idl/netlogon.idl
source4/librpc/idl/security.idl
source4/rpc_server/lsa/dcesrv_lsa.c
source4/rpc_server/netlogon/dcerpc_netlogon.c
source4/samba4-skip
source4/torture/auth/pac.c
source4/torture/config.mk
source4/torture/nbt/dgram.c
source4/torture/rpc/lsa.c
source4/torture/rpc/netlogon.c
source4/torture/rpc/netlogon.h [new file with mode: 0644]
source4/torture/rpc/remote_pac.c [new file with mode: 0644]
source4/torture/rpc/rpc.c
source4/torture/rpc/session_key.c
source4/torture/rpc/testjoin.c
testprogs/win32/rpcecho/rpcecho.idl
testprogs/win32/rpcecho/server.c

index a216677f4a5df1f64866944b1915b9d440a54b92..35a30b45c024f58adf627b6f75bbdc70fd9e2d53 100644 (file)
@@ -46,6 +46,19 @@ source/heimdal/lib/krb5/heim_err.?
 source/heimdal/lib/krb5/k524_err.?
 source/heimdal/lib/krb5/krb5_err.?
 source/heimdal/lib/roken/vis.h
+source/heimdal/lib/wind/*_table.?
+source/heimdal/kdc/kdc-private.h
+source/heimdal/kdc/kdc-protos.h
+source/heimdal/lib/asn1/der-protos.h
+source/heimdal/lib/gssapi/krb5/gsskrb5-private.h
+source/heimdal/lib/gssapi/spnego/spnego-private.h
+source/heimdal/lib/hdb/hdb-private.h
+source/heimdal/lib/hdb/hdb-protos.h
+source/heimdal/lib/hx509/hx509-private.h
+source/heimdal/lib/hx509/hx509-protos.h
+source/heimdal/lib/krb5/krb5-private.h
+source/heimdal/lib/krb5/krb5-protos.h
+source/heimdal/lib/ntlm/heimntlm-protos.h
 source/include/build.h
 config.h
 config.h.in
diff --git a/packaging/Fedora/cplusplus-headers.patch b/packaging/Fedora/cplusplus-headers.patch
new file mode 100644 (file)
index 0000000..ce05f54
--- /dev/null
@@ -0,0 +1,32 @@
+diff -Naur samba-4.0.0alpha5-orig/source/lib/events/events.h samba-4.0.0alpha5/source/lib/events/events.h
+--- samba-4.0.0alpha5-orig/source/lib/events/events.h  2008-06-30 19:34:11.000000000 +1000
++++ samba-4.0.0alpha5/source/lib/events/events.h       2008-07-25 20:02:56.000000000 +1000
+@@ -53,24 +53,24 @@
+ struct fd_event *event_add_fd(struct event_context *ev, TALLOC_CTX *mem_ctx,
+                             int fd, uint16_t flags, event_fd_handler_t handler,
+-                            void *private);
++                            void *private_data);
+ struct timed_event *event_add_timed(struct event_context *ev, TALLOC_CTX *mem_ctx,
+                                   struct timeval next_event, 
+                                   event_timed_handler_t handler, 
+-                                  void *private);
++                                  void *private_data);
+ struct signal_event *event_add_signal(struct event_context *ev, TALLOC_CTX *mem_ctx,
+                                     int signum, int sa_flags,
+                                     event_signal_handler_t handler, 
+-                                    void *private);
++                                    void *private_data);
+ struct iocb;
+ struct aio_event *event_add_aio(struct event_context *ev,
+                               TALLOC_CTX *mem_ctx,
+                               struct iocb *iocb,
+                               event_aio_handler_t handler,
+-                              void *private);
++                              void *private_data);
+ int event_loop_once(struct event_context *ev);
+ int event_loop_wait(struct event_context *ev);
index 45d1429362c27d6cae56a6c4bee3534b780bddc1..dfdd36811ba53b2bbe28918f5f98e1049c3556dc 100644 (file)
@@ -1,4 +1,5 @@
-%define main_release 2
+
+%define main_release 5
 %define alpha_version 5
 %define samba_version 4.0.0alpha%{alpha_version}
 %define tarball_name samba-4.0.0alpha%{alpha_version}
@@ -13,12 +14,16 @@ Summary: The Samba4 CIFS and AD client and server suite
 Name: samba4
 Version: 4.0.0
 Release: 0.%{main_release}.alpha%{alpha_version}%{?dist}
-License: GPLv3+, LGPLv3+, BSD
+License: GPLv3+ and LGPLv3+
 Group: System Environment/Daemons
 URL: http://www.samba.org/
 
 Source: http://download.samba.org/samba/ftp/samba4/%{tarball_name}.tar.gz
 
+# To be removed when samba4 alpha6 is released
+# From http://git.samba.org/?p=samba.git;a=commitdiff;h=7ca421eb32bed3c400f863b654712d922c82bfb9
+Patch0: cplusplus-headers.patch
+
 # Red Hat specific replacement-files
 Source1: %{name}.log
 Source4: %{name}.sysconfig
@@ -95,8 +100,6 @@ and Wireshark to parse IDL and similar protocols
 Summary: Files used by both Samba servers and clients
 Group: Applications/System
 Requires: %{name}-libs = %{version}-%{release}
-Requires(post): /sbin/chkconfig, /sbin/service
-Requires(preun): /sbin/chkconfig, /sbin/service
 
 %description common
 %{Name}-common provides files necessary for both the server and client
@@ -121,7 +124,7 @@ domains and to use Windows user and group accounts on Linux.
 # copy Red Hat specific scripts
 
 # Upstream patches
-#(none)
+%patch0 -p1 -b .
 
 mv source/VERSION source/VERSION.orig
 sed -e 's/SAMBA_VERSION_VENDOR_SUFFIX=$/&%{release}/' < source/VERSION.orig > source/VERSION
@@ -138,7 +141,7 @@ cd source
        --with-piddir=/var/run \
        --with-privatedir=/var/lib/%{name}/private \
        --with-logfilebase=/var/log/%{name} \
-       --with-configdir=%{_sysconfdir}/%{name} \
+       --sysconfdir=%{_sysconfdir}/%{name} \
        --with-winbindd-socket-dir=/var/run/winbind \
        --with-ntp-signd-socket-dir=/var/run/ntp_signd \
        --disable-gnutls
@@ -350,6 +353,18 @@ exit 0
 %doc WHATSNEW.txt
 
 %changelog
+* Fri Aug 29 2008 Andrew Bartlett <abartlet@samba.org> - 0:4.0.0-0.5.alpha5.fc10
+- Fix licence tag (the binaries are built into a GPLv3 whole, so the BSD licence need not be mentioned)
+
+* Fri Jul 25 2008 Andrew Bartlett <abartlet@samba.org> - 0:4.0.0-0.4.alpha5.fc10
+- Remove talloc and tdb dependency (per https://bugzilla.redhat.com/show_bug.cgi?id=453083)
+- Fix deps on chkconfig and service to main pkg (not -common) 
+  (per https://bugzilla.redhat.com/show_bug.cgi?id=453083)
+
+* Mon Jul 21 2008 Brad Hards <bradh@frogmouth.ent> - 0:4.0.0-0.3.alpha5.fc10
+- Use --sysconfdir instead of --with-configdir
+- Add patch for C++ header compatibility
+
 * Mon Jun 30 2008 Andrew Bartlett <abartlet@samba.org> - 0:4.0.0-0.2.alpha5.fc9
 - Update per review feedback
 - Update for alpha5
index da8aac48ef3a9762ab07be2e3a71f83ab6208b72..af9ed52f782cdab1da43a8bec3d573fb4838d2da 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef _SAMBA_AUTH_H
 #define _SAMBA_AUTH_H
 
+#include "librpc/gen_ndr/ndr_krb5pac.h"
+
 extern const char *user_attrs[];
 
 union netr_Validation;
@@ -115,6 +117,8 @@ struct auth_serversupplied_info
        uint32_t acct_flags;
 
        bool authenticated;
+
+       struct PAC_SIGNATURE_DATA pac_srv_sig, pac_kdc_sig;
 };
 
 struct auth_method_context;
index 20d08078be401620c509fcdce294954b87dd1636..1334e799aea34705ba7b96950922b274b56218e6 100644 (file)
 #include "auth/session_proto.h"
 #include <gssapi/gssapi.h>
 #include <gssapi/gssapi_krb5.h>
-
-enum gensec_gssapi_sasl_state 
-{
-       STAGE_GSS_NEG,
-       STAGE_SASL_SSF_NEG,
-       STAGE_SASL_SSF_ACCEPT,
-       STAGE_DONE
-};
-
-#define NEG_SEAL 0x4
-#define NEG_SIGN 0x2
-#define NEG_NONE 0x1
-
-struct gensec_gssapi_state {
-       gss_ctx_id_t gssapi_context;
-       struct gss_channel_bindings_struct *input_chan_bindings;
-       gss_name_t server_name;
-       gss_name_t client_name;
-       OM_uint32 want_flags, got_flags;
-       gss_OID gss_oid;
-
-       DATA_BLOB session_key;
-       DATA_BLOB pac;
-
-       struct smb_krb5_context *smb_krb5_context;
-       struct gssapi_creds_container *client_cred;
-       struct gssapi_creds_container *server_cred;
-       gss_krb5_lucid_context_v1_t *lucid;
-
-       gss_cred_id_t delegated_cred_handle;
-
-       bool sasl; /* We have two different mechs in this file: One
-                   * for SASL wrapped GSSAPI and another for normal
-                   * GSSAPI */
-       enum gensec_gssapi_sasl_state sasl_state;
-       uint8_t sasl_protection; /* What was negotiated at the SASL
-                                 * layer, independent of the GSSAPI
-                                 * layer... */
-
-       size_t max_wrap_buf_size;
-       int gss_exchange_count;
-       size_t sig_size;
-};
+#include "auth/gensec/gensec_gssapi.h"
 
 static size_t gensec_gssapi_max_input_size(struct gensec_security *gensec_security);
 static size_t gensec_gssapi_max_wrapped_size(struct gensec_security *gensec_security);
@@ -1263,14 +1221,8 @@ static NTSTATUS gensec_gssapi_session_info(struct gensec_security *gensec_securi
                = talloc_get_type(gensec_security->private_data, struct gensec_gssapi_state);
        struct auth_serversupplied_info *server_info = NULL;
        struct auth_session_info *session_info = NULL;
-       struct PAC_LOGON_INFO *logon_info;
        OM_uint32 maj_stat, min_stat;
-       gss_buffer_desc name_token;
        gss_buffer_desc pac;
-       krb5_keyblock *keyblock;
-       time_t authtime;
-       krb5_principal principal;
-       char *principal_string;
        DATA_BLOB pac_blob;
        
        if ((gensec_gssapi_state->gss_oid->length != gss_mech_krb5->length)
@@ -1283,28 +1235,6 @@ static NTSTATUS gensec_gssapi_session_info(struct gensec_security *gensec_securi
        mem_ctx = talloc_named(gensec_gssapi_state, 0, "gensec_gssapi_session_info context"); 
        NT_STATUS_HAVE_NO_MEMORY(mem_ctx);
 
-       maj_stat = gss_display_name (&min_stat,
-                                    gensec_gssapi_state->client_name,
-                                    &name_token,
-                                    NULL);
-       if (GSS_ERROR(maj_stat)) {
-               DEBUG(1, ("GSS display_name failed: %s\n", 
-                         gssapi_error_string(mem_ctx, maj_stat, min_stat, gensec_gssapi_state->gss_oid)));
-               talloc_free(mem_ctx);
-               return NT_STATUS_FOOBAR;
-       }
-
-       principal_string = talloc_strndup(mem_ctx, 
-                                         (const char *)name_token.value, 
-                                         name_token.length);
-
-       gss_release_buffer(&min_stat, &name_token);
-
-       if (!principal_string) {
-               talloc_free(mem_ctx);
-               return NT_STATUS_NO_MEMORY;
-       }
-
        maj_stat = gsskrb5_extract_authz_data_from_sec_context(&min_stat, 
                                                               gensec_gssapi_state->gssapi_context, 
                                                               KRB5_AUTHDATA_WIN2K_PAC,
@@ -1324,82 +1254,63 @@ static NTSTATUS gensec_gssapi_session_info(struct gensec_security *gensec_securi
         * kind... 
         */
        if (pac_blob.length) {
-               krb5_error_code ret;
-               union netr_Validation validation;
-
-               maj_stat = gsskrb5_extract_authtime_from_sec_context(&min_stat,
-                                                                    gensec_gssapi_state->gssapi_context, 
-                                                                    &authtime);
-               
-               if (GSS_ERROR(maj_stat)) {
-                       DEBUG(1, ("gsskrb5_extract_authtime_from_sec_context: %s\n", 
-                                 gssapi_error_string(mem_ctx, maj_stat, min_stat, gensec_gssapi_state->gss_oid)));
+               nt_status = kerberos_pac_blob_to_server_info(mem_ctx, 
+                                                            lp_iconv_convenience(gensec_security->lp_ctx),
+                                                            pac_blob, 
+                                                            gensec_gssapi_state->smb_krb5_context->krb5_context,
+                                                            &server_info);
+               if (!NT_STATUS_IS_OK(nt_status)) {
                        talloc_free(mem_ctx);
-                       return NT_STATUS_FOOBAR;
+                       return nt_status;
                }
+       } else {
+               gss_buffer_desc name_token;
+               char *principal_string;
 
-               maj_stat = gsskrb5_extract_service_keyblock(&min_stat, 
-                                                           gensec_gssapi_state->gssapi_context, 
-                                                           &keyblock);
-               
+               maj_stat = gss_display_name (&min_stat,
+                                            gensec_gssapi_state->client_name,
+                                            &name_token,
+                                            NULL);
                if (GSS_ERROR(maj_stat)) {
-                       DEBUG(1, ("gsskrb5_copy_service_keyblock failed: %s\n", 
+                       DEBUG(1, ("GSS display_name failed: %s\n", 
                                  gssapi_error_string(mem_ctx, maj_stat, min_stat, gensec_gssapi_state->gss_oid)));
                        talloc_free(mem_ctx);
                        return NT_STATUS_FOOBAR;
-               } 
-
-               ret = krb5_parse_name_flags(gensec_gssapi_state->smb_krb5_context->krb5_context,
-                                           principal_string, 
-                                           KRB5_PRINCIPAL_PARSE_MUST_REALM,
-                                           &principal);
-               if (ret) {
-                       krb5_free_keyblock(gensec_gssapi_state->smb_krb5_context->krb5_context,
-                                          keyblock);
-                       talloc_free(mem_ctx);
-                       return NT_STATUS_INVALID_PARAMETER;
                }
                
-               /* decode and verify the pac */
-               nt_status = kerberos_pac_logon_info(mem_ctx, lp_iconv_convenience(gensec_security->lp_ctx), &logon_info, pac_blob,
-                                                   gensec_gssapi_state->smb_krb5_context->krb5_context,
-                                                   NULL, keyblock, principal, authtime, NULL);
-               krb5_free_principal(gensec_gssapi_state->smb_krb5_context->krb5_context, principal);
-               krb5_free_keyblock(gensec_gssapi_state->smb_krb5_context->krb5_context,
-                                  keyblock);
-
-               if (!NT_STATUS_IS_OK(nt_status)) {
-                       talloc_free(mem_ctx);
-                       return nt_status;
-               }
-               validation.sam3 = &logon_info->info3;
-               nt_status = make_server_info_netlogon_validation(gensec_gssapi_state, 
-                                                                NULL,
-                                                                3, &validation,
-                                                                &server_info); 
-               if (!NT_STATUS_IS_OK(nt_status)) {
+               principal_string = talloc_strndup(mem_ctx, 
+                                                 (const char *)name_token.value, 
+                                                 name_token.length);
+               
+               gss_release_buffer(&min_stat, &name_token);
+               
+               if (!principal_string) {
                        talloc_free(mem_ctx);
-                       return nt_status;
+                       return NT_STATUS_NO_MEMORY;
                }
-       } else if (!lp_parm_bool(gensec_security->lp_ctx, NULL, "gensec", "require_pac", false)) {
-               DEBUG(1, ("Unable to find PAC, resorting to local user lookup: %s\n",
-                         gssapi_error_string(mem_ctx, maj_stat, min_stat, gensec_gssapi_state->gss_oid)));
-               nt_status = sam_get_server_info_principal(mem_ctx, gensec_security->event_ctx, gensec_security->lp_ctx, principal_string,
-                                                         &server_info);
 
-               if (!NT_STATUS_IS_OK(nt_status)) {
-                       talloc_free(mem_ctx);
-                       return nt_status;
+               if (!lp_parm_bool(gensec_security->lp_ctx, NULL, "gensec", "require_pac", false)) {
+                       DEBUG(1, ("Unable to find PAC, resorting to local user lookup: %s\n",
+                                 gssapi_error_string(mem_ctx, maj_stat, min_stat, gensec_gssapi_state->gss_oid)));
+                       nt_status = sam_get_server_info_principal(mem_ctx, gensec_security->event_ctx, 
+                                                                 gensec_security->lp_ctx, principal_string,
+                                                                 &server_info);
+                       
+                       if (!NT_STATUS_IS_OK(nt_status)) {
+                               talloc_free(mem_ctx);
+                               return nt_status;
+                       }
+               } else {
+                       DEBUG(1, ("Unable to find PAC in ticket from %s, failing to allow access: %s\n",
+                                 principal_string,
+                                 gssapi_error_string(mem_ctx, maj_stat, min_stat, gensec_gssapi_state->gss_oid)));
+                       return NT_STATUS_ACCESS_DENIED;
                }
-       } else {
-               DEBUG(1, ("Unable to find PAC in ticket from %s, failing to allow access: %s\n",
-                         principal_string,
-                         gssapi_error_string(mem_ctx, maj_stat, min_stat, gensec_gssapi_state->gss_oid)));
-               return NT_STATUS_ACCESS_DENIED;
        }
 
        /* references the server_info into the session_info */
-       nt_status = auth_generate_session_info(mem_ctx, gensec_security->event_ctx, gensec_security->lp_ctx, server_info, &session_info);
+       nt_status = auth_generate_session_info(mem_ctx, gensec_security->event_ctx, 
+                                              gensec_security->lp_ctx, server_info, &session_info);
        if (!NT_STATUS_IS_OK(nt_status)) {
                talloc_free(mem_ctx);
                return nt_status;
diff --git a/source4/auth/gensec/gensec_gssapi.h b/source4/auth/gensec/gensec_gssapi.h
new file mode 100644 (file)
index 0000000..b55b439
--- /dev/null
@@ -0,0 +1,68 @@
+/* 
+   Unix SMB/CIFS implementation.
+
+   Kerberos backend for GENSEC
+   
+   Copyright (C) Andrew Bartlett <abartlet@samba.org> 2004-2005
+   Copyright (C) Stefan Metzmacher <metze@samba.org> 2004-2005
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/* This structure described here, so the RPC-PAC test can get at the PAC provided */
+
+enum gensec_gssapi_sasl_state 
+{
+       STAGE_GSS_NEG,
+       STAGE_SASL_SSF_NEG,
+       STAGE_SASL_SSF_ACCEPT,
+       STAGE_DONE
+};
+
+#define NEG_SEAL 0x4
+#define NEG_SIGN 0x2
+#define NEG_NONE 0x1
+
+struct gensec_gssapi_state {
+       gss_ctx_id_t gssapi_context;
+       struct gss_channel_bindings_struct *input_chan_bindings;
+       gss_name_t server_name;
+       gss_name_t client_name;
+       OM_uint32 want_flags, got_flags;
+       gss_OID gss_oid;
+
+       DATA_BLOB session_key;
+       DATA_BLOB pac;
+
+       struct smb_krb5_context *smb_krb5_context;
+       struct gssapi_creds_container *client_cred;
+       struct gssapi_creds_container *server_cred;
+       gss_krb5_lucid_context_v1_t *lucid;
+
+       gss_cred_id_t delegated_cred_handle;
+
+       bool sasl; /* We have two different mechs in this file: One
+                   * for SASL wrapped GSSAPI and another for normal
+                   * GSSAPI */
+       enum gensec_gssapi_sasl_state sasl_state;
+       uint8_t sasl_protection; /* What was negotiated at the SASL
+                                 * layer, independent of the GSSAPI
+                                 * layer... */
+
+       size_t max_wrap_buf_size;
+       int gss_exchange_count;
+       size_t sig_size;
+};
+
index e485f75302bfb1576ca50c0feed34fc4249d0687..9ebace32cb5b188675a9821177b75150be95772f 100644 (file)
@@ -3,7 +3,7 @@
 
    Create and parse the krb5 PAC
    
-   Copyright (C) Andrew Bartlett <abartlet@samba.org> 2004-2005
+   Copyright (C) Andrew Bartlett <abartlet@samba.org> 2004-2005,2008
    Copyright (C) Andrew Tridgell 2001
    Copyright (C) Luke Howard 2002-2003
    Copyright (C) Stefan Metzmacher 2004-2005
@@ -25,6 +25,7 @@
 
 #include "includes.h"
 #include "system/kerberos.h"
+#include "auth/auth.h"
 #include "auth/kerberos/kerberos.h"
 #include "librpc/gen_ndr/ndr_krb5pac.h"
 #include "lib/ldb/include/ldb.h"
@@ -654,3 +655,123 @@ static krb5_error_code make_pac_checksum(TALLOC_CTX *mem_ctx,
        return ret;
 }
 
+krb5_error_code kerberos_pac_to_server_info(TALLOC_CTX *mem_ctx,
+                                               struct smb_iconv_convenience *iconv_convenience,
+                                               krb5_pac pac,
+                                               krb5_context context,
+                                               struct auth_serversupplied_info **server_info) 
+{
+       NTSTATUS nt_status;
+       enum ndr_err_code ndr_err;
+       krb5_error_code ret;
+
+       DATA_BLOB pac_logon_info_in, pac_srv_checksum_in, pac_kdc_checksum_in;
+       krb5_data k5pac_logon_info_in, k5pac_srv_checksum_in, k5pac_kdc_checksum_in;
+
+       union PAC_INFO info;
+       union netr_Validation validation;
+       struct auth_serversupplied_info *server_info_out;
+
+       TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx);
+
+       if (!tmp_ctx) {
+               return ENOMEM;
+       }
+
+       ret = krb5_pac_get_buffer(context, pac, PAC_TYPE_LOGON_INFO, &k5pac_logon_info_in);
+       if (ret != 0) {
+               talloc_free(tmp_ctx);
+               return EINVAL;
+       }
+
+       pac_logon_info_in = data_blob_const(k5pac_logon_info_in.data, k5pac_logon_info_in.length);
+
+       ndr_err = ndr_pull_union_blob(&pac_logon_info_in, tmp_ctx, iconv_convenience, &info,
+                                     PAC_TYPE_LOGON_INFO,
+                                     (ndr_pull_flags_fn_t)ndr_pull_PAC_INFO);
+       krb5_data_free(&k5pac_logon_info_in);
+       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err) || !info.logon_info.info) {
+               nt_status = ndr_map_error2ntstatus(ndr_err);
+               DEBUG(0,("can't parse the PAC LOGON_INFO: %s\n", nt_errstr(nt_status)));
+               talloc_free(tmp_ctx);
+               return EINVAL;
+       }
+
+       /* Pull this right into the normal auth sysstem structures */
+       validation.sam3 = &info.logon_info.info->info3;
+       nt_status = make_server_info_netlogon_validation(mem_ctx,
+                                                        "",
+                                                        3, &validation,
+                                                        &server_info_out); 
+       if (!NT_STATUS_IS_OK(nt_status)) {
+               talloc_free(tmp_ctx);
+               return EINVAL;
+       }
+       
+       ret = krb5_pac_get_buffer(context, pac, PAC_TYPE_SRV_CHECKSUM, &k5pac_srv_checksum_in);
+       if (ret != 0) {
+               talloc_free(tmp_ctx);
+               return ret;
+       }
+
+       pac_srv_checksum_in = data_blob_const(k5pac_srv_checksum_in.data, k5pac_srv_checksum_in.length);
+               
+       ndr_err = ndr_pull_struct_blob(&pac_srv_checksum_in, server_info_out, 
+                                      iconv_convenience, &server_info_out->pac_srv_sig,
+                                      (ndr_pull_flags_fn_t)ndr_pull_PAC_SIGNATURE_DATA);
+       krb5_data_free(&k5pac_srv_checksum_in);
+       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+               nt_status = ndr_map_error2ntstatus(ndr_err);
+               DEBUG(0,("can't parse the KDC signature: %s\n",
+                       nt_errstr(nt_status)));
+               return EINVAL;
+       }
+
+       ret = krb5_pac_get_buffer(context, pac, PAC_TYPE_KDC_CHECKSUM, &k5pac_kdc_checksum_in);
+       if (ret != 0) {
+               talloc_free(tmp_ctx);
+               return ret;
+       }
+
+       pac_kdc_checksum_in = data_blob_const(k5pac_kdc_checksum_in.data, k5pac_kdc_checksum_in.length);
+               
+       ndr_err = ndr_pull_struct_blob(&pac_kdc_checksum_in, server_info_out, 
+                                      iconv_convenience, &server_info_out->pac_kdc_sig,
+                                      (ndr_pull_flags_fn_t)ndr_pull_PAC_SIGNATURE_DATA);
+       krb5_data_free(&k5pac_kdc_checksum_in);
+       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+               nt_status = ndr_map_error2ntstatus(ndr_err);
+               DEBUG(0,("can't parse the KDC signature: %s\n",
+                       nt_errstr(nt_status)));
+               return EINVAL;
+       }
+
+       *server_info = server_info_out;
+       
+       return 0;
+}
+
+
+NTSTATUS kerberos_pac_blob_to_server_info(TALLOC_CTX *mem_ctx,
+                                                    struct smb_iconv_convenience *iconv_convenience,
+                                                    DATA_BLOB pac_blob, 
+                                                    krb5_context context,
+                                                    struct auth_serversupplied_info **server_info) 
+{
+       krb5_error_code ret;
+       krb5_pac pac;
+       ret = krb5_pac_parse(context, 
+                            pac_blob.data, pac_blob.length, 
+                            &pac);
+       if (ret) {
+               return map_nt_error_from_unix(ret);
+       }
+
+
+       ret = kerberos_pac_to_server_info(mem_ctx, iconv_convenience, pac, context, server_info);
+       krb5_pac_free(context, pac);
+       if (ret) {
+               return map_nt_error_from_unix(ret);
+       }
+       return NT_STATUS_OK;
+}
index b254ee5da68bfcd520de0864ef1db3a8662dc702..d75f1793e199c29405ffe8e7f2fdd4a15b1ac901 100644 (file)
@@ -333,6 +333,9 @@ _PUBLIC_ NTSTATUS make_server_info_netlogon_validation(TALLOC_CTX *mem_ctx,
                NT_STATUS_HAVE_NO_MEMORY(server_info->lm_session_key.data);
        }
 
+       ZERO_STRUCT(server_info->pac_srv_sig);
+       ZERO_STRUCT(server_info->pac_kdc_sig);
+
        *_server_info = server_info;
        return NT_STATUS_OK;
 }
index f8df8f0b5353e3053f27b14323176a41d93b97e8..0beb0e2e111dfc75c8412dfef09ae222702df09a 100644 (file)
@@ -2,10 +2,10 @@
 # This relies on GNU make.
 #
 # Dependencies command
-DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ \
+DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ -MT : \
     $(CFLAGS) $(CPPFLAGS) $< -o $@
 # Dependencies for host objects
-HDEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.ho) -MT $@ \
+HDEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.ho) -MT $@ -MT : \
     $(HOSTCC_FLAGS) $(CPPFLAGS) $< -o $@
 # Dependencies for precompiled headers
 PCHDEPENDS = $(CC) -M -MG -MT include/includes.h.gch -MT $@ \
index 88ab7fd12135aef1117c8534cef0c3a36d8787ef..3b938248fcb7c159523686182682d5b66263db41 100644 (file)
@@ -1,4 +1,4 @@
-$Id: README 8839 2000-07-27 02:33:54Z assar $
+$Id$
 
 Heimdal is a Kerberos 5 implementation.
 
@@ -10,7 +10,7 @@ Bug reports and bugs are appreciated, see more under Bug reports in
 the manual on how we prefer them.
 
 For more information see the web-page at
-<http://www.pdc.kth.se/heimdal/> or the mailing lists:
+<http://www.h5l.org/> or the mailing lists:
 
 heimdal-announce@sics.se       low-volume announcement
 heimdal-discuss@sics.se                high-volume discussion
index ffa61915e9a2f35c3ea9d5271a0881d9c13e94d3..f81f3524c15931415b84d191b537b8613e802575 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: check-var.m4 15422 2005-06-16 18:59:29Z lha $
+dnl $Id$
 dnl
 dnl rk_CHECK_VAR(variable, includes)
 AC_DEFUN([rk_CHECK_VAR], [
@@ -23,5 +23,5 @@ if test "$ac_foo" = yes; then
 fi
 ])
 
-dnl AC_WARNING_ENABLE([obsolete])
+AC_WARNING_ENABLE([obsolete])
 AU_DEFUN([AC_CHECK_VAR], [rk_CHECK_VAR([$2], [$1])], [foo])
index 76965a84ee8aa7942f0c8b8fa5d81327cd6a1f8e..f3413409f63c2511528c3a689fc0587d8140886c 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: find-func-no-libs.m4 13338 2004-02-12 14:21:14Z lha $
+dnl $Id$
 dnl
 dnl
 dnl Look for function in any of the specified libraries
index 617a09e8da1b8f7d10ca13d7f6570d91e4629442..692001c103b712853151666ad6abdf15caaf72ca 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: find-func-no-libs2.m4 14166 2004-08-26 12:35:42Z joda $
+dnl $Id$
 dnl
 dnl
 dnl Look for function in any of the specified libraries
index 2354f38e5e4bb6fe95fb6c7dbb54046e7564c9c7..865772a70085d2009ff1f0f9562c7787da17be89 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: find-func.m4 13338 2004-02-12 14:21:14Z lha $
+dnl $Id$
 dnl
 dnl AC_FIND_FUNC(func, libraries, includes, arguments)
 AC_DEFUN([AC_FIND_FUNC], [
diff --git a/source4/heimdal/cf/make-proto.pl b/source4/heimdal/cf/make-proto.pl
new file mode 100644 (file)
index 0000000..b89ef79
--- /dev/null
@@ -0,0 +1,351 @@
+# Make prototypes from .c files
+# $Id$
+
+##use Getopt::Std;
+require 'getopts.pl';
+
+my $comment = 0;
+my $if_0 = 0;
+my $brace = 0;
+my $line = "";
+my $debug = 0;
+my $oproto = 1;
+my $private_func_re = "^_";
+
+do Getopts('x:m:o:p:dqE:R:P:') || die "foo";
+
+if($opt_d) {
+    $debug = 1;
+}
+
+if($opt_q) {
+    $oproto = 0;
+}
+
+if($opt_R) {
+    $private_func_re = $opt_R;
+}
+%flags = (
+         'multiline-proto' => 1,
+         'header' => 1,
+         'function-blocking' => 0,
+         'gnuc-attribute' => 1,
+         'cxx' => 1
+         );
+if($opt_m) {
+    foreach $i (split(/,/, $opt_m)) {
+       if($i eq "roken") {
+           $flags{"multiline-proto"} = 0;
+           $flags{"header"} = 0;
+           $flags{"function-blocking"} = 0;
+           $flags{"gnuc-attribute"} = 0;
+           $flags{"cxx"} = 0;
+       } else {
+           if(substr($i, 0, 3) eq "no-") {
+               $flags{substr($i, 3)} = 0;
+           } else {
+               $flags{$i} = 1;
+           }
+       }
+    }
+}
+
+if($opt_x) {
+    open(EXP, $opt_x);
+    while(<EXP>) {
+       chomp;
+       s/\#.*//g;
+       s/\s+/ /g;
+       if(/^([a-zA-Z0-9_]+)\s?(.*)$/) {
+           $exported{$1} = $2;
+       } else {
+           print $_, "\n";
+       }
+    }
+    close EXP;
+}
+
+while(<>) {
+    print $brace, " ", $_ if($debug);
+    
+    # Handle C comments
+    s@/\*.*\*/@@;
+    s@//.*/@@;
+    if ( s@/\*.*@@) { $comment = 1;
+    } elsif ($comment && s@.*\*/@@) { $comment = 0;
+    } elsif ($comment) { next; }
+
+    if(/^\#if 0/) {
+       $if_0 = 1;
+    }
+    if($if_0 && /^\#endif/) {
+       $if_0 = 0;
+    }
+    if($if_0) { next }
+    if(/^\s*\#/) {
+       next;
+    }
+    if(/^\s*$/) {
+       $line = "";
+       next;
+    }
+    if(/\{/){
+       if (!/\}/) {
+           $brace++;
+       }
+       $_ = $line;
+       while(s/\*\//\ca/){
+           s/\/\*(.|\n)*\ca//;
+       }
+       s/^\s*//;
+       s/\s*$//;
+       s/\s+/ /g;
+       if($_ =~ /\)$/){
+           if(!/^static/ && !/^PRIVATE/){
+               if(/(.*)(__attribute__\s?\(.*\))/) {
+                   $attr = $2;
+                   $_ = $1;
+               } else {
+                   $attr = "";
+               }
+               # remove outer ()
+               s/\s*\(/</;
+               s/\)\s?$/>/;
+               # remove , within ()
+               while(s/\(([^()]*),(.*)\)/($1\$$2)/g){}
+               s/\<\s*void\s*\>/<>/;
+               # remove parameter names 
+               if($opt_P eq "remove") {
+                   s/(\s*)([a-zA-Z0-9_]+)([,>])/$3/g;
+                   s/\s+\*/*/g;
+                   s/\(\*(\s*)([a-zA-Z0-9_]+)\)/(*)/g;
+               } elsif($opt_P eq "comment") {
+                   s/([a-zA-Z0-9_]+)([,>])/\/\*$1\*\/$2/g;
+                   s/\(\*([a-zA-Z0-9_]+)\)/(*\/\*$1\*\/)/g;
+               }
+               s/\<\>/<void>/;
+               # add newlines before parameters
+               if($flags{"multiline-proto"}) {
+                   s/,\s*/,\n\t/g;
+               } else {
+                   s/,\s*/, /g;
+               }
+               # fix removed ,
+               s/\$/,/g;
+               # match function name
+               /([a-zA-Z0-9_]+)\s*\</;
+               $f = $1;
+               if($oproto) {
+                   $LP = "__P((";
+                   $RP = "))";
+               } else {
+                   $LP = "(";
+                   $RP = ")";
+               }
+               # only add newline if more than one parameter
+                if($flags{"multiline-proto"} && /,/){ 
+                   s/\</ $LP\n\t/;
+               }else{
+                   s/\</ $LP/;
+               }
+               s/\>/$RP/;
+               # insert newline before function name
+               if($flags{"multiline-proto"}) {
+                   s/(.*)\s([a-zA-Z0-9_]+ \Q$LP\E)/$1\n$2/;
+               }
+               if($attr ne "") {
+                   $_ .= "\n    $attr";
+               }
+               $_ = $_ . ";";
+               $funcs{$f} = $_;
+           }
+       }
+       $line = "";
+    }
+    if(/\}/){
+       $brace--;
+    }
+    if(/^\}/){
+       $brace = 0;
+    }
+    if($brace == 0) {
+       $line = $line . " " . $_;
+    }
+}
+
+sub foo {
+    local ($arg) = @_;
+    $_ = $arg;
+    s/.*\/([^\/]*)/$1/;
+    s/[^a-zA-Z0-9]/_/g;
+    "__" . $_ . "__";
+}
+
+if($opt_o) {
+    open(OUT, ">$opt_o");
+    $block = &foo($opt_o);
+} else {
+    $block = "__public_h__";
+}
+
+if($opt_p) {
+    open(PRIV, ">$opt_p");
+    $private = &foo($opt_p);
+} else {
+    $private = "__private_h__";
+}
+
+$public_h = "";
+$private_h = "";
+
+$public_h_header .= "/* This is a generated file */
+#ifndef $block
+#define $block
+
+";
+if ($oproto) {
+    $public_h_header .= "#ifdef __STDC__
+#include <stdarg.h>
+#ifndef __P
+#define __P(x) x
+#endif
+#else
+#ifndef __P
+#define __P(x) ()
+#endif
+#endif
+
+";
+} else {
+    $public_h_header .= "#include <stdarg.h>
+
+";
+}
+$public_h_trailer = "";
+
+$private_h_header = "/* This is a generated file */
+#ifndef $private
+#define $private
+
+";
+if($oproto) {
+    $private_h_header .= "#ifdef __STDC__
+#include <stdarg.h>
+#ifndef __P
+#define __P(x) x
+#endif
+#else
+#ifndef __P
+#define __P(x) ()
+#endif
+#endif
+
+";
+} else {
+    $private_h_header .= "#include <stdarg.h>
+
+";
+}
+$private_h_trailer = "";
+
+foreach(sort keys %funcs){
+    if(/^(main)$/) { next }
+    if(!defined($exported{$_}) && /$private_func_re/) {
+       $private_h .= $funcs{$_} . "\n\n";
+       if($funcs{$_} =~ /__attribute__/) {
+           $private_attribute_seen = 1;
+       }
+    } else {
+       if($flags{"function-blocking"}) {
+           $fupper = uc $_;
+           if($exported{$_} =~ /proto/) {
+               $public_h .= "#if !defined(HAVE_$fupper) || defined(NEED_${fupper}_PROTO)\n";
+           } else {
+               $public_h .= "#ifndef HAVE_$fupper\n";
+           }
+       }
+       $public_h .= $funcs{$_} . "\n";
+       if($funcs{$_} =~ /__attribute__/) {
+           $public_attribute_seen = 1;
+       }
+       if($flags{"function-blocking"}) {
+           $public_h .= "#endif\n";
+       }
+       $public_h .= "\n";
+    }
+}
+
+if($flags{"gnuc-attribute"}) {
+    if ($public_attribute_seen) {
+       $public_h_header .= "#if !defined(__GNUC__) && !defined(__attribute__)
+#define __attribute__(x)
+#endif
+
+";
+    }
+
+    if ($private_attribute_seen) {
+       $private_h_header .= "#if !defined(__GNUC__) && !defined(__attribute__)
+#define __attribute__(x)
+#endif
+
+";
+    }
+}
+if($flags{"cxx"}) {
+    $public_h_header .= "#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+";
+    $public_h_trailer .= "#ifdef __cplusplus
+}
+#endif
+
+";
+
+}
+if ($opt_E) {
+    $public_h_header .= "#ifndef $opt_E
+#if defined(_WIN32)
+#define ${opt_E}_FUNCTION _stdcall __declspec(dllimport)
+#define ${opt_E}_VARIABLE __declspec(dllimport)
+#else
+#define ${opt_E}_FUNCTION
+#define ${opt_E}_VARIABLE
+#endif
+#endif
+
+";
+    
+    $private_h_header .= "#ifndef $opt_E
+#if defined(_WIN32)
+#define ${opt_E}_FUNCTION _stdcall __declspec(dllimport)
+#define ${opt_E}_VARIABLE __declspec(dllimport)
+#else
+#define ${opt_E}_FUNCTION
+#define ${opt_E}_VARIABLE
+#endif
+#endif
+
+";
+}
+    
+if ($public_h ne "" && $flags{"header"}) {
+    $public_h = $public_h_header . $public_h . 
+       $public_h_trailer . "#endif /* $block */\n";
+}
+if ($private_h ne "" && $flags{"header"}) {
+    $private_h = $private_h_header . $private_h .
+       $private_h_trailer . "#endif /* $private */\n";
+}
+
+if($opt_o) {
+    print OUT $public_h;
+} 
+if($opt_p) {
+    print PRIV $private_h;
+} 
+
+close OUT;
+close PRIV;
index 8bb5e4ecbb0f8752b7b32be7123386d875a729b4..b4045094d8026522e0dee0671f66379eb44ed372 100644 (file)
@@ -1,6 +1,6 @@
 dnl stuff used by DNS resolv code in roken
 dnl
-dnl $Id: resolv.m4 16009 2005-09-02 10:17:38Z lha $
+dnl $Id$
 dnl
 
 AC_DEFUN([rk_RESOLV],[
index 3e4ad292537b4622577bd61f11e9c21940fdbde0..a46c9175b0b6a6500e37cbe306b383d97b45ac8e 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "kdc_locl.h"
 
-RCSID("$Id: 524.c 18270 2006-10-06 17:06:30Z lha $");
+RCSID("$Id$");
 
 #include <krb5-v4compat.h>
 
index 33a2c297fa11fc9891f726e54847035ae82d3a9e..87952ca6eb2aba49f440c5f95d140d28403f8b30 100644 (file)
@@ -36,7 +36,7 @@
 #include <getarg.h>
 #include <parse_bytes.h>
 
-RCSID("$Id: default_config.c 23316 2008-06-23 04:32:32Z lha $");
+RCSID("$Id$");
 
 krb5_error_code
 krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config)
index bf1e45b328a17e188da00f595400c212570cf616..401ca1db1143a790cdfbd43b7eb0b8b524e8e7f9 100644 (file)
@@ -34,7 +34,7 @@
 #include "kdc_locl.h"
 #include <hex.h>
 
-RCSID("$Id: digest.c 23316 2008-06-23 04:32:32Z lha $");
+RCSID("$Id$");
 
 #define MS_CHAP_V2     0x20
 #define CHAP_MD5       0x10
index 64f6b6e438cb60e3555df677b8ada4042249ea0c..c2bd4c5b4f30825e644f3baf52588c8ee67a42ba 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 /* 
- * $Id: headers.h 19658 2007-01-04 00:15:34Z lha 
+ * $Id$ 
  */
 
 #ifndef __HEADERS_H__
index 4f257d717ee35b1162d9f3817113087e963b3feb..8f3c3e02ea83981f2c53a47ea4db42c7a3f70610 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "kdc_locl.h"
 
-RCSID("$Id: kaserver.c 23110 2008-04-27 18:51:17Z lha $");
+RCSID("$Id$");
 
 #include <krb5-v4compat.h>
 #include <rx.h>
diff --git a/source4/heimdal/kdc/kdc-private.h b/source4/heimdal/kdc/kdc-private.h
deleted file mode 100644 (file)
index 4052e9b..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-/* This is a generated file */
-#ifndef __kdc_private_h__
-#define __kdc_private_h__
-
-#include <stdarg.h>
-
-krb5_error_code
-_kdc_add_KRB5SignedPath (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       hdb_entry_ex */*krbtgt*/,
-       krb5_enctype /*enctype*/,
-       krb5_const_principal /*server*/,
-       KRB5SignedPathPrincipals */*principals*/,
-       EncTicketPart */*tkt*/);
-
-krb5_error_code
-_kdc_add_inital_verified_cas (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       pk_client_params */*params*/,
-       EncTicketPart */*tkt*/);
-
-krb5_error_code
-_kdc_as_rep (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       KDC_REQ */*req*/,
-       const krb5_data */*req_buffer*/,
-       krb5_data */*reply*/,
-       const char */*from*/,
-       struct sockaddr */*from_addr*/,
-       int /*datagram_reply*/);
-
-krb5_boolean
-_kdc_check_addresses (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       HostAddresses */*addresses*/,
-       const struct sockaddr */*from*/);
-
-krb5_error_code
-_kdc_check_flags (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       hdb_entry_ex */*client_ex*/,
-       const char */*client_name*/,
-       hdb_entry_ex */*server_ex*/,
-       const char */*server_name*/,
-       krb5_boolean /*is_as_req*/);
-
-krb5_error_code
-_kdc_db_fetch (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       krb5_const_principal /*principal*/,
-       unsigned /*flags*/,
-       HDB **/*db*/,
-       hdb_entry_ex **/*h*/);
-
-krb5_error_code
-_kdc_db_fetch4 (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       const char */*name*/,
-       const char */*instance*/,
-       const char */*realm*/,
-       unsigned /*flags*/,
-       hdb_entry_ex **/*ent*/);
-
-krb5_error_code
-_kdc_do_524 (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       const Ticket */*t*/,
-       krb5_data */*reply*/,
-       const char */*from*/,
-       struct sockaddr */*addr*/);
-
-krb5_error_code
-_kdc_do_digest (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       const DigestREQ */*req*/,
-       krb5_data */*reply*/,
-       const char */*from*/,
-       struct sockaddr */*addr*/);
-
-krb5_error_code
-_kdc_do_kaserver (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       unsigned char */*buf*/,
-       size_t /*len*/,
-       krb5_data */*reply*/,
-       const char */*from*/,
-       struct sockaddr_in */*addr*/);
-
-krb5_error_code
-_kdc_do_kx509 (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       const Kx509Request */*req*/,
-       krb5_data */*reply*/,
-       const char */*from*/,
-       struct sockaddr */*addr*/);
-
-krb5_error_code
-_kdc_do_version4 (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       unsigned char */*buf*/,
-       size_t /*len*/,
-       krb5_data */*reply*/,
-       const char */*from*/,
-       struct sockaddr_in */*addr*/);
-
-krb5_error_code
-_kdc_encode_reply (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       KDC_REP */*rep*/,
-       const EncTicketPart */*et*/,
-       EncKDCRepPart */*ek*/,
-       krb5_enctype /*etype*/,
-       int /*skvno*/,
-       const EncryptionKey */*skey*/,
-       int /*ckvno*/,
-       const EncryptionKey */*ckey*/,
-       const char **/*e_text*/,
-       krb5_data */*reply*/);
-
-krb5_error_code
-_kdc_encode_v4_ticket (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       void */*buf*/,
-       size_t /*len*/,
-       const EncTicketPart */*et*/,
-       const PrincipalName */*service*/,
-       size_t */*size*/);
-
-krb5_error_code
-_kdc_find_etype (
-       krb5_context /*context*/,
-       const hdb_entry_ex */*princ*/,
-       krb5_enctype */*etypes*/,
-       unsigned /*len*/,
-       Key **/*ret_key*/,
-       krb5_enctype */*ret_etype*/);
-
-const PA_DATA*
-_kdc_find_padata (
-       const KDC_REQ */*req*/,
-       int */*start*/,
-       int /*type*/);
-
-void
-_kdc_fix_time (time_t **/*t*/);
-
-void
-_kdc_free_ent (
-       krb5_context /*context*/,
-       hdb_entry_ex */*ent*/);
-
-krb5_error_code
-_kdc_get_des_key (
-       krb5_context /*context*/,
-       hdb_entry_ex */*principal*/,
-       krb5_boolean /*is_server*/,
-       krb5_boolean /*prefer_afs_key*/,
-       Key **/*ret_key*/);
-
-krb5_error_code
-_kdc_get_preferred_key (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       hdb_entry_ex */*h*/,
-       const char */*name*/,
-       krb5_enctype */*enctype*/,
-       Key **/*key*/);
-
-void
-_kdc_log_timestamp (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       const char */*type*/,
-       KerberosTime /*authtime*/,
-       KerberosTime */*starttime*/,
-       KerberosTime /*endtime*/,
-       KerberosTime */*renew_till*/);
-
-krb5_error_code
-_kdc_make_anonymous_principalname (PrincipalName */*pn*/);
-
-int
-_kdc_maybe_version4 (
-       unsigned char */*buf*/,
-       int /*len*/);
-
-krb5_error_code
-_kdc_pac_generate (
-       krb5_context /*context*/,
-       hdb_entry_ex */*client*/,
-       krb5_pac */*pac*/);
-
-krb5_error_code
-_kdc_pac_verify (
-       krb5_context /*context*/,
-       const krb5_principal /*client_principal*/,
-       hdb_entry_ex */*client*/,
-       hdb_entry_ex */*server*/,
-       krb5_pac */*pac*/);
-
-krb5_error_code
-_kdc_pk_check_client (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       const hdb_entry_ex */*client*/,
-       pk_client_params */*client_params*/,
-       char **/*subject_name*/);
-
-void
-_kdc_pk_free_client_param (
-       krb5_context /*context*/,
-       pk_client_params */*client_params*/);
-
-krb5_error_code
-_kdc_pk_initialize (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       const char */*user_id*/,
-       const char */*anchors*/,
-       char **/*pool*/,
-       char **/*revoke_list*/);
-
-krb5_error_code
-_kdc_pk_mk_pa_reply (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       pk_client_params */*client_params*/,
-       const hdb_entry_ex */*client*/,
-       const KDC_REQ */*req*/,
-       const krb5_data */*req_buffer*/,
-       krb5_keyblock **/*reply_key*/,
-       METHOD_DATA */*md*/);
-
-krb5_error_code
-_kdc_pk_rd_padata (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       const KDC_REQ */*req*/,
-       const PA_DATA */*pa*/,
-       pk_client_params **/*ret_params*/);
-
-krb5_error_code
-_kdc_tgs_rep (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       KDC_REQ */*req*/,
-       krb5_data */*data*/,
-       const char */*from*/,
-       struct sockaddr */*from_addr*/,
-       int /*datagram_reply*/);
-
-krb5_error_code
-_kdc_tkt_add_if_relevant_ad (
-       krb5_context /*context*/,
-       EncTicketPart */*tkt*/,
-       int /*type*/,
-       const krb5_data */*data*/);
-
-krb5_error_code
-_kdc_try_kx509_request (
-       void */*ptr*/,
-       size_t /*len*/,
-       Kx509Request */*req*/,
-       size_t */*size*/);
-
-krb5_error_code
-_kdc_windc_client_access (
-       krb5_context /*context*/,
-       struct hdb_entry_ex */*client*/,
-       KDC_REQ */*req*/,
-       krb5_data */*e_data*/);
-
-#endif /* __kdc_private_h__ */
diff --git a/source4/heimdal/kdc/kdc-protos.h b/source4/heimdal/kdc/kdc-protos.h
deleted file mode 100644 (file)
index 15e8c29..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* This is a generated file */
-#ifndef __kdc_protos_h__
-#define __kdc_protos_h__
-
-#include <stdarg.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void
-kdc_log (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       int /*level*/,
-       const char */*fmt*/,
-       ...);
-
-char*
-kdc_log_msg (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       int /*level*/,
-       const char */*fmt*/,
-       ...);
-
-char*
-kdc_log_msg_va (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       int /*level*/,
-       const char */*fmt*/,
-       va_list /*ap*/);
-
-void
-kdc_openlog (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/);
-
-krb5_error_code
-krb5_kdc_get_config (
-       krb5_context /*context*/,
-       krb5_kdc_configuration **/*config*/);
-
-int
-krb5_kdc_process_krb5_request (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       unsigned char */*buf*/,
-       size_t /*len*/,
-       krb5_data */*reply*/,
-       const char */*from*/,
-       struct sockaddr */*addr*/,
-       int /*datagram_reply*/);
-
-int
-krb5_kdc_process_request (
-       krb5_context /*context*/,
-       krb5_kdc_configuration */*config*/,
-       unsigned char */*buf*/,
-       size_t /*len*/,
-       krb5_data */*reply*/,
-       krb5_boolean */*prependlength*/,
-       const char */*from*/,
-       struct sockaddr */*addr*/,
-       int /*datagram_reply*/);
-
-int
-krb5_kdc_save_request (
-       krb5_context /*context*/,
-       const char */*fn*/,
-       const unsigned char */*buf*/,
-       size_t /*len*/,
-       const krb5_data */*reply*/,
-       const struct sockaddr */*sa*/);
-
-krb5_error_code
-krb5_kdc_set_dbinfo (
-       krb5_context /*context*/,
-       struct krb5_kdc_configuration */*c*/);
-
-void
-krb5_kdc_update_time (struct timeval */*tv*/);
-
-krb5_error_code
-krb5_kdc_windc_init (krb5_context /*context*/);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __kdc_protos_h__ */
index 6c129f38f520bb99a70c74f4acbb702675deb34e..f0edae721f52ff440eb1751b47dc90cbd4c814c7 100644 (file)
@@ -35,7 +35,7 @@
  */
 
 /* 
- * $Id: kdc.h 21287 2007-06-25 14:09:03Z lha 
+ * $Id$ 
  */
 
 #ifndef __KDC_H__
index fe0523665a4dbf983b299ecfbbcdffb095becb4b..6ce4a9f40f4979bcb8dfc94211a140eede86445f 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 /* 
- * $Id: kdc_locl.h 22247 2007-12-08 23:49:41Z lha 
+ * $Id$ 
  */
 
 #ifndef __KDC_LOCL_H__
index cbba64945b3e495ce885af2376c3d81aba519dc3..3e9a70057e4df243aa46684ea77cc7ea02353b77 100644 (file)
@@ -35,7 +35,7 @@
 
 #include <krb5-v4compat.h>
 
-RCSID("$Id: kerberos4.c 21577 2007-07-16 08:14:06Z lha $");
+RCSID("$Id$");
 
 #ifndef swap32
 static uint32_t
@@ -134,7 +134,7 @@ _kdc_do_version4(krb5_context context,
                 struct sockaddr_in *addr)
 {
     krb5_storage *sp;
-    krb5_error_code ret;
+    krb5_error_code ret = EINVAL;
     hdb_entry_ex *client = NULL, *server = NULL;
     Key *ckey, *skey;
     int8_t pvno;
@@ -162,6 +162,7 @@ _kdc_do_version4(krb5_context context,
        kdc_log(context, config, 0,
                "Protocol version mismatch (krb4) (%d)", pvno);
        make_err_reply(context, reply, KRB4ET_KDC_PKT_VER, "protocol mismatch");
+       ret = KRB4ET_KDC_PKT_VER;
        goto out;
     }
     RCHECK(krb5_ret_int8(sp, &msg_type), out);
@@ -258,20 +259,6 @@ _kdc_do_version4(krb5_context context,
            goto out1;
        }
 
-#if 0
-       /* this is not necessary with the new code in libkrb */
-       /* find a properly salted key */
-       while(ckey->salt == NULL || ckey->salt->salt.length != 0)
-           ret = hdb_next_keytype2key(context, &client->entry, KEYTYPE_DES, &ckey);
-       if(ret){
-           kdc_log(context, config, 0, "No version-4 salted key in database -- %s.%s@%s", 
-                   name, inst, realm);
-           make_err_reply(context, reply, KRB4ET_KDC_NULL_KEY, 
-                          "No version-4 salted key in database");
-           goto out1;
-       }
-#endif
-       
        ret = _kdc_get_des_key(context, server, TRUE, FALSE, &skey);
        if(ret){
            kdc_log(context, config, 0, "no suitable DES key for server");
@@ -624,12 +611,14 @@ _kdc_do_version4(krb5_context context,
        break;
     }
     case AUTH_MSG_ERR_REPLY:
+       ret = EINVAL;
        break;
     default:
        kdc_log(context, config, 0, "Unknown message type (krb4): %d from %s", 
                msg_type, from);
        
        make_err_reply(context, reply, KFAILURE, "Unknown message type");
+       ret = EINVAL;
     }
  out:
     if(name)
@@ -647,7 +636,7 @@ _kdc_do_version4(krb5_context context,
     if(server)
        _kdc_free_ent(context, server);
     krb5_storage_free(sp);
-    return 0;
+    return ret;
 }
 
 krb5_error_code
index 2a2c48c233a657d3138b29b37865e2a05155e6b8..7930ef42e482bf57d52c6e8aab965565250e38e9 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "kdc_locl.h"
 
-RCSID("$Id: kerberos5.c 23316 2008-06-23 04:32:32Z lha $");
+RCSID("$Id$");
 
 #define MAX_TIME ((time_t)((1U << 31) - 1))
 
@@ -84,6 +84,24 @@ _kdc_find_padata(const KDC_REQ *req, int *start, int type)
     return NULL;
 }
 
+/*
+ * This is a hack to allow predefined weak services, like afs to
+ * still use weak types
+ */
+
+krb5_boolean
+_kdc_is_weak_expection(krb5_principal principal, krb5_enctype etype)
+{
+    if (principal->name.name_string.len > 0 &&
+       strcmp(principal->name.name_string.val[0], "afs") == 0 &&
+       (etype == ETYPE_DES_CBC_CRC
+        || etype == ETYPE_DES_CBC_MD4
+        || etype == ETYPE_DES_CBC_MD5))
+       return TRUE;
+    return FALSE;
+}
+
+
 /*
  * Detect if `key' is the using the the precomputed `default_salt'.
  */
@@ -120,7 +138,8 @@ _kdc_find_etype(krb5_context context, const hdb_entry_ex *princ,
     for(i = 0; ret != 0 && i < len ; i++) {
        Key *key = NULL;
 
-       if (krb5_enctype_valid(context, etypes[i]) != 0)
+       if (krb5_enctype_valid(context, etypes[i]) != 0 &&
+           !_kdc_is_weak_expection(princ->entry.principal, etypes[i]))
            continue;
 
        while (hdb_next_enctype2key(context, &princ->entry, etypes[i], &key) == 0) {
index 071a30d5a78a674d1ce126683f4dc5e3185c7615..19dff5e01df3347d5070eda3bbe221f1d463bed3 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "kdc_locl.h"
 
-RCSID("$Id: krb5tgs.c 23316 2008-06-23 04:32:32Z lha $");
+RCSID("$Id$");
 
 /*
  * return the realm of a krbtgt-ticket or NULL
@@ -662,6 +662,7 @@ tgs_make_reply(krb5_context context,
               krb5_kvno kvno,
               AuthorizationData *auth_data,
               hdb_entry_ex *server,
+              krb5_principal server_principal,
               const char *server_name,
               hdb_entry_ex *client,
               krb5_principal client_principal,
@@ -678,6 +679,7 @@ tgs_make_reply(krb5_context context,
     EncTicketPart et;
     KDCOptions f = b->kdc_options;
     krb5_error_code ret;
+    int is_weak = 0;
 
     memset(&rep, 0, sizeof(rep));
     memset(&et, 0, sizeof(et));
@@ -729,9 +731,9 @@ tgs_make_reply(krb5_context context,
     if(ret)
        goto out;
 
-    copy_Realm(krb5_princ_realm(context, server->entry.principal),
+    copy_Realm(krb5_princ_realm(context, server_principal),
               &rep.ticket.realm);
-    _krb5_principal2principalname(&rep.ticket.sname, server->entry.principal);
+    _krb5_principal2principalname(&rep.ticket.sname, server_principal);
     copy_Realm(&tgt_name->realm, &rep.crealm);
 /*
     if (f.request_anonymous)
@@ -885,6 +887,14 @@ tgs_make_reply(krb5_context context,
            goto out;
     }
 
+    if (krb5_enctype_valid(context, et.key.keytype) != 0
+       && _kdc_is_weak_expection(server->entry.principal, et.key.keytype)) 
+    {
+       krb5_enctype_enable(context, et.key.keytype);
+       is_weak = 1;
+    }
+
+
     /* It is somewhat unclear where the etype in the following
        encryption should come from. What we have is a session
        key in the passed tgt, and a list of preferred etypes
@@ -899,6 +909,9 @@ tgs_make_reply(krb5_context context,
                            &rep, &et, &ek, et.key.keytype,
                            kvno,
                            serverkey, 0, &tgt->key, e_text, reply);
+    if (is_weak)
+       krb5_enctype_disable(context, et.key.keytype);
+
 out:
     free_TGS_REP(&rep);
     free_TransitedEncoding(&et.transited);
@@ -1462,7 +1475,8 @@ tgs_build_reply(krb5_context context,
      */
 
 server_lookup:
-    ret = _kdc_db_fetch(context, config, sp, HDB_F_GET_SERVER, NULL, &server);
+    ret = _kdc_db_fetch(context, config, sp, HDB_F_GET_SERVER | HDB_F_CANON,
+                       NULL, &server);
 
     if(ret){
        const char *new_rlm;
@@ -1521,7 +1535,8 @@ server_lookup:
        goto out;
     }
 
-    ret = _kdc_db_fetch(context, config, cp, HDB_F_GET_CLIENT, NULL, &client);
+    ret = _kdc_db_fetch(context, config, cp, HDB_F_GET_CLIENT | HDB_F_CANON,
+                       NULL, &client);
     if(ret) {
        const char *krbtgt_realm;
 
@@ -1927,6 +1942,7 @@ server_lookup:
                         kvno,
                         *auth_data,
                         server,
+                        sp,
                         spn,
                         client,
                         cp,
index 8f117cebc0507b03d0b46ef07d10c1f288b5c666..33991d19077bd38e81a9ed46df4bf0e99f50c21c 100644 (file)
@@ -36,7 +36,7 @@
 #include <rfc2459_asn1.h>
 #include <hx509.h>
 
-RCSID("$Id: kx509.c 23316 2008-06-23 04:32:32Z lha $");
+RCSID("$Id$");
 
 /*
  *
index 8cf967fbfb8b179da9055e96c8e9df0e2c359bc4..98b25b92dba7b9ab6f15e4999c304a0b345d8edd 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 #include "kdc_locl.h"
-RCSID("$Id: log.c 22254 2007-12-09 06:01:05Z lha $");
+RCSID("$Id$");
 
 void
 kdc_openlog(krb5_context context, 
index 528b9e6a3b674220731463f2a9fc0d13332177b6..0c64dd568eb9ffa69fcb94678f277ea89a1cba54 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "kdc_locl.h"
 
-RCSID("$Id: misc.c 23316 2008-06-23 04:32:32Z lha $");
+RCSID("$Id$");
 
 struct timeval _kdc_now;
 
old mode 100755 (executable)
new mode 100644 (file)
index 9f6d57f..57767c4
@@ -33,7 +33,7 @@
 
 #include "kdc_locl.h"
 
-RCSID("$Id: pkinit.c 23316 2008-06-23 04:32:32Z lha $");
+RCSID("$Id$");
 
 #ifdef PKINIT
 
index 550bfb04b2a15db05f3ede316cb7c3325d01de00..1a0c7c72ce6550b689449d9c2636eae3fd963342 100644 (file)
@@ -34,7 +34,7 @@
 
 #include "kdc_locl.h"
 
-RCSID("$Id: process.c 23316 2008-06-23 04:32:32Z lha $");
+RCSID("$Id$");
 
 /*
  *
@@ -100,9 +100,9 @@ krb5_kdc_process_request(krb5_context context,
        return ret;
     } else if(_kdc_maybe_version4(buf, len)){
        *prependlength = FALSE; /* elbitapmoc sdrawkcab XXX */
-       _kdc_do_version4(context, config, buf, len, reply, from, 
-                        (struct sockaddr_in*)addr);
-       return 0;
+       ret = _kdc_do_version4(context, config, buf, len, reply, from, 
+                              (struct sockaddr_in*)addr);
+       return ret;
     } else if (config->enable_kaserver) {
        ret = _kdc_do_kaserver(context, config, buf, len, reply, from,
                               (struct sockaddr_in*)addr);
index 18806d79dae694a4371b899a78743440e7ba6d70..a84e5ec5f54fa26319d6f1bc1f16cb14ebe9d704 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: rx.h 17447 2006-05-05 10:52:01Z lha $ */
+/* $Id$ */
 
 #ifndef __RX_H__
 #define __RX_H__
index 621757f6dcf972c493c6517a9c3a68ab9fe404b8..e057a3e6fbae8dd326141a2bc8d1cf68203df808 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "kdc_locl.h"
 
-RCSID("$Id: windc.c 23316 2008-06-23 04:32:32Z lha $");
+RCSID("$Id$");
 
 static krb5plugin_windc_ftable *windcft;
 static void *windcctx;
index 44aab9e22b7ada10492764af98628350548fed9f..3780258ad03ff2624547921a05d0a1949e229173 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: windc_plugin.h 22693 2008-03-19 08:57:49Z lha $ */
+/* $Id$ */
 
 #ifndef HEIMDAL_KRB5_PAC_PLUGIN_H
 #define HEIMDAL_KRB5_PAC_PLUGIN_H 1
index 0e03dc4d377e7588206d243fc156d01d583a2ec6..7880c9e010cbdf37ed19476010e6240e360587e6 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 #include "kuser_locl.h"
-RCSID("$Id: kinit.c 23418 2008-07-26 18:36:48Z lha $");
+RCSID("$Id$");
 
 #include "krb5-v4compat.h"
 
@@ -67,6 +67,7 @@ char *pk_x509_anchors = NULL;
 int pk_use_enckey      = 0;
 static int canonicalize_flag = 0;
 static int ok_as_delegate_flag = 0;
+static int use_referrals_flag = 0;
 static int windows_flag = 0;
 static char *ntlm_domain;
 
@@ -166,6 +167,9 @@ static struct getargs args[] = {
     { "ok-as-delegate",        0,  arg_flag, &ok_as_delegate_flag,
       "honor ok-as-delegate on tickets" },
 
+    { "use-referrals", 0,  arg_flag, &use_referrals_flag,
+      "only use referrals, no dns canalisation" },
+
     { "windows",       0,  arg_flag, &windows_flag,
       "get windows behavior" },
 
@@ -597,11 +601,17 @@ get_new_tickets(krb5_context context,
     if (ntlm_domain && ntlmkey.data)
        store_ntlmkey(context, ccache, ntlm_domain, &ntlmkey);
 
-    if (ok_as_delegate_flag || windows_flag) {
+    if (ok_as_delegate_flag || windows_flag || use_referrals_flag) {
+       unsigned char d = 0;
        krb5_data data;
 
+       if (ok_as_delegate_flag || windows_flag)
+           d |= 1;
+       if (use_referrals_flag || windows_flag)
+           d |= 2;
+
        data.length = 1;
-       data.data = "\x01";
+       data.data = &d;
 
        krb5_cc_set_config(context, ccache, NULL, "realm-config", &data);
     }
index 36ea01a9a59f391e30596eff2025c0ef787ba52d..ad48a0c99c551cc7b9269d71530b3b7fd1413803 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: kuser_locl.h 20458 2007-04-19 20:41:27Z lha $ */
+/* $Id$ */
 
 #ifndef __KUSER_LOCL_H__
 #define __KUSER_LOCL_H__
index 685f0b1898313f9d03399a949590c499468058d7..65a467521d798808a789740ae1123446300e9939 100644 (file)
@@ -1,5 +1,5 @@
 -- From RFC 3369 --
--- $Id: CMS.asn1 18054 2006-09-07 12:20:42Z lha $ --
+-- $Id$ --
 
 CMS DEFINITIONS ::= BEGIN
 
index 5789e0f22dfbb03c3a4bb7c83ae5690dda7acdb7..4c6af8b45eb1717316d477b04cdc1244cacfbd5b 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: asn1-common.h 22429 2008-01-13 10:25:50Z lha $ */
+/* $Id$ */
 
 #include <stddef.h>
 #include <time.h>
index c624e218e7ccad82bd4577b11e437f1d115d93e2..26bda55c1900656ff985742544ced2d9b1eed666 100644 (file)
@@ -3,7 +3,7 @@
 #
 # This might look like a com_err file, but is not
 #
-id "$Id: asn1_err.et 21394 2007-07-02 10:14:43Z lha $"
+id "$Id$"
 
 error_table asn1
 prefix ASN1
index 65b382e6daf0bf3eabcaf50c8bf942cde819246f..50eb598c22fd5d065923f1257ed34823b69f4e5f 100644 (file)
@@ -40,7 +40,7 @@
 #include <hex.h>
 #include <err.h>
 
-RCSID("$Id: asn1_gen.c 16666 2006-01-30 15:06:03Z lha $");
+RCSID("$Id$");
 
 static int
 doit(const char *fn)
index 3659b3859d0d0a77c60b79e37587140cfdf13f1b..73eb50f8b8256553f46f4283df23eaa15d2ef053 100644 (file)
@@ -1,5 +1,5 @@
 /*     $NetBSD: queue.h,v 1.38 2004/04/18 14:12:05 lukem Exp $ */
-/*     $Id: asn1_queue.h 15617 2005-07-12 06:27:42Z lha $ */
+/*     $Id$ */
 
 /*
  * Copyright (c) 1991, 1993
index 5ba3e3880c2e23a5fae1aa90140073ce5e3fd370..5c2690f9b68a17ba15657c1febe84883e26bb686 100644 (file)
@@ -1,4 +1,4 @@
--- $Id: canthandle.asn1 22071 2007-11-14 20:04:50Z lha $ --
+-- $Id$ --
 
 CANTHANDLE DEFINITIONS ::= BEGIN
 
diff --git a/source4/heimdal/lib/asn1/der-protos.h b/source4/heimdal/lib/asn1/der-protos.h
deleted file mode 100644 (file)
index 7bfe02e..0000000
+++ /dev/null
@@ -1,567 +0,0 @@
-/* This is a generated file */
-#ifndef __der_protos_h__
-#define __der_protos_h__
-
-#include <stdarg.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int
-copy_heim_any (
-       const heim_any */*from*/,
-       heim_any */*to*/);
-
-int
-copy_heim_any_set (
-       const heim_any_set */*from*/,
-       heim_any_set */*to*/);
-
-int
-decode_heim_any (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_any */*data*/,
-       size_t */*size*/);
-
-int
-decode_heim_any_set (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_any_set */*data*/,
-       size_t */*size*/);
-
-int
-der_copy_bit_string (
-       const heim_bit_string */*from*/,
-       heim_bit_string */*to*/);
-
-int
-der_copy_bmp_string (
-       const heim_bmp_string */*from*/,
-       heim_bmp_string */*to*/);
-
-int
-der_copy_general_string (
-       const heim_general_string */*from*/,
-       heim_general_string */*to*/);
-
-int
-der_copy_heim_integer (
-       const heim_integer */*from*/,
-       heim_integer */*to*/);
-
-int
-der_copy_ia5_string (
-       const heim_printable_string */*from*/,
-       heim_printable_string */*to*/);
-
-int
-der_copy_octet_string (
-       const heim_octet_string */*from*/,
-       heim_octet_string */*to*/);
-
-int
-der_copy_oid (
-       const heim_oid */*from*/,
-       heim_oid */*to*/);
-
-int
-der_copy_printable_string (
-       const heim_printable_string */*from*/,
-       heim_printable_string */*to*/);
-
-int
-der_copy_universal_string (
-       const heim_universal_string */*from*/,
-       heim_universal_string */*to*/);
-
-int
-der_copy_utf8string (
-       const heim_utf8_string */*from*/,
-       heim_utf8_string */*to*/);
-
-int
-der_copy_visible_string (
-       const heim_visible_string */*from*/,
-       heim_visible_string */*to*/);
-
-void
-der_free_bit_string (heim_bit_string */*k*/);
-
-void
-der_free_bmp_string (heim_bmp_string */*k*/);
-
-void
-der_free_general_string (heim_general_string */*str*/);
-
-void
-der_free_heim_integer (heim_integer */*k*/);
-
-void
-der_free_ia5_string (heim_ia5_string */*str*/);
-
-void
-der_free_octet_string (heim_octet_string */*k*/);
-
-void
-der_free_oid (heim_oid */*k*/);
-
-void
-der_free_printable_string (heim_printable_string */*str*/);
-
-void
-der_free_universal_string (heim_universal_string */*k*/);
-
-void
-der_free_utf8string (heim_utf8_string */*str*/);
-
-void
-der_free_visible_string (heim_visible_string */*str*/);
-
-int
-der_get_bit_string (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_bit_string */*data*/,
-       size_t */*size*/);
-
-int
-der_get_bmp_string (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_bmp_string */*data*/,
-       size_t */*size*/);
-
-int
-der_get_boolean (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       int */*data*/,
-       size_t */*size*/);
-
-const char *
-der_get_class_name (unsigned /*num*/);
-
-int
-der_get_class_num (const char */*name*/);
-
-int
-der_get_general_string (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_general_string */*str*/,
-       size_t */*size*/);
-
-int
-der_get_generalized_time (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       time_t */*data*/,
-       size_t */*size*/);
-
-int
-der_get_heim_integer (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_integer */*data*/,
-       size_t */*size*/);
-
-int
-der_get_ia5_string (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_ia5_string */*str*/,
-       size_t */*size*/);
-
-int
-der_get_integer (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       int */*ret*/,
-       size_t */*size*/);
-
-int
-der_get_length (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       size_t */*val*/,
-       size_t */*size*/);
-
-int
-der_get_octet_string (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_octet_string */*data*/,
-       size_t */*size*/);
-
-int
-der_get_oid (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_oid */*data*/,
-       size_t */*size*/);
-
-int
-der_get_printable_string (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_printable_string */*str*/,
-       size_t */*size*/);
-
-int
-der_get_tag (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       Der_class */*class*/,
-       Der_type */*type*/,
-       unsigned int */*tag*/,
-       size_t */*size*/);
-
-const char *
-der_get_tag_name (unsigned /*num*/);
-
-int
-der_get_tag_num (const char */*name*/);
-
-const char *
-der_get_type_name (unsigned /*num*/);
-
-int
-der_get_type_num (const char */*name*/);
-
-int
-der_get_universal_string (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_universal_string */*data*/,
-       size_t */*size*/);
-
-int
-der_get_unsigned (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       unsigned */*ret*/,
-       size_t */*size*/);
-
-int
-der_get_utctime (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       time_t */*data*/,
-       size_t */*size*/);
-
-int
-der_get_utf8string (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_utf8_string */*str*/,
-       size_t */*size*/);
-
-int
-der_get_visible_string (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       heim_visible_string */*str*/,
-       size_t */*size*/);
-
-int
-der_heim_bit_string_cmp (
-       const heim_bit_string */*p*/,
-       const heim_bit_string */*q*/);
-
-int
-der_heim_bmp_string_cmp (
-       const heim_bmp_string */*p*/,
-       const heim_bmp_string */*q*/);
-
-int
-der_heim_integer_cmp (
-       const heim_integer */*p*/,
-       const heim_integer */*q*/);
-
-int
-der_heim_octet_string_cmp (
-       const heim_octet_string */*p*/,
-       const heim_octet_string */*q*/);
-
-int
-der_heim_oid_cmp (
-       const heim_oid */*p*/,
-       const heim_oid */*q*/);
-
-int
-der_heim_universal_string_cmp (
-       const heim_universal_string */*p*/,
-       const heim_universal_string */*q*/);
-
-size_t
-der_length_bit_string (const heim_bit_string */*k*/);
-
-size_t
-der_length_bmp_string (const heim_bmp_string */*data*/);
-
-size_t
-der_length_boolean (const int */*k*/);
-
-size_t
-der_length_enumerated (const unsigned */*data*/);
-
-size_t
-der_length_general_string (const heim_general_string */*data*/);
-
-size_t
-der_length_generalized_time (const time_t */*t*/);
-
-size_t
-der_length_heim_integer (const heim_integer */*k*/);
-
-size_t
-der_length_ia5_string (const heim_ia5_string */*data*/);
-
-size_t
-der_length_integer (const int */*data*/);
-
-size_t
-der_length_len (size_t /*len*/);
-
-size_t
-der_length_octet_string (const heim_octet_string */*k*/);
-
-size_t
-der_length_oid (const heim_oid */*k*/);
-
-size_t
-der_length_printable_string (const heim_printable_string */*data*/);
-
-size_t
-der_length_universal_string (const heim_universal_string */*data*/);
-
-size_t
-der_length_unsigned (const unsigned */*data*/);
-
-size_t
-der_length_utctime (const time_t */*t*/);
-
-size_t
-der_length_utf8string (const heim_utf8_string */*data*/);
-
-size_t
-der_length_visible_string (const heim_visible_string */*data*/);
-
-int
-der_match_tag (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       Der_class /*class*/,
-       Der_type /*type*/,
-       unsigned int /*tag*/,
-       size_t */*size*/);
-
-int
-der_match_tag_and_length (
-       const unsigned char */*p*/,
-       size_t /*len*/,
-       Der_class /*class*/,
-       Der_type /*type*/,
-       unsigned int /*tag*/,
-       size_t */*length_ret*/,
-       size_t */*size*/);
-
-int
-der_parse_heim_oid (
-       const char */*str*/,
-       const char */*sep*/,
-       heim_oid */*data*/);
-
-int
-der_parse_hex_heim_integer (
-       const char */*p*/,
-       heim_integer */*data*/);
-
-int
-der_print_heim_oid (
-       const heim_oid */*oid*/,
-       char /*delim*/,
-       char **/*str*/);
-
-int
-der_print_hex_heim_integer (
-       const heim_integer */*data*/,
-       char **/*p*/);
-
-int
-der_put_bit_string (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_bit_string */*data*/,
-       size_t */*size*/);
-
-int
-der_put_bmp_string (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_bmp_string */*data*/,
-       size_t */*size*/);
-
-int
-der_put_boolean (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const int */*data*/,
-       size_t */*size*/);
-
-int
-der_put_general_string (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_general_string */*str*/,
-       size_t */*size*/);
-
-int
-der_put_generalized_time (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const time_t */*data*/,
-       size_t */*size*/);
-
-int
-der_put_heim_integer (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_integer */*data*/,
-       size_t */*size*/);
-
-int
-der_put_ia5_string (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_ia5_string */*str*/,
-       size_t */*size*/);
-
-int
-der_put_integer (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const int */*v*/,
-       size_t */*size*/);
-
-int
-der_put_length (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       size_t /*val*/,
-       size_t */*size*/);
-
-int
-der_put_length_and_tag (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       size_t /*len_val*/,
-       Der_class /*class*/,
-       Der_type /*type*/,
-       unsigned int /*tag*/,
-       size_t */*size*/);
-
-int
-der_put_octet_string (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_octet_string */*data*/,
-       size_t */*size*/);
-
-int
-der_put_oid (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_oid */*data*/,
-       size_t */*size*/);
-
-int
-der_put_printable_string (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_printable_string */*str*/,
-       size_t */*size*/);
-
-int
-der_put_tag (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       Der_class /*class*/,
-       Der_type /*type*/,
-       unsigned int /*tag*/,
-       size_t */*size*/);
-
-int
-der_put_universal_string (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_universal_string */*data*/,
-       size_t */*size*/);
-
-int
-der_put_unsigned (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const unsigned */*v*/,
-       size_t */*size*/);
-
-int
-der_put_utctime (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const time_t */*data*/,
-       size_t */*size*/);
-
-int
-der_put_utf8string (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_utf8_string */*str*/,
-       size_t */*size*/);
-
-int
-der_put_visible_string (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_visible_string */*str*/,
-       size_t */*size*/);
-
-int
-encode_heim_any (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_any */*data*/,
-       size_t */*size*/);
-
-int
-encode_heim_any_set (
-       unsigned char */*p*/,
-       size_t /*len*/,
-       const heim_any_set */*data*/,
-       size_t */*size*/);
-
-void
-free_heim_any (heim_any */*data*/);
-
-void
-free_heim_any_set (heim_any_set */*data*/);
-
-int
-heim_any_cmp (
-       const heim_any_set */*p*/,
-       const heim_any_set */*q*/);
-
-size_t
-length_heim_any (const heim_any */*data*/);
-
-size_t
-length_heim_any_set (const heim_any */*data*/);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __der_protos_h__ */
index 120dc086afc9383c9e19b4386120bbc2c9492148..159d358fcbd78111c294bdde4207a98baf84e7fa 100644 (file)
@@ -38,7 +38,7 @@
 #include <getarg.h>
 #include <err.h>
 
-RCSID("$Id: der.c 22429 2008-01-13 10:25:50Z lha $");
+RCSID("$Id$");
 
 
 static const char *class_names[] = {
index 0484137192c47a24e363cf062bbe083b5bb80f04..cef92aa07f2d27bb003cf347f03642fe495b523d 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: der.h 23183 2008-05-22 09:56:51Z lha $ */
+/* $Id$ */
 
 #ifndef __DER_H__
 #define __DER_H__
old mode 100755 (executable)
new mode 100644 (file)
index 04c4531ca5782224b2a25d638ebe13d1745b0aa9..ba1aa36c02180f246bf73eab7856a50ce706101b 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "der_locl.h"
 
-RCSID("$Id: der_copy.c 19539 2006-12-28 17:15:05Z lha $");
+RCSID("$Id$");
 
 int
 der_copy_general_string (const heim_general_string *from, 
index 6908bddcc26ea7e40101130bb9bea3efdca7b64b..37e5bd7f279f69aa33189b241227c8777423fa05 100644 (file)
@@ -34,7 +34,7 @@
 #include "der_locl.h"
 #include <hex.h>
 
-RCSID("$Id: der_format.c 20861 2007-06-03 20:18:29Z lha $");
+RCSID("$Id$");
 
 int
 der_parse_hex_heim_integer (const char *p, heim_integer *data)
index f59ec72eb7f5c0040af819f61bbc595178fa5405..8658dc7d15f0a836b3b06ba858a5fab9da62b6bc 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "der_locl.h"
 
-RCSID("$Id: der_free.c 23182 2008-05-22 02:59:04Z lha $");
+RCSID("$Id$");
 
 void
 der_free_general_string (heim_general_string *str)
index f232ce9a296dc880f89b43ae57d1ade825698e4c..297823f8f03d77fafc3bd1e4629390371e7e9af1 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "der_locl.h"
 
-RCSID("$Id: der_get.c 21369 2007-06-27 10:14:39Z lha $");
+RCSID("$Id$");
 
 #include <version.h>
 
index a7f8f593a20e115aa692376af9eca8665838fb9a..f0091bd50b20dffd6add80015d71fa71864fd966 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "der_locl.h"
 
-RCSID("$Id: der_length.c 19539 2006-12-28 17:15:05Z lha $");
+RCSID("$Id$");
 
 size_t
 _heim_len_unsigned (unsigned val)
index 5b97557d74a3c5cced0691ef87613c70324975c4..cdcb5c09a568c441442da63e571c3e19027ef3ac 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: der_locl.h 18608 2006-10-19 16:24:02Z lha $ */
+/* $Id$ */
 
 #ifndef __DER_LOCL_H__
 #define __DER_LOCL_H__
index 1fdbfe1305d6df8562e62cdd50d0142bba21c482..54fc0cb5f86b298ca99f4042d67804fd480f0cd2 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "der_locl.h"
 
-RCSID("$Id: der_put.c 19539 2006-12-28 17:15:05Z lha $");
+RCSID("$Id$");
 
 /*
  * All encoding functions take a pointer `p' to first position in
index eafe48ea5aee1e57bfa361863494e6f976429fe9..1cf58b46380feef3bd458f1f33a748316e225c82 100644 (file)
@@ -1,4 +1,4 @@
--- $Id: digest.asn1 22152 2007-12-04 19:59:18Z lha $
+-- $Id$
 
 DIGEST DEFINITIONS ::=
 BEGIN
index e29a4378785132242736841d1790e4169cb2813c..90f98d8c251937e0c78b4f2229b28a1e730c4423 100644 (file)
@@ -34,7 +34,7 @@
 #include "der_locl.h"
 #include "heim_asn1.h"
 
-RCSID("$Id: extra.c 16672 2006-01-31 09:44:54Z lha $");
+RCSID("$Id$");
 
 int
 encode_heim_any(unsigned char *p, size_t len, 
index 39dba89e4e1cb847a242b6e16f2bc67c4af34600..ddacf7a1c850592f8b8dc55d3c1253b6ccf68df1 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "gen_locl.h"
 
-RCSID("$Id: gen.c 22896 2008-04-07 18:52:24Z lha $");
+RCSID("$Id$");
 
 FILE *headerfile, *codefile, *logfile;
 
index abf11859d5f495cd75dbdb50208fc8871af26bc6..8d41e704c315571c430dcc68a545d9b86dd748dc 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "gen_locl.h"
 
-RCSID("$Id: gen_copy.c 19539 2006-12-28 17:15:05Z lha $");
+RCSID("$Id$");
 
 static int used_fail;
 
index face9ba47a0487761a3e9447ddc9352bc1cf7f73..40751cd077dad234a87551360338620b863c4d0d 100644 (file)
@@ -34,7 +34,7 @@
 #include "gen_locl.h"
 #include "lex.h"
 
-RCSID("$Id: gen_decode.c 21503 2007-07-12 11:57:19Z lha $");
+RCSID("$Id$");
 
 static void
 decode_primitive (const char *typename, const char *name, const char *forwstr)
index 08f1a9449f8baf91dda4105df2bdcccdc9d77bb1..bf26a965a94e34103e69ae34e7ea242f90443be7 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "gen_locl.h"
 
-RCSID("$Id: gen_encode.c 22429 2008-01-13 10:25:50Z lha $");
+RCSID("$Id$");
 
 static void
 encode_primitive (const char *typename, const char *name)
index d667c5d31aad674111eb02c3018c4438e84e9863..1cec79a9118f5127b8122420e948192b10594afb 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "gen_locl.h"
 
-RCSID("$Id: gen_free.c 19539 2006-12-28 17:15:05Z lha $");
+RCSID("$Id$");
 
 static void
 free_primitive (const char *typename, const char *name)
index 8d8bd152a3b70f3fbd685dc33ae5ee4700727d86..b01012be83b2b58756800f1c6b89bf0be1191a40 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "gen_locl.h"
 
-RCSID("$Id: gen_glue.c 15617 2005-07-12 06:27:42Z lha $");
+RCSID("$Id$");
 
 static void
 generate_2int (const Type *t, const char *gen_name)
index 4cb5d45089f5d51e55ad37f6398ef9028e4d606b..a10604a09cc0fbeb7bdc58a1da000f0dbf9ca091 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "gen_locl.h"
 
-RCSID("$Id: gen_length.c 21503 2007-07-12 11:57:19Z lha $");
+RCSID("$Id$");
 
 static void
 length_primitive (const char *typename,
index 8cd4dbad5a84a2727188d0534a508f166f1d6d73..eaf87390f27b729bd8601a116fbd2b44e6c0c858 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: gen_locl.h 18008 2006-09-05 12:29:18Z lha $ */
+/* $Id$ */
 
 #ifndef __GEN_LOCL_H__
 #define __GEN_LOCL_H__
index 54776752c2e3eaa0ac412658f8731ee087cfe489..d7d4fa5d7d82d492ecaf885848ef585958adf17c 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "gen_locl.h"
 
-RCSID("$Id: gen_seq.c 20561 2007-04-24 16:14:30Z lha $");
+RCSID("$Id$");
 
 void
 generate_type_seq (const Symbol *s)
index eeb6b6d63dc9eef3829412c52dbb68a03eaee8f0..f61a3eeb2415eb46d4783ec99827fa1f4085437e 100644 (file)
@@ -37,7 +37,7 @@
 
 #include "gen_locl.h"
 
-RCSID("$Id: hash.c 17016 2006-04-07 22:16:00Z lha $");
+RCSID("$Id$");
 
 static Hashentry *_search(Hashtab * htab,      /* The hash table */
                          void *ptr);   /* And key */
index 10d8ce99b0b5b983465f2698fdeda34496a94e4a..41ecc9de0c5257a65c7d50f9837728ded0a20345 100644 (file)
@@ -35,7 +35,7 @@
  * hash.h. Header file for hash table functions
  */
 
-/* $Id: hash.h 7464 1999-12-02 17:05:13Z joda $ */
+/* $Id$ */
 
 struct hashentry {             /* Entry in bucket */
      struct hashentry **prev;
index ea20eb99d24ba87ba90e12629109ef088d2d17e4..9b36498161facf73dbea742d73dc8879aad5761f 100644 (file)
@@ -1,4 +1,4 @@
--- $Id: k5.asn1 22745 2008-03-24 12:07:54Z lha $
+-- $Id$
 
 KERBEROS5 DEFINITIONS ::=
 BEGIN
@@ -72,6 +72,7 @@ PADATA-TYPE ::= INTEGER {
        KRB5-PADATA-TD-REQ-SEQ(108),            -- INTEGER
        KRB5-PADATA-PA-PAC-REQUEST(128),        -- jbrezak@exchange.microsoft.com
        KRB5-PADATA-S4U2SELF(129),
+       KRB5-PADATA-EPAC(130),                  -- EPAK
        KRB5-PADATA-PK-AS-09-BINDING(132),      -- client send this to 
                                                -- tell KDC that is supports 
                                                -- the asCheckSum in the
@@ -94,7 +95,8 @@ AUTHDATA-TYPE ::= INTEGER {
        KRB5-AUTHDATA-OSF-DCE-PKI-CERTID(66),
        KRB5-AUTHDATA-WIN2K-PAC(128),
        KRB5-AUTHDATA-GSS-API-ETYPE-NEGOTIATION(129), -- Authenticator only
-       KRB5-AUTHDATA-SIGNTICKET(-17)
+       KRB5-AUTHDATA-SIGNTICKET-OLD(-17),
+       KRB5-AUTHDATA-SIGNTICKET(142)
 }
 
 -- checksumtypes
index fc6a696dab3a8c242cd81102196431d28bf2289b..820abc810687bf4d2d52b7a677aec540dbba56c0 100644 (file)
@@ -1,4 +1,4 @@
--- $Id: kx509.asn1 19546 2006-12-28 21:05:23Z lha $
+-- $Id$
 
 KX509 DEFINITIONS ::=
 BEGIN
index 175760be4406d1c45cbbc790776b9d6cbe69a4e5..5efec619eefdb0df8d459e9a9554097b044594eb 100644 (file)
@@ -830,7 +830,7 @@ char *yytext;
  * SUCH DAMAGE. 
  */
 
-/* $Id: lex.l 18738 2006-10-21 11:57:22Z lha $ */
+/* $Id$ */
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
index 7aececf6d7a02cfbe0db41a48d4977b3e5113048..34cef1716a84170c4744d4259e0f3f44d2fc776b 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: lex.h 15617 2005-07-12 06:27:42Z lha $ */
+/* $Id$ */
 
 #include <roken.h>
 
index ec744220e9c0a353e41653156792971d54f16ed1..e1452c3b04a7ddfc37216ea7ab660c8f8ce56f3c 100644 (file)
@@ -32,7 +32,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: lex.l 18738 2006-10-21 11:57:22Z lha $ */
+/* $Id$ */
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
diff --git a/source4/heimdal/lib/asn1/libasn1.h b/source4/heimdal/lib/asn1/libasn1.h
deleted file mode 100644 (file)
index 64f554f..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 1997 - 2001 Kungliga Tekniska Högskolan
- * (Royal Institute of Technology, Stockholm, Sweden). 
- * All rights reserved. 
- *
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions 
- * are met: 
- *
- * 1. Redistributions of source code must retain the above copyright 
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright 
- *    notice, this list of conditions and the following disclaimer in the 
- *    documentation and/or other materials provided with the distribution. 
- *
- * 3. Neither the name of the Institute nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission. 
- *
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
- * SUCH DAMAGE. 
- */
-
-/* $Id: libasn1.h 15617 2005-07-12 06:27:42Z lha $ */
-
-#ifndef __LIBASN1_H__
-#define __LIBASN1_H__
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include "krb5_asn1.h"
-#include "der.h"
-#include "asn1_err.h"
-#include <parse_units.h>
-
-#endif /* __LIBASN1_H__ */
index 3b4a8122cadab684784b0d1c0d6a6dc40a74ef68..3e15b39e6afbdc94d2fc006e6710b9d5b4e620a9 100644 (file)
@@ -35,7 +35,7 @@
 #include <getarg.h>
 #include "lex.h"
 
-RCSID("$Id: main.c 20858 2007-06-03 18:56:41Z lha $");
+RCSID("$Id$");
 
 extern FILE *yyin;
 
index 6a3e524e93a949e354eb856ee69029c2eebb1ef9..edd3bba4639ea3b077a93294af371f6d3393c9fd 100644 (file)
 
 
 /* Copy the first part of user declarations.  */
-#line 36 "parse.y"
+#line 36 "heimdal/lib/asn1/parse.y"
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #include "gen_locl.h"
 #include "der.h"
 
-RCSID("$Id: parse.y 21597 2007-07-16 18:48:58Z lha $");
+RCSID("$Id$");
 
 static Type *new_type (Typetype t);
 static struct constraint_spec *new_constraint_spec(enum ctype);
@@ -280,7 +280,7 @@ struct string_list {
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
-# define YYDEBUG 1
+# define YYDEBUG 0
 #endif
 
 /* Enabling verbose error messages.  */
@@ -298,7 +298,7 @@ struct string_list {
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 65 "parse.y"
+#line 65 "heimdal/lib/asn1/parse.y"
 {
     int constant;
     struct value *value;
@@ -314,7 +314,7 @@ typedef union YYSTYPE
     struct constraint_spec *constraint_spec;
 }
 /* Line 187 of yacc.c.  */
-#line 318 "parse.c"
+#line 318 "heimdal/lib/asn1/parse.y"
        YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -327,7 +327,7 @@ typedef union YYSTYPE
 
 
 /* Line 216 of yacc.c.  */
-#line 331 "parse.c"
+#line 331 "heimdal/lib/asn1/parse.y"
 
 #ifdef short
 # undef short
@@ -1762,29 +1762,29 @@ yyreduce:
   switch (yyn)
     {
         case 2:
-#line 235 "parse.y"
+#line 235 "heimdal/lib/asn1/parse.y"
     {
                        checkundefined();
                }
     break;
 
   case 4:
-#line 242 "parse.y"
+#line 242 "heimdal/lib/asn1/parse.y"
     { error_message("implicit tagging is not supported"); }
     break;
 
   case 5:
-#line 244 "parse.y"
+#line 244 "heimdal/lib/asn1/parse.y"
     { error_message("automatic tagging is not supported"); }
     break;
 
   case 7:
-#line 249 "parse.y"
+#line 249 "heimdal/lib/asn1/parse.y"
     { error_message("no extensibility options supported"); }
     break;
 
   case 17:
-#line 270 "parse.y"
+#line 270 "heimdal/lib/asn1/parse.y"
     { 
                    struct string_list *sl;
                    for(sl = (yyvsp[(1) - (4)].sl); sl != NULL; sl = sl->next) {
@@ -1796,7 +1796,7 @@ yyreduce:
     break;
 
   case 22:
-#line 289 "parse.y"
+#line 289 "heimdal/lib/asn1/parse.y"
     {
                    (yyval.sl) = emalloc(sizeof(*(yyval.sl)));
                    (yyval.sl)->string = (yyvsp[(1) - (3)].name);
@@ -1805,7 +1805,7 @@ yyreduce:
     break;
 
   case 23:
-#line 295 "parse.y"
+#line 295 "heimdal/lib/asn1/parse.y"
     {
                    (yyval.sl) = emalloc(sizeof(*(yyval.sl)));
                    (yyval.sl)->string = (yyvsp[(1) - (1)].name);
@@ -1814,7 +1814,7 @@ yyreduce:
     break;
 
   case 24:
-#line 303 "parse.y"
+#line 303 "heimdal/lib/asn1/parse.y"
     {
                    Symbol *s = addsym ((yyvsp[(1) - (3)].name));
                    s->stype = Stype;
@@ -1825,7 +1825,7 @@ yyreduce:
     break;
 
   case 42:
-#line 334 "parse.y"
+#line 334 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_Boolean, 
                                     TE_EXPLICIT, new_type(TBoolean));
@@ -1833,7 +1833,7 @@ yyreduce:
     break;
 
   case 43:
-#line 341 "parse.y"
+#line 341 "heimdal/lib/asn1/parse.y"
     {
                    if((yyvsp[(2) - (5)].value)->type != integervalue)
                        error_message("Non-integer used in first part of range");
@@ -1846,7 +1846,7 @@ yyreduce:
     break;
 
   case 44:
-#line 351 "parse.y"
+#line 351 "heimdal/lib/asn1/parse.y"
     {          
                    if((yyvsp[(2) - (5)].value)->type != integervalue)
                        error_message("Non-integer in first part of range");
@@ -1857,7 +1857,7 @@ yyreduce:
     break;
 
   case 45:
-#line 359 "parse.y"
+#line 359 "heimdal/lib/asn1/parse.y"
     {          
                    if((yyvsp[(4) - (5)].value)->type != integervalue)
                        error_message("Non-integer in second part of range");
@@ -1868,7 +1868,7 @@ yyreduce:
     break;
 
   case 46:
-#line 367 "parse.y"
+#line 367 "heimdal/lib/asn1/parse.y"
     {
                    if((yyvsp[(2) - (3)].value)->type != integervalue)
                        error_message("Non-integer used in limit");
@@ -1879,7 +1879,7 @@ yyreduce:
     break;
 
   case 47:
-#line 378 "parse.y"
+#line 378 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_Integer, 
                                     TE_EXPLICIT, new_type(TInteger));
@@ -1887,7 +1887,7 @@ yyreduce:
     break;
 
   case 48:
-#line 383 "parse.y"
+#line 383 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_type(TInteger);
                        (yyval.type)->range = (yyvsp[(2) - (2)].range);
@@ -1896,7 +1896,7 @@ yyreduce:
     break;
 
   case 49:
-#line 389 "parse.y"
+#line 389 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TInteger);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
@@ -1905,7 +1905,7 @@ yyreduce:
     break;
 
   case 50:
-#line 397 "parse.y"
+#line 397 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.members) = emalloc(sizeof(*(yyval.members)));
                        ASN1_TAILQ_INIT((yyval.members));
@@ -1914,7 +1914,7 @@ yyreduce:
     break;
 
   case 51:
-#line 403 "parse.y"
+#line 403 "heimdal/lib/asn1/parse.y"
     {
                        ASN1_TAILQ_INSERT_TAIL((yyvsp[(1) - (3)].members), (yyvsp[(3) - (3)].member), members);
                        (yyval.members) = (yyvsp[(1) - (3)].members);
@@ -1922,12 +1922,12 @@ yyreduce:
     break;
 
   case 52:
-#line 408 "parse.y"
+#line 408 "heimdal/lib/asn1/parse.y"
     { (yyval.members) = (yyvsp[(1) - (3)].members); }
     break;
 
   case 53:
-#line 412 "parse.y"
+#line 412 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.member) = emalloc(sizeof(*(yyval.member)));
                        (yyval.member)->name = (yyvsp[(1) - (4)].name);
@@ -1941,7 +1941,7 @@ yyreduce:
     break;
 
   case 54:
-#line 425 "parse.y"
+#line 425 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TInteger);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
@@ -1950,7 +1950,7 @@ yyreduce:
     break;
 
   case 56:
-#line 436 "parse.y"
+#line 436 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TBitString);
                  (yyval.type)->members = emalloc(sizeof(*(yyval.type)->members));
@@ -1960,7 +1960,7 @@ yyreduce:
     break;
 
   case 57:
-#line 443 "parse.y"
+#line 443 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TBitString);
                  (yyval.type)->members = (yyvsp[(4) - (5)].members);
@@ -1969,7 +1969,7 @@ yyreduce:
     break;
 
   case 58:
-#line 451 "parse.y"
+#line 451 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_OID, 
                                     TE_EXPLICIT, new_type(TOID));
@@ -1977,7 +1977,7 @@ yyreduce:
     break;
 
   case 59:
-#line 457 "parse.y"
+#line 457 "heimdal/lib/asn1/parse.y"
     {
                    Type *t = new_type(TOctetString);
                    t->range = (yyvsp[(3) - (3)].range);
@@ -1987,7 +1987,7 @@ yyreduce:
     break;
 
   case 60:
-#line 466 "parse.y"
+#line 466 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_Null, 
                                     TE_EXPLICIT, new_type(TNull));
@@ -1995,17 +1995,17 @@ yyreduce:
     break;
 
   case 61:
-#line 473 "parse.y"
+#line 473 "heimdal/lib/asn1/parse.y"
     { (yyval.range) = NULL; }
     break;
 
   case 62:
-#line 475 "parse.y"
+#line 475 "heimdal/lib/asn1/parse.y"
     { (yyval.range) = (yyvsp[(2) - (2)].range); }
     break;
 
   case 63:
-#line 480 "parse.y"
+#line 480 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TSequence);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
@@ -2014,7 +2014,7 @@ yyreduce:
     break;
 
   case 64:
-#line 486 "parse.y"
+#line 486 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TSequence);
                  (yyval.type)->members = NULL;
@@ -2023,7 +2023,7 @@ yyreduce:
     break;
 
   case 65:
-#line 494 "parse.y"
+#line 494 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TSequenceOf);
                  (yyval.type)->range = (yyvsp[(2) - (4)].range);
@@ -2033,7 +2033,7 @@ yyreduce:
     break;
 
   case 66:
-#line 503 "parse.y"
+#line 503 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TSet);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
@@ -2042,7 +2042,7 @@ yyreduce:
     break;
 
   case 67:
-#line 509 "parse.y"
+#line 509 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TSet);
                  (yyval.type)->members = NULL;
@@ -2051,7 +2051,7 @@ yyreduce:
     break;
 
   case 68:
-#line 517 "parse.y"
+#line 517 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TSetOf);
                  (yyval.type)->subtype = (yyvsp[(3) - (3)].type);
@@ -2060,7 +2060,7 @@ yyreduce:
     break;
 
   case 69:
-#line 525 "parse.y"
+#line 525 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.type) = new_type(TChoice);
                  (yyval.type)->members = (yyvsp[(3) - (4)].members);
@@ -2068,7 +2068,7 @@ yyreduce:
     break;
 
   case 72:
-#line 536 "parse.y"
+#line 536 "heimdal/lib/asn1/parse.y"
     {
                  Symbol *s = addsym((yyvsp[(1) - (1)].name));
                  (yyval.type) = new_type(TType);
@@ -2080,7 +2080,7 @@ yyreduce:
     break;
 
   case 73:
-#line 547 "parse.y"
+#line 547 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_GeneralizedTime, 
                                     TE_EXPLICIT, new_type(TGeneralizedTime));
@@ -2088,7 +2088,7 @@ yyreduce:
     break;
 
   case 74:
-#line 552 "parse.y"
+#line 552 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_UTCTime, 
                                     TE_EXPLICIT, new_type(TUTCTime));
@@ -2096,7 +2096,7 @@ yyreduce:
     break;
 
   case 75:
-#line 559 "parse.y"
+#line 559 "heimdal/lib/asn1/parse.y"
     {
                    /* if (Constraint.type == contentConstrant) {
                       assert(Constraint.u.constraint.type == octetstring|bitstring-w/o-NamedBitList); // remember to check type reference too
@@ -2112,14 +2112,14 @@ yyreduce:
     break;
 
   case 76:
-#line 575 "parse.y"
+#line 575 "heimdal/lib/asn1/parse.y"
     {
                    (yyval.constraint_spec) = (yyvsp[(2) - (3)].constraint_spec);
                }
     break;
 
   case 80:
-#line 588 "parse.y"
+#line 588 "heimdal/lib/asn1/parse.y"
     {
                    (yyval.constraint_spec) = new_constraint_spec(CT_CONTENTS);
                    (yyval.constraint_spec)->u.content.type = (yyvsp[(2) - (2)].type);
@@ -2128,7 +2128,7 @@ yyreduce:
     break;
 
   case 81:
-#line 594 "parse.y"
+#line 594 "heimdal/lib/asn1/parse.y"
     {
                    if ((yyvsp[(3) - (3)].value)->type != objectidentifiervalue)
                        error_message("Non-OID used in ENCODED BY constraint");
@@ -2139,7 +2139,7 @@ yyreduce:
     break;
 
   case 82:
-#line 602 "parse.y"
+#line 602 "heimdal/lib/asn1/parse.y"
     {
                    if ((yyvsp[(5) - (5)].value)->type != objectidentifiervalue)
                        error_message("Non-OID used in ENCODED BY constraint");
@@ -2150,14 +2150,14 @@ yyreduce:
     break;
 
   case 83:
-#line 612 "parse.y"
+#line 612 "heimdal/lib/asn1/parse.y"
     {
                    (yyval.constraint_spec) = new_constraint_spec(CT_USER);
                }
     break;
 
   case 84:
-#line 618 "parse.y"
+#line 618 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_type(TTag);
                        (yyval.type)->tag = (yyvsp[(1) - (3)].tag);
@@ -2171,7 +2171,7 @@ yyreduce:
     break;
 
   case 85:
-#line 631 "parse.y"
+#line 631 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.tag).tagclass = (yyvsp[(2) - (4)].constant);
                        (yyval.tag).tagvalue = (yyvsp[(3) - (4)].constant);
@@ -2180,56 +2180,56 @@ yyreduce:
     break;
 
   case 86:
-#line 639 "parse.y"
+#line 639 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.constant) = ASN1_C_CONTEXT;
                }
     break;
 
   case 87:
-#line 643 "parse.y"
+#line 643 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.constant) = ASN1_C_UNIV;
                }
     break;
 
   case 88:
-#line 647 "parse.y"
+#line 647 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.constant) = ASN1_C_APPL;
                }
     break;
 
   case 89:
-#line 651 "parse.y"
+#line 651 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.constant) = ASN1_C_PRIVATE;
                }
     break;
 
   case 90:
-#line 657 "parse.y"
+#line 657 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.constant) = TE_EXPLICIT;
                }
     break;
 
   case 91:
-#line 661 "parse.y"
+#line 661 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.constant) = TE_EXPLICIT;
                }
     break;
 
   case 92:
-#line 665 "parse.y"
+#line 665 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.constant) = TE_IMPLICIT;
                }
     break;
 
   case 93:
-#line 672 "parse.y"
+#line 672 "heimdal/lib/asn1/parse.y"
     {
                        Symbol *s;
                        s = addsym ((yyvsp[(1) - (4)].name));
@@ -2241,7 +2241,7 @@ yyreduce:
     break;
 
   case 95:
-#line 686 "parse.y"
+#line 686 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_GeneralString, 
                                     TE_EXPLICIT, new_type(TGeneralString));
@@ -2249,7 +2249,7 @@ yyreduce:
     break;
 
   case 96:
-#line 691 "parse.y"
+#line 691 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_UTF8String, 
                                     TE_EXPLICIT, new_type(TUTF8String));
@@ -2257,7 +2257,7 @@ yyreduce:
     break;
 
   case 97:
-#line 696 "parse.y"
+#line 696 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_PrintableString, 
                                     TE_EXPLICIT, new_type(TPrintableString));
@@ -2265,7 +2265,7 @@ yyreduce:
     break;
 
   case 98:
-#line 701 "parse.y"
+#line 701 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_VisibleString, 
                                     TE_EXPLICIT, new_type(TVisibleString));
@@ -2273,7 +2273,7 @@ yyreduce:
     break;
 
   case 99:
-#line 706 "parse.y"
+#line 706 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_IA5String, 
                                     TE_EXPLICIT, new_type(TIA5String));
@@ -2281,7 +2281,7 @@ yyreduce:
     break;
 
   case 100:
-#line 711 "parse.y"
+#line 711 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_BMPString, 
                                     TE_EXPLICIT, new_type(TBMPString));
@@ -2289,7 +2289,7 @@ yyreduce:
     break;
 
   case 101:
-#line 716 "parse.y"
+#line 716 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.type) = new_tag(ASN1_C_UNIV, UT_UniversalString, 
                                     TE_EXPLICIT, new_type(TUniversalString));
@@ -2297,7 +2297,7 @@ yyreduce:
     break;
 
   case 102:
-#line 724 "parse.y"
+#line 724 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.members) = emalloc(sizeof(*(yyval.members)));
                        ASN1_TAILQ_INIT((yyval.members));
@@ -2306,7 +2306,7 @@ yyreduce:
     break;
 
   case 103:
-#line 730 "parse.y"
+#line 730 "heimdal/lib/asn1/parse.y"
     {
                        ASN1_TAILQ_INSERT_TAIL((yyvsp[(1) - (3)].members), (yyvsp[(3) - (3)].member), members);
                        (yyval.members) = (yyvsp[(1) - (3)].members);
@@ -2314,7 +2314,7 @@ yyreduce:
     break;
 
   case 104:
-#line 735 "parse.y"
+#line 735 "heimdal/lib/asn1/parse.y"
     {
                        struct member *m = ecalloc(1, sizeof(*m));
                        m->name = estrdup("...");
@@ -2326,7 +2326,7 @@ yyreduce:
     break;
 
   case 105:
-#line 746 "parse.y"
+#line 746 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.member) = emalloc(sizeof(*(yyval.member)));
                  (yyval.member)->name = (yyvsp[(1) - (2)].name);
@@ -2338,7 +2338,7 @@ yyreduce:
     break;
 
   case 106:
-#line 757 "parse.y"
+#line 757 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.member) = (yyvsp[(1) - (1)].member);
                        (yyval.member)->optional = 0;
@@ -2347,7 +2347,7 @@ yyreduce:
     break;
 
   case 107:
-#line 763 "parse.y"
+#line 763 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.member) = (yyvsp[(1) - (2)].member);
                        (yyval.member)->optional = 1;
@@ -2356,7 +2356,7 @@ yyreduce:
     break;
 
   case 108:
-#line 769 "parse.y"
+#line 769 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.member) = (yyvsp[(1) - (3)].member);
                        (yyval.member)->optional = 0;
@@ -2365,7 +2365,7 @@ yyreduce:
     break;
 
   case 109:
-#line 777 "parse.y"
+#line 777 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.members) = emalloc(sizeof(*(yyval.members)));
                        ASN1_TAILQ_INIT((yyval.members));
@@ -2374,7 +2374,7 @@ yyreduce:
     break;
 
   case 110:
-#line 783 "parse.y"
+#line 783 "heimdal/lib/asn1/parse.y"
     {
                        ASN1_TAILQ_INSERT_TAIL((yyvsp[(1) - (3)].members), (yyvsp[(3) - (3)].member), members);
                        (yyval.members) = (yyvsp[(1) - (3)].members);
@@ -2382,7 +2382,7 @@ yyreduce:
     break;
 
   case 111:
-#line 790 "parse.y"
+#line 790 "heimdal/lib/asn1/parse.y"
     {
                  (yyval.member) = emalloc(sizeof(*(yyval.member)));
                  (yyval.member)->name = (yyvsp[(1) - (4)].name);
@@ -2396,26 +2396,26 @@ yyreduce:
     break;
 
   case 113:
-#line 803 "parse.y"
+#line 803 "heimdal/lib/asn1/parse.y"
     { (yyval.objid) = NULL; }
     break;
 
   case 114:
-#line 807 "parse.y"
+#line 807 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.objid) = (yyvsp[(2) - (3)].objid);
                }
     break;
 
   case 115:
-#line 813 "parse.y"
+#line 813 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.objid) = NULL;
                }
     break;
 
   case 116:
-#line 817 "parse.y"
+#line 817 "heimdal/lib/asn1/parse.y"
     {
                        if ((yyvsp[(2) - (2)].objid)) {
                                (yyval.objid) = (yyvsp[(2) - (2)].objid);
@@ -2427,14 +2427,14 @@ yyreduce:
     break;
 
   case 117:
-#line 828 "parse.y"
+#line 828 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.objid) = new_objid((yyvsp[(1) - (4)].name), (yyvsp[(3) - (4)].constant));
                }
     break;
 
   case 118:
-#line 832 "parse.y"
+#line 832 "heimdal/lib/asn1/parse.y"
     {
                    Symbol *s = addsym((yyvsp[(1) - (1)].name));
                    if(s->stype != SValue ||
@@ -2448,14 +2448,14 @@ yyreduce:
     break;
 
   case 119:
-#line 843 "parse.y"
+#line 843 "heimdal/lib/asn1/parse.y"
     {
                    (yyval.objid) = new_objid(NULL, (yyvsp[(1) - (1)].constant));
                }
     break;
 
   case 129:
-#line 866 "parse.y"
+#line 866 "heimdal/lib/asn1/parse.y"
     {
                        Symbol *s = addsym((yyvsp[(1) - (1)].name));
                        if(s->stype != SValue)
@@ -2467,7 +2467,7 @@ yyreduce:
     break;
 
   case 130:
-#line 877 "parse.y"
+#line 877 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = stringvalue;
@@ -2476,7 +2476,7 @@ yyreduce:
     break;
 
   case 131:
-#line 885 "parse.y"
+#line 885 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = booleanvalue;
@@ -2485,7 +2485,7 @@ yyreduce:
     break;
 
   case 132:
-#line 891 "parse.y"
+#line 891 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = booleanvalue;
@@ -2494,7 +2494,7 @@ yyreduce:
     break;
 
   case 133:
-#line 899 "parse.y"
+#line 899 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = integervalue;
@@ -2503,13 +2503,13 @@ yyreduce:
     break;
 
   case 135:
-#line 910 "parse.y"
+#line 910 "heimdal/lib/asn1/parse.y"
     {
                }
     break;
 
   case 136:
-#line 915 "parse.y"
+#line 915 "heimdal/lib/asn1/parse.y"
     {
                        (yyval.value) = emalloc(sizeof(*(yyval.value)));
                        (yyval.value)->type = objectidentifiervalue;
@@ -2519,7 +2519,7 @@ yyreduce:
 
 
 /* Line 1267 of yacc.c.  */
-#line 2523 "parse.c"
+#line 2523 "heimdal/lib/asn1/parse.y"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2733,7 +2733,7 @@ yyreturn:
 }
 
 
-#line 922 "parse.y"
+#line 922 "heimdal/lib/asn1/parse.y"
 
 
 void
index 5e73094f9e6b2a1833f6d12a411c710437bc7d96..bea506ca7b984ab873e6cae8128e8c1a1a833d24 100644 (file)
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 65 "parse.y"
+#line 65 "heimdal/lib/asn1/parse.y"
 {
     int constant;
     struct value *value;
@@ -238,7 +238,7 @@ typedef union YYSTYPE
     struct constraint_spec *constraint_spec;
 }
 /* Line 1489 of yacc.c.  */
-#line 242 "parse.h"
+#line 242 "heimdal/lib/asn1/parse.y"
        YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
index 772f2b1bc1c3a27c45bfea7d4dea776b05d87691..956386820f7bf665591f82c11f41c0ec3f57ed11 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: parse.y 21597 2007-07-16 18:48:58Z lha $ */
+/* $Id$ */
 
 %{
 #ifdef HAVE_CONFIG_H
@@ -45,7 +45,7 @@
 #include "gen_locl.h"
 #include "der.h"
 
-RCSID("$Id: parse.y 21597 2007-07-16 18:48:58Z lha $");
+RCSID("$Id$");
 
 static Type *new_type (Typetype t);
 static struct constraint_spec *new_constraint_spec(enum ctype);
index 37fe03e58e8a13d8cb5656d7ccbc361096ec73ff..4d6454a08fc39dc0705b2b76c5676ada529fa542 100644 (file)
@@ -1,4 +1,4 @@
--- $Id: pkcs12.asn1 15715 2005-07-23 11:08:47Z lha $ --
+-- $Id$ --
 
 PKCS12 DEFINITIONS ::=
 
index 911e727c708583f3283b401d74af42d94e93266e..203d91eef8290712d3ebcbb479581a06b4f463ce 100644 (file)
@@ -1,4 +1,4 @@
--- $Id: pkcs8.asn1 16060 2005-09-13 19:41:29Z lha $ --
+-- $Id$ --
 
 PKCS8 DEFINITIONS ::=
 
index d985e91f3c03ae02ad59e00f5d379cbab619b4af..50bf9dd1cd716590b03ab9a45df872089205edbe 100644 (file)
@@ -1,4 +1,4 @@
--- $Id: pkcs9.asn1 17202 2006-04-24 08:59:10Z lha $ --
+-- $Id$ --
 
 PKCS9 DEFINITIONS ::=
 
index 9407915c19b72c973b519b192c0c877ca3a45490..4972e265e77a83fb249ec6479ba2caefc308ce81 100644 (file)
@@ -34,7 +34,7 @@
 #include "gen_locl.h"
 #include "lex.h"
 
-RCSID("$Id: symbol.c 15617 2005-07-12 06:27:42Z lha $");
+RCSID("$Id$");
 
 static Hashtab *htab;
 
index d07caf55904283c88977c574b4f1659d03e44d1e..8282e700bae728515482c2a53760bb1ae52dd0ff 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: symbol.h 19539 2006-12-28 17:15:05Z lha $ */
+/* $Id$ */
 
 #ifndef _SYMBOL_H
 #define _SYMBOL_H
index b2f58a20c2ce0286e9dd86683f06112ef77a0f61..d07bba6185be2d1437d4b24db5f406f0221abacc 100644 (file)
@@ -1,4 +1,4 @@
--- $Id: test.asn1 21455 2007-07-10 12:51:19Z lha $ --
+-- $Id$ --
 
 TEST DEFINITIONS ::=
 
index d0fc7d98a44b6cebe2b9a49ae18d51793fd93156..bfb04864818fbdf754fd1635a07b607897d34b5d 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: test.gen 15617 2005-07-12 06:27:42Z lha $
+# $Id$
 # Sample for TESTSeq in test.asn1
 #
 
index 33b9684a5d87f55d6a0b0b5eeb6b362bcb733e3b..5119ee887edd71c59e7e18c661bb8dd88d5861c3 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "der_locl.h"
 
-RCSID("$Id: timegm.c 21366 2007-06-27 10:06:22Z lha $");
+RCSID("$Id$");
 
 static int
 is_leap(unsigned y)
index faf4294cdd8f6bc65c76015d6016ba7f030dc0eb..3dec3b2accb351590f58f4976673f2f1baada2eb 100644 (file)
@@ -33,7 +33,7 @@
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
-RCSID("$Id: com_err.c 14930 2005-04-24 19:43:06Z lha $");
+RCSID("$Id$");
 #endif
 #include <stdio.h>
 #include <stdlib.h>
index bdd764f7e982b7082f73ee1aa2664c05e9db5450..d7b0912168e58dae2c557f2efb0361cf36f2f90d 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: com_err.h 15566 2005-07-07 14:58:07Z lha $ */
+/* $Id$ */
 
 /* MIT compatible com_err library */
 
index 4d929da866b33617b60561ee353f76590465f3a5..f8cd2b61214adb83f321579695164df340f4c241 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: com_right.h 14551 2005-02-03 08:45:13Z lha $ */
+/* $Id$ */
 
 #ifndef __COM_RIGHT_H__
 #define __COM_RIGHT_H__
index 105765482265b10bf76d754e2607af7a525e6f8e..c5a4f4fbcc0de500b6d90b6c85ecd22fb6317402 100644 (file)
@@ -35,7 +35,7 @@
 #include "compile_et.h"
 #include <getarg.h>
 
-RCSID("$Id: compile_et.c 15426 2005-06-16 19:21:42Z lha $");
+RCSID("$Id$");
 
 #include <roken.h>
 #include <err.h>
index 1c7de5a08b69134082ea9f13b31afb88a28a5180..5563f40e4819fc0796c87359cf64b5fab3e22b45 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: compile_et.h 15426 2005-06-16 19:21:42Z lha $ */
+/* $Id$ */
 
 #ifndef __COMPILE_ET_H__
 #define __COMPILE_ET_H__
index 051078025c563a40688e6e7f43422c40db398f04..51a28b7f48995d9913eb89fc51f11f525a8a59b6 100644 (file)
@@ -33,7 +33,7 @@
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
-RCSID("$Id: error.c 9724 2001-02-28 20:00:13Z joda $");
+RCSID("$Id$");
 #endif
 #include <stdio.h>
 #include <stdlib.h>
index b70ef4749f86ea0336b736ffcc1b65e2fb84ff54..f030831d726e1b7dd4615381fc84cd506f6a9725 100644 (file)
@@ -527,7 +527,7 @@ char *yytext;
 #include "parse.h"
 #include "lex.h"
 
-RCSID("$Id: lex.l 15143 2005-05-16 08:52:54Z lha $");
+RCSID("$Id$");
 
 static unsigned lineno = 1;
 static int getstring(void);
index 89f0387655f4744cfdbf461eb3210eee0ed70ca1..c97324a1a561df98fae283c779170f5f1e4f9444 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: lex.h 8451 2000-06-22 00:42:52Z assar $ */
+/* $Id$ */
 
 void error_message (const char *, ...)
 __attribute__ ((format (printf, 1, 2)));
index 08aef516b304bce23e0de098a5125998b4cc281e..4d56be4da08f4366198cb9b01434ec894bf3269c 100644 (file)
@@ -44,7 +44,7 @@
 #include "parse.h"
 #include "lex.h"
 
-RCSID("$Id: lex.l 15143 2005-05-16 08:52:54Z lha $");
+RCSID("$Id$");
 
 static unsigned lineno = 1;
 static int getstring(void);
index 4bacb721ca112acfb3bab591a2ece14f16737d4b..868e3f39f3fa151dada1d203a8951dbc59e49a95 100644 (file)
@@ -90,7 +90,7 @@
 
 
 /* Copy the first part of user declarations.  */
-#line 1 "parse.y"
+#line 1 "heimdal/lib/com_err/parse.y"
 
 /*
  * Copyright (c) 1998 - 2000 Kungliga Tekniska Högskolan
 #include "compile_et.h"
 #include "lex.h"
 
-RCSID("$Id: parse.y 15426 2005-06-16 19:21:42Z lha $");
+RCSID("$Id$");
 
 void yyerror (char *s);
 static long name2number(const char *str);
@@ -163,13 +163,13 @@ extern char *yytext;
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 53 "parse.y"
+#line 53 "heimdal/lib/com_err/parse.y"
 {
   char *string;
   int number;
 }
 /* Line 187 of yacc.c.  */
-#line 173 "parse.c"
+#line 173 "heimdal/lib/com_err/parse.y"
        YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -182,7 +182,7 @@ typedef union YYSTYPE
 
 
 /* Line 216 of yacc.c.  */
-#line 186 "parse.c"
+#line 186 "heimdal/lib/com_err/parse.y"
 
 #ifdef short
 # undef short
@@ -1381,14 +1381,14 @@ yyreduce:
   switch (yyn)
     {
         case 6:
-#line 73 "parse.y"
+#line 73 "heimdal/lib/com_err/parse.y"
     {
                    id_str = (yyvsp[(2) - (2)].string);
                }
     break;
 
   case 7:
-#line 79 "parse.y"
+#line 79 "heimdal/lib/com_err/parse.y"
     {
                    base_id = name2number((yyvsp[(2) - (2)].string));
                    strlcpy(name, (yyvsp[(2) - (2)].string), sizeof(name));
@@ -1397,7 +1397,7 @@ yyreduce:
     break;
 
   case 8:
-#line 85 "parse.y"
+#line 85 "heimdal/lib/com_err/parse.y"
     {
                    base_id = name2number((yyvsp[(2) - (3)].string));
                    strlcpy(name, (yyvsp[(3) - (3)].string), sizeof(name));
@@ -1407,14 +1407,14 @@ yyreduce:
     break;
 
   case 11:
-#line 98 "parse.y"
+#line 98 "heimdal/lib/com_err/parse.y"
     {
                        number = (yyvsp[(2) - (2)].number);
                }
     break;
 
   case 12:
-#line 102 "parse.y"
+#line 102 "heimdal/lib/com_err/parse.y"
     {
                    free(prefix);
                    asprintf (&prefix, "%s_", (yyvsp[(2) - (2)].string));
@@ -1425,7 +1425,7 @@ yyreduce:
     break;
 
   case 13:
-#line 110 "parse.y"
+#line 110 "heimdal/lib/com_err/parse.y"
     {
                    prefix = realloc(prefix, 1);
                    if (prefix == NULL)
@@ -1435,7 +1435,7 @@ yyreduce:
     break;
 
   case 14:
-#line 117 "parse.y"
+#line 117 "heimdal/lib/com_err/parse.y"
     {
                    struct error_code *ec = malloc(sizeof(*ec));
                    
@@ -1458,7 +1458,7 @@ yyreduce:
     break;
 
   case 15:
-#line 137 "parse.y"
+#line 137 "heimdal/lib/com_err/parse.y"
     {
                        YYACCEPT;
                }
@@ -1466,7 +1466,7 @@ yyreduce:
 
 
 /* Line 1267 of yacc.c.  */
-#line 1470 "parse.c"
+#line 1470 "heimdal/lib/com_err/parse.y"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -1680,7 +1680,7 @@ yyreturn:
 }
 
 
-#line 142 "parse.y"
+#line 142 "heimdal/lib/com_err/parse.y"
 
 
 static long
index 4c9681ff34f5aaa6e6a84c5b39285fcd5feb2a20..9aabca90236f4b732d92c6930a159af8e4e3c553 100644 (file)
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 53 "parse.y"
+#line 53 "heimdal/lib/com_err/parse.y"
 {
   char *string;
   int number;
 }
 /* Line 1489 of yacc.c.  */
-#line 74 "parse.h"
+#line 74 "heimdal/lib/com_err/parse.y"
        YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
index 315931389fe4bd748ed34ecebc242fe34fa3c007..e9b28370513cfc53e863e55609b90f249b27b636 100644 (file)
@@ -35,7 +35,7 @@
 #include "compile_et.h"
 #include "lex.h"
 
-RCSID("$Id: parse.y 15426 2005-06-16 19:21:42Z lha $");
+RCSID("$Id$");
 
 void yyerror (char *s);
 static long name2number(const char *str);
index 63f66f73133e2ec1d8883cd46ea23f242cb756bd..d6417cdf0c79f244afdc86864d079cbc047431cd 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: gssapi.h 23025 2008-04-17 10:01:57Z lha $ */
+/* $Id$ */
 
 #ifndef GSSAPI_GSSAPI_H_
 #define GSSAPI_GSSAPI_H_
@@ -123,6 +123,7 @@ typedef OM_uint32 gss_qop_t;
 #define GSS_C_DCE_STYLE 4096
 #define GSS_C_IDENTIFY_FLAG 8192
 #define GSS_C_EXTENDED_ERROR_FLAG 16384
+#define GSS_C_DELEG_POLICY_FLAG 32768
 
 /*
  * Credential usage options
index 55f78866588c8c86be32929b9eee55de36a94801..bab719019ddcedc9be96f8924b32fa7a413373a0 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: gssapi_krb5.h 23420 2008-07-26 18:37:48Z lha $ */
+/* $Id$ */
 
 #ifndef GSSAPI_KRB5_H_
 #define GSSAPI_KRB5_H_
index 3358863a801613af9617b09b4e8fee509ae61cbc..6587acd7d01b59994ac4c7d84868ccb7afaa241a 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE. 
  */
 
-/* $Id: gssapi_spnego.h 23025 2008-04-17 10:01:57Z lha $ */
+/* $Id$ */
 
 #ifndef GSSAPI_SPNEGO_H_
 #define GSSAPI_SPNEGO_H_
index 619cbf97fcbdb841511df5558a25fb395feec1b6..a9b93d32a6e2ea29189bc1568c0c26681cce20f6 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "krb5/gsskrb5_locl.h"
 
-RCSID("$Id: 8003.c 18334 2006-10-07 22:16:04Z lha $");
+RCSID("$Id$");
 
 krb5_error_code
 _gsskrb5_encode_om_uint32(OM_uint32 n, u_char *p)
index a6f0f31246c03b7772eb0fd42b1cbdbd4e8bea22..84110b7a827b5ac675e88058540f4604b386db14 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "krb5/gsskrb5_locl.h"
 
-RCSID("$Id: accept_sec_context.c 23433 2008-07-26 18:44:26Z lha $");
+RCSID("$Id$");
 
 HEIMDAL_MUTEX gssapi_keytab_mutex = HEIMDAL_MUTEX_INITIALIZER;
 krb5_keytab _gsskrb5_keytab;
@@ -371,9 +371,8 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
        if (kret) {
            if (in)
                krb5_rd_req_in_ctx_free(context, in);
-           ret = GSS_S_FAILURE;
            *minor_status = kret;
-           return ret;
+           return GSS_S_FAILURE;
        }
 
        kret = krb5_rd_req_ctx(context,
@@ -382,13 +381,18 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
                               server,
                               in, &out);
        krb5_rd_req_in_ctx_free(context, in);
-       if (kret) {
+       if (kret == KRB5KRB_AP_ERR_SKEW) {
            /* 
             * No reply in non-MUTUAL mode, but we don't know that its
-            * non-MUTUAL mode yet, thats inside the 8003 checksum.
+            * non-MUTUAL mode yet, thats inside the 8003 checksum, so
+            * lets only send the error token on clock skew, that
+            * limit when send error token for non-MUTUAL.
             */
            return send_error_token(minor_status, context, kret,
                                    server, &indata, output_token);
+       } else if (kret) {
+           *minor_status = kret;
+           return GSS_S_FAILURE;
        }
 
        /*
@@ -524,24 +528,30 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
            
        _gsskrb5i_is_cfx(ctx, &is_cfx);
            
-       if (is_cfx != 0 
-           || (ap_options & AP_OPTS_USE_SUBKEY)) {
+       if (is_cfx || (ap_options & AP_OPTS_USE_SUBKEY)) {
            use_subkey = 1;
        } else {
            krb5_keyblock *rkey;
-           kret = krb5_auth_con_getremotesubkey(context, ctx->auth_context, &rkey);
+
+           /* 
+            * If there is a initiator subkey, copy that to acceptor
+            * subkey to match Windows behavior
+            */
+           kret = krb5_auth_con_getremotesubkey(context,
+                                                ctx->auth_context,
+                                                &rkey);
            if (kret == 0) {
-               kret = krb5_auth_con_setlocalsubkey(context, ctx->auth_context, rkey);
-               if (kret == 0) {
+               kret = krb5_auth_con_setlocalsubkey(context, 
+                                                   ctx->auth_context,
+                                                   rkey);
+               if (kret == 0)
                    use_subkey = 1;
-               }
                krb5_free_keyblock(context, rkey);
            }
        }
        if (use_subkey) {
            ctx->more_flags |= ACCEPTOR_SUBKEY;
-           krb5_auth_con_addflags(context,
-                                  ctx->auth_context,
+           krb5_auth_con_addflags(context, ctx->auth_context,
                                   KRB5_AUTH_CONTEXT_USE_SUBKEY,
                                   NULL);
        }
index 051446c19b4d4e09bc32f2b048816ce1106d7647..a7caf1a32ed8d95afaf3412c093d8e56c28987e3 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "krb5/gsskrb5_locl.h"
 
-RCSID("$Id: acquire_cred.c 22596 2008-02-18 18:05:55Z lha $");
+RCSID("$Id$");
 
 OM_uint32
 __gsskrb5_ccache_lifetime(OM_uint32 *minor_status,
@@ -134,11 +134,16 @@ static OM_uint32 acquire_initiator_cred
      * errors while searching.
      */
 
-    if (handle->principal)
+    if (handle->principal) {
        kret = krb5_cc_cache_match (context,
                                    handle->principal,
                                    NULL,
                                    &ccache);
+       if (kret == 0) {
+           ret = GSS_S_COMPLETE;
+           goto found;
+       }
+    }
     
     if (ccache == NULL) {
        kret = krb5_cc_default(context, &ccache);
@@ -211,7 +216,7 @@ static OM_uint32 acquire_initiator_cred
        }
        kret = 0;
     }
-
+ found:
     handle->ccache = ccache;
     ret = GSS_S_COMPLETE;
 
@@ -242,7 +247,6 @@ static OM_uint32 acquire_acceptor_cred
     OM_uint32 ret;
     krb5_error_code kret;
 
-    kret = 0;
     ret = GSS_S_FAILURE;
     kret = get_keytab(context, &handle->keytab);
     if (kret)
@@ -336,13 +340,13 @@ OM_uint32 _gsskrb5_acquire_cred
     HEIMDAL_MUTEX_init(&handle->cred_id_mutex);
 
     if (desired_name != GSS_C_NO_NAME) {
-       krb5_principal name = (krb5_principal)desired_name;
-       ret = krb5_copy_principal(context, name, &handle->principal);
+
+       ret = _gsskrb5_canon_name(minor_status, context, 0, desired_name, 
+                                 &handle->principal);
        if (ret) {
            HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex);
-           *minor_status = ret;
            free(handle);
-           return GSS_S_FAILURE;
+           return ret;
        }
     }
     if (cred_usage == GSS_C_INITIATE || cred_usage == GSS_C_BOTH) {
index 9a1045a889f630b3e5a7cfdcafdb421667c94691..5cd17eb35d0e975743893caa1c61129cb291c5ca 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "krb5/gsskrb5_locl.h"
 
-RCSID("$Id: add_cred.c 20688 2007-05-17 18:44:31Z lha $");
+RCSID("$Id$");
 
 OM_uint32 _gsskrb5_add_cred (
      OM_uint32           *minor_status,
index 032da36ebc86a4dfd33d08cdd3ab4f0c24dfe122..2f39a4e400046db79eb33908e9b7609a67cedace 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "krb5/gsskrb5_locl.h"
 
-RCSID("$Id: arcfour.c 19031 2006-11-13 18:02:57Z lha $");
+RCSID("$Id$");
 
 /*
  * Implements draft-brezak-win2k-krb-rc4-hmac-04.txt
index c1744abd3becbc207a81b65cede3edb09d970426..f2143560d06c2a549a80b801ed89675096126564 100644 (file)
@@ -33,7 +33,7 @@
 
 #include "krb5/gsskrb5_locl.h"
 
-RCSID("$Id: canonicalize_name.c 18334 2006-10-07 22:16:04Z lha $");
+RCSID("$Id$");
 
 OM_uint32 _gsskrb5_canonicalize_name (
             OM_uint32 * minor_status,
@@ -42,5 +42,19 @@ OM_uint32 _gsskrb5_canonicalize_name (
           &nb