Commit graph

161 commits

Author SHA1 Message Date
hauke
15c641865a Re-add conditional ldap entries. 2020-07-03 13:36:57 +00:00
hauke
bb4f8642e6 Add missing dependency on databases/lmdb, adjust PLIST 2020-07-03 13:22:55 +00:00
adam
6f30e74537 mit-krb5: .. and the new patch 2020-04-09 10:57:49 +00:00
adam
1357e82f77 mit-krb5: updated to 1.18
Major changes in 1.18:

Administrator experience
* Remove support for single-DES encryption types.
* Change the replay cache format to be more efficient and robust. Replay cache filenames using the new format end with ".rcache2" by default.
* setuid programs will automatically ignore environment variables that normally affect krb5 API functions, even if the caller does not use krb5_init_secure_context().
* Add an "enforce_ok_as_delegate" krb5.conf relation to disable credential forwarding during GSSAPI authentication unless the KDC sets the ok-as-delegate bit in the service ticket.
* Use the permitted_enctypes krb5.conf setting as the default value for default_tkt_enctypes and default_tgs_enctypes.

Developer experience
* Implement krb5_cc_remove_cred() for all credential cache types.
* Add the krb5_pac_get_client_info() API to get the client account name from a PAC.

Protocol evolution
* Add KDC support for S4U2Self requests where the user is identified by X.509 certificate. (Requires support for certificate lookup from a third-party KDB module.)
* Remove support for an old ("draft 9") variant of PKINIT.
* Add support for Microsoft NegoEx. (Requires one or more third-party GSS modules implementing NegoEx mechanisms.)

User experience
* Add support for "dns_canonicalize_hostname=fallback", causing host-based principal names to be tried first without DNS canonicalization, and again with DNS canonicalization if the un-canonicalized server is not found.
* Expand single-component hostnames in host-based principal names when DNS canonicalization is not used, adding the system's first DNS search path as a suffix. Add a "qualify_shortname" krb5.conf relation to override this suffix or disable expansion.
* Honor the transited-policy-checked ticket flag on application servers, eliminating the requirement to configure capaths on servers in some scenarios.

Code quality
* The libkrb5 serialization code (used to export and import krb5 GSS security contexts) has been simplified and made type-safe.
* The libkrb5 code for creating KRB-PRIV, KRB-SAFE, and KRB-CRED messages has been revised to conform to current coding practices.
* The test suite has been modified to work with macOS System Integrity Protection enabled.
* The test suite incorporates soft-pkcs11 so that PKINIT PKCS11 support can always be tested.


Major changes in 1.17.1:

This is a bug fix release.
* Fix a bug preventing "addprinc -randkey -kvno" from working in kadmin.
* Fix a bug preventing time skew correction from working when a KCM credential cache is used.



Major changes in 1.17:

Administrator experience
* A new Kerberos database module using the Lightning Memory-Mapped Database library (LMDB) has been added. The LMDB KDB module should be more performant and more robust than the DB2 module, and may become the default module for new databases in a future release.
* "kdb5_util dump" will no longer dump policy entries when specific principal names are requested.
* kpropd supports a --pid-file option to write a pid file at startup, when it is run in standalone mode.

Developer experience
* The new krb5_get_etype_info() API can be used to retrieve enctype, salt, and string-to-key parameters from the KDC for a client principal.
* The new GSS_KRB5_NT_ENTERPRISE_NAME name type allows enterprise principal names to be used with GSS-API functions.
* KDC and kadmind modules which call com_err() will now write to the log file in a format more consistent with other log messages.
* Programs which use large numbers of memory credential caches should perform better.

Protocol evolution
* The SPAKE pre-authentication mechanism is now supported. This mechanism protects against password dictionary attacks without requiring any additional infrastructure such as certificates. SPAKE is enabled by default on clients, but must be manually enabled on the KDC for this release.
* PKINIT freshness tokens are now supported. Freshness tokens can protect against scenarios where an attacker uses temporary access to a smart card to generate authentication requests for the future.
* Password change operations now prefer TCP over UDP, to avoid spurious error messages about replays when a response packet is dropped.
* The KDC now supports cross-realm S4U2Self requests when used with a third-party KDB module such as Samba's. The client code for cross-realm S4U2Self requests is also now more robust.

User experience
* The new ktutil addent -f flag can be used to fetch salt information from the KDC for password-based keys.
* The new kdestroy -p option can be used to destroy a credential cache within a collection by client principal name.
* The Kerberos man page has been restored, and documents the environment variables that affect programs using the Kerberos library.

Code quality
* Python test scripts now use Python 3.
* Python test scripts now display markers in verbose output, making it easier to find where a failure occurred within the scripts.
* The Windows build system has been simplified and updated to work with more recent versions of Visual Studio. A large volume of unused Windows-specific code has been removed. Visual Studio 2013 or later is now required.
2020-04-09 10:57:04 +00:00
rillig
9637f7852e all: migrate homepages from http to https
pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
2020-01-26 17:30:40 +00:00
jperkin
982c63fe94 *: Remove obsolete BUILDLINK_API_DEPENDS.openssl. 2020-01-25 10:45:10 +00:00
jperkin
26c1bffc9f *: Recursive revision bump for openssl 1.1.1. 2020-01-18 21:48:19 +00:00
rillig
9fd786bb11 security: align variable assignments
pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
2019-11-04 21:12:51 +00:00
wiz
84e123ddd2 Bump PKGREVISIONs for perl 5.30.0 2019-08-11 13:17:48 +00:00
jperkin
d44c8ae2f2 mit-krb5: Support LDAP, fix plugin shared library naming.
The libtool-ification caused plugins to have a "lib" prefix, causing a mismatch
with what the code was trying to dlopen(), and failures.  Bump PKGREVISION.
2019-07-12 15:40:55 +00:00
wiz
a14ee1e4ba mit-krb5: add upstream pull request URL to patch 2019-05-06 14:06:05 +00:00
wiz
00e019972e mit-krb5: update to 1.16.2nb1.
Fix conflict with hmac symbol from libc, from Naveen Narayanan.
Update configure option, it was renamed. Bump PKGREVISION for that.
Small pkglint fix while here.
2019-05-06 08:20:32 +00:00
adam
d15d0241c8 mit-krb5: updated to 1.16.2
Major changes in 1.16.2

This is a bug fix release.

Fix bugs with concurrent use of MEMORY ccache handles.
Fix a KDC crash when falling back between multiple OTP tokens configured for a principal entry.
Fix memory bugs when gss_add_cred() is used to create a new credential, and fix a bug where it ignores the desired_name.
Fix the behavior of gss_inquire_cred_by_mech() when the credential does not contain an element of the requested mechanism.
Make cross-realm S4U2Self requests work on the client when no default_realm is configured.
Add a kerberos(7) man page containing documentation of the environment variables that affect Kerberos programs.
2018-12-21 15:45:13 +00:00
wiz
93b46879c7 Recursive bump for perl5-5.28.0 2018-08-22 09:43:40 +00:00
jperkin
589484bd12 mit-krb5: mmap -Werror=incompatible-pointer-types fixes. 2018-07-16 10:26:40 +00:00
hauke
aff0127aaa The SunOS (OmniOS) yacc(1) breaks the build with
making generate-files-mac in kadmin...
making generate-files-mac in kadmin/cli...
../../util/ss/mk_cmds kadmin_ct.ct
/usr/bin/yacc  getdate.y
"getdate.y", line 180: fatal: invalid escape, or illegal reserved word: expect
*** Error code 1

-- use bison(1) instead.
2018-06-22 09:16:07 +00:00
tez
0db338e74e mit-krb5: update to 1.16.1
Major changes in 1.16.1 (2018-05-03)

This is a bug fix release.

    Fix flaws in LDAP DN checking, including a null dereference KDC crash which could be triggered by kadmin clients with administrative privileges [CVE-2018-5729, CVE-2018-5730].
    Fix a KDC PKINIT memory leak.
    Fix a small KDC memory leak on transited or authdata errors when processing TGS requests.
    Fix a regression in pkinit_cert_match matching of client certificates containing Microsoft UPN SANs.
    Fix a null dereference when the KDC sends a large TGS reply.
    Fix "kdestroy -A" with the KCM credential cache type.
    Allow validation of Microsoft PACs containing enterprise names.
    Fix the handling of capaths "." values.
    Fix handling of repeated subsection specifications in profile files (such as when multiple included files specify relations in the same subsection).

Major changes in 1.16 (2017-12-05)

Administrator experience:
        The KDC can match PKINIT client certificates against the "pkinit_cert_match" string attribute on the client principal entry, using the same syntax as the existing "pkinit_cert_match" profile option.
        The ktutil addent command supports the "-k 0" option to ignore the key version, and the "-s" option to use a non-default salt string.
        kpropd supports a --pid-file option to write a pid file at startup, when it is run in standalone mode.
        The "encrypted_challenge_indicator" realm option can be used to attach an authentication indicator to tickets obtained using FAST encrypted challenge pre-authentication.
        Localization support can be disabled at build time with the --disable-nls configure option.

Developer experience:
        The kdcpolicy pluggable interface allows modules control whether tickets are issued by the KDC.
        The kadm5_auth pluggable interface allows modules to control whether kadmind grants access to a kadmin request.
        The certauth pluggable interface allows modules to control which PKINIT client certificates can authenticate to which client principals.
        KDB modules can use the client and KDC interface IP addresses to determine whether to allow an AS request.
        GSS applications can query the bit strength of a krb5 GSS context using the GSS_C_SEC_CONTEXT_SASL_SSF OID with gss_inquire_sec_context_by_oid().
        GSS applications can query the impersonator name of a krb5 GSS credential using the GSS_KRB5_GET_CRED_IMPERSONATOR OID with gss_inquire_cred_by_oid().
        kdcpreauth modules can query the KDC for the canonicalized requested client principal name, or match a principal name against the requested client principal name with canonicalization.

Protocol evolution:
        The client library will continue to try pre-authentication mechanisms after most failure conditions.
        The KDC will issue trivially renewable tickets (where the renewable lifetime is equal to or less than the ticket lifetime) if requested by the client, to be friendlier to scripts.
        The client library will use a random nonce for TGS requests instead of the current system time.
        For the RC4 string-to-key or PAC operations, UTF-16 is supported (previously only UCS-2 was supported).
        When matching PKINIT client certificates, UPN SANs will be matched correctly as UPNs, with canonicalization.

User experience:
        Dates after the year 2038 are accepted (provided that the platform time facilities support them), through the year 2106.
        Automatic credential cache selection based on the client realm will take into account the fallback realm and the service hostname.
        Referral and alternate cross-realm TGTs will not be cached, avoiding some scenarios where they can be added to the credential cache multiple times.
        A German translation has been added.

Code quality:
        The build is warning-clean under clang with the configured warning options.
        The automated test suite runs cleanly under AddressSanitizer.

Major changes in 1.15.3 (2018-05-03)

This is a bug fix release.

    Fix flaws in LDAP DN checking, including a null dereference KDC crash which could be triggered by kadmin clients with administrative privileges [CVE-2018-5729, CVE-2018-5730].
    Fix a KDC PKINIT memory leak.
    Fix a small KDC memory leak on transited or authdata errors when processing TGS requests.
    Fix a null dereference when the KDC sends a large TGS reply.
    Fix "kdestroy -A" with the KCM credential cache type.
    Fix the handling of capaths "." values.
    Fix handling of repeated subsection specifications in profile files (such as when multiple included files specify relations in the same subsection).

Major changes in 1.15.2 (2017-09-25)

This is a bug fix release.

    Fix a KDC denial of service vulnerability caused by unset status strings [CVE-2017-11368]
    Preserve GSS contexts on init/accept failure [CVE-2017-11462]
    Fix kadm5 setkey operation with LDAP KDB module
    Use a ten-second timeout after successful connection for HTTPS KDC requests, as we do for TCP requests
    Fix client null dereference when KDC offers encrypted challenge without FAST
    Ignore dotfiles when processing profile includedir directive
    Improve documentation

Major changes in 1.15.1 (2017-03-01)

This is a bug fix release.

    Allow KDB modules to determine how the e_data field of principal fields is freed
    Fix udp_preference_limit when the KDC location is configured with SRV records
    Fix KDC and kadmind startup on some IPv4-only systems
    Fix the processing of PKINIT certificate matching rules which have two components and no explicit relation
    Improve documentation

Major changes in 1.15 (2016-12-01)

Administrator experience:
        Improve support for multihomed Kerberos servers by adding options for specifying restricted listening addresses for the KDC and kadmind.
        Add support to kadmin for remote extraction of current keys without changing them (requires a special kadmin permission that is excluded from the wildcard permission), with the exception of highly protected keys.
        Add a lockdown_keys principal attribute to prevent retrieval of the principal's keys (old or new) via the kadmin protocol. In newly created databases, this attribute is set on the krbtgt and kadmin principals.
        Restore recursive dump capability for DB2 back end, so sites can more easily recover from database corruption resulting from power failure events.
        Add DNS auto-discovery of KDC and kpasswd servers from URI records, in addition to SRV records. URI records can convey TCP and UDP servers and master KDC status in a single DNS lookup, and can also point to HTTPS proxy servers.
        Add support for password history to the LDAP back end.
        Add support for principal renaming to the LDAP back end.
        Use the getrandom system call on supported Linux kernels to avoid blocking problems when getting entropy from the operating system.
        In the PKINIT client, use the correct DigestInfo encoding for PKCS #1 signatures, so that some especially strict smart cards will work.

Code quality:
        Clean up numerous compilation warnings.
        Remove various infrequently built modules, including some preauth modules that were not built by default.

Developer experience:
        Add support for building with OpenSSL 1.1.
        Use SHA-256 instead of MD5 for (non-cryptographic) hashing of authenticators in the replay cache. This helps sites that must build with FIPS 140 conformant libraries that lack MD5.
        Eliminate util/reconf and allow the use of autoreconf alone to regenerate the configure script.

Protocol evolution:
        Add support for the AES-SHA2 enctypes, which allows sites to conform to Suite B crypto requirements.
2018-06-15 20:46:01 +00:00
jperkin
dbcc00554b mit-krb5: Avoid bogus -Wuninitialized warning. 2018-05-25 13:46:40 +00:00
tez
ae64bfc327 mit-krb5: update to 1.14.6
Major changes in 1.14.6 (2017-09-25)

This is a bug fix release.

    Fix a KDC denial of service vulnerability caused by unset status strings [CVE-2017-11368]
    Preserve GSS contexts on init/accept failure [CVE-2017-11462]
    Fix kadm5 setkey operation with LDAP KDB module
    Use a ten-second timeout after successful connection for HTTPS KDC requests, as we do for TCP requests
    Fix client null dereference when KDC offers encrypted challenge without FAST
2017-10-10 21:22:53 +00:00
tez
7dd84b6ab5 Update to 1.14.5 and patch for CVE-2017-11368 2017-08-21 22:19:26 +00:00
tez
2c330b3931 Need to take advantage of the logic that makes this null on non-OSX.
(distinfo already has the checksum for this corrected patch, sorry.)
2016-10-31 17:15:36 +00:00
tez
66438d98b7 Update to 1.14.4 and fix build on OS X
Should resolve PR#51136
2016-10-28 20:56:14 +00:00
wiz
73716d23de Bump PKGREVISION for perl-5.24.0 for everything mentioning perl. 2016-07-09 06:38:30 +00:00
fhajny
4ebc8705ad Make sure that LDFLAGS are not ignored. Fixes build on at least SunOS. 2016-06-21 14:58:17 +00:00
fhajny
9a7d622e2e Use REAL_ROOT_USER/REAL_ROOT_GROUP instead of ROOT_USER/ROOT_GROUP
for all pkgsrc dir/file ownership rules. Fixes unprivileged
user/group names from leaking into binary packages, manifest as
non-fatal chown/chgrp failure messages at pkg_add time.

Bump respective packages' PKGREVISION.
2016-05-17 10:32:06 +00:00
kamil
31423ed178 Fix build on recent NetBSD-current
The RTM_RESOLVE symbol has been removed after the following change in
src/sys/net/route.h:
    revision 1.98
    date: 2016-04-04 09:37:07 +0200;  author: ozaki-r;  state: Exp;  lines: +8 -6;  commitid: r0chxU5ZkTdAqh1z;
    Separate nexthop caches from the routing table

Bump PKGREVISION to 1
2016-04-17 15:33:13 +00:00
tez
5bbc10b8a1 Fix build on 64 bit intel systems with yasm installed. 2016-03-18 19:08:39 +00:00
tez
188b8d1ff4 Missed one checksum update... fixed. 2016-03-15 15:22:38 +00:00
tez
91d0631a40 Update to 1.14.1 resolving all reported vulnerabilities including:
CVE-2015-2695
CVE-2015-2696
CVE-2015-2697
CVE-2015-2698
CVE-2015-8629
CVE-2015-8630
CVE-2015-8631
2016-03-15 15:16:39 +00:00
jperkin
b5e60568fb Ensure libss is built -static, the library is not installed resulting
in runtime failures which weren't previously detected due to a bug in
check-shlibs.  Bump PKGREVISION.
2016-03-10 18:21:58 +00:00
jperkin
17661ff9a5 Bump PKGREVISION for security/openssl ABI bump. 2016-03-05 11:27:40 +00:00
tez
8e879b0fa6 Fix build in case there is a system version of verto found.
No revbump because it failed to build before if there was one.
Fixes pkg/50348
2015-11-05 19:10:29 +00:00
jperkin
22c3d5dee6 Add /usr/lib/mit/bin/krb5-config as a possible location for the
krb5-config script, fixing SLES according to sobukus on IRC.
2015-11-04 15:32:34 +00:00
agc
5293710fb4 Add SHA512 digests for distfiles for security category
Problems found locating distfiles:
	Package f-prot-antivirus6-fs-bin: missing distfile fp-NetBSD.x86.32-fs-6.2.3.tar.gz
	Package f-prot-antivirus6-ws-bin: missing distfile fp-NetBSD.x86.32-ws-6.2.3.tar.gz
	Package libidea: missing distfile libidea-0.8.2b.tar.gz
	Package openssh: missing distfile openssh-7.1p1-hpn-20150822.diff.bz2
	Package uvscan: missing distfile vlp4510e.tar.Z

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-04 01:17:40 +00:00
wiz
2e65d464e8 Recursive PKGREVISION bump for all packages mentioning 'perl',
having a PKGNAME of p5-*, or depending such a package,
for perl-5.22.0.
2015-06-12 10:50:58 +00:00
jperkin
9fb14aef19 Ensure we can find OpenSSL after rpath changes. 2015-05-26 13:56:16 +00:00
joerg
4f2fc835d7 Redo rpath handling as the option is leaked into the config binary.
Bump revision.
2015-03-22 20:09:09 +00:00
joerg
45c2e5bc3e GC MAKE_PROGRAM as well. 2015-03-16 10:44:23 +00:00
joerg
ea967f82bb Don't use -R without argument. Make libapputils a convenience archive as
it is. Don't depend on gmake.
2015-03-15 23:07:20 +00:00
tnn
da7dc52ac1 post-extract target needs gzip as tool 2015-03-12 14:26:11 +00:00
tez
c2d3b7a572 Backported fixes for:
http://web.mit.edu/kerberos/advisories/2015-001-patch-r111.txt
 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5352
 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9421
 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9422
 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9423
and:
 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5353
and
 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5355
 (also apparently known as SA62976)
2015-02-25 22:28:58 +00:00
tez
164e0bdf9f Add patch for CVE-2014-5351 from:
http://krbdev.mit.edu/rt/Ticket/Display.html?id=8018
 3bf9e33f9d.diff
2014-11-25 23:40:49 +00:00
tez
cc60b78017 Add fixes for CVE-2014-4341, CVE-2014-4342 (same patch as CVE-2014-4341)
CVE-2014-4343, CVE-2014-4344 & MITKRB5-SA-2014-001 (CVE-2014-4345).
2014-08-28 22:23:05 +00:00
wiz
7eeb51b534 Bump for perl-5.20.0.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
2014-05-29 23:35:13 +00:00
jperkin
45bc40abb4 Remove example rc.d scripts from PLISTs.
These are now handled dynamically if INIT_SYSTEM is set to "rc.d", or
ignored otherwise.
2014-03-11 14:04:57 +00:00
obache
167fa6cf42 Also define KRB5_CONFIG for the case not using builtin mit-krb5. 2014-02-28 12:17:20 +00:00
adam
e8764a7c78 Fix for Darwin version higher that 10 2014-02-13 20:31:08 +00:00
tron
c64e9eb269 Recursive PKGREVISION bump for OpenSSL API version bump. 2014-02-12 23:18:26 +00:00
jperkin
80a4e644aa On SunOS, install a wrapper script for krb5-config to strip away arguments
that are unsupported by the native port of MIT KRB5, and add any flags
necessary to support the builtin version.

Fixes various packages since the change to support the SunOS builtin.

Based on patches by Richard PALO (richard@).
2013-12-11 10:27:01 +00:00
adam
17928d9904 Changes 1.10.7:
This is a bugfix release. The krb5-1.10 release series is in maintenance, and for new deployments, installers should prefer the krb5-1.11 release series or later.
* Fix a KDC locking issue that could lead to the KDC process holding a persistent lock, preventing administrative actions such as password changes.
* Fix a number of bugs related to KDC master key rollover.
* Fix a KDC null pointer dereference [CVE-2013-1418] that could affect KDCs that serve multiple realms.
2013-12-03 14:08:53 +00:00