2007-05-31 Love Hörnquist Åstrand * kdc/pkinit.c: More logging for pk-init client mismatch. * kdc/kerberos5.c: Also add a KRB5_PADATA_PK_AS_REQ_WIN for windows pk-init (-9) to make MIT clients happy. 2007-05-30 Love Hörnquist Åstrand * kdc/pkinit.c: Force des3 for win2k. * kdc/pkinit.c: Add wrapping to ContentInfo wrapping to COMPAT_WIN2K. * lib/krb5/keytab_keyfile.c: Spelling. * kdc/pkinit.c: Allow matching by MS UPN SAN, note that this delta doesn't deal with case of realm. 2007-05-16 Love Hörnquist Åstrand * lib/krb5/crypto.c (krb5_crypto_overhead): return static overhead of encryption. 2007-05-10 Dave Love * doc/win2k.texi: Update some URLs. 2007-05-13 Love Hörnquist Åstrand * kuser/kimpersonate.c: Fix version number of ticket, it should be 5 not the kvno. 2007-05-08 Love Hörnquist Åstrand * doc/setup.texi: Salting is really Encryption types and salting. 2007-05-07 Love Hörnquist Åstrand * doc/setup.texi: spelling, from Ronny Blomme * doc/win2k.texi: Fix ksetup /SetComputerPassword, from Ronny Blomme 2007-05-02 Love Hörnquist Åstrand * lib/hdb/dbinfo.c (hdb_get_dbinfo) If there are no database specified, create one and let it use the defaults. 2007-04-27 Love Hörnquist Åstrand * lib/hdb/test_dbinfo.c: test acl file * lib/hdb/test_dbinfo.c: test acl file * lib/hdb/dbinfo.c: add acl file * etc: ignore Makefile.in * Makefile.am: SUBDIRS += etc * configure.in: Add etc/Makefile. * etc/Makefile.am: make sure services.append is distributed 2007-04-24 Love Hörnquist Åstrand * kdc: rename windc_init to krb5_kdc_windc_init * kdc/version-script.map: version script for libkdc * kdc/Makefile.am: version script for libkdc 2007-04-23 Love Hörnquist Åstrand * lib/krb5/init_creds.c (krb5_get_init_creds_opt_get_error): correct the order of the arguments. * lib/hdb/Makefile.am: Add and test dbinfo. * lib/hdb/hdb.h: Forward declaration for struct hdb_dbinfo; * kdc/config.c: Use krb5_kdc_get_config and just fill in what the users wanted differently. * kdc/default_config.c: Make the default configuration fetch info from the krb5.conf. 2007-04-22 Love Hörnquist Åstrand * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to determine if to send the session-key, for the second place in the function. * tools/krb5-config.in: rename des to hcrypto * kuser/Makefile.am: depend on libheimntlm * kuser/kinit.c: Add --ntlm-domain that store the ntlm cred for this domain if the Kerberos password auth worked. * kuser/klist.c: add new option --hidden that doesn't display principal that starts with @ * tools/krb5-config.in: Add heimntlm when we use gssapi. * lib/krb5/krb5_ccache.3 (krb5_cc_retrieve_cred): document what to free 'cred' with. * lib/krb5/cache.c (krb5_cc_retrieve_cred): document what to free 'cred' with. 2007-04-21 Love Hörnquist Åstrand * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to determine if to send the session-key. * kcm/client.c (kcm_ccache_new_client): make root be able to pass the name constraints, not the opposite. From Bryan Jacobs. 2007-04-20 Love Hörnquist Åstrand * kcm/acl.c: make compile again. * kcm/client.c: fix warning. * kcm: First, it allows root to ignore the naming conventions. Second, it allows root to always perform any operation on any ccache. Note that root could do this anyway with FILE ccaches. From Bryan Jacobs. * Rename libdes to libhcrypto. 2007-04-19 Love Hörnquist Åstrand * kinit: remove code that depend on kerberos 4 library * kdc: remove code that depend on kerberos 4 library * configure.in: Drop kerberos 4 support. * kdc/hpropd.c (main): free the message when done with it. * lib/krb5/pkinit.c (_krb5_get_init_creds_opt_free_pkinit): remember to free memory too. * lib/krb5/pkinit.c (pk_rd_pa_reply_dh): free content-type when done. * configure.in: test rk_VERSIONSCRIPT 2007-04-18 Love Hörnquist Åstrand * fix-export: remove, all done by make dist now 2007-04-15 Love Hörnquist Åstrand * lib/krb5/krb5_get_credentials.3: spelling, from Jason McIntyre 2007-04-11 Love Hörnquist Åstrand * kdc/kstash.8: Spelling, from raga via Bjorn Sandell. * lib/krb5/store_mem.c: indent. * lib/krb5/recvauth.c: Set error string. * lib/krb5/rd_req.c: clear error strings. * lib/krb5/rd_cred.c: clear error string. * lib/krb5/pkinit.c: Set error strings. * lib/krb5/get_cred.c: Tell what principal we are not finding for all KRB5_CC_NOTFOUND. 2007-02-22 Love Hörnquist Åstrand * kdc/kerberos5.c: Return the same error codes as a windows KDC. * kuser/kinit.c: KRB5KDC_ERR_PREAUTH_FAILED is also a password failed. * kdc/kerberos5.c: Make handling of replying e_data more generic, from metze. * kdc/kerberos5.c: Fix (string const and shadow) warnings, from metze. * lib/krb5/pac.c: Create the PAC element in the same order as w2k3, maybe there's some broken code in windows which relies on this... From metze. * kdc/kerberos5.c: Select a session enctype from the list of the crypto systems supported enctype, is supported by the client and is one of the enctype of the enctype of the krbtgt. The later is used as a hint what enctype all KDC are supporting to make sure a newer version of KDC wont generate a session enctype that and older version of a KDC in the same realm can't decrypt. But if the KDC admin is paranoid and doesn't want to have "no the best" enctypes on the krbtgt, lets save the best pick from the client list and hope that that will work for any other KDCs. Reported by metze. * kdc/hprop.c (propagate_database): on any failure, drop the connection to the peer and try next one. 2007-02-18 Love Hörnquist Åstrand * lib/krb5/krb5_get_init_creds.3: document new options. * kdc/krb5tgs.c: Only check service key for cross realm PACs. * lib/krb5/init_creds.c: use the new merged flags field. (krb5_get_init_creds_opt_set_win2k): new function, turn on all w2k compat flags. * lib/krb5/init_creds_pw.c: use the new merged flags field. * lib/krb5/krb5_locl.h: merge all flags into one entity 2007-02-11 Dave Love * lib/krb5/krb5_aname_to_localname.3: Small fixes * lib/krb5/krb5_digest.3: Small fixes * kuser/kimpersonate.1: Small fixes 2007-02-17 Love Hörnquist Åstrand * lib/krb5/init_creds_pw.c (find_pa_data): if there is no list, there is no entry. * kdc/krb5tgs.c: Don't check PACs on cross realm requests. * lib/krb5/krb5.h: add KRB5_KU_CANONICALIZED_NAMES. * lib/krb5/init_creds_pw.c: Verify client referral data. * kdc/kerberos5.c: switch some "return ret" to "goto out". * kdc/kerberos5.c: Pass down canonicalize request to hdb layer, sign client referrals. * lib/hdb/hdb.h: Add HDB_F_CANON. * lib/hdb: add simple alias support to the database backends 2007-02-16 Love Hörnquist Åstrand * kuser/kinit.c: Add canonicalize flag. * lib/krb5/init_creds_pw.c: Use EXTRACT_TICKET_* flags, support canonicalize. * lib/krb5/init_creds.c (krb5_get_init_creds_opt_set_canonicalize): new function. * lib/krb5/get_cred.c: Use EXTRACT_TICKET_* flags. * lib/krb5/get_in_tkt.c: Use EXTRACT_TICKET_* flags. * lib/krb5/krb5_locl.h: Add EXTRACT_TICKET_* flags. 2007-02-15 Love Hörnquist Åstrand * lib/krb5/test_princ.c: test parsing enterprise-names. * lib/krb5/principal.c: Add support for parsing enterprise-names. * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_PARSE_ENTERPRISE. * lib/hdb/hdb-ldap.c: Make work again. 2007-02-11 Dave Love * kcm/client.c (kcm_ccache_new_client): Cast snprintf'ed value. 2007-02-10 Love Hörnquist Åstrand * doc/setup.texi: prune trailing space * lib/hdb/db.c: Be better at setting and clearing error string. * lib/hdb/hdb.c: Be better at setting and clearing error string. 2007-02-09 Love Hörnquist Åstrand * lib/krb5/keytab.c (krb5_kt_get_entry): Use krb5_kt_get_full_name to print out the keytab name. * doc/setup.texi: Spelling, from Guido Guenther 2007-02-08 Love Hörnquist Åstrand * lib/krb5/rd_cred.c: Plug memory leak, from Michael B Allen. 2007-02-06 Love Hörnquist Åstrand * lib/krb5/test_store.c (test_uint16): unsigned ints can't be negative 2007-02-03 Love Hörnquist Åstrand * kdc/pkinit.c: pass extra flags for detached signatures. * lib/krb5/pkinit.c: pass extra flags for detached signatures. * kdc/digest.c: Remove debug output. * kuser/kdigest.c: Add support for ms-chap-v2 client. 2007-02-02 Love Hörnquist Åstrand * kdc/digest.c: Fix ms-chap-v2 get_masterkey * kdc/digest.c: Fix ms-chap-v2 mutual response auth code. * kuser/kdigest.c: Print session key if there is one. * lib/krb5/digest.c: rename hash-a1 to session key * kdc/digest.c: Add get_master from RFC 3079 3.4 for MS-CHAP-V2 * kuser/kdigest.c: print rsp if there is one, from Klas. * kdc/digest.c: Use right size, from Klas Lindfors. * kuser/kdigest.c: Set client nonce if avaible, from Klas. * kdc/digest.c: First version from kllin. * kuser/kdigest.c: Don't restrict the type. 2007-02-01 Love Hörnquist Åstrand * kuser/kdigest-commands.in: add --client-response * kuser/kdigest.c: Print status instead of response. * kdc/digest.c: Better logging and return status = FALSE when checksum doesn't match. * kdc/digest.c: Check the digest response in the KDC. * lib/krb5/digest.c: New functions to send in requestResponse to KDC and get status of the request. * kdc/digest.c: Add support for MS-CHAP v2. * lib/hdb/hdb-ldap.c: Set hdb->hdb_db for ldap. 2007-01-31 Love Hörnquist Åstrand * fix-export: Make hx509.info too * kdc/digest.c: don't verify identifier in CHAP, its the client that chooses it. 2007-01-23 Love Hörnquist Åstrand * lib/krb5/Makefile.am: Basic test of prf. * lib/krb5/test_prf.c: Basic test of prf. * lib/krb5/mit_glue.c: Add MIT glue for Kerberos RFC 3961 PRF functions. * lib/krb5/crypto.c: Add Kerberos RFC 3961 PRF functions. * lib/krb5/krb5_data.3: Document krb5_data_cmp. * lib/krb5/data.c: Add krb5_data_cmp. 2007-01-20 Love Hörnquist Åstrand * kdc/kx509.c: Don't use C99 syntax. 2007-01-17 Love Hörnquist Åstrand * configure.in: its LIBADD_roken (and shouldn't really exist, our libtool usage it broken) * configure.in: Add an extra variable for roken, LIBADD, that should be used for library depencies. * lib/krb5/send_to_kdc.c (krb5_sendto): zero out receive buffer. * lib/krb5/krb5_init_context.3: fix mdoc errors * 0.8 branch cut today * doc/hx509.texi: Spelling and more about proxy certificates. * configure.in: check for arc4random 2007-01-16 Love Hörnquist Åstrand * lib/krb5/send_to_kdc.c (krb5_sendto): zero receive krb5_data before starting * tools/heimdal-build.sh: make cvs keep quiet * kuser/kverify.c: Use argument as principal if passed an argument. Bug report from Douglas E. Engert 2007-01-15 Love Hörnquist Åstrand * lib/krb5/rd_req.c (krb5_rd_req_ctx): The code failed to consider the enc_tkt_in_skey case, from Douglas E. Engert. * kdc/kx509.c: Issue certificates. * kdc/config.c: Parse kx509/kca configuration. * kdc/kdc.h: add kx509 config 2007-01-14 Love Hörnquist Åstrand * kdc/kerberos5.c (_kdc_find_padata): if there is not padata, there is nothing find. * doc/hx509.texi: Examples for pk-init. * doc/hx509.texi: About extending ca lifetime and sub cas. 2007-01-13 Love Hörnquist Åstrand * doc/hx509.texi: More about certificates. 2007-01-12 Love Hörnquist Åstrand * doc/hx509.texi: add Application requirements and write about xmpp/jabber. 2007-01-11 Love Hörnquist Åstrand * doc/hx509.texi: More about issuing certificates. * doc/hx509.texi: Start of a x.509 manual. * include/Makefile.am: remove install headerfiles * lib/krb5/test_pac.c: Use more interesting data to cause more errors. * include/Makefile.am: remove install headerfiles * lib/krb5/mcache.c: MCC_CURSOR not used, remove. * lib/krb5/crypto.c: macro kcrypto_oid_enc now longer used * lib/krb5/rd_safe.c (krb5_rd_safe): set length before trying to allocate data 2007-01-10 Love Hörnquist Åstrand * doc/setup.texi: Hint about hxtool validate. * appl/test/uu_server.c: print both "server" and "client" * kdc/krb5tgs.c: Rename keys to be more obvious what they do. * kdc/kerberos5.c: Use other keys to sign PAC with. From Andrew Bartlett * kdc/windc.c: ident, spelling. * kdc/windc_plugin.h: indent. * kdc/krb5tgs.c: Pass down server entry to verify_pac function. from Andrew Bartlett * kdc/windc.c: pass down server entry to verify_pac function, from Andrew Bartlett * kdc/windc_plugin.h: pass down server entry to verify_pac function, from Andrew Bartlett * configure.in: Provide a automake symbol ENABLE_SHARED if shared libraries are built. * lib/krb5/rd_req.c (krb5_rd_req_ctx): Use the correct keyblock when verifying the PAC. From Andrew Bartlett. 2007-01-09 Love Hörnquist Åstrand * lib/krb5/test_pac.c: move around to code test on real PAC. * lib/krb5/pac.c: A tiny 2 char diffrence that make the code work for real. * lib/krb5/test_pac.c: Test more PAC (note that the values used in this test is wrong, they have to be fixed when the pac code is fixed). * doc/setup.texi: Update to new hxtool issue-certificate usage * lib/krb5/init_creds_pw.c: Make sure we don't sent both ENC-TS and PK-INIT pa data, no need to expose our password protecting our PKCS12 key. * kuser/klist.c (print_cred_verbose): include ticket length in the verbose output 2007-01-08 Love Hörnquist Åstrand * lib/krb5/acache.c (loadlib): pass RTLD_LAZY to dlopen, without it linux is unhappy. * lib/krb5/plugin.c (loadlib): pass RTLD_LAZY to dlopen, without it linux is unhappy. * lib/krb5/name-45-test.c: One of the hosts I sometimes uses is named "bar.domain", this make one of the tests pass when it shouldn't. 2007-01-05 Love Hörnquist Åstrand * doc/setup.texi: Change --key argument to --out-key. * kuser/kimpersonate.1: mangle my name 2007-01-04 Love Hörnquist Åstrand * doc/setup.texi: describe how to use hx509 to create certificates. * tools/heimdal-build.sh: Add --distcheck. * kdc/kerberos5.c: Check for KRB5_PADATA_PA_PAC_REQUEST to check if we should include the PAC in the krbtgt. * kdc/pkinit.c (_kdc_as_rep): check if krb5_generate_random_keyblock failes. * kdc/kerberos5.c (_kdc_as_rep): check if krb5_generate_random_keyblock failes. * kdc/krb5tgs.c (tgs_build_reply): check if krb5_generate_random_keyblock failes. * kdc/krb5tgs.c: Scope etype. * lib/krb5/rd_req.c: Make it possible to turn off PAC check, its default on. * lib/krb5/rd_req.c (krb5_rd_req_ctx): If there is a PAC, verify its server signature. * kdc/kerberos5.c (_kdc_as_rep): call windc client access hook. (_kdc_tkt_add_if_relevant_ad): constify in data argument. * kdc/windc_plugin.h: More comments add a client_access hook. * kdc/windc.c: Add _kdc_windc_client_access. * kdc/krb5tgs.c: rename functions after export some more pac functions. * lib/krb5/test_pac.c: export some more pac functions. * lib/krb5/pac.c: export some more pac functions. * kdc/krb5tgs.c: Resign the PAC in tgsreq if we have a PAC. * configure.in: add tests/plugin/Makefile 2007-01-03 Love Hörnquist Åstrand * kdc/krb5tgs.c: Get right key for PAC krbtgt verification. * kdc/config.c: spelling * lib/krb5/krb5.h: typedef for krb5_pac. * kdc/headers.h: Include . * kdc/Makefile.am: Include windc.c and use windc_plugin.h * kdc/krb5tgs.c: Call callbacks for emulating a Windows Domain Controller. * kdc/kerberos5.c: Call callbacks for emulating a Windows Domain Controller. Move the some of the log related stuff to its own function. * kdc/config.c: Init callbacks for emulating a Windows Domain Controller. * kdc/windc.c: Rename the init function to windc instead of pac. * kdc/windc.c: Callbacks specific to emulating a Windows Domain Controller. * kdc/windc_plugin.h: Callbacks specific to emulating a Windows Domain Controller. * lib/krb5/Makefile.am: add krb5_HEADERS to build_HEADERZ * lib/krb5/pac.c: Support all keyed checksum types. 2007-01-02 Love Hörnquist Åstrand * lib/krb5/pac.c (krb5_pac_get_types): Return list of types. * lib/krb5/test_pac.c: test krb5_pac_get_types * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA. * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA. * lib/krb5/krb5.h: Add KRB5_KRBHST_KCA. * lib/krb5/test_pac.c: test Add/remove pac buffer functions. * lib/krb5/pac.c: Add/remove pac buffer functions. * lib/krb5/pac.c: sprinkle const * lib/krb5/pac.c: rename DCHECK to CHECK * Happy New Year.