[Heimdal-source-changes] [heimdal/heimdal] 4b09f9: Fixes https://github.com/heimdal/heimdal/issues/31...

Luke Howard noreply at github.com
Ons May 15 21:35:56 CEST 2019


  Branch: refs/heads/7.6.0-fixes
  Home:   https://github.com/heimdal/heimdal
  Commit: 4b09f90d25a566f10bf7a12208320a1ac43e28ae
      https://github.com/heimdal/heimdal/commit/4b09f90d25a566f10bf7a12208320a1ac43e28ae
  Author: Quanah Gibson-Mount <quanah at symas.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M kdc/connect.c

  Log Message:
  -----------
  Fixes https://github.com/heimdal/heimdal/issues/310, use PF_UNIX instead
of PF_LOCAL

(cherry picked from commit e7879208e47f60bf88f6a2dad00fb77075843f2c)


  Commit: 8bfbf2cbfe72294517d677142019d5dc3244e843
      https://github.com/heimdal/heimdal/commit/8bfbf2cbfe72294517d677142019d5dc3244e843
  Author: Luke Howard <lukeh at padl.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M lib/hcrypto/evp-pkcs11.c
    M lib/hcrypto/evp.h

  Log Message:
  -----------
  Fix PKCS#11 hcrypto backend regression (#314, #315, #316, #317)

81c778e broke the PKCS#11 hcrypto backend broke for many cases as it did
not support cipherstate resetting. (Prior to 81c778e, which was to fix #194,
the PKCS#11 backend did not support cipherstate chaining across invocations.)

hcrypto backends that maintain cipherstate independently of the hcrypto
context IV field need to set EVP_CIPH_ALWAYS_CALL_INIT to avoid the two
diverging. Their init function should support resetting the cipherstate
independently of key scheduling.

(cherry picked from commit a88d00660efc0de15514f0957a51954478e31f45)


  Commit: 61513001829ef9eb41eb2b754cf407cbd5ef50a6
      https://github.com/heimdal/heimdal/commit/61513001829ef9eb41eb2b754cf407cbd5ef50a6
  Author: Quanah Gibson-Mount <quanah at symas.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M appl/dceutils/k5dcecon.c
    M kuser/klist.c
    M lib/gssapi/krb5/test_sequence.c
    M lib/hx509/cms.c
    M lib/hx509/print.c
    M lib/kdfs/k5dfspag.c
    M tests/can/check-can.in
    M tests/db/add-modify-delete.in
    M tests/db/check-aliases.in
    M tests/db/loaddump-db.in
    M tests/gss/check-basic.in
    M tests/gss/check-context.in
    M tests/gss/check-gssmask.in
    M tests/gss/check-ntlm.in
    M tests/gss/check-spnego.in
    M tests/kdc/check-canon.in
    M tests/kdc/check-cc.in
    M tests/kdc/check-delegation.in
    M tests/kdc/check-des.in
    M tests/kdc/check-digest.in
    M tests/kdc/check-fast.in
    M tests/kdc/check-hdb-mitdb.in
    M tests/kdc/check-iprop.in
    M tests/kdc/check-kadmin.in
    M tests/kdc/check-kdc.in
    M tests/kdc/check-keys.in
    M tests/kdc/check-kinit.in
    M tests/kdc/check-kpasswdd.in
    M tests/kdc/check-pkinit.in
    M tests/kdc/check-referral.in
    M tests/kdc/check-tester.in
    M tests/kdc/check-uu.in
    M tests/ldap/check-ldap.in
    M tests/plugin/check-pac.in

  Log Message:
  -----------
  Minor typo/grammar fixes

(cherry picked from commit 7c16ce34570ef8b255f2ad1bc3f8fb3b019df84f)


  Commit: 36ac5befe1fceae36c0aa86ba916644a963c8971
      https://github.com/heimdal/heimdal/commit/36ac5befe1fceae36c0aa86ba916644a963c8971
  Author: David Mulder <David.Mulder at software.dell.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M lib/hcrypto/evp-pkcs11.c

  Log Message:
  -----------
  solaris 8 sparc defines _LP64 to empty, causing build failure

(cherry picked from commit f132d2040dbc326b8f3c8b3970001a966e58ade1)


  Commit: 97866e7322a1dc8521c3270396aac23ade592479
      https://github.com/heimdal/heimdal/commit/97866e7322a1dc8521c3270396aac23ade592479
  Author: Luke Howard <lukeh at padl.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M lib/hcrypto/evp-pkcs11.c

  Log Message:
  -----------
  hcrypto PKCS#11 backend: allow digest update with NULL (#378)

Some callers of EVP_DigestUpdate (such as libntlm) pass NULL as the
data argument. PKCS#11 returns CKR_ARGUMENTS_BAD which may poison
the context. Pass an empty string to C_DigestUpdate work around this.

(cherry picked from commit 590be3d7dadb8e17a15261bce9275f37f6dfc917)


  Commit: 7c785cc4ef50c5a00ba203f3696b326d834567c6
      https://github.com/heimdal/heimdal/commit/7c785cc4ef50c5a00ba203f3696b326d834567c6
  Author: Luke Howard <lukeh at padl.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M lib/hcrypto/evp-pkcs11.c

  Log Message:
  -----------
  hcrypto PKCS#11 backend: allow digest update with NULL (#378)

In the PKCS#11 backend, add an assertion check to p11_md_update()
to validate that the data length is zero if the data is NULL.

(cherry picked from commit 6a1bb953230a2095a9ef7b9f1e979cf519ac616b)


  Commit: c381868cbf6f59d2c8dddb45a2dff9081298c861
      https://github.com/heimdal/heimdal/commit/c381868cbf6f59d2c8dddb45a2dff9081298c861
  Author: Luke Howard <lukeh at padl.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M lib/hcrypto/evp-pkcs11.c

  Log Message:
  -----------
  hcrypto PKCS#11 backend: don't leak sessions on digest reinit

Clients of the EVP API can reinitialize message digest contexts
without destroying them. The PKCS#11 backend assumed they were
only used once, and was leaking session handles upon reinitialization.
This fix disposes of any existing PKCS#11 message digest context
in the initialization method.

(cherry picked from commit 9518f2965b4d0daef0eda733c31c6c26ccae20a4)


  Commit: ecd7915eda0339a56d9b7e3a0b2c3c6ac216fbed
      https://github.com/heimdal/heimdal/commit/ecd7915eda0339a56d9b7e3a0b2c3c6ac216fbed
  Author: Luke Howard <lukeh at padl.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M lib/hcrypto/evp-wincng.c

  Log Message:
  -----------
  hcrypto WinCNG backend: don't leak handles on digest reinit

Similar fix to 9518f296, but for the WinCNG EVP backend.

(cherry picked from commit bd0b6f8c2b8663e372b713769b554984b2d929ae)


  Commit: 12bfe40451c5a9fd0969e44cbadf3ac5ebff4382
      https://github.com/heimdal/heimdal/commit/12bfe40451c5a9fd0969e44cbadf3ac5ebff4382
  Author: Luke Howard <lukeh at padl.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M lib/hcrypto/evp-wincng.c

  Log Message:
  -----------
  hcrypto WinCNG backend: don't leak handles on crypto reinit

Similar fix to a88d0066, but for the WinCNG EVP backend. However this
is just a fix for leaking handles if the same EVP context is used with
a new key; there is no functionality issue as cipherstate is maintained
directly in the EVP context, not internally by WinCNG.

(cherry picked from commit 3224a282a65bfcabfb730112b53a89f95341f8b3)


  Commit: ab038dcd1456816d4279428a8173224567a9d11b
      https://github.com/heimdal/heimdal/commit/ab038dcd1456816d4279428a8173224567a9d11b
  Author: Luke Howard <lukeh at padl.com>
  Date:   2019-05-15 (Wed, 15 May 2019)

  Changed paths:
    M lib/hcrypto/evp-pkcs11.c

  Log Message:
  -----------
  hcrypto PKCS#11 backend: Call C_Initialize() on every hcrypto call

This is required as the PKCS#11 library needs to be reinitialized after
forking. This was causing a problem with ipropd.

This fix appears to incur a repeatable 10ms performance penalty on aes-test.

Caching the initialization status using a once control and invalidating it
on fork provided no measurable performance benefit on Solaris 11. Other
approaches would not be thread-safe or would involve more intrusive code
changes, such as exposing heimbase's atomics.

(cherry picked from commit 934d5e09bf3ba0774d303da53446e5ff94daae01)

Change-Id: I47566373f43eab3cb30a24ffbe37bbcd309a5f3e


Compare: https://github.com/heimdal/heimdal/compare/4b09f90d25a5%5E...ab038dcd1456


More information about the Heimdal-source-changes mailing list