Update the existing heimdal implementation for OpenSSL 1.1.Existing work is underway to import a newer version of heimdal, butthis patchset gets us to a fully working tree to enable more widespre
Update the existing heimdal implementation for OpenSSL 1.1.Existing work is underway to import a newer version of heimdal, butthis patchset gets us to a fully working tree to enable more widespread testing of OpenSSL 1.1 for now.I've also enabled WARNS=1 for kerberos (which is the reason for thechange in libroken). Having -Werror enabled was useful during the1.1 updates and we probably should have warnings enabled by defaultfor kerberos anyway.This passes make tinderbox, and I have also done some very lightruntime testing on amd64.Reviewed by: bjk, jkim, emasteDifferential Revision: https://reviews.freebsd.org/D17276
show more ...
Update userland arc4random() with OpenBSD's Chacha20 based arc4random(). ObsoleteFiles.inc: Remove manual pages for arc4random_addrandom(3) and arc4random_stir(3). contrib/ntp/lib/isc/
Update userland arc4random() with OpenBSD's Chacha20 based arc4random(). ObsoleteFiles.inc: Remove manual pages for arc4random_addrandom(3) and arc4random_stir(3). contrib/ntp/lib/isc/random.c: contrib/ntp/sntp/libevent/evutil_rand.c: Eliminate in-tree usage of arc4random_addrandom(). crypto/heimdal/lib/roken/rand.c: crypto/openssh/config.h: Eliminate in-tree usage of arc4random_stir(). include/stdlib.h: Remove arc4random_stir() and arc4random_addrandom() prototypes, provide temporary shims for transistion period. lib/libc/gen/Makefile.inc: Hook arc4random-compat.c to build, add hint for Chacha20 source for kernel, and remove arc4random_addrandom(3) and arc4random_stir(3) links. lib/libc/gen/arc4random.c: Adopt OpenBSD arc4random.c,v 1.54 with bare minimum changes, use the sys/crypto/chacha20 implementation of keystream. lib/libc/gen/Symbol.map: Remove arc4random_stir and arc4random_addrandom interfaces. lib/libc/gen/arc4random.h: Adopt OpenBSD arc4random.h,v 1.4 but provide _ARC4_LOCK of our own. lib/libc/gen/arc4random.3: Adopt OpenBSD arc4random.3,v 1.35 but keep FreeBSD r114444 and r118247. lib/libc/gen/arc4random-compat.c: Compatibility shims for arc4random_stir and arc4random_addrandom functions to preserve ABI. Log once when called but do nothing otherwise. lib/libc/gen/getentropy.c: lib/libc/include/libc_private.h: Fold __arc4_sysctl into getentropy.c (renamed to arnd_sysctl). Remove from libc_private.h as a result. sys/crypto/chacha20/chacha.c: sys/crypto/chacha20/chacha.h: Make it possible to use the kernel implementation in libc.PR: 182610Reviewed by: cem, markmObtained from: OpenBSDRelnotes: yesDifferential Revision: https://reviews.freebsd.org/D16760
MFV r320905: Import upstream fix for CVE-2017-11103.In _krb5_extract_ticket() the KDC-REP service name must be obtained fromencrypted version stored in 'enc_part' instead of the unencrypted versio
MFV r320905: Import upstream fix for CVE-2017-11103.In _krb5_extract_ticket() the KDC-REP service name must be obtained fromencrypted version stored in 'enc_part' instead of the unencrypted versionstored in 'ticket'. Use of the unecrypted version provides anopportunity for successful server impersonation and other attacks.Submitted by: hrsObtained from: HeimdalSecurity: FreeBSD-SA-17:05.heimdalSecurity: CVE-2017-11103
Renumber copyright clause 4Renumber cluase 4 to 3, per what everybody else did when BSD grantedthem permission to remove clause 3. My insistance on keeping the samenumbering for legal reasons is
Renumber copyright clause 4Renumber cluase 4 to 3, per what everybody else did when BSD grantedthem permission to remove clause 3. My insistance on keeping the samenumbering for legal reasons is too pedantic, so give up on that point.Submitted by: Jan Schaumann <[email protected]>Pull Request: https://github.com/freebsd/freebsd/pull/96
Remove duplicate symbol from libhx509 version-script.mapUpstream commit r21331 (7758a5d0) added semiprivate function_hx509_request_to_pkcs10 twice. This change has been committed upstreamas 8ef00
Remove duplicate symbol from libhx509 version-script.mapUpstream commit r21331 (7758a5d0) added semiprivate function_hx509_request_to_pkcs10 twice. This change has been committed upstreamas 8ef0071d.
Remove duplicate symbols from libroken version-script.mapUpstream commit r24759 (efed563) prefixed some symbols with rk_, butintroduced 6 duplicate symbols in the version script (because therk_-p
Remove duplicate symbols from libroken version-script.mapUpstream commit r24759 (efed563) prefixed some symbols with rk_, butintroduced 6 duplicate symbols in the version script (because therk_-prefixed versions of the symbols were already present).
libkrb5: Fix potential double-freeIf krb5_make_principal fails, tmp_creds.server may remain a pointer to freedmemory and then be double-freed. After freeing it the first time, initializeit to NU
libkrb5: Fix potential double-freeIf krb5_make_principal fails, tmp_creds.server may remain a pointer to freedmemory and then be double-freed. After freeing it the first time, initializeit to NULL, which causes subsequent krb5_free_principal calls to do the rightthing.Reported by: CoverityCID: 1273430Sponsored by: EMC / Isilon Storage Division
NO_MAN= has been deprecated in favor of MAN= for some time, go aheadand finish the job. ncurses is now the only Makefile in the tree thatuses it since it wasn't a simple mechanical change, and will
NO_MAN= has been deprecated in favor of MAN= for some time, go aheadand finish the job. ncurses is now the only Makefile in the tree thatuses it since it wasn't a simple mechanical change, and will beaddressed in a future commit.
Apply patch from upstream Heimdal for encoding fixRFC 4402 specifies the implementation of the gss_pseudo_random()function for the krb5 mechanism (and the C bindings therein).The implementation u
Apply patch from upstream Heimdal for encoding fixRFC 4402 specifies the implementation of the gss_pseudo_random()function for the krb5 mechanism (and the C bindings therein).The implementation uses a PRF+ function that concatenates the outputof individual krb5 pseudo-random operations produced with a counterand seed. The original implementation of this function in Heimdalincorrectly encoded the counter as a little-endian integer, but theRFC specifies the counter encoding as big-endian. The implementationinitializes the counter to zero, so the first block of output (16 octets,for the modern AES enctypes 17 and 18) is unchanged. (RFC 4402 specifiesthat the counter should begin at 1, but both existing implementationsbegin with zero and it looks like the standard will be re-issued, withtest vectors, to begin at zero.)This is upstream's commit f85652af868e64811f2b32b815d4198e7f9017f6,from 13 October, 2013:% Fix krb5's gss_pseudo_random() (n is big-endian)%% The first enctype RFC3961 prf output length's bytes are correct because% the little- and big-endian representations of unsigned zero are the% same. The second block of output was wrong because the counter was not% being encoded as big-endian.%% This change could break applications. But those applications would not% have been interoperating with other implementations anyways (in% particular: MIT's).Approved by: hrs (mentor, src committer)MFC after: 3 days
Fix gssapi/gssapi_krb5.h after Heimdal 1.5.1 import.Reviewed by: dfr
Have the ipropd-master listen on an IPv6 socket in addition to an IPv4socket to allow propagation of changes to a Heimdal Kerberos databasefrom the KDC master to the slave(s) work on IPv6 as well.
Have the ipropd-master listen on an IPv6 socket in addition to an IPv4socket to allow propagation of changes to a Heimdal Kerberos databasefrom the KDC master to the slave(s) work on IPv6 as well.Update the stats logging to also handle IPv6 addresses.Reported by: peter (found on FreeBSD cluster)X-to-be-tested-by: peterMFC after: 3 weeks
In crypto/heimdal/lib/sl/slc-lex.l, don't define YY_NO_INPUT, since%option nounput is already specified.MFC after: 3 days
- Update FreeBSD's Heimdal distribution to 1.5.2. This is a bugfix release, which fixes a DoS issue in libkrb5.
- Update FreeBSD Heimdal distribution to version 1.5.1. This also brings several new kerberos related libraries and applications to FreeBSD: o kgetcred(1) allows one to manually get a ticket for
- Update FreeBSD Heimdal distribution to version 1.5.1. This also brings several new kerberos related libraries and applications to FreeBSD: o kgetcred(1) allows one to manually get a ticket for a particular service. o kf(1) securily forwards ticket to another host through an authenticated and encrypted stream. o kcc(1) is an umbrella program around klist(1), kswitch(1), kgetcred(1) and other user kerberos operations. klist and kswitch are just symlinks to kcc(1) now. o kswitch(1) allows you to easily switch between kerberos credentials if you're running KCM. o hxtool(1) is a certificate management tool to use with PKINIT. o string2key(1) maps a password into key. o kdigest(8) is a userland tool to access the KDC's digest interface. o kimpersonate(8) creates a "fake" ticket for a service. We also now install manpages for some lirbaries that were not installed before, libheimntlm and libhx509.- The new HEIMDAL version no longer supports Kerberos 4. All users are recommended to switch to Kerberos 5.- Weak ciphers are now disabled by default. To enable DES support (used by telnet(8)), use "allow_weak_crypto" option in krb5.conf.- libtelnet, pam_ksu and pam_krb5 are now compiled with error on warnings disabled due to the function they use (krb5_get_err_text(3)) being deprecated. I plan to work on this next.- Heimdal's KDC now require sqlite to operate. We use the bundled version and install it as libheimsqlite. If some other FreeBSD components will require it in the future we can rename it to libbsdsqlite and use for these components as well.- This is not a latest Heimdal version, the new one was released while I was working on the update. I will update it to 1.5.2 soon, as it fixes some important bugs and security issues.
Fix clang warning (why is there nowhere yyparse() is declared?).Approved by: philip (mentor)
Fix conflicts after heimdal-1.1 import and add build infrastructure. Importall non-style changes made by heimdal to our own libgssapi.
Vendor import of Heimdal 1.1
Fix the amd64 (and presumably ia64) lib32 build by ensuring that theheimdal GSS-API mechanism uses its own version of gssapi.h, including allthe implementation-dependant pollution contained therein
Fix the amd64 (and presumably ia64) lib32 build by ensuring that theheimdal GSS-API mechanism uses its own version of gssapi.h, including allthe implementation-dependant pollution contained therein.This moves the file off the vendor branch, sadly.Submitted by: bz
Vendor import of Heimdal 0.6.3.
Remove lib/kdfs from vendor branch: we do not build it, and it will notbe included in future imports.
Clean up the Heimdal vendor branch by removing files not included inany import for several years.If memory serves, this wasSuggested by: ruan awfully long time ago-- sorry for the delay!
Resolve conflicts after import of Heimdal 0.6.1.
Vendor import of Heimdal 0.6.1.
Correct badly-formed code (missing quote) within `#if 0' section.Newer versions of GCC error in such situations.Obtained from: Heimdal CVS
Resolve conflicts after import of Heimdal 0.6.
123