9557025826
Changes since 1.6.2: OpenAFS 1.6.5 commit 5f5b02a57102af1a85fb9bdaaec31b6094d0c9c4 Author: Michael Meffie <mmeffie@sinenomine.net> Date: Wed Jul 17 23:10:42 2013 +0100 ubik: Fix encryption selection in ugen Make sure that we encrypt when requested to by the application Change-Id: If4c2ba2257bf060d3e9169ccdbcae54f54dfe5d7 commit 0e41558190a5190dee3037c08e8df31e61e5134e Author: Simon Wilkinson <sxw@your-file-system.com> Date: Tue Jul 16 19:37:00 2013 +0100 Make OpenAFS 1.6.5 Change-Id: I693297ef6e20358966930cb29116d45b9151811f commit 9e1c24a583634e6102091388dedc47745efce78a Author: Ben Kaduk <kaduk@mit.edu> Date: Sat Jul 13 10:49:27 2013 +0100 Add support for deriving DES keys to klog.krb5 (cherry picked from commit e79102e7918ce5196e870a806879135743ec3abb) Change-Id: Ia7ebfdd10dcfd6cd164b10275016147630748bac commit 4b7553600a7659d117df0bde7b1c1dfde031deb8 Author: Andrew Deason <adeason@sinenomine.net> Date: Wed Jul 10 12:52:28 2013 -0500 Reload rxkad.keytab on CellServDB modification Make the reloading of rxkad.keytab keys occur in the same way that KeyFile keys are reloaded. That is, we only try to reload them if the CellServDB mtime has changed. This is intended to have exactly the same reloading behavior as KeyFile reloads. I would have triggered this from afsconf_Check, but that approach has annoyances. (Calling ticket5_keytab functions directly from cellconfig pulls in libkrb5 dependencies for everything that uses cellconfig, and we'd have to trigger an afsconf_Check call by calling some other cellconfig function.) 9102f49a3bdc67ed74e254349eb55b529472f45c commit d2024c158e3a879305ff17cf726d3958f20677f4 Author: Andrew Deason <adeason@sinenomine.net> Date: Mon Jun 10 17:49:12 2013 -0500 Avoid calling afsconf_GetLatestKey directly Don't call afsconf_GetLatestKey to determine whether we can print our own local tokens, since we may have keytab 'local' keys, but no DES keys. Just try to construct them and see if it fails, using afsconf_PickClientSecObj or afsconf_ClientAuth{,Secure} as appropriate. commit d4788f6e283b79a1b974dda1e8fae213efd34930 Author: Andrew Deason <adeason@sinenomine.net> Date: Mon Jun 10 17:15:27 2013 -0500 auth: Do not always fallback to noauth Make afsconf_PickClientSecObj error out if we can't construct localauth tokens (unless the caller explicitly requested rxnull fallback). afsconf_ClientAuth{,Secure} still falls back, as always. commit 95d57c74476c5a02ce6d9ca913dcbf88ac5c1143 Author: Ben Kaduk <kaduk@mit.edu> Date: Tue May 14 19:37:59 2013 -0400 Clean up akimpersonate and use for server-to-server Since a6d7cacfd, aklog has been able to print a krb5 ticket to itself for an arbitrary client principal, allowing a user with access to the cell's krb5 key to get tokens as an arbitrary user. Now that it is possible to use native krb5 tickets with non-DES enctypes for authentication, and akimpersonate is available from libauth, use printed native krb5 tickets for server-to-server communication (as well as the -localauth versions of the client utilities). Remove the early call to afsconf_GetLatestKey() in afsconf_PickClientSecObj() so that we do not end up picking an old DES key before we try to find a better key to use. Before doing so, refactor the akimpersonate code to be more usable and readable, and eliminate some dead code. For example, we always printed addressless tickets, so that code could be removed. Other code had excessive stack usage for a library routine, which is eliminated. Use a start time of 0 instead of 300 so that the printed ticket will always be detected as infinite-lifetime. In order to ensure usability on all platforms (in particular Solaris), provide a couple more compat shims to implement routines which are not always available from the krb5 library, in particular encode_krb5_ticket and encode_krb5_enc_tkt_part. Thanks to Andrew Deason for implementing these compatability routines. UKERNEL doesn't need this stuff. commit 15b77552b22e3ff3e7478008673775a45047f600 Author: Alexander Chernyakhovsky <achernya@mit.edu> Date: Tue May 14 18:12:08 2013 -0400 Move akimpersonate to libauth Give it its own source file and header, install the header at depinstall time, and have aklog get the akimpersonate functionality from libauth. Keep the linux box copyright from aklog_main.c (but strip the trailing whitespace), as that block was added with the akimpersonate code. Remove all calls to afs_com_err() as is fitting for library code, to let it build. Do not bother removing curly braces which are no longer needed; a future cleanup commit will catch that. commit 1c7fa1405940a136a992d65023cc690b1111ab3e Author: Chaskiel Grundman <cg2v@andrew.cmu.edu> Date: Sun Mar 17 21:58:47 2013 -0400 Derive DES/fcrypt session key from other key types If a kerberos 5 ticket has a session key with a non-DES enctype, use the NIST SP800-108 KDF in counter mode with HMAC_MD5 as the PRF to construct a DES key to be used by rxkad. To satisfy the requirements of the KDF, DES3 keys are first compressed into a 168 bit form by reversing the RFC3961 random-to-key algorithm Change-Id: I4dc8e83a641f9892b31c109fb9025251de3dcb27 commit 33eecea7db14d06c59e1081b970d4caf0af773ca Author: Chaskiel Grundman <cg2v@andrew.cmu.edu> Date: Sun Feb 10 13:27:03 2013 -0500 Integrate keytab-based decryption into afsconf_BuildServerSecurityObjects Now all servers can have it. authcon.o grows a krb5 dependency and needs to get KRB5_CPPFLAGS. Change-Id: I95fecb3f88c19b3d5193ea8200fa20c86ec08ad7 commit 14db1a40e5be3b7325951d002885bbf288d570c1 Author: Chaskiel Grundman <cg2v@andrew.cmu.edu> Date: Sat Feb 9 12:42:20 2013 -0500 New optional rxkad functionality for decypting krb5 tokens An additional, optional mechanism for decrypting krb5-format tokens is provided that uses the krb5 api with a key from a keytab instead of using libdes and the AFS KeyFile. The AIX compat stub for krb5_c_decrypt is contributed by Andrew Deason. Change-Id: I97c08122c60482b84d602d6fa6482f1d5deef142 commit 5e0cbc930508a697331bad07cc201c1e1985ff84 Author: Chaskiel Grundman <cg2v@andrew.cmu.edu> Date: Sat Feb 9 12:01:37 2013 -0500 Add rxkad server hook function to decrypt more types of tokens Allow tokens to be encrypted with algorithms other than DES. The security object owner must provide an implementation by calling rxkad_SetAltDecryptProc. Make sure plainsiz is initialized before calling the alternate decrypt proc. User-Visible OpenAFS Changes OpenAFS 1.6.4 All platforms * Obey the jumbo/nojumbo settings for ubik servers (the DB servers) too. In previous releases, those servers may have used jumbograms even if they were not configured to do so. This change corrects the actual behaviour, and will improve performance and reliability for sites where jumbograms are problematic. It could cause a decrease in performance for sites where jumbograms work, but those can turn them back on manually. * Dozens of fixes for common coding problems like use after free, use of possibly uninitialised memory, reading or writing past the end of arrays and potential NULL pointer derefences. Spotted by code analysis tools or human inspection. * Documentation improvements. * Fixes and improvements to the diagnostic or log messages printed by vos, the fileserver and others. * Build fixes, making parallel builds more reliable with certain configuration options and helping various platforms including recent releases of IRIX, Solaris and several flavours of Linux. * Avoid sending a small amount of data over the wire unencrypted under certain conditions, and emit the correct error message in this case. All server platforms * Avoid generating duplicate IDs for readonly and backup volumes, which could happen under certain conditions. * Allow the fileserver to return volume data like quota or free space, which is available publicly elsewhere, without the additional access check for read permissions on a volume's root directory the fileserver performed before. * The fileserver now emits a log message when it ran out of memory for callbacks. * Avoid several potential fileserver problems, including memory corruption and segmentation faults, due to client bookkeeping. * Avoid known cases of silent data corruption due to background syncs on the fileserver, especially during Copy on Write. * Make the fileserver sync behaviour runtime configurable. Up to 1.4.5, we had synchronous syncs which were safe but really slow. Since 1.4.5, we've had asynchronous syncs which are much faster but believed to be the cause of rare data corruption issues, and while all known cases of these happening are believed to be fixed in the 1.6.3 release, doubts remain. This change allows choosing between those, and in addition allows to turn syncs by the fileserver off altogether, thus relying on the vice partition's backend filesystem and the operating system, or to just execute them when a volume is detached. The default behaviour is unchanged from releases since 1.4.5, but it's highly recommended to consider the additional options this change provides. Future OpenAFS releases will default to "-sync=none". * For dbservers, avoid a situation where misinterpreting transient network errors causes long-term issues with achieving ubik quorum. All UNIX client platforms * Improvements to the detection of an aklog-specific krb5 configuration file, for the purposes of turning on "weak crypto" for aklog. * Fixed a regression introduced in release 1.6.2 which caused the supposedly persistent disk cache to be discarded upon client start. (RT #131655) Linux clients * Support Linux kernels up to 3.10 * Fixed two bugs making it impossible to unmount a disk cache filesystem after it has been used by the client. (RT #131613) * Fixed a bug that could cause an oops with kernels 3.6 and later OpenBSD * Improved support for OpenBSD 4.9 to 5.3 OpenAFS 1.6.3 This release number had to be skipped for technical reasons. |
||
---|---|---|
.. | ||
files | ||
patches | ||
DESCR | ||
distinfo | ||
Makefile | ||
options.mk | ||
PLIST | ||
PLIST.pam |