[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Sat Oct 2 19:57:01 MDT 2010


The branch, master has been updated
       via  0e11d18 s4-kdc Fix up after import of new lorikeet-heimdal
       via  f213a97 Add new files for sha512 support
       via  21460df s4:heimdal: import lorikeet-heimdal-201010022046 (commit 1bea031b9404b14114b0272ecbe56e60c567af5c)
       via  a2c4f54 s4-heimdal We don't need HDBDIR any more
       via  f02d825 heimdal: change the version string
       via  3ca886b s4-heimdal_build fix up build after heimdal import
       via  ab6e3fc s4:heimdal: import lorikeet-heimdal-201009250123 (commit 42cabfb5b683dbcb97d583c397b897507689e382)
      from  197a151 s4-ldapcmp.py: Don't guess credentials for second Credentials object

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 0e11d18d1462a10f63ff82a11cdd88ffa53c83e5
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sat Oct 2 16:55:06 2010 +1000

    s4-kdc Fix up after import of new lorikeet-heimdal
    
    Autobuild-User: Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date: Sun Oct  3 01:56:04 UTC 2010 on sn-devel-104

commit f213a97ea07f4a3e4322d1c1ebd55f4ab1fb384a
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sat Oct 2 16:52:52 2010 +1000

    Add new files for sha512 support

commit 21460dfc14acdeef69b6cd910da80f261316be63
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sat Oct 2 16:32:56 2010 +1000

    s4:heimdal: import lorikeet-heimdal-201010022046 (commit 1bea031b9404b14114b0272ecbe56e60c567af5c)

commit a2c4f54dfb47fa73c12ba305d52574aeb6baedd9
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sat Sep 25 14:34:46 2010 +1000

    s4-heimdal We don't need HDBDIR any more

commit f02d82595f22ad2cf99f2191827011611f7f01fe
Author: Matthieu Patou <mat at matws.net>
Date:   Fri Aug 20 12:01:46 2010 +0400

    heimdal: change the version string

commit 3ca886b83510c52d665dadb480b314c330029a0e
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Sat Sep 25 14:58:09 2010 +1000

    s4-heimdal_build fix up build after heimdal import
    
    Heimdal has it's own dynconfig like system, and so we need the
    LIBDIR etc in the CFLAGS here.
    
    We also need to define build rules for the new files imported in
    the merge commit, and fix up some header files.
    
    This includes the work by Matthieu Patou <mat at matws.net>
    
    Andrew Bartlett

commit ab6e3fce040f9ad27cbce44e9038a24f15b601c8
Author: Matthieu Patou <mat at matws.net>
Date:   Sun Aug 15 18:31:28 2010 +0400

    s4:heimdal: import lorikeet-heimdal-201009250123 (commit 42cabfb5b683dbcb97d583c397b897507689e382)
    
    I based this on Matthieu's import of lorikeet-heimdal, and then
    updated it to this commit.
    
    Andrew Bartlett

-----------------------------------------------------------------------

Summary of changes:
 source4/dynconfig/wscript                          |    7 +-
 source4/heimdal/HEIMDAL-LICENCE.txt                |   49 +-
 source4/heimdal/cf/make-proto.pl                   |    2 +-
 source4/heimdal/kdc/default_config.c               |    6 +-
 source4/heimdal/kdc/digest.c                       |   10 +-
 source4/heimdal/kdc/kerberos5.c                    |    6 +-
 source4/heimdal/kdc/krb5tgs.c                      |   34 +-
 source4/heimdal/kdc/misc.c                         |   24 +-
 source4/heimdal/kdc/pkinit.c                       |   16 +-
 source4/heimdal/kdc/windc.c                        |   19 +-
 source4/heimdal/lib/asn1/asn1-common.h             |   16 +-
 source4/heimdal/lib/asn1/asn1_gen.c                |    5 +-
 source4/heimdal/lib/asn1/asn1parse.c               |    8 +-
 source4/heimdal/lib/asn1/asn1parse.y               |    8 +-
 source4/heimdal/lib/asn1/cms.opt                   |    1 +
 source4/heimdal/lib/asn1/der_cmp.c                 |   14 +
 source4/heimdal/lib/asn1/der_copy.c                |   14 +-
 source4/heimdal/lib/asn1/der_free.c                |    6 +-
 source4/heimdal/lib/asn1/der_get.c                 |   19 +-
 source4/heimdal/lib/asn1/der_length.c              |    4 +-
 source4/heimdal/lib/asn1/der_locl.h                |    1 +
 source4/heimdal/lib/asn1/der_put.c                 |   16 +-
 source4/heimdal/lib/asn1/gen.c                     |  122 +-
 source4/heimdal/lib/asn1/gen_copy.c                |   25 +-
 source4/heimdal/lib/asn1/gen_decode.c              |   40 +-
 source4/heimdal/lib/asn1/gen_encode.c              |   38 +-
 source4/heimdal/lib/asn1/gen_free.c                |   12 +-
 source4/heimdal/lib/asn1/gen_glue.c                |    2 +-
 source4/heimdal/lib/asn1/gen_length.c              |   28 +-
 source4/heimdal/lib/asn1/gen_seq.c                 |   12 +-
 source4/heimdal/lib/asn1/gen_template.c            |   88 +-
 source4/heimdal/lib/asn1/rfc2459.asn1              |   10 +
 source4/heimdal/lib/asn1/timegm.c                  |   62 +-
 source4/heimdal/lib/com_err/com_err.c              |   20 +-
 source4/heimdal/lib/com_err/com_err.h              |   48 +-
 source4/heimdal/lib/gssapi/gssapi/gssapi.h         |  154 +-
 source4/heimdal/lib/gssapi/gssapi/gssapi_krb5.h    |  145 +-
 source4/heimdal/lib/gssapi/gssapi/gssapi_spnego.h  |    3 +-
 source4/heimdal/lib/gssapi/gssapi_mech.h           |   80 +-
 source4/heimdal/lib/gssapi/krb5/8003.c             |    5 -
 .../heimdal/lib/gssapi/krb5/accept_sec_context.c   |   15 +-
 source4/heimdal/lib/gssapi/krb5/acquire_cred.c     |    2 +-
 source4/heimdal/lib/gssapi/krb5/add_cred.c         |    8 +-
 source4/heimdal/lib/gssapi/krb5/aeap.c             |    6 +-
 .../heimdal/lib/gssapi/krb5/canonicalize_name.c    |    2 +-
 source4/heimdal/lib/gssapi/krb5/compare_name.c     |    2 +-
 source4/heimdal/lib/gssapi/krb5/context_time.c     |    2 +-
 source4/heimdal/lib/gssapi/krb5/creds.c            |    4 +-
 .../heimdal/lib/gssapi/krb5/delete_sec_context.c   |    2 +-
 source4/heimdal/lib/gssapi/krb5/display_name.c     |    2 +-
 source4/heimdal/lib/gssapi/krb5/display_status.c   |   26 +-
 source4/heimdal/lib/gssapi/krb5/duplicate_name.c   |    2 +-
 source4/heimdal/lib/gssapi/krb5/export_name.c      |    2 +-
 .../heimdal/lib/gssapi/krb5/export_sec_context.c   |    2 +-
 source4/heimdal/lib/gssapi/krb5/external.c         |  181 +-
 source4/heimdal/lib/gssapi/krb5/get_mic.c          |    2 +-
 source4/heimdal/lib/gssapi/krb5/import_name.c      |    4 +-
 .../heimdal/lib/gssapi/krb5/import_sec_context.c   |    2 +-
 source4/heimdal/lib/gssapi/krb5/indicate_mechs.c   |    2 +-
 source4/heimdal/lib/gssapi/krb5/init_sec_context.c |    2 +-
 source4/heimdal/lib/gssapi/krb5/inquire_context.c  |    2 +-
 source4/heimdal/lib/gssapi/krb5/inquire_cred.c     |    2 +-
 .../heimdal/lib/gssapi/krb5/inquire_cred_by_mech.c |    2 +-
 .../heimdal/lib/gssapi/krb5/inquire_cred_by_oid.c  |    2 +-
 .../lib/gssapi/krb5/inquire_mechs_for_name.c       |    2 +-
 .../lib/gssapi/krb5/inquire_names_for_mech.c       |   14 +-
 .../lib/gssapi/krb5/inquire_sec_context_by_oid.c   |    2 +-
 source4/heimdal/lib/gssapi/krb5/prf.c              |    2 +-
 .../lib/gssapi/krb5/process_context_token.c        |    2 +-
 source4/heimdal/lib/gssapi/krb5/release_cred.c     |    2 +-
 source4/heimdal/lib/gssapi/krb5/release_name.c     |    2 +-
 source4/heimdal/lib/gssapi/krb5/set_cred_option.c  |   11 +-
 .../lib/gssapi/krb5/set_sec_context_option.c       |    2 +-
 source4/heimdal/lib/gssapi/krb5/store_cred.c       |    2 +-
 source4/heimdal/lib/gssapi/krb5/unwrap.c           |    2 +-
 source4/heimdal/lib/gssapi/krb5/verify_mic.c       |    2 +-
 source4/heimdal/lib/gssapi/krb5/wrap.c             |    5 +-
 .../lib/gssapi/mech/gss_accept_sec_context.c       |    3 +-
 source4/heimdal/lib/gssapi/mech/gss_acquire_cred.c |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_add_cred.c     |    2 +-
 .../lib/gssapi/mech/gss_add_oid_set_member.c       |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_aeap.c         |   15 +-
 source4/heimdal/lib/gssapi/mech/gss_buffer_set.c   |    6 +-
 .../lib/gssapi/mech/gss_canonicalize_name.c        |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_compare_name.c |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_context_time.c |    2 +-
 .../lib/gssapi/mech/gss_create_empty_oid_set.c     |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_cred.c         |    4 +-
 .../lib/gssapi/mech/gss_decapsulate_token.c        |    2 +-
 .../lib/gssapi/mech/gss_delete_sec_context.c       |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_display_name.c |    2 +-
 .../heimdal/lib/gssapi/mech/gss_display_status.c   |   20 +-
 .../heimdal/lib/gssapi/mech/gss_duplicate_name.c   |    3 +-
 .../heimdal/lib/gssapi/mech/gss_duplicate_oid.c    |    3 +-
 .../lib/gssapi/mech/gss_encapsulate_token.c        |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_export_name.c  |    2 +-
 .../lib/gssapi/mech/gss_export_sec_context.c       |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_get_mic.c      |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_import_name.c  |    2 +-
 .../lib/gssapi/mech/gss_import_sec_context.c       |    2 +-
 .../heimdal/lib/gssapi/mech/gss_indicate_mechs.c   |    2 +-
 .../heimdal/lib/gssapi/mech/gss_init_sec_context.c |    8 +-
 .../heimdal/lib/gssapi/mech/gss_inquire_context.c  |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_inquire_cred.c |    2 +-
 .../lib/gssapi/mech/gss_inquire_cred_by_mech.c     |    2 +-
 .../lib/gssapi/mech/gss_inquire_cred_by_oid.c      |    2 +-
 .../lib/gssapi/mech/gss_inquire_mechs_for_name.c   |    2 +-
 .../lib/gssapi/mech/gss_inquire_names_for_mech.c   |    2 +-
 .../gssapi/mech/gss_inquire_sec_context_by_oid.c   |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_krb5.c         |   44 +-
 source4/heimdal/lib/gssapi/mech/gss_oid_equal.c    |   18 +-
 source4/heimdal/lib/gssapi/mech/gss_oid_to_str.c   |    2 +-
 .../lib/gssapi/mech/gss_process_context_token.c    |    2 +-
 .../heimdal/lib/gssapi/mech/gss_pseudo_random.c    |    2 +-
 .../heimdal/lib/gssapi/mech/gss_release_buffer.c   |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_release_cred.c |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_release_name.c |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_release_oid.c  |    2 +-
 .../heimdal/lib/gssapi/mech/gss_release_oid_set.c  |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_seal.c         |    2 +-
 .../heimdal/lib/gssapi/mech/gss_set_cred_option.c  |    2 +-
 .../lib/gssapi/mech/gss_set_sec_context_option.c   |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_sign.c         |    2 +-
 .../lib/gssapi/mech/gss_test_oid_set_member.c      |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_unseal.c       |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_unwrap.c       |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_verify.c       |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_verify_mic.c   |    2 +-
 source4/heimdal/lib/gssapi/mech/gss_wrap.c         |    2 +-
 .../heimdal/lib/gssapi/mech/gss_wrap_size_limit.c  |    2 +-
 .../heimdal/lib/gssapi/spnego/accept_sec_context.c |   12 +-
 source4/heimdal/lib/gssapi/spnego/compat.c         |   11 +-
 source4/heimdal/lib/gssapi/spnego/context_stubs.c  |   54 +-
 source4/heimdal/lib/gssapi/spnego/cred_stubs.c     |   16 +-
 source4/heimdal/lib/gssapi/spnego/external.c       |    4 +-
 .../heimdal/lib/gssapi/spnego/init_sec_context.c   |    3 +-
 source4/heimdal/lib/hcrypto/aes.c                  |   23 +
 source4/heimdal/lib/hcrypto/aes.h                  |    4 +
 source4/heimdal/lib/hcrypto/camellia.h             |    2 +-
 source4/heimdal/lib/hcrypto/common.c               |   69 +
 source4/heimdal/lib/hcrypto/common.h               |   45 +
 source4/heimdal/lib/hcrypto/dh-imath.c             |    9 +-
 source4/heimdal/lib/hcrypto/dh-ltm.c               |  249 +
 source4/heimdal/lib/hcrypto/dh.c                   |   63 +
 source4/heimdal/lib/hcrypto/dh.h                   |    7 +
 source4/heimdal/lib/hcrypto/engine.c               |  104 +-
 source4/heimdal/lib/hcrypto/engine.h               |   15 +
 source4/heimdal/lib/hcrypto/evp-cc.c               |  856 ++
 source4/heimdal/lib/hcrypto/evp-cc.h               |    7 +
 source4/heimdal/lib/hcrypto/evp-hcrypto.c          |  139 +-
 source4/heimdal/lib/hcrypto/evp-hcrypto.h          |   11 +
 source4/heimdal/lib/hcrypto/evp.c                  |  104 +-
 source4/heimdal/lib/hcrypto/evp.h                  |   15 +
 source4/heimdal/lib/hcrypto/hash.h                 |    9 +-
 source4/heimdal/lib/hcrypto/imath/imath.c          |    2 +-
 source4/heimdal/lib/hcrypto/libtommath/LICENSE     |    4 +
 source4/heimdal/lib/hcrypto/libtommath/bn.ilg      |    6 +
 source4/heimdal/lib/hcrypto/libtommath/bn.ind      |   82 +
 source4/heimdal/lib/hcrypto/libtommath/bn_error.c  |   47 +
 .../lib/hcrypto/libtommath/bn_fast_mp_invmod.c     |  148 +
 .../libtommath/bn_fast_mp_montgomery_reduce.c      |  172 +
 .../lib/hcrypto/libtommath/bn_fast_s_mp_mul_digs.c |  107 +
 .../libtommath/bn_fast_s_mp_mul_high_digs.c        |   98 +
 .../lib/hcrypto/libtommath/bn_fast_s_mp_sqr.c      |  114 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_2expt.c   |   48 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_abs.c |   43 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_add.c |   53 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_add_d.c   |  112 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_addmod.c  |   41 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_and.c |   57 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_clamp.c   |   44 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_clear.c   |   44 +
 .../lib/hcrypto/libtommath/bn_mp_clear_multi.c     |   34 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_cmp.c |   43 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_cmp_d.c   |   44 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_cmp_mag.c |   55 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_cnt_lsb.c |   53 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_copy.c    |   68 +
 .../lib/hcrypto/libtommath/bn_mp_count_bits.c      |   45 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_div.c |  292 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_div_2.c   |   68 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_div_2d.c  |   97 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_div_3.c   |   79 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_div_d.c   |  115 +
 .../lib/hcrypto/libtommath/bn_mp_dr_is_modulus.c   |   43 +
 .../lib/hcrypto/libtommath/bn_mp_dr_reduce.c       |   94 +
 .../lib/hcrypto/libtommath/bn_mp_dr_setup.c        |   32 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_exch.c    |   34 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_expt_d.c  |   57 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_exptmod.c |  112 +
 .../lib/hcrypto/libtommath/bn_mp_exptmod_fast.c    |  321 +
 .../lib/hcrypto/libtommath/bn_mp_exteuclid.c       |   82 +
 .../lib/hcrypto/libtommath/bn_mp_find_prime.c      |   26 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_fread.c   |   67 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_fwrite.c  |   52 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_gcd.c |  105 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_get_int.c |   45 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_grow.c    |   57 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_init.c    |   46 +
 .../lib/hcrypto/libtommath/bn_mp_init_copy.c       |   32 +
 .../lib/hcrypto/libtommath/bn_mp_init_multi.c      |   59 +
 .../lib/hcrypto/libtommath/bn_mp_init_set.c        |   32 +
 .../lib/hcrypto/libtommath/bn_mp_init_set_int.c    |   31 +
 .../lib/hcrypto/libtommath/bn_mp_init_size.c       |   48 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_invmod.c  |   43 +
 .../lib/hcrypto/libtommath/bn_mp_invmod_slow.c     |  175 +
 .../lib/hcrypto/libtommath/bn_mp_is_square.c       |  109 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_isprime.c |   75 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_jacobi.c  |  105 +
 .../lib/hcrypto/libtommath/bn_mp_karatsuba_mul.c   |  167 +
 .../lib/hcrypto/libtommath/bn_mp_karatsuba_sqr.c   |  121 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_lcm.c |   60 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_lshd.c    |   67 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mod.c |   48 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_mod_2d.c  |   55 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_mod_d.c   |   27 +
 .../bn_mp_montgomery_calc_normalization.c          |   59 +
 .../hcrypto/libtommath/bn_mp_montgomery_reduce.c   |  118 +
 .../hcrypto/libtommath/bn_mp_montgomery_setup.c    |   59 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mul.c |   66 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_mul_2.c   |   82 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_mul_2d.c  |   85 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_mul_d.c   |   79 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_mulmod.c  |   40 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_n_root.c  |  132 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_neg.c |   40 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_or.c  |   50 +
 .../lib/hcrypto/libtommath/bn_mp_prime_fermat.c    |   62 +
 .../hcrypto/libtommath/bn_mp_prime_is_divisible.c  |   50 +
 .../lib/hcrypto/libtommath/bn_mp_prime_is_prime.c  |   83 +
 .../hcrypto/libtommath/bn_mp_prime_miller_rabin.c  |  103 +
 .../hcrypto/libtommath/bn_mp_prime_next_prime.c    |  170 +
 .../libtommath/bn_mp_prime_rabin_miller_trials.c   |   52 +
 .../lib/hcrypto/libtommath/bn_mp_prime_random_ex.c |  125 +
 .../lib/hcrypto/libtommath/bn_mp_radix_size.c      |   78 +
 .../lib/hcrypto/libtommath/bn_mp_radix_smap.c      |   24 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_rand.c    |   55 +
 .../lib/hcrypto/libtommath/bn_mp_read_radix.c      |   85 +
 .../lib/hcrypto/libtommath/bn_mp_read_signed_bin.c |   41 +
 .../hcrypto/libtommath/bn_mp_read_unsigned_bin.c   |   55 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_reduce.c  |  100 +
 .../lib/hcrypto/libtommath/bn_mp_reduce_2k.c       |   61 +
 .../lib/hcrypto/libtommath/bn_mp_reduce_2k_l.c     |   62 +
 .../lib/hcrypto/libtommath/bn_mp_reduce_2k_setup.c |   47 +
 .../hcrypto/libtommath/bn_mp_reduce_2k_setup_l.c   |   44 +
 .../lib/hcrypto/libtommath/bn_mp_reduce_is_2k.c    |   52 +
 .../lib/hcrypto/libtommath/bn_mp_reduce_is_2k_l.c  |   44 +
 .../lib/hcrypto/libtommath/bn_mp_reduce_setup.c    |   34 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_rshd.c    |   72 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_set.c |   29 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_set_int.c |   48 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_shrink.c  |   35 +
 .../lib/hcrypto/libtommath/bn_mp_signed_bin_size.c |   27 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_sqr.c |   58 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_sqrmod.c  |   41 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_sqrt.c    |   81 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_sub.c |   59 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_sub_d.c   |   93 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_submod.c  |   42 +
 .../lib/hcrypto/libtommath/bn_mp_to_signed_bin.c   |   33 +
 .../lib/hcrypto/libtommath/bn_mp_to_signed_bin_n.c |   31 +
 .../lib/hcrypto/libtommath/bn_mp_to_unsigned_bin.c |   48 +
 .../hcrypto/libtommath/bn_mp_to_unsigned_bin_n.c   |   31 +
 .../lib/hcrypto/libtommath/bn_mp_toom_mul.c        |  284 +
 .../lib/hcrypto/libtommath/bn_mp_toom_sqr.c        |  226 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_toradix.c |   75 +
 .../lib/hcrypto/libtommath/bn_mp_toradix_n.c       |   88 +
 .../hcrypto/libtommath/bn_mp_unsigned_bin_size.c   |   28 +
 source4/heimdal/lib/hcrypto/libtommath/bn_mp_xor.c |   51 +
 .../heimdal/lib/hcrypto/libtommath/bn_mp_zero.c    |   36 +
 .../lib/hcrypto/libtommath/bn_mp_zero_multi.c      |   35 +
 .../heimdal/lib/hcrypto/libtommath/bn_prime_tab.c  |   61 +
 .../heimdal/lib/hcrypto/libtommath/bn_reverse.c    |   39 +
 .../heimdal/lib/hcrypto/libtommath/bn_s_mp_add.c   |  109 +
 .../lib/hcrypto/libtommath/bn_s_mp_exptmod.c       |  252 +
 .../lib/hcrypto/libtommath/bn_s_mp_mul_digs.c      |   90 +
 .../lib/hcrypto/libtommath/bn_s_mp_mul_high_digs.c |   81 +
 .../heimdal/lib/hcrypto/libtommath/bn_s_mp_sqr.c   |   84 +
 .../heimdal/lib/hcrypto/libtommath/bn_s_mp_sub.c   |   89 +
 source4/heimdal/lib/hcrypto/libtommath/bncore.c    |   36 +
 source4/heimdal/lib/hcrypto/libtommath/booker.pl   |  265 +
 .../heimdal/lib/hcrypto/libtommath/callgraph.txt   |11913 ++++++++++++++++++++
 .../heimdal/lib/hcrypto/libtommath/libtommath.dsp  |  572 +
 .../heimdal/lib/hcrypto/libtommath/mtest/logtab.h  |   24 +
 .../lib/hcrypto/libtommath/mtest/mpi-config.h      |   90 +
 .../lib/hcrypto/libtommath/mtest/mpi-types.h       |   20 +
 source4/heimdal/lib/hcrypto/libtommath/mtest/mpi.c | 3985 +++++++
 source4/heimdal/lib/hcrypto/libtommath/mtest/mpi.h |  231 +
 .../heimdal/lib/hcrypto/libtommath/mtest/mtest.c   |  308 +
 .../lib/hcrypto/libtommath/pics/design_process.sxd |  Bin 0 -> 6950 bytes
 .../lib/hcrypto/libtommath/pics/design_process.tif |  Bin 0 -> 79042 bytes
 .../lib/hcrypto/libtommath/pics/expt_state.sxd     |  Bin 0 -> 6869 bytes
 .../lib/hcrypto/libtommath/pics/expt_state.tif     |  Bin 0 -> 87542 bytes
 .../heimdal/lib/hcrypto/libtommath/pics/makefile   |   35 +
 .../lib/hcrypto/libtommath/pics/primality.tif      |  Bin 0 -> 85514 bytes
 .../heimdal/lib/hcrypto/libtommath/pics/radix.sxd  |  Bin 0 -> 6181 bytes
 .../lib/hcrypto/libtommath/pics/sliding_window.sxd |  Bin 0 -> 6787 bytes
 .../lib/hcrypto/libtommath/pics/sliding_window.tif |  Bin 0 -> 53880 bytes
 .../heimdal/lib/hcrypto/libtommath/pretty.build    |   66 +
 .../lib/hcrypto/libtommath/tombc/grammar.txt       |   35 +
 source4/heimdal/lib/hcrypto/libtommath/tommath.h   |  592 +
 .../heimdal/lib/hcrypto/libtommath/tommath_class.h | 1000 ++
 .../lib/hcrypto/libtommath/tommath_superclass.h    |   76 +
 source4/heimdal/lib/hcrypto/md4.c                  |    6 +-
 source4/heimdal/lib/hcrypto/md5.c                  |    6 +-
 source4/heimdal/lib/hcrypto/rand-fortuna.c         |   44 +-
 source4/heimdal/lib/hcrypto/rand-unix.c            |    2 +-
 source4/heimdal/lib/hcrypto/rand.c                 |   24 +-
 source4/heimdal/lib/hcrypto/rand.h                 |    2 +-
 source4/heimdal/lib/hcrypto/randi.h                |    2 +-
 source4/heimdal/lib/hcrypto/rijndael-alg-fst.c     |   51 +-
 source4/heimdal/lib/hcrypto/rsa-imath.c            |    9 +-
 source4/heimdal/lib/hcrypto/rsa-ltm.c              |  633 ++
 source4/heimdal/lib/hcrypto/rsa.c                  |  221 +-
 source4/heimdal/lib/hcrypto/rsa.h                  |    6 +-
 source4/heimdal/lib/hcrypto/sha.c                  |   10 +-
 source4/heimdal/lib/hcrypto/sha.h                  |   26 +
 source4/heimdal/lib/hcrypto/sha256.c               |    6 +-
 source4/heimdal/lib/hcrypto/sha512.c               |  274 +
 source4/heimdal/lib/hcrypto/ui.c                   |    2 +-
 source4/heimdal/lib/hcrypto/validate.c             |  308 +
 source4/heimdal/lib/hdb/ext.c                      |    5 +-
 source4/heimdal/lib/hdb/hdb-keytab.c               |   19 +-
 source4/heimdal/lib/hdb/hdb.h                      |   12 +-
 source4/heimdal/lib/hdb/hdb_err.et                 |    1 +
 source4/heimdal/lib/hdb/keytab.c                   |   30 +-
 source4/heimdal/lib/hdb/mkey.c                     |   23 +-
 source4/heimdal/lib/hdb/ndbm.c                     |    6 +
 source4/heimdal/lib/hx509/ca.c                     |  103 +-
 source4/heimdal/lib/hx509/cert.c                   |  111 +-
 source4/heimdal/lib/hx509/char_map.h               |   45 +
 source4/heimdal/lib/hx509/cms.c                    |   53 +-
 source4/heimdal/lib/hx509/crypto.c                 |  285 +-
 source4/heimdal/lib/hx509/hx509.h                  |    7 +
 source4/heimdal/lib/hx509/ks_p11.c                 |    3 +-
 source4/heimdal/lib/hx509/name.c                   |   79 +-
 source4/heimdal/lib/hx509/req.c                    |    6 +-
 source4/heimdal/lib/hx509/sel.c                    |    1 +
 source4/heimdal/lib/krb5/acache.c                  |   79 +-
 source4/heimdal/lib/krb5/cache.c                   |  129 +-
 source4/heimdal/lib/krb5/ccache_plugin.h           |   39 +
 source4/heimdal/lib/krb5/config_file.c             |   19 +-
 source4/heimdal/lib/krb5/context.c                 |   42 +-
 source4/heimdal/lib/krb5/crypto.c                  |   60 +-
 source4/heimdal/lib/krb5/data.c                    |    2 +-
 source4/heimdal/lib/krb5/error_string.c            |   21 +-
 source4/heimdal/lib/krb5/expand_path.c             |  500 +
 source4/heimdal/lib/krb5/fcache.c                  |  119 +-
 source4/heimdal/lib/krb5/generate_seq_number.c     |    2 +-
 source4/heimdal/lib/krb5/get_cred.c                |   21 +-
 source4/heimdal/lib/krb5/get_default_principal.c   |    2 -
 source4/heimdal/lib/krb5/init_creds_pw.c           |   43 +-
 source4/heimdal/lib/krb5/kcm.c                     |   88 -
 source4/heimdal/lib/krb5/keytab.c                  |    7 +-
 source4/heimdal/lib/krb5/keytab_any.c              |   16 +-
 source4/heimdal/lib/krb5/keytab_file.c             |   22 +-
 source4/heimdal/lib/krb5/keytab_keyfile.c          |   14 +-
 source4/heimdal/lib/krb5/keytab_memory.c           |   16 +-
 source4/heimdal/lib/krb5/krb5.h                    |  157 +-
 source4/heimdal/lib/krb5/krb5_locl.h               |    1 +
 source4/heimdal/lib/krb5/krbhst.c                  |   93 +-
 source4/heimdal/lib/krb5/log.c                     |   12 +-
 source4/heimdal/lib/krb5/mcache.c                  |   49 +-
 source4/heimdal/lib/krb5/mit_glue.c                |   40 +
 source4/heimdal/lib/krb5/pcache.c                  |   66 +
 source4/heimdal/lib/krb5/pkinit.c                  |   15 +-
 source4/heimdal/lib/krb5/plugin.c                  |   20 +-
 source4/heimdal/lib/krb5/prompter_posix.c          |    2 +-
 source4/heimdal/lib/krb5/rd_req.c                  |    2 +-
 source4/heimdal/lib/krb5/replay.c                  |    6 +-
 source4/heimdal/lib/krb5/send_to_kdc.c             |   14 +-
 source4/heimdal/lib/krb5/ticket.c                  |    2 +-
 source4/heimdal/lib/krb5/v4_glue.c                 |    2 +-
 source4/heimdal/lib/krb5/warn.c                    |    5 +-
 source4/heimdal/lib/ntlm/ntlm.c                    |    6 +-
 source4/heimdal/lib/roken/base64.c                 |    2 +-
 source4/heimdal/lib/roken/getarg.c                 |    5 +-
 source4/heimdal/lib/roken/getarg.h                 |    2 +-
 source4/heimdal/lib/roken/inet_ntop.c              |   21 +
 source4/heimdal/lib/roken/inet_pton.c              |   13 +-
 source4/heimdal/lib/roken/net_read.c               |   20 +
 source4/heimdal/lib/roken/net_write.c              |   19 +
 source4/heimdal/lib/roken/resolve.c                |  218 +-
 source4/heimdal/lib/roken/resolve.h                |    4 +-
 source4/heimdal/lib/roken/roken.h.in               |   89 +-
 source4/heimdal/lib/roken/roken_gethostby.c        |    9 +-
 source4/heimdal/lib/roken/socket.c                 |   13 +
 source4/heimdal/lib/roken/strerror_r.c             |    2 +-
 source4/heimdal/lib/wind/errorlist.c               |    2 +-
 source4/heimdal/lib/wind/normalize.c               |   31 +-
 source4/heimdal/lib/wind/stringprep.py             |    4 +-
 source4/heimdal/lib/wind/wind.h                    |    1 +
 source4/heimdal_build/config.h                     |    5 +
 source4/heimdal_build/roken.h                      |    5 +-
 source4/heimdal_build/wscript_build                |   15 +-
 source4/kdc/hdb-samba4.c                           |   20 +-
 source4/kdc/kdc.c                                  |    3 +-
 397 files changed, 34873 insertions(+), 1815 deletions(-)
 create mode 100644 source4/heimdal/lib/hcrypto/common.c
 create mode 100644 source4/heimdal/lib/hcrypto/common.h
 create mode 100644 source4/heimdal/lib/hcrypto/dh-ltm.c
 create mode 100644 source4/heimdal/lib/hcrypto/evp-cc.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/LICENSE
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn.ilg
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn.ind
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_error.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_fast_mp_invmod.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_fast_mp_montgomery_reduce.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_mul_digs.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_mul_high_digs.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_sqr.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_2expt.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_abs.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_add.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_add_d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_addmod.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_and.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_clamp.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_clear.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_clear_multi.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_cmp.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_cmp_d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_cmp_mag.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_cnt_lsb.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_copy.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_count_bits.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_div.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_div_2.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_div_2d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_div_3.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_div_d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_dr_is_modulus.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_dr_reduce.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_dr_setup.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_exch.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_expt_d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_exptmod.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_exptmod_fast.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_exteuclid.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_find_prime.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_fread.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_fwrite.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_gcd.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_get_int.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_grow.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_init.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_init_copy.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_init_multi.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_init_set.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_init_set_int.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_init_size.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_invmod.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_invmod_slow.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_is_square.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_isprime.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_jacobi.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_karatsuba_mul.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_karatsuba_sqr.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_lcm.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_lshd.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mod.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mod_2d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mod_d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_calc_normalization.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_reduce.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_setup.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mul.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mul_2.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mul_2d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mul_d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_mulmod.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_n_root.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_neg.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_or.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_prime_fermat.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_prime_is_divisible.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_prime_is_prime.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_prime_miller_rabin.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_prime_next_prime.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_prime_rabin_miller_trials.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_prime_random_ex.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_radix_size.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_radix_smap.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_rand.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_read_radix.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_read_signed_bin.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_read_unsigned_bin.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_reduce.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_l.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_setup.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_setup_l.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_reduce_is_2k.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_reduce_is_2k_l.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_reduce_setup.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_rshd.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_set.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_set_int.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_shrink.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_signed_bin_size.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_sqr.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_sqrmod.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_sqrt.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_sub.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_sub_d.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_submod.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_to_signed_bin.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_to_signed_bin_n.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_to_unsigned_bin.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_to_unsigned_bin_n.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_toom_mul.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_toom_sqr.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_toradix.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_toradix_n.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_unsigned_bin_size.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_xor.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_zero.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_mp_zero_multi.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_prime_tab.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_reverse.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_s_mp_add.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_s_mp_exptmod.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_s_mp_mul_digs.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_s_mp_mul_high_digs.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_s_mp_sqr.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bn_s_mp_sub.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/bncore.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/booker.pl
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/callgraph.txt
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/libtommath.dsp
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/mtest/logtab.h
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/mtest/mpi-config.h
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/mtest/mpi-types.h
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/mtest/mpi.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/mtest/mpi.h
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/mtest/mtest.c
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pics/design_process.sxd
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pics/design_process.tif
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pics/expt_state.sxd
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pics/expt_state.tif
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pics/makefile
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pics/primality.tif
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pics/radix.sxd
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pics/sliding_window.sxd
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pics/sliding_window.tif
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/pretty.build
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/tombc/grammar.txt
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/tommath.h
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/tommath_class.h
 create mode 100644 source4/heimdal/lib/hcrypto/libtommath/tommath_superclass.h
 create mode 100644 source4/heimdal/lib/hcrypto/rsa-ltm.c
 create mode 100644 source4/heimdal/lib/hcrypto/sha512.c
 create mode 100644 source4/heimdal/lib/hcrypto/validate.c
 create mode 100644 source4/heimdal/lib/hx509/char_map.h
 create mode 100644 source4/heimdal/lib/krb5/ccache_plugin.h
 create mode 100644 source4/heimdal/lib/krb5/expand_path.c
 create mode 100644 source4/heimdal/lib/krb5/pcache.c


Changeset truncated at 500 lines:

diff --git a/source4/dynconfig/wscript b/source4/dynconfig/wscript
index 5be688c..722940f 100644
--- a/source4/dynconfig/wscript
+++ b/source4/dynconfig/wscript
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-import string, Utils, Options, sys
+import string, Utils, Options, sys, Build
 from samba_utils import EXPAND_VARIABLES
 
 # list of directory options to offer in configure
@@ -37,6 +37,7 @@ dyn_cflags = {
     'SWATDIR'                        : '${DATADIR}/swat',
     'CODEPAGEDIR'                    : '${LIBDIR}/samba',
     'LIBDIR'                         : '${LIBDIR}',
+    'LIBEXECDIR'                     : '${MODULESDIR}',
     'STATEDIR'                       : '${LOCALSTATEDIR}',
     'CACHEDIR'                       : '${LOCKDIR}',
     'SMB_PASSWD_FILE'                : '${PRIVATEDIR}/smbpasswd',
@@ -61,6 +62,7 @@ dyn_cflags_fhs = {
     'NCALRPCDIR'                     : '${LOCALSTATEDIR}/ncalrpc',
     'PYTHONDIR'                      : '${PYTHONDIR}',
     'MODULESDIR'                     : '${LIBDIR}/samba',
+    'LIBEXECDIR'                     : '${MODULESDIR}',
     'INCLUDEDIR'                     : '${INCLUDEDIR}/samba-4.0',
     'PKGCONFIGDIR'                   : '${LIBDIR}/pkgconfig',
     'SWATDIR'                        : '${DATADIR}/swat',
@@ -120,9 +122,10 @@ def dynconfig_cflags(bld):
     for f in dyn_cflags.keys():
         cflags.append('-D%s="%s"' % (f, bld.env[f]))
     return cflags
+Build.BuildContext.dynconfig_cflags = dynconfig_cflags
 
 def build(bld):
-    cflags = dynconfig_cflags(bld)
+    cflags = bld.dynconfig_cflags()
     bld.SAMBA_SUBSYSTEM('DYNCONFIG',
                         'dynconfig.c',
                         deps='replace talloc',
diff --git a/source4/heimdal/HEIMDAL-LICENCE.txt b/source4/heimdal/HEIMDAL-LICENCE.txt
index 90ff523..8ff9419 100644
--- a/source4/heimdal/HEIMDAL-LICENCE.txt
+++ b/source4/heimdal/HEIMDAL-LICENCE.txt
@@ -12,34 +12,33 @@ cooperation in the use of the heimdal code in Samba.
 
 /*
  * Copyright (c) 1997 - 2005 Kungliga Tekniska Högskolan and others.
- * (Royal Institute of Technology, Stockholm, Sweden). 
- * All rights reserved. 
+ * (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: 
+ * 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. 
+ * 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. 
+ * 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. 
+ * 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. 
+ * 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.
  */
-
diff --git a/source4/heimdal/cf/make-proto.pl b/source4/heimdal/cf/make-proto.pl
index 12c6d07..566534f 100644
--- a/source4/heimdal/cf/make-proto.pl
+++ b/source4/heimdal/cf/make-proto.pl
@@ -12,7 +12,7 @@ my $debug = 0;
 my $oproto = 1;
 my $private_func_re = "^_";
 
-do Getopts('x:m:o:p:dqE:R:P:') || die "foo";
+Getopts('x:m:o:p:dqE:R:P:') || die "foo";
 
 if($opt_d) {
     $debug = 1;
diff --git a/source4/heimdal/kdc/default_config.c b/source4/heimdal/kdc/default_config.c
index f5df4e0..118bdf9 100644
--- a/source4/heimdal/kdc/default_config.c
+++ b/source4/heimdal/kdc/default_config.c
@@ -264,7 +264,7 @@ krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config)
 
     if (c->pkinit_kdc_identity == NULL) {
 	if (c->pkinit_kdc_friendly_name == NULL)
-	    c->pkinit_kdc_friendly_name = 
+	    c->pkinit_kdc_friendly_name =
 		strdup("O=System Identity,CN=com.apple.kerberos.kdc");
 	c->pkinit_kdc_identity = strdup("KEYCHAIN:");
     }
@@ -276,7 +276,7 @@ krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config)
     if (c->enable_pkinit) {
 	if (c->pkinit_kdc_identity == NULL)
 	    krb5_errx(context, 1, "pkinit enabled but no identity");
- 
+
 	if (c->pkinit_kdc_anchors == NULL)
 	    krb5_errx(context, 1, "pkinit enabled but no X509 anchors");
 
@@ -287,7 +287,7 @@ krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config)
 			       c->pkinit_kdc_revoke);
 
     }
-    
+
     *config = c;
 
     return 0;
diff --git a/source4/heimdal/kdc/digest.c b/source4/heimdal/kdc/digest.c
index 1a383fa..70b45c2 100644
--- a/source4/heimdal/kdc/digest.c
+++ b/source4/heimdal/kdc/digest.c
@@ -177,7 +177,7 @@ get_password_entry(krb5_context context,
 	return ret;
 
     ret = _kdc_db_fetch(context, config, clientprincipal,
-			HDB_F_GET_CLIENT, &db, &user);
+			HDB_F_GET_CLIENT, NULL, &db, &user);
     krb5_free_principal(context, clientprincipal);
     if (ret)
 	return ret;
@@ -292,7 +292,7 @@ _kdc_do_digest(krb5_context context,
 	krb5_clear_error_message(context);
 
 	ret = _kdc_db_fetch(context, config, principal,
-			    HDB_F_GET_SERVER, NULL, &server);
+			    HDB_F_GET_SERVER, NULL, NULL, &server);
 	if (ret)
 	    goto out;
 
@@ -314,7 +314,7 @@ _kdc_do_digest(krb5_context context,
 	}
 
 	ret = _kdc_db_fetch(context, config, principal,
-			    HDB_F_GET_CLIENT, NULL, &client);
+			    HDB_F_GET_CLIENT, NULL, NULL, &client);
 	krb5_free_principal(context, principal);
 	if (ret)
 	    goto out;
@@ -874,7 +874,7 @@ _kdc_do_digest(krb5_context context,
 		goto failed;
 	
 	    ret = _kdc_db_fetch(context, config, clientprincipal,
-				HDB_F_GET_CLIENT, NULL, &user);
+				HDB_F_GET_CLIENT, NULL, NULL, &user);
 	    krb5_free_principal(context, clientprincipal);
 	    if (ret) {
 		krb5_set_error_message(context, ret,
@@ -1158,7 +1158,7 @@ _kdc_do_digest(krb5_context context,
 	    goto failed;
 
 	ret = _kdc_db_fetch(context, config, clientprincipal,
-			    HDB_F_GET_CLIENT, NULL, &user);
+			    HDB_F_GET_CLIENT, NULL, NULL, &user);
 	krb5_free_principal(context, clientprincipal);
 	if (ret) {
 	    krb5_set_error_message(context, ret, "NTLM user %s not in database",
diff --git a/source4/heimdal/kdc/kerberos5.c b/source4/heimdal/kdc/kerberos5.c
index 05df86e..40e597b 100644
--- a/source4/heimdal/kdc/kerberos5.c
+++ b/source4/heimdal/kdc/kerberos5.c
@@ -910,7 +910,7 @@ _kdc_as_rep(krb5_context context,
     const char *e_text = NULL;
     krb5_crypto crypto;
     Key *ckey, *skey;
-    EncryptionKey *reply_key, session_key;
+    EncryptionKey *reply_key = NULL, session_key;
     int flags = 0;
 #ifdef PKINIT
     pk_client_params *pkp = NULL;
@@ -988,7 +988,7 @@ _kdc_as_rep(krb5_context context,
      */
 
     ret = _kdc_db_fetch(context, config, client_princ,
-			HDB_F_GET_CLIENT | flags, 0,
+			HDB_F_GET_CLIENT | flags, NULL,
 			&clientdb, &client);
     if(ret){
 	const char *msg = krb5_get_error_message(context, ret);
@@ -1000,7 +1000,7 @@ _kdc_as_rep(krb5_context context,
 
     ret = _kdc_db_fetch(context, config, server_princ,
 			HDB_F_GET_SERVER|HDB_F_GET_KRBTGT,
-			0, NULL, &server);
+			NULL, NULL, &server);
     if(ret){
 	const char *msg = krb5_get_error_message(context, ret);
 	kdc_log(context, config, 0, "UNKNOWN -- %s: %s", server_name, msg);
diff --git a/source4/heimdal/kdc/krb5tgs.c b/source4/heimdal/kdc/krb5tgs.c
index 06a535d..71d99e2 100644
--- a/source4/heimdal/kdc/krb5tgs.c
+++ b/source4/heimdal/kdc/krb5tgs.c
@@ -314,6 +314,7 @@ check_PAC(krb5_context context,
 	for (j = 0; j < child.len; j++) {
 
 	    if (child.val[j].ad_type == KRB5_AUTHDATA_WIN2K_PAC) {
+		int signed_pac = 0;
 		krb5_pac pac;
 
 		/* Found PAC */
@@ -334,19 +335,26 @@ check_PAC(krb5_context context,
 		}
 
 		ret = _kdc_pac_verify(context, client_principal,
-				      client, server, krbtgt, &pac);
+				      client, server, krbtgt, &pac, &signed_pac);
 		if (ret) {
 		    krb5_pac_free(context, pac);
 		    return ret;
 		}
-		*signedpath = 1;
-
-		ret = _krb5_pac_sign(context, pac, tkt->authtime,
-				     client_principal,
-				     server_key, krbtgt_sign_key, rspac);
 
+		/*
+		 * Only re-sign PAC if we could verify it with the PAC
+		 * function. The no-verify case happens when we get in
+		 * a PAC from cross realm from a Windows domain and
+		 * that there is no PAC verification function.
+		 */
+		if (signed_pac) {
+		    *signedpath = 1;
+		    ret = _krb5_pac_sign(context, pac, tkt->authtime,
+					 client_principal,
+					 server_key, krbtgt_sign_key, rspac);
+		}
 		krb5_pac_free(context, pac);
-
+		
 		return ret;
 	    }
 	}
@@ -449,7 +457,7 @@ check_tgs_flags(krb5_context context,
     }
 
     if(f.renewable){
-	if(!tgt->flags.renewable){
+	if(!tgt->flags.renewable || tgt->renew_till == NULL){
 	    kdc_log(context, config, 0,
 		    "Bad request for renewable ticket");
 	    return KRB5KDC_ERR_BADOPTION;
@@ -802,7 +810,9 @@ tgs_make_reply(krb5_context context,
 	et.endtime = *et.starttime + life;
     }
     if(f.renewable_ok && tgt->flags.renewable &&
-       et.renew_till == NULL && et.endtime < *b->till){
+       et.renew_till == NULL && et.endtime < *b->till &&
+       tgt->renew_till != NULL)
+    {
 	et.flags.renewable = 1;
 	ALLOC(et.renew_till);
 	*et.renew_till = *b->till;
@@ -1553,7 +1563,7 @@ tgs_build_reply(krb5_context context,
 
 server_lookup:
     ret = _kdc_db_fetch(context, config, sp, HDB_F_GET_SERVER | HDB_F_CANON,
-			0, NULL, &server);
+			NULL, NULL, &server);
 
     if(ret){
 	const char *new_rlm, *msg;
@@ -1614,7 +1624,7 @@ server_lookup:
     }
 
     ret = _kdc_db_fetch(context, config, cp, HDB_F_GET_CLIENT | HDB_F_CANON,
-			0, &clientdb, &client);
+			NULL, &clientdb, &client);
     if(ret) {
 	const char *krbtgt_realm, *msg;
 
@@ -1835,7 +1845,7 @@ server_lookup:
 		krb5_pac p = NULL;
 		krb5_data_free(&rspac);
 		ret = _kdc_db_fetch(context, config, client_principal, HDB_F_GET_CLIENT | HDB_F_CANON,
-				    0, &s4u2self_impersonated_clientdb, &s4u2self_impersonated_client);
+				    NULL, &s4u2self_impersonated_clientdb, &s4u2self_impersonated_client);
 		if (ret) {
 		    const char *msg;
 
diff --git a/source4/heimdal/kdc/misc.c b/source4/heimdal/kdc/misc.c
index 3080748..9feb99c 100644
--- a/source4/heimdal/kdc/misc.c
+++ b/source4/heimdal/kdc/misc.c
@@ -47,7 +47,7 @@ _kdc_db_fetch(krb5_context context,
     hdb_entry_ex *ent;
     krb5_error_code ret;
     int i;
-    unsigned kvno;
+    unsigned kvno = 0;
 
     if (kvno_ptr) {
 	    kvno = *kvno_ptr;
@@ -91,12 +91,22 @@ _kdc_db_fetch(krb5_context context,
 	    continue;
 	}
 
-	ret = config->db[i]->hdb_fetch(context,
-				       config->db[i],
-				       principal,
-				       flags | HDB_F_DECRYPT,
-				       kvno,
-				       ent);
+	if (config->db[i]->hdb_fetch_kvno) {
+		ret = config->db[i]->hdb_fetch_kvno(context,
+						    config->db[i],
+						    principal,
+						    flags | HDB_F_DECRYPT,
+						    kvno,
+						    ent);
+	} else {
+		flags &= ~HDB_F_KVNO_SPECIFIED;
+		ret = config->db[i]->hdb_fetch(context,
+					       config->db[i],
+					       principal,
+					       flags | HDB_F_DECRYPT,
+					       ent);
+	}
+
 	krb5_free_principal(context, enterprise_principal);
 
 	config->db[i]->hdb_close(context, config->db[i]);
diff --git a/source4/heimdal/kdc/pkinit.c b/source4/heimdal/kdc/pkinit.c
index 4405bf4..9c0be23 100644
--- a/source4/heimdal/kdc/pkinit.c
+++ b/source4/heimdal/kdc/pkinit.c
@@ -227,10 +227,7 @@ generate_dh_keyblock(krb5_context context,
 	    goto out;
 	}
 
-	dh_gen_keylen = DH_size(client_params->u.dh.key);
-	size = BN_num_bytes(client_params->u.dh.key->p);
-	if (size < dh_gen_keylen)
-	    size = dh_gen_keylen;
+	size = DH_size(client_params->u.dh.key);
 
 	dh_gen_key = malloc(size);
 	if (dh_gen_key == NULL) {
@@ -238,17 +235,20 @@ generate_dh_keyblock(krb5_context context,
 	    krb5_set_error_message(context, ret, "malloc: out of memory");
 	    goto out;
 	}
-	memset(dh_gen_key, 0, size - dh_gen_keylen);
 
-	dh_gen_keylen = DH_compute_key(dh_gen_key + (size - dh_gen_keylen),
-				       client_params->u.dh.public_key,
-				       client_params->u.dh.key);
+	dh_gen_keylen = DH_compute_key(dh_gen_key,client_params->u.dh.public_key, client_params->u.dh.key);
 	if (dh_gen_keylen == -1) {
 	    ret = KRB5KRB_ERR_GENERIC;
 	    krb5_set_error_message(context, ret,
 				   "Can't compute Diffie-Hellman key");
 	    goto out;
 	}
+	if (dh_gen_keylen < size) {
+	    size -= dh_gen_keylen;
+	    memmove(dh_gen_key + size, dh_gen_key, dh_gen_keylen);
+	    memset(dh_gen_key, 0, size);
+	}
+
 	ret = 0;
 #ifdef HAVE_OPENSSL
     } else if (client_params->keyex == USE_ECDH) {
diff --git a/source4/heimdal/kdc/windc.c b/source4/heimdal/kdc/windc.c
index a8f1eb1..6efbeee 100644
--- a/source4/heimdal/kdc/windc.c
+++ b/source4/heimdal/kdc/windc.c
@@ -87,14 +87,19 @@ _kdc_pac_verify(krb5_context context,
 		hdb_entry_ex *client,
 		hdb_entry_ex *server,
 		hdb_entry_ex *krbtgt,
-		krb5_pac *pac)
+		krb5_pac *pac,
+		int *verified)
 {
-    if (windcft == NULL) {
-	krb5_set_error_message(context, EINVAL, "Can't verify PAC, no function");
-	return EINVAL;
-    }
-    return (windcft->pac_verify)(windcctx, context,
-				 client_principal, client, server, krbtgt, pac);
+    krb5_error_code ret;
+
+    if (windcft == NULL)
+	return 0;
+
+    ret = windcft->pac_verify(windcctx, context,
+			      client_principal, client, server, krbtgt, pac);
+    if (ret == 0)
+	*verified = 1;
+    return ret;
 }
 
 krb5_error_code
diff --git a/source4/heimdal/lib/asn1/asn1-common.h b/source4/heimdal/lib/asn1/asn1-common.h
index 8ab9776..9c8793e 100644
--- a/source4/heimdal/lib/asn1/asn1-common.h
+++ b/source4/heimdal/lib/asn1/asn1-common.h
@@ -20,8 +20,8 @@ typedef struct heim_octet_string {
 
 typedef char *heim_general_string;
 typedef char *heim_utf8_string;
-typedef char *heim_printable_string;
-typedef char *heim_ia5_string;
+typedef struct heim_octet_string heim_printable_string;
+typedef struct heim_octet_string heim_ia5_string;
 
 typedef struct heim_bmp_string {
     size_t length;
@@ -64,4 +64,16 @@ typedef struct heim_octet_string heim_any_set;
     }                                                          \
   } while (0)
 
+#ifdef _WIN32
+#ifndef ASN1_LIB
+#define ASN1EXP  __declspec(dllimport)
+#else
+#define ASN1EXP
+#endif
+#define ASN1CALL __stdcall
+#else
+#define ASN1EXP
+#define ASN1CALL
+#endif
+	  
 #endif
diff --git a/source4/heimdal/lib/asn1/asn1_gen.c b/source4/heimdal/lib/asn1/asn1_gen.c
index 925cc72..01dc680 100644
--- a/source4/heimdal/lib/asn1/asn1_gen.c
+++ b/source4/heimdal/lib/asn1/asn1_gen.c
@@ -46,7 +46,7 @@ static int
 doit(const char *fn)
 {
     char buf[2048];
-    char *fnout;
+    char *fnout = NULL;
     const char *bname;
     unsigned long line = 0;
     FILE *f, *fout;
@@ -62,8 +62,7 @@ doit(const char *fn)
     else
 	bname = fn;
 
-    asprintf(&fnout, "%s.out", bname);
-    if (fnout == NULL)
+    if (asprintf(&fnout, "%s.out", bname) < 0 || fnout == NULL)
 	errx(1, "malloc");
 
     fout = fopen(fnout, "w");
diff --git a/source4/heimdal/lib/asn1/asn1parse.c b/source4/heimdal/lib/asn1/asn1parse.c
index 545e0f6..7fa937a 100644
--- a/source4/heimdal/lib/asn1/asn1parse.c
+++ b/source4/heimdal/lib/asn1/asn1parse.c
@@ -3015,7 +3015,8 @@ static void fix_labels1(struct memhead *members, const char *prefix)
     if(members == NULL)
 	return;
     ASN1_TAILQ_FOREACH(m, members, members) {
-	asprintf(&m->label, "%s_%s", prefix, m->gen_name);
+	if (asprintf(&m->label, "%s_%s", prefix, m->gen_name) < 0)
+	    errx(1, "malloc");


-- 
Samba Shared Repository


More information about the samba-cvs mailing list