kvno ASN.1 encoding interop with Windows RODCs
authorGreg Hudson <ghudson@mit.edu>
Tue, 21 Feb 2012 18:57:44 +0000 (18:57 +0000)
committerGreg Hudson <ghudson@mit.edu>
Tue, 21 Feb 2012 18:57:44 +0000 (18:57 +0000)
commit7558fb3af9f9fdfb8195333c11a70ab7b354f82c
tree71074545dc7687d41c91e55d6a9ef6118e7992dc
parent822d8b73fd19bd2647c8d0aaba21a2b961f3d40b
kvno ASN.1 encoding interop with Windows RODCs

RFC 4120 defines the EncryptedData kvno field as an integer in the
range of unsigned 32-bit numbers.  Windows encodes and decodes the
field as a signed 32-bit integer.  Historically we do the same in our
encoder in 1.6 and prior, and in our decoder through 1.10.  (Actually,
our decoder through 1.10 decoded the value as a long and then cast the
result to unsigned int, so it would accept positive values >= 2^31 on
64-bit platforms but not on 32-bit platforms.)

kvno values that large (or negative) are only likely to appear in the
context of Windows read-only domain controllers.  So do what Windows
does instead of what RFC 4120 says.

ticket: 7092

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25703 dc483132-0cff-0310-8789-dd5450dbe970
src/lib/krb5/asn.1/asn1_k_encode.c