Handle multiple SANs correctly in KDC pkinit certs

Signed-off-by: Roland C. Dowdeswell <elric@imrryr.org>
Allow hxtool to process multiple --pk-init-principal args.
add description
drain pool for each request
Remove duplicate __gss_krb5_mechanism_oid_desc definition

__gss_krb5_mechanism_oid_desc is now defined in gssapi/gssapi_oid.h,
so remove the definition in gssapi/gssapi_krb5.h in favor of including
that header.

Signed-off-by: Love Hörnquist Åstrand <lha@h5l.org>
Properly activate the pthread support on GNU/Hurd.

Originally submitted as a patch to the Debian Heimdal package:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=483281

Signed-Off-By: Jelmer Vernooij <jelmer@debian.org>

Signed-off-by: Love Hörnquist Åstrand <lha@h5l.org>
Fix compilation of kafs on Hurd.

kafs now defines two ioctls, define the GNU _IOT constants.

This was originally submitted to the Debian Heimdal package:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=483281

Signed-Off-By: Jelmer Vernooij <jelmer@debian.org>

Signed-off-by: Love Hörnquist Åstrand <lha@h5l.org>
more mutex locking from Jaudeep Padhye
Fix Windows build of mcache.c

Commit c04aa9e082454e8afa127857570140949d95c0e4 specified the
mutex type, pthread_mutex_t, directly instead of using the
abstraction, HEIMDAL_MUTEX.

Change-Id: Iedfc46163140cf23014d357cc8ccc9f0e6224327
generated files must #include config if supported

The source files generated by compile_et and asn1-compile must
begin with:

  #ifdef HAVE_CONFIG_H
  #include <config.h>
  #endif

This permits conditional includes based on HAVE_STDINT_H and
HAVE_UNISTD_H to work.

Change-Id: Iefe25317ac3cb1970793748b8318174bcd7a087f
Windows: Visual Studio 10 support for installers

Change-Id: I845986247abf607694d2438afaffa6ea7d6fd5c4
Look for auth_to_local in the default realm's realm section...

...rather than the authenticated principal's realm section.  We do
this both to maintain compatibility with MIT and because it makes
more sense.  We should likely also fix the auth_to_local_names as
cursory inspection reveals that it has the same incompatibility.
heimbase can't depend on roken.h since its not built at this time

if we need to have this dependency heimbase needs to be moved into lib/s
Verify the existence of the keytab for tcp_server, gssapi_server

appl/test/tcp_server and gssapi_server try to open the keytab file only when processing a connection.

This patch verifies the existence of the keytab file on program startup, so that troubleshooting is easier. In addition it adds some comments.

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
Fix incorrect usage message in ktutil del

Usage: remove [-h] [--principal=principal] [-p principal] [--kvno=enctype]
   [-V enctype] [--enctype=enctype] [-e enctype] [--help]
-p principal, --principal=principal principal to remove
-V enctype, --kvno=enctype          key version to remove
-e enctype, --enctype=enctype       enctype to remove
Add support for writing to KDB and dumping HDB to MIT KDB dump format

    Before this change Heimdal could read KDBs.  Now it can write to
    them too.

    Heimdal can now also dump HDBs (including KDBs) in MIT format, which
    can then be imported with kdb5_util load.

    This is intended to help in migrations from MIT to Heimdal by
    allowing migrations from Heimdal to MIT so that it is possible
    to rollback from Heimdal to MIT should there be any issues.  The
    idea is to allow a) running Heimdal kdc/kadmind with a KDB, or
    b) running Heimdal with an HDB converted from a KDB and then
    rollback by dumping the HDB and loading a KDB.

    Note that not all TL data types are supported, only two: last
    password change and modify-by.  This is the minimum necessary.
    PKINIT users may need to add support for KRB5_TL_USER_CERTIFICATE,
    and for databases with K/M history we may need to add KRB5_TL_MKVNO
    support.

    Support for additional TL data types can be added in
    lib/hdb/hdb-mitdb.c:_hdb_mdb_value2entry() and
    lib/hdb/print.c:entry2mit_string_int().
Update MIT<->Heimdal migration documentation
Update kadmin.8
Update KDB in tests/kdc so check-hdb-mitdb passes
Add doxygen and source comments to some functions of the krb5 API

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>