<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://k5wiki.test.kerberos.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nico</id>
		<title>K5Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://k5wiki.test.kerberos.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nico"/>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki/Special:Contributions/Nico"/>
		<updated>2026-05-14T18:05:02Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/StartRealmCCconfig&amp;diff=5453</id>
		<title>Projects/StartRealmCCconfig</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/StartRealmCCconfig&amp;diff=5453"/>
				<updated>2015-03-17T19:02:55Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: New page: = Background =  When using referrals, the TGS client starts the referrals chasing process at the client principal's realm.  That is, the desired service principal's realm is replaced with ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Background =&lt;br /&gt;
&lt;br /&gt;
When using referrals, the TGS client starts the referrals chasing process at the client principal's realm.  That is, the desired service principal's realm is replaced with the client principal's and a TGS-REQ is sent to that realm's TGS.&lt;br /&gt;
&lt;br /&gt;
There are two cases where this choice of &amp;quot;start&amp;quot; realm are inappropriate:&lt;br /&gt;
&lt;br /&gt;
 - when the client principal's realm is a WELLKNOWN realm (e.g., the anonymous realm)&lt;br /&gt;
 - when the client has a &amp;quot;root TGT&amp;quot; (krbtgt/REALM@REALM) but not for its own realm&lt;br /&gt;
&lt;br /&gt;
The latter is used at some sites as a form of constrained credential delegation: a client at realm A forwards a ticket for krbtgt/B@B to a service in realm B, thus that service cannot reach realm A services (because of loop detection at A's TGSes), but it can still authenticate as the client @A.  (The services in realm B can probably also not reach other realms that are reachable from A.)&lt;br /&gt;
&lt;br /&gt;
The TGS client really needs a way to record the &amp;quot;start&amp;quot; realm where the TGT for that realm is stored: in the ccache.&lt;br /&gt;
&lt;br /&gt;
= Recording the start realm in the ccache =&lt;br /&gt;
&lt;br /&gt;
Searching for a root TGT in the ccache is not a good way to find a start realm: there is no guarantee that there will be only one such TGT, and there is no guarantee that the ccache preserves insertion order, therefore such a search could yield non-deterministic results.&lt;br /&gt;
&lt;br /&gt;
The proposed solution is: record the start realm in a &amp;quot;cc config&amp;quot; ccache entry.  Any process that initializes a ccache should add this cc config entry along with the TGT that it stores in the ccache.  This should be done automatically by the krb5 library.  When trying referrals, the client should search for this cc config entry, and if it finds it, it should use the realm recorded in it as the &amp;quot;start realm&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The new cc config name should be &amp;quot;start_realm&amp;quot;, and the value stored there should be the start realm's name.  (XXX NUL-terminated or not?)&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4774</id>
		<title>Projects/Extensible Policy</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4774"/>
				<updated>2012-07-24T21:50:27Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{project-review|2012-07-27}}&lt;br /&gt;
{{project-target|1.11}}&lt;br /&gt;
&lt;br /&gt;
This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
kadmin's policy records have been limited to expressing a small range of password quality policies.  In 1.8 the failed authentication attempts lockout project added some extensions to the policy record.&lt;br /&gt;
&lt;br /&gt;
We now need to add policy controls for what enctypes a principal is allowed to have keys for.  While we are it we're adding fields to policy for all policy-ish things in principal records.  And making policy finally extensible in the same way that principals are: via tag-length-value sets (&amp;quot;TL data&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Description and Architecture==&lt;br /&gt;
&lt;br /&gt;
We bump the KADM5 API version to 4 (KADM5_API_VERSION_4) and extend the policy structures (kadm5_policy_ent_rec and osa_policy_ent_rec) to add the following fields:&lt;br /&gt;
&lt;br /&gt;
; attributes : holds attributes of principals that are policy-like (not implemented at this time)&lt;br /&gt;
; max_life : holds max ticket life (not implemented at this time)&lt;br /&gt;
; max_renewable_life : holds max ticket renewable lifetime (not implemented at this time)&lt;br /&gt;
; allowed_keysalts : key/salt type list that the principal is allowed to have keys of&lt;br /&gt;
; tl_data : sequence of {type, length, octet string} values just as in principal records&lt;br /&gt;
&lt;br /&gt;
User interface changes:&lt;br /&gt;
&lt;br /&gt;
* The kadmin addpol and modpol commands get a new argument: -allowedkeysalts keysalt-list.&lt;br /&gt;
* The kdb5_util dump and load commansd get a new argument: -r18 (request 1.8 dump format).&lt;br /&gt;
&lt;br /&gt;
API changes:&lt;br /&gt;
&lt;br /&gt;
* New kadm5 version number&lt;br /&gt;
* Added fields to kadm5_policy_ent_&lt;br /&gt;
* Added KADM5_POLICY_{ATTRIBUTES, ...} flags for use in the 'mask' argument to various kadm5 functions&lt;br /&gt;
&lt;br /&gt;
Note that, as with the change in 1.8, it will not be safe to downgrade a KDC from 1.11 to an earlier version without reloading the policy DB from a dump format that the older version understands.  We hope this will be the last time that policies are extended in this manner; by using TL data for future extensions, we can obtain the same downgrade semantics as for the principal database.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
* Bump the KADM5 API version number everywhere that it should be, with fallback negotiation to versions 3 and 2&lt;br /&gt;
* Extend the relevant structures (see above)&lt;br /&gt;
* Refactor kadmin.c functions for adding and updating tl data (not needed now, but will be needed eventually)&lt;br /&gt;
* Add KADM5_POLICY_{ATTRIBUTES, ...} #defines for use in kadm5 masks&lt;br /&gt;
* Update XDR functions for encoding/decoding/freeing kadm5_policy_ent_rec and osa_policy_ent_rec structures&lt;br /&gt;
* Add and use check_and_set_ks_tuple_policy(), a utility function for validating and editing key/salt tuples in src/lib/kadm5/srv/svr_principal.c&lt;br /&gt;
&lt;br /&gt;
A candidate implementation can be seen here:&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts-squashed2 Implementation with history squashed.]&lt;br /&gt;
* [https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts Implementation with complete history]&lt;br /&gt;
&lt;br /&gt;
Add &amp;quot;?w=1&amp;quot; to get the github equivalent of diff(1)'s -w flag.&lt;br /&gt;
&lt;br /&gt;
We leave implementation of the 'attributes', 'max_life', and 'max_renewable_life' to future projects.  Because these will provide defaults for corresponding fields of principals the impact on interfaces and implementation will be somewhat larger than that of the allowed_keysalts field.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
One test is added: tests/t_allowed_keysalts.py.  All tests pass.&lt;br /&gt;
&lt;br /&gt;
NOTE: dump/load of policy TL data is not tested for lack of any policy elements that use TL data.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
The kadmin.M and kdb5_util.M manpages are updated.&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&lt;br /&gt;
Besides the interface changes noted above, the most important release note pertains to the requirement for a policy DB reload when downgrading a KDC to a previous release.  A policy DB reload is only needed on downgrade when new policies have been created, or existing policies modified, with the new kadmin program or kadm5 APIs.&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4761</id>
		<title>Projects/Extensible Policy</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4761"/>
				<updated>2012-07-19T23:08:49Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{project-rel|1.11}}&lt;br /&gt;
&lt;br /&gt;
This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
kadmin's policy records have been limited to expressing a small range of password quality policies.  In 1.8 the failed authentication attempts lockout project added some extensions to the policy record.&lt;br /&gt;
&lt;br /&gt;
We now need to add policy controls for what enctypes a principal is allowed to have keys for.  While we are it we're adding fields to policy for all policy-ish things in principal records.  And making policy finally extensible in the same way that principals are: via tag-length-value sets (&amp;quot;TL data&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Description and Architecture==&lt;br /&gt;
&lt;br /&gt;
We bump the KADM5 API version to 4 (KADM5_API_VERSION_4) and extend the policy structures (kadm5_policy_ent_rec and osa_policy_ent_rec) to add the following fields:&lt;br /&gt;
&lt;br /&gt;
; attributes : holds attributes of principals that are policy-like (not implemented at this time)&lt;br /&gt;
; max_life : holds max ticket life (not implemented at this time)&lt;br /&gt;
; max_renewable_life : holds max ticket renewable lifetime (not implemented at this time)&lt;br /&gt;
; keygen_enctypes : key/salt type list that the principal is allowed to have keys of&lt;br /&gt;
; tk_data : sequence of {type, length, octet string} values just as in principal records&lt;br /&gt;
&lt;br /&gt;
User interface changes:&lt;br /&gt;
&lt;br /&gt;
* The kadmin addpol and modpol commands get a new argument: -kegenenctypes keysalt-list.&lt;br /&gt;
* The kdb5_util dump and load commansd get a new argument: -r18 (request 1.8 dump format).&lt;br /&gt;
&lt;br /&gt;
API changes:&lt;br /&gt;
&lt;br /&gt;
* New kadm5 version number&lt;br /&gt;
* Added fields to kadm5_policy_ent_&lt;br /&gt;
* Added KADM5_POLICY_{ATTRIBUTES, ...} flags for use in the 'mask' argument to various kadm5 functions&lt;br /&gt;
&lt;br /&gt;
Note that as with the change in 1.8 it will not be safe to downgrade a KDC from 1.11 to an earlier version without reloading the policy DB from a dump format that the older version understands.  We hope this will be the last time that policies are extended in this manner: by using TL data for future extensions we can obtain the same downgrade semantics as for the principal database.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
* Bump the KADM5 API version number everywhere that it should be, with fallback negotiation to versions 3 and 2&lt;br /&gt;
* Extend the relevant structures (see above)&lt;br /&gt;
* Refactor kadmin.c functions for adding and updating tl data (not needed now, but will be needed eventually)&lt;br /&gt;
* Add KADM5_POLICY_{ATTRIBUTES, ...} #defines for use in kadm5 masks&lt;br /&gt;
* Update XDR functions for encoding/decoding/freeing kadm5_policy_ent_rec and osa_policy_ent_rec structures&lt;br /&gt;
* Add and use check_and_set_ks_tuple_policy(), a utility function for validating and editing key/salt tuples in src/lib/kadm5/srv/svr_principal.c&lt;br /&gt;
&lt;br /&gt;
A candidate implementation can be seen here:&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts-squashed2 Implementation with history squashed.]&lt;br /&gt;
* [https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts Implementation with complete history]&lt;br /&gt;
&lt;br /&gt;
Add &amp;quot;?w=1&amp;quot; to get the github equivalent of diff(1)'s -w flag.&lt;br /&gt;
&lt;br /&gt;
We leave implementation of the 'attributes', 'max_life', and 'max_renewable_life' to future projects.  Because these will provide defaults for corresponding fields of principals the impact on interfaces and implementation will be somewhat larger than that of the keygen_enctypes field.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
One test is added: tests/t_keygen_enctypes.py.  All tests pass.&lt;br /&gt;
&lt;br /&gt;
NOTE: dump/load of policy TL data is not tested for lack of any policy elements that use TL data.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
The kadmin.M and kdb5_util.M manpages are updated.&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&lt;br /&gt;
Besides the interface changes noted above, the most important release note pertains to the requirement for a policy DB reload when downgrading a KDC to a previous release.  A policy DB reload is only needed on downgrade when new policies have been created, or existing policies modified, with the new kadmin program or kadm5 APIs.&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4760</id>
		<title>Projects/Extensible Policy</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4760"/>
				<updated>2012-07-19T23:05:43Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{project-rel|1.11}}&lt;br /&gt;
&lt;br /&gt;
This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
kadmin's policy records have been limited to expressing a small range of password quality policies.  In 1.8 the failed authentication attempts lockout project added some extensions to the policy record.&lt;br /&gt;
&lt;br /&gt;
We now need to add policy controls for what enctypes a principal is allowed to have keys for.  While we are it we're adding fields to policy for all policy-ish things in principal records.  And making policy finally extensible in the same way that principals are: via tag-length-value sets (&amp;quot;TL data&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Description and Architecture==&lt;br /&gt;
&lt;br /&gt;
We bump the KADM5 API version to 4 (KADM5_API_VERSION_4) and extend the policy structures (kadm5_policy_ent_rec and osa_policy_ent_rec) to add the following fields:&lt;br /&gt;
&lt;br /&gt;
; attributes : holds attributes of principals that are policy-like (not implemented at this time)&lt;br /&gt;
; max_life : holds max ticket life (not implemented at this time)&lt;br /&gt;
; max_renewable_life : holds max ticket renewable lifetime (not implemented at this time)&lt;br /&gt;
; keygen_enctypes : key/salt type list that the principal is allowed to have keys of&lt;br /&gt;
; tk_data : sequence of {type, length, octet string} values just as in principal records&lt;br /&gt;
&lt;br /&gt;
User interface changes:&lt;br /&gt;
&lt;br /&gt;
* The kadmin addpol and modpol commands get a new argument: -kegenenctypes keysalt-list.&lt;br /&gt;
* The kdb5_util dump and load commansd get a new argument: -r18 (request 1.8 dump format).&lt;br /&gt;
&lt;br /&gt;
API changes:&lt;br /&gt;
&lt;br /&gt;
* New kadm5 version number&lt;br /&gt;
* Added fields to kadm5_policy_ent_&lt;br /&gt;
* Added KADM5_POLICY_{ATTRIBUTES, ...} flags for use in the 'mask' argument to various kadm5 functions&lt;br /&gt;
&lt;br /&gt;
Note that as with the change in 1.8 it will not be safe to downgrade a KDC from 1.11 to an earlier version without reloading the policy DB from a dump format that the older version understands.  We hope this will be the last time that policies are extended in this manner: by using TL data for future extensions we can obtain the same downgrade semantics as for the principal database.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
* Bump the KADM5 API version number everywhere that it should be, with fallback negotiation to versions 3 and 2&lt;br /&gt;
* Extend the relevant structures (see above)&lt;br /&gt;
* Refactor kadmin.c functions for adding and updating tl data (not needed now, but will be needed eventually)&lt;br /&gt;
* Add KADM5_POLICY_{ATTRIBUTES, ...} #defines for use in kadm5 masks&lt;br /&gt;
* Update XDR functions for encoding/decoding/freeing kadm5_policy_ent_rec and osa_policy_ent_rec structures&lt;br /&gt;
* Add and use check_and_set_ks_tuple_policy(), a utility function for validating and editing key/salt tuples in src/lib/kadm5/srv/svr_principal.c&lt;br /&gt;
&lt;br /&gt;
See:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts-squashed2 Implementation with history squashed.]&lt;br /&gt;
[https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts Implementation with complete history]&lt;br /&gt;
&lt;br /&gt;
We leave implementation of the 'attributes', 'max_life', and 'max_renewable_life' to future projects.  Because these will provide defaults for corresponding fields of principals the impact on interfaces and implementation will be somewhat larger than that of the keygen_enctypes field.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
One test is added: tests/t_keygen_enctypes.py.  All tests pass.&lt;br /&gt;
&lt;br /&gt;
NOTE: dump/load of policy TL data is not tested for lack of any policy elements that use TL data.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
The kadmin.M and kdb5_util.M manpages are updated.&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&lt;br /&gt;
Besides the interface changes noted above, the most important release note pertains to the requirement for a policy DB reload when downgrading a KDC to a previous release.  A policy DB reload is only needed on downgrade when new policies have been created, or existing policies modified, with the new kadmin program or kadm5 APIs.&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4759</id>
		<title>Projects/Extensible Policy</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4759"/>
				<updated>2012-07-19T23:04:25Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{project-rel|1.11}}&lt;br /&gt;
&lt;br /&gt;
This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
kadmin's policy records have been limited to expressing a small range of password quality policies.  In 1.8 the failed authentication attempts lockout project added some extensions to the policy record.&lt;br /&gt;
&lt;br /&gt;
We now need to add policy controls for what enctypes a principal is allowed to have keys for.  While we are it we're adding fields to policy for all policy-ish things in principal records.  And making policy finally extensible in the same way that principals are: via tag-length-value sets (&amp;quot;TL data&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Description and Architecture==&lt;br /&gt;
&lt;br /&gt;
We bump the KADM5 API version to 4 (KADM5_API_VERSION_4) and extend the policy structures (kadm5_policy_ent_rec and osa_policy_ent_rec) to add the following fields:&lt;br /&gt;
&lt;br /&gt;
; attributes : holds attributes of principals that are policy-like (not implemented at this time)&lt;br /&gt;
; max_life : holds max ticket life (not implemented at this time)&lt;br /&gt;
; max_renewable_life : holds max ticket renewable lifetime (not implemented at this time)&lt;br /&gt;
; keygen_enctypes : key/salt type list that the principal is allowed to have keys of&lt;br /&gt;
; tk_data : sequence of {type, length, octet string} values just as in principal records&lt;br /&gt;
&lt;br /&gt;
User interface changes:&lt;br /&gt;
&lt;br /&gt;
* The kadmin addpol and modpol commands get a new argument: -kegenenctypes keysalt-list.&lt;br /&gt;
* The kdb5_util dump and load commansd get a new argument: -r18 (request 1.8 dump format).&lt;br /&gt;
&lt;br /&gt;
API changes:&lt;br /&gt;
&lt;br /&gt;
* New kadm5 version number&lt;br /&gt;
* Added fields to kadm5_policy_ent_&lt;br /&gt;
* Added KADM5_POLICY_{ATTRIBUTES, ...} flags for use in the 'mask' argument to various kadm5 functions&lt;br /&gt;
&lt;br /&gt;
Note that as with the change in 1.8 it will not be safe to downgrade a KDC from 1.11 to an earlier version without reloading the policy DB from a dump format that the older version understands.  We hope this will be the last time that policies are extended in this manner: by using TL data for future extensions we can obtain the same downgrade semantics as for the principal database.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
* Bump the KADM5 API version number everywhere that it should be, with fallback negotiation to versions 3 and 2&lt;br /&gt;
* Extend the relevant structures (see above)&lt;br /&gt;
* Refactor kadmin.c functions for adding and updating tl data (not needed now, but will be needed eventually)&lt;br /&gt;
* Add KADM5_POLICY_{ATTRIBUTES, ...} #defines for use in kadm5 masks&lt;br /&gt;
* Update XDR functions for encoding/decoding/freeing kadm5_policy_ent_rec and osa_policy_ent_rec structures&lt;br /&gt;
* Add and use check_and_set_ks_tuple_policy(), a utility function for validating and editing key/salt tuples in src/lib/kadm5/srv/svr_principal.c&lt;br /&gt;
&lt;br /&gt;
See:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts-squashed2 Implementation with history squashed.]&lt;br /&gt;
[https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts Implementation with complete history]&lt;br /&gt;
&lt;br /&gt;
We leave implementation of the 'attributes', 'max_life', and 'max_renewable_life' to future projects.  Because these will provide defaults for corresponding fields of principals the impact on interfaces and implementation will be somewhat larger than that of the keygen_enctypes field.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
One test is added: tests/t_keygen_enctypes.py.  All tests pass.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
The kadmin.M and kdb5_util.M manpages are updated.&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&lt;br /&gt;
Besides the interface changes noted above, the most important release note pertains to the requirement for a policy DB reload when downgrading a KDC to a previous release.  A policy DB reload is only needed on downgrade when new policies have been created, or existing policies modified, with the new kadmin program or kadm5 APIs.&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4758</id>
		<title>Projects/Extensible Policy</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4758"/>
				<updated>2012-07-19T22:59:20Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{project-rel|1.11}}&lt;br /&gt;
&lt;br /&gt;
This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
kadmin's policy records have been limited to expressing a small range of password quality policies.  In 1.8 the failed authentication attempts lockout project added some extensions to the policy record.&lt;br /&gt;
&lt;br /&gt;
We now need to add policy controls for what enctypes a principal is allowed to have keys for.  While we are it we're adding fields to policy for all policy-ish things in principal records.  And making policy finally extensible in the same way that principals are: via tag-length-value sets (&amp;quot;TL data&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Description and Architecture==&lt;br /&gt;
&lt;br /&gt;
We bump the KADM5 API version to 4 (KADM5_API_VERSION_4) and extend the policy structures (kadm5_policy_ent_rec and osa_policy_ent_rec) to add the following fields:&lt;br /&gt;
&lt;br /&gt;
; attributes : holds attributes of principals that are policy-like (not implemented at this time)&lt;br /&gt;
; max_life : holds max ticket life (not implemented at this time)&lt;br /&gt;
; max_renewable_life : holds max ticket renewable lifetime (not implemented at this time)&lt;br /&gt;
; keygen_enctypes : key/salt type list that the principal is allowed to have keys of&lt;br /&gt;
; tk_data : sequence of {type, length, octet string} values just as in principal records&lt;br /&gt;
&lt;br /&gt;
User interface changes:&lt;br /&gt;
&lt;br /&gt;
* The kadmin addpol and modpol commands get a new argument: -kegenenctypes keysalt-list.&lt;br /&gt;
* The kdb5_util dump and load commansd get a new argument: -r18 (request 1.8 dump format).&lt;br /&gt;
&lt;br /&gt;
API changes:&lt;br /&gt;
&lt;br /&gt;
* New kadm5 version number&lt;br /&gt;
* Added fields to kadm5_policy_ent_&lt;br /&gt;
* Added KADM5_POLICY_{ATTRIBUTES, ...} flags for use in the 'mask' argument to various kadm5 functions&lt;br /&gt;
&lt;br /&gt;
Note that as with the change in 1.8 it will not be safe to downgrade a KDC from 1.11 to an earlier version without reloading the policy DB from a dump format that the older version understands.  We hope this will be the last time that policies are extended in this manner: by using TL data for future extensions we can obtain the same downgrade semantics as for the principal database.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
* Bump the KADM5 API version number everywhere that it should be, with fallback negotiation to versions 3 and 2&lt;br /&gt;
* Extend the relevant structures (see above)&lt;br /&gt;
* Refactor kadmin.c functions for adding and updating tl data (not needed now, but will be needed eventually)&lt;br /&gt;
* Add KADM5_POLICY_{ATTRIBUTES, ...} #defines for use in kadm5 masks&lt;br /&gt;
* Update XDR functions for encoding/decoding/freeing kadm5_policy_ent_rec and osa_policy_ent_rec structures&lt;br /&gt;
* Add and use check_and_set_ks_tuple_policy(), a utility function for validating and editing key/salt tuples in src/lib/kadm5/srv/svr_principal.c&lt;br /&gt;
&lt;br /&gt;
See:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts-squashed Implementation with history squashed.]&lt;br /&gt;
[https://github.com/nicowilliams/krb5/compare/kadm5_policy_exts Implementation with complete history]&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
&lt;br /&gt;
* Cherry-pick latest commits from the squashed brnach into the other, re-squash, and leave re-formatting changes to kadmin.c in a separeate commit.&lt;br /&gt;
&lt;br /&gt;
We leave implementation of the 'attributes', 'max_life', and 'max_renewable_life' to future projects.  Because these will provide defaults for corresponding fields of principals the impact on interfaces and implementation will be somewhat larger than that of the keygen_enctypes field.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
One test is added: tests/t_keygen_enctypes.py.  All tests pass.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
The kadmin.M and kdb5_util.M manpages are updated.&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&lt;br /&gt;
Besides the interface changes noted above, the most important release note pertains to the requirement for a policy DB reload when downgrading a KDC to a previous release.  A policy DB reload is only needed on downgrade when new policies have been created, or existing policies modified, with the new kadmin program or kadm5 APIs.&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4757</id>
		<title>Projects/Extensible Policy</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4757"/>
				<updated>2012-07-19T22:53:17Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{project-rel|1.11}}&lt;br /&gt;
&lt;br /&gt;
This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
kadmin's policy records have been limited to expressing a small range of password quality policies.  In 1.8 the failed authentication attempts lockout project added some extensions to the policy record.&lt;br /&gt;
&lt;br /&gt;
We now need to add policy controls for what enctypes a principal is allowed to have keys for.  While we are it we're adding fields to policy for all policy-ish things in principal records.  And making policy finally extensible in the same way that principals are: via tag-length-value sets (&amp;quot;TL data&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Description and Architecture==&lt;br /&gt;
&lt;br /&gt;
We bump the KADM5 API version to 4 (KADM5_API_VERSION_4) and extend the policy structures (kadm5_policy_ent_rec and osa_policy_ent_rec) to add the following fields:&lt;br /&gt;
&lt;br /&gt;
; attributes : holds attributes of principals that are policy-like (not implemented at this time)&lt;br /&gt;
; max_life : holds max ticket life (not implemented at this time)&lt;br /&gt;
; max_renewable_life : holds max ticket renewable lifetime (not implemented at this time)&lt;br /&gt;
; keygen_enctypes : key/salt type list that the principal is allowed to have keys of&lt;br /&gt;
; tk_data : sequence of {type, length, octet string} values just as in principal records&lt;br /&gt;
&lt;br /&gt;
User interface changes:&lt;br /&gt;
&lt;br /&gt;
* The kadmin addpol and modpol commands get a new argument: -kegenenctypes keysalt-list.&lt;br /&gt;
* The kdb5_util dump and load commansd get a new argument: -r18 (request 1.8 dump format).&lt;br /&gt;
&lt;br /&gt;
API changes:&lt;br /&gt;
&lt;br /&gt;
* New kadm5 version number&lt;br /&gt;
* Added fields to kadm5_policy_ent_&lt;br /&gt;
* Added KADM5_POLICY_{ATTRIBUTES, ...} flags for use in the 'mask' argument to various kadm5 functions&lt;br /&gt;
&lt;br /&gt;
Note that as with the change in 1.8 it will not be safe to downgrade a KDC from 1.11 to an earlier version without reloading the policy DB from a dump format that the older version understands.  We hope this will be the last time that policies are extended in this manner: by using TL data for future extensions we can obtain the same downgrade semantics as for the principal database.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
* Bump the KADM5 API version number everywhere that it should be, with fallback negotiation to versions 3 and 2&lt;br /&gt;
* Extend the relevant structures (see above)&lt;br /&gt;
* Refactor kadmin.c functions for adding and updating tl data (not needed now, but will be needed eventually)&lt;br /&gt;
* Add KADM5_POLICY_{ATTRIBUTES, ...} #defines for use in kadm5 masks&lt;br /&gt;
* Update XDR functions for encoding/decoding/freeing kadm5_policy_ent_rec and osa_policy_ent_rec structures&lt;br /&gt;
* Add and use check_and_set_ks_tuple_policy(), a utility function for validating and editing key/salt tuples in src/lib/kadm5/srv/svr_principal.c&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
One test is added: tests/t_keygen_enctypes.py.  All tests pass.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
The kadmin.M and kdb5_util.M manpages are updated.&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&lt;br /&gt;
Besides the interface changes noted above, the most important release note pertains to the requirement for a policy DB reload when downgrading a KDC to a previous release.  A policy DB reload is only needed on downgrade when new policies have been created, or existing policies modified, with the new kadmin program or kadm5 APIs.&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4756</id>
		<title>Projects/Extensible Policy</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4756"/>
				<updated>2012-07-19T22:53:00Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: /* Description and Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{project-rel|1.11}}&lt;br /&gt;
&lt;br /&gt;
This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
kadmin's policy records have been limited to expressing a small range of password quality policies.  In 1.8 the failed authentication attempts lockout project added some extensions to the policy record.&lt;br /&gt;
&lt;br /&gt;
We now need to add policy controls for what enctypes a principal is allowed to have keys for.  While we are it we're adding fields to policy for all policy-ish things in principal records.  And making policy finally extensible in the same way that principals are: via tag-length-value sets (&amp;quot;TL data&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Description and Architecture==&lt;br /&gt;
&lt;br /&gt;
We bump the KADM5 API version to 4 (KADM5_API_VERSION_4) and extend the policy structures (kadm5_policy_ent_rec and osa_policy_ent_rec) to add the following fields:&lt;br /&gt;
&lt;br /&gt;
; attributes : holds attributes of principals that are policy-like (not implemented at this time)&lt;br /&gt;
; max_life : holds max ticket life (not implemented at this time)&lt;br /&gt;
; max_renewable_life : holds max ticket renewable lifetime (not implemented at this time)&lt;br /&gt;
; keygen_enctypes : key/salt type list that the principal is allowed to have keys of&lt;br /&gt;
; tk_data : sequence of {type, length, octet string} values just as in principal records&lt;br /&gt;
&lt;br /&gt;
User interface changes:&lt;br /&gt;
&lt;br /&gt;
* The kadmin addpol and modpol commands get a new argument: -kegenenctypes keysalt-list.&lt;br /&gt;
* The kdb5_util dump and load commansd get a new argument: -r18 (request 1.8 dump format).&lt;br /&gt;
&lt;br /&gt;
API changes:&lt;br /&gt;
&lt;br /&gt;
* New kadm5 version number&lt;br /&gt;
* Added fields to kadm5_policy_ent_&lt;br /&gt;
* Added KADM5_POLICY_{ATTRIBUTES, ...} flags for use in the 'mask' argument to various kadm5 functions&lt;br /&gt;
&lt;br /&gt;
Note that as with the change in 1.8 it will not be safe to downgrade a KDC from 1.11 to an earlier version without reloading the policy DB from a dump format that the older version understands.  We hope this will be the last time that policies are extended in this manner: by using TL data for future extensions we can obtain the same downgrade semantics as for the principal database.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
 * Bump the KADM5 API version number everywhere that it should be, with fallback negotiation to versions 3 and 2&lt;br /&gt;
 * Extend the relevant structures (see above)&lt;br /&gt;
 * Refactor kadmin.c functions for adding and updating tl data (not needed now, but will be needed eventually)&lt;br /&gt;
 * Add KADM5_POLICY_{ATTRIBUTES, ...} #defines for use in kadm5 masks&lt;br /&gt;
 * Update XDR functions for encoding/decoding/freeing kadm5_policy_ent_rec and osa_policy_ent_rec structures&lt;br /&gt;
 * Add and use check_and_set_ks_tuple_policy(), a utility function for validating and editing key/salt tuples in src/lib/kadm5/srv/svr_principal.c&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
One test is added: tests/t_keygen_enctypes.py.  All tests pass.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
The kadmin.M and kdb5_util.M manpages are updated.&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&lt;br /&gt;
Besides the interface changes noted above, the most important release note pertains to the requirement for a policy DB reload when downgrading a KDC to a previous release.  A policy DB reload is only needed on downgrade when new policies have been created, or existing policies modified, with the new kadmin program or kadm5 APIs.&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4755</id>
		<title>Projects/Extensible Policy</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4755"/>
				<updated>2012-07-19T22:52:19Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: /* Description and Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{project-rel|1.11}}&lt;br /&gt;
&lt;br /&gt;
This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
kadmin's policy records have been limited to expressing a small range of password quality policies.  In 1.8 the failed authentication attempts lockout project added some extensions to the policy record.&lt;br /&gt;
&lt;br /&gt;
We now need to add policy controls for what enctypes a principal is allowed to have keys for.  While we are it we're adding fields to policy for all policy-ish things in principal records.  And making policy finally extensible in the same way that principals are: via tag-length-value sets (&amp;quot;TL data&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Description and Architecture==&lt;br /&gt;
&lt;br /&gt;
We bump the KADM5 API version to 4 (KADM5_API_VERSION_4) and extend the policy structures (kadm5_policy_ent_rec and osa_policy_ent_rec) to add the following fields:&lt;br /&gt;
&lt;br /&gt;
 ; attributes : holds attributes of principals that are policy-like (not implemented at this time)&lt;br /&gt;
&lt;br /&gt;
 ; max_life : holds max ticket life (not implemented at this time)&lt;br /&gt;
&lt;br /&gt;
 ; max_renewable_life : holds max ticket renewable lifetime (not implemented at this time)&lt;br /&gt;
&lt;br /&gt;
 ; keygen_enctypes : key/salt type list that the principal is allowed to have keys of&lt;br /&gt;
&lt;br /&gt;
 ; tk_data : sequence of {type, length, octet string} values just as in principal records&lt;br /&gt;
&lt;br /&gt;
User interface changes:&lt;br /&gt;
&lt;br /&gt;
 * The kadmin addpol and modpol commands get a new argument: -kegenenctypes keysalt-list.&lt;br /&gt;
&lt;br /&gt;
 * The kdb5_util dump and load commansd get a new argument: -r18 (request 1.8 dump format).&lt;br /&gt;
&lt;br /&gt;
API changes:&lt;br /&gt;
&lt;br /&gt;
 * New kadm5 version number&lt;br /&gt;
&lt;br /&gt;
 * Added fields to kadm5_policy_ent_&lt;br /&gt;
&lt;br /&gt;
 * Added KADM5_POLICY_{ATTRIBUTES, ...} flags for use in the 'mask' argument to various kadm5 functions&lt;br /&gt;
&lt;br /&gt;
Note that as with the change in 1.8 it will not be safe to downgrade a KDC from 1.11 to an earlier version without reloading the policy DB from a dump format that the older version understands.  We hope this will be the last time that policies are extended in this manner: by using TL data for future extensions we can obtain the same downgrade semantics as for the principal database.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
 * Bump the KADM5 API version number everywhere that it should be, with fallback negotiation to versions 3 and 2&lt;br /&gt;
 * Extend the relevant structures (see above)&lt;br /&gt;
 * Refactor kadmin.c functions for adding and updating tl data (not needed now, but will be needed eventually)&lt;br /&gt;
 * Add KADM5_POLICY_{ATTRIBUTES, ...} #defines for use in kadm5 masks&lt;br /&gt;
 * Update XDR functions for encoding/decoding/freeing kadm5_policy_ent_rec and osa_policy_ent_rec structures&lt;br /&gt;
 * Add and use check_and_set_ks_tuple_policy(), a utility function for validating and editing key/salt tuples in src/lib/kadm5/srv/svr_principal.c&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
One test is added: tests/t_keygen_enctypes.py.  All tests pass.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
The kadmin.M and kdb5_util.M manpages are updated.&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&lt;br /&gt;
Besides the interface changes noted above, the most important release note pertains to the requirement for a policy DB reload when downgrading a KDC to a previous release.  A policy DB reload is only needed on downgrade when new policies have been created, or existing policies modified, with the new kadmin program or kadm5 APIs.&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	<entry>
		<id>https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4754</id>
		<title>Projects/Extensible Policy</title>
		<link rel="alternate" type="text/html" href="https://k5wiki.test.kerberos.org/wiki?title=Projects/Extensible_Policy&amp;diff=4754"/>
				<updated>2012-07-19T22:51:50Z</updated>
		
		<summary type="html">&lt;p&gt;Nico: New page: {{project-rel|1.11}}  This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.  ==Background==  kadmin's p...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{project-rel|1.11}}&lt;br /&gt;
&lt;br /&gt;
This project adds new extensions to policy records and makes them extensible in the future with less effort by adding a TL data extension.&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
kadmin's policy records have been limited to expressing a small range of password quality policies.  In 1.8 the failed authentication attempts lockout project added some extensions to the policy record.&lt;br /&gt;
&lt;br /&gt;
We now need to add policy controls for what enctypes a principal is allowed to have keys for.  While we are it we're adding fields to policy for all policy-ish things in principal records.  And making policy finally extensible in the same way that principals are: via tag-length-value sets (&amp;quot;TL data&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Description and Architecture==&lt;br /&gt;
&lt;br /&gt;
We bump the KADM5 API version to 4 (KADM5_API_VERSION_4) and extend the policy structures (kadm5_policy_ent_rec and osa_policy_ent_rec) to add the following fields:&lt;br /&gt;
&lt;br /&gt;
 ; attributes : holds attributes of principals that are policy-like (not implemented at this time)&lt;br /&gt;
 ; max_life : holds max ticket life (not implemented at this time)&lt;br /&gt;
 ; max_renewable_life : holds max ticket renewable lifetime (not implemented at this time)&lt;br /&gt;
 ; keygen_enctypes : key/salt type list that the principal is allowed to have keys of&lt;br /&gt;
 ; tk_data : sequence of {type, length, octet string} values just as in principal records&lt;br /&gt;
&lt;br /&gt;
User interface changes:&lt;br /&gt;
&lt;br /&gt;
 * The kadmin addpol and modpol commands get a new argument: -kegenenctypes keysalt-list.&lt;br /&gt;
 * The kdb5_util dump and load commansd get a new argument: -r18 (request 1.8 dump format).&lt;br /&gt;
&lt;br /&gt;
API changes:&lt;br /&gt;
&lt;br /&gt;
 * New kadm5 version number&lt;br /&gt;
 * Added fields to kadm5_policy_ent_rec&lt;br /&gt;
 * Added KADM5_POLICY_{ATTRIBUTES, ...} flags for use in the 'mask' argument to various kadm5 functions&lt;br /&gt;
&lt;br /&gt;
Note that as with the change in 1.8 it will not be safe to downgrade a KDC from 1.11 to an earlier version without reloading the policy DB from a dump format that the older version understands.  We hope this will be the last time that policies are extended in this manner: by using TL data for future extensions we can obtain the same downgrade semantics as for the principal database.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
 * Bump the KADM5 API version number everywhere that it should be, with fallback negotiation to versions 3 and 2&lt;br /&gt;
 * Extend the relevant structures (see above)&lt;br /&gt;
 * Refactor kadmin.c functions for adding and updating tl data (not needed now, but will be needed eventually)&lt;br /&gt;
 * Add KADM5_POLICY_{ATTRIBUTES, ...} #defines for use in kadm5 masks&lt;br /&gt;
 * Update XDR functions for encoding/decoding/freeing kadm5_policy_ent_rec and osa_policy_ent_rec structures&lt;br /&gt;
 * Add and use check_and_set_ks_tuple_policy(), a utility function for validating and editing key/salt tuples in src/lib/kadm5/srv/svr_principal.c&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
&lt;br /&gt;
One test is added: tests/t_keygen_enctypes.py.  All tests pass.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
The kadmin.M and kdb5_util.M manpages are updated.&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&lt;br /&gt;
Besides the interface changes noted above, the most important release note pertains to the requirement for a policy DB reload when downgrading a KDC to a previous release.  A policy DB reload is only needed on downgrade when new policies have been created, or existing policies modified, with the new kadmin program or kadm5 APIs.&lt;/div&gt;</summary>
		<author><name>Nico</name></author>	</entry>

	</feed>