]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Fix kvno ASN.1 encoding interop with Windows RODCs krb5-1.8
authorGreg Hudson <ghudson@mit.edu>
Tue, 21 Feb 2012 18:57:44 +0000 (18:57 +0000)
committerTom Yu <tlyu@mit.edu>
Mon, 25 Jun 2012 22:56:26 +0000 (18:56 -0400)
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.

(back ported from commit 7558fb3af9f9fdfb8195333c11a70ab7b354f82c)

Add test cases for Windows RODC kvno compatibility

(back ported from commit 8b33ff2daebcf3e4ccff6a938b410239b76ba287)

Eliminate trailing whitespace in trval output

Modify the trval output slightly so that the reference trval output
files don't containing trailing whitespace, to make them friendlier to
our git hooks.  (The pkinit and ldap trval reference files now contain
a leading blank line, which isn't very elegant, but avoiding that
requires too much Makefile.in complexity.)  Also correct a typo.

(back ported from cff6ea939f061d17a5742a04b8eeb2905c1813dc)

Restore some spaces in trval

This is a cosmetic change to reintroduce some space characters that
cff6ea939f061d17a5742a04b8eeb2905c1813dc removed, e.g. between the tag
and the length or short value.

(back ported from 0f976348054ca2f51187fe083a8c4668841f0b6d)

ticket: 7186 (new)
version_fixed: 1.8.7
status: resolved

src/lib/krb5/asn.1/asn1_k_encode.c
src/tests/asn.1/krb5_decode_test.c
src/tests/asn.1/krb5_encode_test.c
src/tests/asn.1/ldap_trval.out
src/tests/asn.1/reference_encode.out
src/tests/asn.1/trval.c
src/tests/asn.1/trval_reference.out

index a35f561e68e8952a39d4f595b5e4e7f459c6ec42..2fdd171cd5d9e4c4dfbb655324865a2d7fdde737 100644 (file)
@@ -144,9 +144,23 @@ optional_encrypted_data (const void *vptr)
     return optional;
 }
 
+/*
+ * Encode krb5_kvno as signed 32-bit for Windows RODC interop.  (This is an
+ * inelegant backport; it's an alteration of the expansion of DEFINTTYPE(kvno,
+ * krb5_kvno).)
+ */
+typedef krb5_kvno aux_typedefname_kvno;
+static asn1_intmax loadint_kvno(const void *p)
+{
+    return (krb5_int32)*(krb5_kvno *)p;
+}
+const struct atype_info krb5int_asn1type_kvno = {
+    atype_int, sizeof(krb5_kvno), 0, 0, 0, 0, 0, 0, 0, 0,
+    loadint_kvno, 0,
+};
 static const struct field_info encrypted_data_fields[] = {
     FIELDOF_NORM(krb5_enc_data, int32, enctype, 0),
-    FIELDOF_OPT(krb5_enc_data, uint, kvno, 1, 1),
+    FIELDOF_OPT(krb5_enc_data, kvno, kvno, 1, 1),
     FIELDOF_NORM(krb5_enc_data, ostring_data, ciphertext, 2),
 };
 DEFSEQTYPE(encrypted_data, krb5_enc_data, encrypted_data_fields,
index 2ef70cfe651f6d9c1232abf21f71170c42ac9d67..e8bb3ee0cd94a2f2dafc463e1cec1eb5af053323 100644 (file)
@@ -863,6 +863,10 @@ int main(argc, argv)
     {
         setup(krb5_enc_data,"krb5_enc_data",ktest_make_sample_enc_data);
         decode_run("enc_data","","30 23 A0 03 02 01 00 A1 03 02 01 05 A2 17 04 15 6B 72 62 41 53 4E 2E 31 20 74 65 73 74 20 6D 65 73 73 61 67 65",decode_krb5_enc_data,ktest_equal_enc_data,krb5_ktest_free_enc_data);
+        ref.kvno = 0xFF000000;
+        decode_run("enc_data","(MSB-set kvno)","30 26 A0 03 02 01 00 A1 06 02 04 FF 00 00 00 A2 17 04 15 6B 72 62 41 53 4E 2E 31 20 74 65 73 74 20 6D 65 73 73 61 67 65",decode_krb5_enc_data,ktest_equal_enc_data,krb5_ktest_free_enc_data);
+        ref.kvno = 0xFFFFFFFF;
+        decode_run("enc_data","(kvno=-1)","30 23 A0 03 02 01 00 A1 03 02 01 FF A2 17 04 15 6B 72 62 41 53 4E 2E 31 20 74 65 73 74 20 6D 65 73 73 61 67 65",decode_krb5_enc_data,ktest_equal_enc_data,krb5_ktest_free_enc_data);
         ktest_destroy_enc_data(&ref);
     }
 
index 9694746fa729acb441cc28c41d359d7134d06170..5f2be4fa95b1e8cea786a84579829a86ec21453a 100644 (file)
@@ -14,6 +14,7 @@ extern int current_appl_type;
 krb5_context test_context;
 int error_count = 0;
 int do_trval = 0;
+int first_trval = 1;
 int trval2();
 
 static void encoder_print_results(code, typestring, description)
@@ -26,9 +27,13 @@ static void encoder_print_results(code, typestring, description)
     int r, rlen;
 
     if (do_trval) {
+        if (first_trval)
+            first_trval = 0;
+        else
+            printf("\n");
         printf("encode_krb5_%s%s:\n", typestring, description);
         r = trval2(stdout, code->data, code->length, 0, &rlen);
-        printf("\n\n");
+        printf("\n");
         if (rlen < 0 || (unsigned int) rlen != code->length) {
             printf("Error: length mismatch: was %d, parsed %d\n",
                    code->length, rlen);
@@ -623,6 +628,12 @@ main(argc, argv)
         setup(enc_data,krb5_enc_data,"enc_data",ktest_make_sample_enc_data);
         current_appl_type = 1001;
         encode_run(enc_data,krb5_enc_data,"enc_data","",encode_krb5_enc_data);
+        enc_data.kvno = 0xFF000000;
+        current_appl_type = 1001;
+        encode_run(enc_data,krb5_enc_data,"enc_data","(MSB-set kvno)",encode_krb5_enc_data);
+        enc_data.kvno = 0xFFFFFFFF;
+        current_appl_type = 1001;
+        encode_run(enc_data,krb5_enc_data,"enc_data","(kvno=-1)",encode_krb5_enc_data);
         ktest_destroy_enc_data(&enc_data);
     }
     /****************************************************************/
index 02a37e306a3c9daf423cae788ef18251f64cab39..16ea7371943faf3c3bc41d2800551f5b5a7aa6c7 100644 (file)
@@ -1,30 +1,30 @@
+
 encode_krb5_ldap_seqof_key_data:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 1
 .  [1] [Integer] 1
 .  [2] [Integer] 42
 .  [3] [Integer] 14
-.  [4] [Sequence/Sequence Of] 
-.  .  [Sequence/Sequence Of] 
-.  .  .  [0] [Sequence/Sequence Of] 
+.  [4] [Sequence/Sequence Of]
+.  .  [Sequence/Sequence Of]
+.  .  .  [0] [Sequence/Sequence Of]
 .  .  .  .  [0] [Integer] 0
 .  .  .  .  [1] [Octet String] "salt0"
-.  .  .  [1] [Sequence/Sequence Of] 
+.  .  .  [1] [Sequence/Sequence Of]
 .  .  .  .  [0] [Integer] 2
 .  .  .  .  [1] [Octet String] "key0"
-.  .  [Sequence/Sequence Of] 
-.  .  .  [0] [Sequence/Sequence Of] 
+.  .  [Sequence/Sequence Of]
+.  .  .  [0] [Sequence/Sequence Of]
 .  .  .  .  [0] [Integer] 1
 .  .  .  .  [1] [Octet String] "salt1"
-.  .  .  [1] [Sequence/Sequence Of] 
+.  .  .  [1] [Sequence/Sequence Of]
 .  .  .  .  [0] [Integer] 2
 .  .  .  .  [1] [Octet String] "key1"
-.  .  [Sequence/Sequence Of] 
-.  .  .  [0] [Sequence/Sequence Of] 
+.  .  [Sequence/Sequence Of]
+.  .  .  [0] [Sequence/Sequence Of]
 .  .  .  .  [0] [Integer] 2
 .  .  .  .  [1] [Octet String] "salt2"
-.  .  .  [1] [Sequence/Sequence Of] 
+.  .  .  [1] [Sequence/Sequence Of]
 .  .  .  .  [0] [Integer] 2
 .  .  .  .  [1] [Octet String] "key2"
-
index c6bcf619cd1b6ef69ab461ce3dca9f84270e3a2e..0385fc9814ef69ed7b5b9e212f624411d968e55f 100644 (file)
@@ -49,6 +49,8 @@ encode_krb5_etype_info2 (only 1): 30 20 30 1E A0 03 02 01 00 A1 0D 1B 0B 4D 6F 7
 encode_krb5_pa_enc_ts: 30 1A A0 11 18 0F 31 39 39 34 30 36 31 30 30 36 30 33 31 37 5A A1 05 02 03 01 E2 40
 encode_krb5_pa_enc_ts (no usec): 30 13 A0 11 18 0F 31 39 39 34 30 36 31 30 30 36 30 33 31 37 5A
 encode_krb5_enc_data: 30 23 A0 03 02 01 00 A1 03 02 01 05 A2 17 04 15 6B 72 62 41 53 4E 2E 31 20 74 65 73 74 20 6D 65 73 73 61 67 65
+encode_krb5_enc_data(MSB-set kvno): 30 26 A0 03 02 01 00 A1 06 02 04 FF 00 00 00 A2 17 04 15 6B 72 62 41 53 4E 2E 31 20 74 65 73 74 20 6D 65 73 73 61 67 65
+encode_krb5_enc_data(kvno=-1): 30 23 A0 03 02 01 00 A1 03 02 01 FF A2 17 04 15 6B 72 62 41 53 4E 2E 31 20 74 65 73 74 20 6D 65 73 73 61 67 65
 encode_krb5_sam_challenge: 30 70 A0 03 02 01 2A A1 07 03 05 00 80 00 00 00 A2 0B 04 09 74 79 70 65 20 6E 61 6D 65 A4 11 04 0F 63 68 61 6C 6C 65 6E 67 65 20 6C 61 62 65 6C A5 10 04 0E 63 68 61 6C 6C 65 6E 67 65 20 69 70 73 65 A6 16 04 14 72 65 73 70 6F 6E 73 65 5F 70 72 6F 6D 70 74 20 69 70 73 65 A8 05 02 03 54 32 10 A9 0F 30 0D A0 03 02 01 01 A1 06 04 04 31 32 33 34
 encode_krb5_sam_response: 30 6A A0 03 02 01 2A A1 07 03 05 00 80 00 00 00 A2 0C 04 0A 74 72 61 63 6B 20 64 61 74 61 A3 14 30 12 A0 03 02 01 01 A1 04 02 02 07 96 A2 05 04 03 6B 65 79 A4 1C 30 1A A0 03 02 01 01 A1 04 02 02 0D 36 A2 0D 04 0B 6E 6F 6E 63 65 20 6F 72 20 74 73 A5 05 02 03 54 32 10 A6 11 18 0F 31 39 39 34 30 36 31 30 30 36 30 33 31 37 5A
 encode_krb5_sam_key: 30 15 A0 13 30 11 A0 03 02 01 01 A1 0A 04 08 31 32 33 34 35 36 37 38
index b61bc3ccb185b4ceaa5da6fdc03cf910c96bbb9b..cb08da36368474ab7b740eae2ef45f2064a88fae 100644 (file)
@@ -225,6 +225,7 @@ context_restart:
         ((eid & ID_CLASS) == CLASS_CONT) && (lev > 0)) {
         rlen_ext += 2 + xlen;
         enc += 2 + xlen;
+        fprintf(fp, " ");
         goto context_restart;
     }
 
@@ -235,8 +236,8 @@ context_restart:
         break;
     case FORM_CONS:
         if (print_constructed_length) {
-            fprintf(fp, "constr ");
-            fprintf(fp, "<%d>", elen);
+            fprintf(fp, " constr");
+            fprintf(fp, " <%d>", elen);
         }
         r = do_cons(fp, enc+2+xlen, elen, lev+1, &rlen2);
         *rlen = 2 + xlen + rlen2 + rlen_ext;
@@ -286,7 +287,7 @@ int do_prim_bitstring(fp, tag, enc, len, lev)
         num += enc[i];
     }
 
-    fprintf(fp, "0x%lx", num);
+    fprintf(fp, " 0x%lx", num);
     if (enc[0])
         fprintf(fp, " (%d unused bits)", enc[0]);
     return 1;
@@ -316,7 +317,7 @@ int do_prim_int(fp, tag, enc, len, lev)
         num += enc[i];
     }
 
-    fprintf(fp, "%ld", num);
+    fprintf(fp, " %ld", num);
     return 1;
 }
 
@@ -343,7 +344,7 @@ int do_prim_string(fp, tag, enc, len, lev)
     for (i=0; i < len; i++)
         if (!isprint(enc[i]))
             return 0;
-    fprintf(fp, "\"%.*s\"", len, enc);
+    fprintf(fp, " \"%.*s\"", len, enc);
     return 1;
 }
 
@@ -367,7 +368,7 @@ int do_prim(fp, tag, enc, len, lev)
         return OK;
 
     if (print_primitive_length)
-        fprintf(fp, "<%d>", len);
+        fprintf(fp, " <%d>", len);
 
     width = (80 - (lev * 3) - 8) / 4;
 
@@ -477,7 +478,7 @@ struct typestring_table univ_types[] = {
 #ifdef KRB5
 struct typestring_table krb5_types[] = {
     { 1, -1, "Krb5 Ticket"},
-    { 2, -1, "Krb5 Autenticator"},
+    { 2, -1, "Krb5 Authenticator"},
     { 3, -1, "Krb5 Encrypted ticket part"},
     { 10, -1, "Krb5 AS-REQ packet"},
     { 11, -1, "Krb5 AS-REP packet"},
@@ -760,7 +761,7 @@ void print_tag_type(fp, eid, lev)
             fprintf(fp, "UNIV %d???", eid & ID_TAG);
     }
 
-    fprintf(fp, "] ");
+    fprintf(fp, "]");
 
 }
 
index 38e5b99ada3bee68a4a334e003adb553bb9d16f6..b60b72282f700debc0e09ed09baa57286960499c 100644 (file)
@@ -1,40 +1,40 @@
 encode_krb5_authenticator:
 
-[Krb5 Autenticator] 
-.  [Sequence/Sequence Of] 
+[Krb5 Authenticator]
+.  [Sequence/Sequence Of]
 .  .  [authenticator-vno] [Integer] 5
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
-.  .  [cksum] [Sequence/Sequence Of] 
+.  .  [cksum] [Sequence/Sequence Of]
 .  .  .  [cksumtype] [Integer] 1
 .  .  .  [checksum] [Octet String] "1234"
 .  .  [cusec] [Integer] 123456
 .  .  [ctime] [Generalized Time] "19940610060317Z"
-.  .  [subkey] [Sequence/Sequence Of] 
+.  .  [subkey] [Sequence/Sequence Of]
 .  .  .  [keytype] [Integer] 1
 .  .  .  [keyvalue] [Octet String] "12345678"
 .  .  [seq-number] [Integer] 17
-.  .  [authorization-data] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [authorization-data] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [ad-type] [Integer] 1
 .  .  .  .  [ad-data] [Octet String] "foobar"
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [ad-type] [Integer] 1
 .  .  .  .  [ad-data] [Octet String] "foobar"
 
 encode_krb5_authenticator(optionals empty):
 
-[Krb5 Autenticator] 
-.  [Sequence/Sequence Of] 
+[Krb5 Authenticator]
+.  [Sequence/Sequence Of]
 .  .  [authenticator-vno] [Integer] 5
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
 .  .  [cusec] [Integer] 123456
@@ -42,13 +42,13 @@ encode_krb5_authenticator(optionals empty):
 
 encode_krb5_authenticator(optionals NULL):
 
-[Krb5 Autenticator] 
-.  [Sequence/Sequence Of] 
+[Krb5 Authenticator]
+.  [Sequence/Sequence Of]
 .  .  [authenticator-vno] [Integer] 5
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
 .  .  [cusec] [Integer] 123456
@@ -56,79 +56,79 @@ encode_krb5_authenticator(optionals NULL):
 
 encode_krb5_ticket:
 
-[Krb5 Ticket] 
-.  [Sequence/Sequence Of] 
+[Krb5 Ticket]
+.  [Sequence/Sequence Of]
 .  .  [tkt-vno] [Integer] 5
 .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  [sname] [Sequence/Sequence Of] 
+.  .  [sname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
-.  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  [etype] [Integer] 0
 .  .  .  [kvno] [Integer] 5
 .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_keyblock:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [keytype] [Integer] 1
 .  [keyvalue] [Octet String] "12345678"
 
 encode_krb5_enc_tkt_part:
 
-[Krb5 Encrypted ticket part] 
-.  [Sequence/Sequence Of] 
+[Krb5 Encrypted ticket part]
+.  [Sequence/Sequence Of]
 .  .  [flags] [Bit String] 0xfedcba98
-.  .  [key] [Sequence/Sequence Of] 
+.  .  [key] [Sequence/Sequence Of]
 .  .  .  [keytype] [Integer] 1
 .  .  .  [keyvalue] [Octet String] "12345678"
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
-.  .  [transited] [Sequence/Sequence Of] 
+.  .  [transited] [Sequence/Sequence Of]
 .  .  .  [flags] [Integer] 1
 .  .  .  [key] [Octet String] "EDU,MIT.,ATHENA.,WASHINGTON.EDU,CS."
 .  .  [authtime] [Generalized Time] "19940610060317Z"
 .  .  [starttime] [Generalized Time] "19940610060317Z"
 .  .  [endtime] [Generalized Time] "19940610060317Z"
 .  .  [renew-till] [Generalized Time] "19940610060317Z"
-.  .  [caddr] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [caddr] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  [address] [Octet String] <4>
                12 d0 00 23                                   ...#
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  [address] [Octet String] <4>
                12 d0 00 23                                   ...#
-.  .  [authorization-data] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [authorization-data] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [ad-type] [Integer] 1
 .  .  .  .  [ad-data] [Octet String] "foobar"
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [ad-type] [Integer] 1
 .  .  .  .  [ad-data] [Octet String] "foobar"
 
 encode_krb5_enc_tkt_part(optionals NULL):
 
-[Krb5 Encrypted ticket part] 
-.  [Sequence/Sequence Of] 
+[Krb5 Encrypted ticket part]
+.  [Sequence/Sequence Of]
 .  .  [flags] [Bit String] 0xfedcba98
-.  .  [key] [Sequence/Sequence Of] 
+.  .  [key] [Sequence/Sequence Of]
 .  .  .  [keytype] [Integer] 1
 .  .  .  [keyvalue] [Octet String] "12345678"
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
-.  .  [transited] [Sequence/Sequence Of] 
+.  .  [transited] [Sequence/Sequence Of]
 .  .  .  [flags] [Integer] 1
 .  .  .  [key] [Octet String] "EDU,MIT.,ATHENA.,WASHINGTON.EDU,CS."
 .  .  [authtime] [Generalized Time] "19940610060317Z"
@@ -136,16 +136,16 @@ encode_krb5_enc_tkt_part(optionals NULL):
 
 encode_krb5_enc_kdc_rep_part:
 
-[Krb5 Encrypted TGS-REP part] 
-.  [Sequence/Sequence Of] 
-.  .  [key] [Sequence/Sequence Of] 
+[Krb5 Encrypted TGS-REP part]
+.  [Sequence/Sequence Of]
+.  .  [key] [Sequence/Sequence Of]
 .  .  .  [keytype] [Integer] 1
 .  .  .  [keyvalue] [Octet String] "12345678"
-.  .  [last-req] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [last-req] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [lr-type] [Integer] -5
 .  .  .  .  [lr-value] [Generalized Time] "19940610060317Z"
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [lr-type] [Integer] -5
 .  .  .  .  [lr-value] [Generalized Time] "19940610060317Z"
 .  .  [nonce] [Integer] 42
@@ -156,33 +156,33 @@ encode_krb5_enc_kdc_rep_part:
 .  .  [enddtime] [Generalized Time] "19940610060317Z"
 .  .  [renew-till] [Generalized Time] "19940610060317Z"
 .  .  [srealm] [General string] "ATHENA.MIT.EDU"
-.  .  [sname] [Sequence/Sequence Of] 
+.  .  [sname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
-.  .  [caddr] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [caddr] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  [address] [Octet String] <4>
                12 d0 00 23                                   ...#
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  [address] [Octet String] <4>
                12 d0 00 23                                   ...#
 
 encode_krb5_enc_kdc_rep_part(optionals NULL):
 
-[Krb5 Encrypted TGS-REP part] 
-.  [Sequence/Sequence Of] 
-.  .  [key] [Sequence/Sequence Of] 
+[Krb5 Encrypted TGS-REP part]
+.  [Sequence/Sequence Of]
+.  .  [key] [Sequence/Sequence Of]
 .  .  .  [keytype] [Integer] 1
 .  .  .  [keyvalue] [Octet String] "12345678"
-.  .  [last-req] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [last-req] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [lr-type] [Integer] -5
 .  .  .  .  [lr-value] [Generalized Time] "19940610060317Z"
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [lr-type] [Integer] -5
 .  .  .  .  [lr-value] [Generalized Time] "19940610060317Z"
 .  .  [nonce] [Integer] 42
@@ -190,717 +190,717 @@ encode_krb5_enc_kdc_rep_part(optionals NULL):
 .  .  [authtime] [Generalized Time] "19940610060317Z"
 .  .  [enddtime] [Generalized Time] "19940610060317Z"
 .  .  [srealm] [General string] "ATHENA.MIT.EDU"
-.  .  [sname] [Sequence/Sequence Of] 
+.  .  [sname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
 
 encode_krb5_as_rep:
 
-[Krb5 AS-REP packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 AS-REP packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 11
-.  .  [padata] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [padata] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [padata-type] [Integer] 13
 .  .  .  .  [pa-data] [Octet String] "pa-data"
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [padata-type] [Integer] 13
 .  .  .  .  [pa-data] [Octet String] "pa-data"
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
-.  .  [ticket] [Krb5 Ticket] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [ticket] [Krb5 Ticket]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  [enc-part] [Sequence/Sequence Of] 
+.  .  [enc-part] [Sequence/Sequence Of]
 .  .  .  [etype] [Integer] 0
 .  .  .  [kvno] [Integer] 5
 .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_as_rep(optionals NULL):
 
-[Krb5 AS-REP packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 AS-REP packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 11
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
-.  .  [ticket] [Krb5 Ticket] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [ticket] [Krb5 Ticket]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  [enc-part] [Sequence/Sequence Of] 
+.  .  [enc-part] [Sequence/Sequence Of]
 .  .  .  [etype] [Integer] 0
 .  .  .  [kvno] [Integer] 5
 .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_tgs_rep:
 
-[Krb5 TGS-REP packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 TGS-REP packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 13
-.  .  [padata] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [padata] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [padata-type] [Integer] 13
 .  .  .  .  [pa-data] [Octet String] "pa-data"
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [padata-type] [Integer] 13
 .  .  .  .  [pa-data] [Octet String] "pa-data"
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
-.  .  [ticket] [Krb5 Ticket] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [ticket] [Krb5 Ticket]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  [enc-part] [Sequence/Sequence Of] 
+.  .  [enc-part] [Sequence/Sequence Of]
 .  .  .  [etype] [Integer] 0
 .  .  .  [kvno] [Integer] 5
 .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_tgs_rep(optionals NULL):
 
-[Krb5 TGS-REP packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 TGS-REP packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 13
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
-.  .  [ticket] [Krb5 Ticket] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [ticket] [Krb5 Ticket]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  [enc-part] [Sequence/Sequence Of] 
+.  .  [enc-part] [Sequence/Sequence Of]
 .  .  .  [etype] [Integer] 0
 .  .  .  [kvno] [Integer] 5
 .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_ap_req:
 
-[Krb5 AP-REQ packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 AP-REQ packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 14
 .  .  [ap-options] [Bit String] 0xfedcba98
-.  .  [ticket] [Krb5 Ticket] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [ticket] [Krb5 Ticket]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  [authenticator] [Sequence/Sequence Of] 
+.  .  [authenticator] [Sequence/Sequence Of]
 .  .  .  [etype] [Integer] 0
 .  .  .  [kvno] [Integer] 5
 .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_ap_rep:
 
-[Krb5 AP-REP packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 AP-REP packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 15
-.  .  [enc-part] [Sequence/Sequence Of] 
+.  .  [enc-part] [Sequence/Sequence Of]
 .  .  .  [etype] [Integer] 0
 .  .  .  [kvno] [Integer] 5
 .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_ap_rep_enc_part:
 
-[Krb5 Encrypted AP-REP part] 
-.  [Sequence/Sequence Of] 
+[Krb5 Encrypted AP-REP part]
+.  [Sequence/Sequence Of]
 .  .  [ctime] [Generalized Time] "19940610060317Z"
 .  .  [cusec] [Integer] 123456
-.  .  [subkey] [Sequence/Sequence Of] 
+.  .  [subkey] [Sequence/Sequence Of]
 .  .  .  [keytype] [Integer] 1
 .  .  .  [keyvalue] [Octet String] "12345678"
 .  .  [seq-number] [Integer] 17
 
 encode_krb5_ap_rep_enc_part(optionals NULL):
 
-[Krb5 Encrypted AP-REP part] 
-.  [Sequence/Sequence Of] 
+[Krb5 Encrypted AP-REP part]
+.  [Sequence/Sequence Of]
 .  .  [ctime] [Generalized Time] "19940610060317Z"
 .  .  [cusec] [Integer] 123456
 
 encode_krb5_as_req:
 
-[Krb5 AS-REQ packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 AS-REQ packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 10
-.  .  [padata] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [padata] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [padata-type] [Integer] 13
 .  .  .  .  [pa-data] [Octet String] "pa-data"
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [padata-type] [Integer] 13
 .  .  .  .  [pa-data] [Octet String] "pa-data"
-.  .  [req-body] [Sequence/Sequence Of] 
+.  .  [req-body] [Sequence/Sequence Of]
 .  .  .  [kdc-options] [Bit String] 0xfedcba90
-.  .  .  [cname] [Sequence/Sequence Of] 
+.  .  .  [cname] [Sequence/Sequence Of]
 .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  [General string] "extra"
 .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  [General string] "extra"
 .  .  .  [from] [Generalized Time] "19940610060317Z"
 .  .  .  [till] [Generalized Time] "19940610060317Z"
 .  .  .  [rtime] [Generalized Time] "19940610060317Z"
 .  .  .  [nonce] [Integer] 42
-.  .  .  [etype] [Sequence/Sequence Of] 
+.  .  .  [etype] [Sequence/Sequence Of]
 .  .  .  .  [Integer] 0
 .  .  .  .  [Integer] 1
-.  .  .  [addresses] [Sequence/Sequence Of] 
-.  .  .  .  [Sequence/Sequence Of] 
+.  .  .  [addresses] [Sequence/Sequence Of]
+.  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  [address] [Octet String] <4>
                   12 d0 00 23                                ...#
-.  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  [address] [Octet String] <4>
                   12 d0 00 23                                ...#
-.  .  .  [enc-authorization-data] [Sequence/Sequence Of] 
+.  .  .  [enc-authorization-data] [Sequence/Sequence Of]
 .  .  .  .  [etype] [Integer] 0
 .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  .  [additional-tickets] [Sequence/Sequence Of] 
-.  .  .  .  [Krb5 Ticket] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  [additional-tickets] [Sequence/Sequence Of]
+.  .  .  .  [Krb5 Ticket]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  .  .  [Krb5 Ticket] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  [Krb5 Ticket]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_as_req(optionals NULL except second_ticket):
 
-[Krb5 AS-REQ packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 AS-REQ packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 10
-.  .  [req-body] [Sequence/Sequence Of] 
+.  .  [req-body] [Sequence/Sequence Of]
 .  .  .  [kdc-options] [Bit String] 0xfedcba98
 .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
 .  .  .  [till] [Generalized Time] "19940610060317Z"
 .  .  .  [nonce] [Integer] 42
-.  .  .  [etype] [Sequence/Sequence Of] 
+.  .  .  [etype] [Sequence/Sequence Of]
 .  .  .  .  [Integer] 0
 .  .  .  .  [Integer] 1
-.  .  .  [additional-tickets] [Sequence/Sequence Of] 
-.  .  .  .  [Krb5 Ticket] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  [additional-tickets] [Sequence/Sequence Of]
+.  .  .  .  [Krb5 Ticket]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  .  .  [Krb5 Ticket] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  [Krb5 Ticket]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_as_req(optionals NULL except server):
 
-[Krb5 AS-REQ packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 AS-REQ packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 10
-.  .  [req-body] [Sequence/Sequence Of] 
+.  .  [req-body] [Sequence/Sequence Of]
 .  .  .  [kdc-options] [Bit String] 0xfedcba90
 .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  [General string] "extra"
 .  .  .  [till] [Generalized Time] "19940610060317Z"
 .  .  .  [nonce] [Integer] 42
-.  .  .  [etype] [Sequence/Sequence Of] 
+.  .  .  [etype] [Sequence/Sequence Of]
 .  .  .  .  [Integer] 0
 .  .  .  .  [Integer] 1
 
 encode_krb5_tgs_req:
 
-[Krb5 TGS-REQ packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 TGS-REQ packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 12
-.  .  [padata] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [padata] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [padata-type] [Integer] 13
 .  .  .  .  [pa-data] [Octet String] "pa-data"
-.  .  .  [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [padata-type] [Integer] 13
 .  .  .  .  [pa-data] [Octet String] "pa-data"
-.  .  [req-body] [Sequence/Sequence Of] 
+.  .  [req-body] [Sequence/Sequence Of]
 .  .  .  [kdc-options] [Bit String] 0xfedcba90
-.  .  .  [cname] [Sequence/Sequence Of] 
+.  .  .  [cname] [Sequence/Sequence Of]
 .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  [General string] "extra"
 .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  [General string] "extra"
 .  .  .  [from] [Generalized Time] "19940610060317Z"
 .  .  .  [till] [Generalized Time] "19940610060317Z"
 .  .  .  [rtime] [Generalized Time] "19940610060317Z"
 .  .  .  [nonce] [Integer] 42
-.  .  .  [etype] [Sequence/Sequence Of] 
+.  .  .  [etype] [Sequence/Sequence Of]
 .  .  .  .  [Integer] 0
 .  .  .  .  [Integer] 1
-.  .  .  [addresses] [Sequence/Sequence Of] 
-.  .  .  .  [Sequence/Sequence Of] 
+.  .  .  [addresses] [Sequence/Sequence Of]
+.  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  [address] [Octet String] <4>
                   12 d0 00 23                                ...#
-.  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  [address] [Octet String] <4>
                   12 d0 00 23                                ...#
-.  .  .  [enc-authorization-data] [Sequence/Sequence Of] 
+.  .  .  [enc-authorization-data] [Sequence/Sequence Of]
 .  .  .  .  [etype] [Integer] 0
 .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  .  [additional-tickets] [Sequence/Sequence Of] 
-.  .  .  .  [Krb5 Ticket] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  [additional-tickets] [Sequence/Sequence Of]
+.  .  .  .  [Krb5 Ticket]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  .  .  [Krb5 Ticket] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  [Krb5 Ticket]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_tgs_req(optionals NULL except second_ticket):
 
-[Krb5 TGS-REQ packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 TGS-REQ packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 12
-.  .  [req-body] [Sequence/Sequence Of] 
+.  .  [req-body] [Sequence/Sequence Of]
 .  .  .  [kdc-options] [Bit String] 0xfedcba98
 .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
 .  .  .  [till] [Generalized Time] "19940610060317Z"
 .  .  .  [nonce] [Integer] 42
-.  .  .  [etype] [Sequence/Sequence Of] 
+.  .  .  [etype] [Sequence/Sequence Of]
 .  .  .  .  [Integer] 0
 .  .  .  .  [Integer] 1
-.  .  .  [additional-tickets] [Sequence/Sequence Of] 
-.  .  .  .  [Krb5 Ticket] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  [additional-tickets] [Sequence/Sequence Of]
+.  .  .  .  [Krb5 Ticket]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  .  .  [Krb5 Ticket] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  [Krb5 Ticket]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_tgs_req(optionals NULL except server):
 
-[Krb5 TGS-REQ packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 TGS-REQ packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 12
-.  .  [req-body] [Sequence/Sequence Of] 
+.  .  [req-body] [Sequence/Sequence Of]
 .  .  .  [kdc-options] [Bit String] 0xfedcba90
 .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  [General string] "extra"
 .  .  .  [till] [Generalized Time] "19940610060317Z"
 .  .  .  [nonce] [Integer] 42
-.  .  .  [etype] [Sequence/Sequence Of] 
+.  .  .  [etype] [Sequence/Sequence Of]
 .  .  .  .  [Integer] 0
 .  .  .  .  [Integer] 1
 
 encode_krb5_kdc_req_body:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [kdc-options] [Bit String] 0xfedcba90
-.  [cname] [Sequence/Sequence Of] 
+.  [cname] [Sequence/Sequence Of]
 .  .  [name-type] [Integer] 1
-.  .  [name-string] [Sequence/Sequence Of] 
+.  .  [name-string] [Sequence/Sequence Of]
 .  .  .  [General string] "hftsai"
 .  .  .  [General string] "extra"
 .  [realm] [General string] "ATHENA.MIT.EDU"
-.  [sname] [Sequence/Sequence Of] 
+.  [sname] [Sequence/Sequence Of]
 .  .  [name-type] [Integer] 1
-.  .  [name-string] [Sequence/Sequence Of] 
+.  .  [name-string] [Sequence/Sequence Of]
 .  .  .  [General string] "hftsai"
 .  .  .  [General string] "extra"
 .  [from] [Generalized Time] "19940610060317Z"
 .  [till] [Generalized Time] "19940610060317Z"
 .  [rtime] [Generalized Time] "19940610060317Z"
 .  [nonce] [Integer] 42
-.  [etype] [Sequence/Sequence Of] 
+.  [etype] [Sequence/Sequence Of]
 .  .  [Integer] 0
 .  .  [Integer] 1
-.  [addresses] [Sequence/Sequence Of] 
-.  .  [Sequence/Sequence Of] 
+.  [addresses] [Sequence/Sequence Of]
+.  .  [Sequence/Sequence Of]
 .  .  .  [addr-type] [Integer] 2
 .  .  .  [address] [Octet String] <4>
             12 d0 00 23                                      ...#
-.  .  [Sequence/Sequence Of] 
+.  .  [Sequence/Sequence Of]
 .  .  .  [addr-type] [Integer] 2
 .  .  .  [address] [Octet String] <4>
             12 d0 00 23                                      ...#
-.  [enc-authorization-data] [Sequence/Sequence Of] 
+.  [enc-authorization-data] [Sequence/Sequence Of]
 .  .  [etype] [Integer] 0
 .  .  [kvno] [Integer] 5
 .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  [additional-tickets] [Sequence/Sequence Of] 
-.  .  [Krb5 Ticket] 
-.  .  .  [Sequence/Sequence Of] 
+.  [additional-tickets] [Sequence/Sequence Of]
+.  .  [Krb5 Ticket]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  [Krb5 Ticket] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [Krb5 Ticket]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_kdc_req_body(optionals NULL except second_ticket):
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [kdc-options] [Bit String] 0xfedcba98
 .  [realm] [General string] "ATHENA.MIT.EDU"
 .  [till] [Generalized Time] "19940610060317Z"
 .  [nonce] [Integer] 42
-.  [etype] [Sequence/Sequence Of] 
+.  [etype] [Sequence/Sequence Of]
 .  .  [Integer] 0
 .  .  [Integer] 1
-.  [additional-tickets] [Sequence/Sequence Of] 
-.  .  [Krb5 Ticket] 
-.  .  .  [Sequence/Sequence Of] 
+.  [additional-tickets] [Sequence/Sequence Of]
+.  .  [Krb5 Ticket]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  [Krb5 Ticket] 
-.  .  .  [Sequence/Sequence Of] 
+.  .  [Krb5 Ticket]
+.  .  .  [Sequence/Sequence Of]
 .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_kdc_req_body(optionals NULL except server):
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [kdc-options] [Bit String] 0xfedcba90
 .  [realm] [General string] "ATHENA.MIT.EDU"
-.  [sname] [Sequence/Sequence Of] 
+.  [sname] [Sequence/Sequence Of]
 .  .  [name-type] [Integer] 1
-.  .  [name-string] [Sequence/Sequence Of] 
+.  .  [name-string] [Sequence/Sequence Of]
 .  .  .  [General string] "hftsai"
 .  .  .  [General string] "extra"
 .  [till] [Generalized Time] "19940610060317Z"
 .  [nonce] [Integer] 42
-.  [etype] [Sequence/Sequence Of] 
+.  [etype] [Sequence/Sequence Of]
 .  .  [Integer] 0
 .  .  [Integer] 1
 
 encode_krb5_safe:
 
-[Krb5 SAFE packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 SAFE packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 20
-.  .  [safe-body] [Sequence/Sequence Of] 
+.  .  [safe-body] [Sequence/Sequence Of]
 .  .  .  [user-data] [Octet String] "krb5data"
 .  .  .  [timestamp] [Generalized Time] "19940610060317Z"
 .  .  .  [usec] [Integer] 123456
 .  .  .  [seq-number] [Integer] 17
-.  .  .  [s-address] [Sequence/Sequence Of] 
+.  .  .  [s-address] [Sequence/Sequence Of]
 .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  [address] [Octet String] <4>
                12 d0 00 23                                   ...#
-.  .  .  [r-address] [Sequence/Sequence Of] 
+.  .  .  [r-address] [Sequence/Sequence Of]
 .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  [address] [Octet String] <4>
                12 d0 00 23                                   ...#
-.  .  [cksum] [Sequence/Sequence Of] 
+.  .  [cksum] [Sequence/Sequence Of]
 .  .  .  [cksumtype] [Integer] 1
 .  .  .  [checksum] [Octet String] "1234"
 
 encode_krb5_safe(optionals NULL):
 
-[Krb5 SAFE packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 SAFE packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 20
-.  .  [safe-body] [Sequence/Sequence Of] 
+.  .  [safe-body] [Sequence/Sequence Of]
 .  .  .  [user-data] [Octet String] "krb5data"
-.  .  .  [s-address] [Sequence/Sequence Of] 
+.  .  .  [s-address] [Sequence/Sequence Of]
 .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  [address] [Octet String] <4>
                12 d0 00 23                                   ...#
-.  .  [cksum] [Sequence/Sequence Of] 
+.  .  [cksum] [Sequence/Sequence Of]
 .  .  .  [cksumtype] [Integer] 1
 .  .  .  [checksum] [Octet String] "1234"
 
 encode_krb5_priv:
 
-[Krb5 PRIV packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 PRIV packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 21
-.  .  [3] [Sequence/Sequence Of] 
+.  .  [3] [Sequence/Sequence Of]
 .  .  .  [pvno] [Integer] 0
 .  .  .  [msg-type] [Integer] 5
 .  .  .  [enc-part] [Octet String] "krbASN.1 test message"
 
 encode_krb5_enc_priv_part:
 
-[Krb5 Encrypted PRIV part] 
-.  [Sequence/Sequence Of] 
+[Krb5 Encrypted PRIV part]
+.  [Sequence/Sequence Of]
 .  .  [user-data] [Octet String] "krb5data"
 .  .  [timestamp] [Generalized Time] "19940610060317Z"
 .  .  [usec] [Integer] 123456
 .  .  [seq-number] [Integer] 17
-.  .  [s-address] [Sequence/Sequence Of] 
+.  .  [s-address] [Sequence/Sequence Of]
 .  .  .  [addr-type] [Integer] 2
 .  .  .  [address] [Octet String] <4>
             12 d0 00 23                                      ...#
-.  .  [r-address] [Sequence/Sequence Of] 
+.  .  [r-address] [Sequence/Sequence Of]
 .  .  .  [addr-type] [Integer] 2
 .  .  .  [address] [Octet String] <4>
             12 d0 00 23                                      ...#
 
 encode_krb5_enc_priv_part(optionals NULL):
 
-[Krb5 Encrypted PRIV part] 
-.  [Sequence/Sequence Of] 
+[Krb5 Encrypted PRIV part]
+.  [Sequence/Sequence Of]
 .  .  [user-data] [Octet String] "krb5data"
-.  .  [s-address] [Sequence/Sequence Of] 
+.  .  [s-address] [Sequence/Sequence Of]
 .  .  .  [addr-type] [Integer] 2
 .  .  .  [address] [Octet String] <4>
             12 d0 00 23                                      ...#
 
 encode_krb5_cred:
 
-[Krb5 CRED packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 CRED packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 22
-.  .  [tickets] [Sequence/Sequence Of] 
-.  .  .  [Krb5 Ticket] 
-.  .  .  .  [Sequence/Sequence Of] 
+.  .  [tickets] [Sequence/Sequence Of]
+.  .  .  [Krb5 Ticket]
+.  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  .  [Krb5 Ticket] 
-.  .  .  .  [Sequence/Sequence Of] 
+.  .  .  [Krb5 Ticket]
+.  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  [tkt-vno] [Integer] 5
 .  .  .  .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of] 
+.  .  .  .  .  [tkt-enc-part] [Sequence/Sequence Of]
 .  .  .  .  .  .  [etype] [Integer] 0
 .  .  .  .  .  .  [kvno] [Integer] 5
 .  .  .  .  .  .  [cipher] [Octet String] "krbASN.1 test message"
-.  .  [enc-part] [Sequence/Sequence Of] 
+.  .  [enc-part] [Sequence/Sequence Of]
 .  .  .  [etype] [Integer] 0
 .  .  .  [kvno] [Integer] 5
 .  .  .  [cipher] [Octet String] "krbASN.1 test message"
 
 encode_krb5_enc_cred_part:
 
-[Krb5 Encrypted CRED part] 
-.  [Sequence/Sequence Of] 
-.  .  [ticket-info] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
-.  .  .  .  [key] [Sequence/Sequence Of] 
+[Krb5 Encrypted CRED part]
+.  [Sequence/Sequence Of]
+.  .  [ticket-info] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
+.  .  .  .  [key] [Sequence/Sequence Of]
 .  .  .  .  .  [keytype] [Integer] 1
 .  .  .  .  .  [keyvalue] [Octet String] "12345678"
 .  .  .  .  [prealm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [pname] [Sequence/Sequence Of] 
+.  .  .  .  [pname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
 .  .  .  .  [flags] [Bit String] 0xfedcba98
@@ -909,28 +909,28 @@ encode_krb5_enc_cred_part:
 .  .  .  .  [endtime] [Generalized Time] "19940610060317Z"
 .  .  .  .  [renew-till] [Generalized Time] "19940610060317Z"
 .  .  .  .  [srealm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [caddr] [Sequence/Sequence Of] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  [caddr] [Sequence/Sequence Of]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  .  [address] [Octet String] <4>
                      12 d0 00 23                             ...#
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  .  [address] [Octet String] <4>
                      12 d0 00 23                             ...#
-.  .  .  [Sequence/Sequence Of] 
-.  .  .  .  [key] [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
+.  .  .  .  [key] [Sequence/Sequence Of]
 .  .  .  .  .  [keytype] [Integer] 1
 .  .  .  .  .  [keyvalue] [Octet String] "12345678"
 .  .  .  .  [prealm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [pname] [Sequence/Sequence Of] 
+.  .  .  .  [pname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
 .  .  .  .  [flags] [Bit String] 0xfedcba98
@@ -939,49 +939,49 @@ encode_krb5_enc_cred_part:
 .  .  .  .  [endtime] [Generalized Time] "19940610060317Z"
 .  .  .  .  [renew-till] [Generalized Time] "19940610060317Z"
 .  .  .  .  [srealm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [caddr] [Sequence/Sequence Of] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  [caddr] [Sequence/Sequence Of]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  .  [address] [Octet String] <4>
                      12 d0 00 23                             ...#
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  .  [address] [Octet String] <4>
                      12 d0 00 23                             ...#
 .  .  [nonce] [Integer] 42
 .  .  [timestamp] [Generalized Time] "19940610060317Z"
 .  .  [usec] [Integer] 123456
-.  .  [s-address] [Sequence/Sequence Of] 
+.  .  [s-address] [Sequence/Sequence Of]
 .  .  .  [addr-type] [Integer] 2
 .  .  .  [address] [Octet String] <4>
             12 d0 00 23                                      ...#
-.  .  [r-address] [Sequence/Sequence Of] 
+.  .  [r-address] [Sequence/Sequence Of]
 .  .  .  [addr-type] [Integer] 2
 .  .  .  [address] [Octet String] <4>
             12 d0 00 23                                      ...#
 
 encode_krb5_enc_cred_part(optionals NULL):
 
-[Krb5 Encrypted CRED part] 
-.  [Sequence/Sequence Of] 
-.  .  [ticket-info] [Sequence/Sequence Of] 
-.  .  .  [Sequence/Sequence Of] 
-.  .  .  .  [key] [Sequence/Sequence Of] 
+[Krb5 Encrypted CRED part]
+.  [Sequence/Sequence Of]
+.  .  [ticket-info] [Sequence/Sequence Of]
+.  .  .  [Sequence/Sequence Of]
+.  .  .  .  [key] [Sequence/Sequence Of]
 .  .  .  .  .  [keytype] [Integer] 1
 .  .  .  .  .  [keyvalue] [Octet String] "12345678"
-.  .  .  [Sequence/Sequence Of] 
-.  .  .  .  [key] [Sequence/Sequence Of] 
+.  .  .  [Sequence/Sequence Of]
+.  .  .  .  [key] [Sequence/Sequence Of]
 .  .  .  .  .  [keytype] [Integer] 1
 .  .  .  .  .  [keyvalue] [Octet String] "12345678"
 .  .  .  .  [prealm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [pname] [Sequence/Sequence Of] 
+.  .  .  .  [pname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
 .  .  .  .  [flags] [Bit String] 0xfedcba98
@@ -990,25 +990,25 @@ encode_krb5_enc_cred_part(optionals NULL):
 .  .  .  .  [endtime] [Generalized Time] "19940610060317Z"
 .  .  .  .  [renew-till] [Generalized Time] "19940610060317Z"
 .  .  .  .  [srealm] [General string] "ATHENA.MIT.EDU"
-.  .  .  .  [sname] [Sequence/Sequence Of] 
+.  .  .  .  [sname] [Sequence/Sequence Of]
 .  .  .  .  .  [name-type] [Integer] 1
-.  .  .  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  .  [General string] "extra"
-.  .  .  .  [caddr] [Sequence/Sequence Of] 
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  [caddr] [Sequence/Sequence Of]
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  .  [address] [Octet String] <4>
                      12 d0 00 23                             ...#
-.  .  .  .  .  [Sequence/Sequence Of] 
+.  .  .  .  .  [Sequence/Sequence Of]
 .  .  .  .  .  .  [addr-type] [Integer] 2
 .  .  .  .  .  .  [address] [Octet String] <4>
                      12 d0 00 23                             ...#
 
 encode_krb5_error:
 
-[Krb5 ERROR packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 ERROR packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 30
 .  .  [ctime] [Generalized Time] "19940610060317Z"
@@ -1017,15 +1017,15 @@ encode_krb5_error:
 .  .  [susec] [Integer] 123456
 .  .  [error-code] [Integer] 60
 .  .  [crealm] [General string] "ATHENA.MIT.EDU"
-.  .  [cname] [Sequence/Sequence Of] 
+.  .  [cname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
 .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  [sname] [Sequence/Sequence Of] 
+.  .  [sname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
 .  .  [e-text] [General string] "krb5data"
@@ -1033,8 +1033,8 @@ encode_krb5_error:
 
 encode_krb5_error(optionals NULL):
 
-[Krb5 ERROR packet] 
-.  [Sequence/Sequence Of] 
+[Krb5 ERROR packet]
+.  [Sequence/Sequence Of]
 .  .  [pvno] [Integer] 5
 .  .  [msg-type] [Integer] 30
 .  .  [cusec] [Integer] 123456
@@ -1042,132 +1042,146 @@ encode_krb5_error(optionals NULL):
 .  .  [susec] [Integer] 123456
 .  .  [error-code] [Integer] 60
 .  .  [realm] [General string] "ATHENA.MIT.EDU"
-.  .  [sname] [Sequence/Sequence Of] 
+.  .  [sname] [Sequence/Sequence Of]
 .  .  .  [name-type] [Integer] 1
-.  .  .  [name-string] [Sequence/Sequence Of] 
+.  .  .  [name-string] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
 
 encode_krb5_authorization_data:
 
-[Sequence/Sequence Of] 
-.  [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [Sequence/Sequence Of]
 .  .  [ad-type] [Integer] 1
 .  .  [ad-data] [Octet String] "foobar"
-.  [Sequence/Sequence Of] 
+.  [Sequence/Sequence Of]
 .  .  [ad-type] [Integer] 1
 .  .  [ad-data] [Octet String] "foobar"
 
 encode_krb5_pwd_sequence:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Octet String] "krb5data"
 .  [1] [Octet String] "krb5data"
 
 encode_krb5_pwd_data:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 2
-.  [1] [Sequence/Sequence Of] 
-.  .  [Sequence/Sequence Of] 
+.  [1] [Sequence/Sequence Of]
+.  .  [Sequence/Sequence Of]
 .  .  .  [0] [Octet String] "krb5data"
 .  .  .  [1] [Octet String] "krb5data"
-.  .  [Sequence/Sequence Of] 
+.  .  [Sequence/Sequence Of]
 .  .  .  [0] [Octet String] "krb5data"
 .  .  .  [1] [Octet String] "krb5data"
 
 encode_krb5_padata_sequence:
 
-[Sequence/Sequence Of] 
-.  [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [Sequence/Sequence Of]
 .  .  [1] [Integer] 13
 .  .  [2] [Octet String] "pa-data"
-.  [Sequence/Sequence Of] 
+.  [Sequence/Sequence Of]
 .  .  [1] [Integer] 13
 .  .  [2] [Octet String] "pa-data"
 
 encode_krb5_padata_sequence(empty):
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 
 encode_krb5_alt_method:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 42
 .  [1] [Octet String] "secret"
 
 encode_krb5_alt_method (no data):
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 42
 
 encode_krb5_etype_info:
 
-[Sequence/Sequence Of] 
-.  [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [Sequence/Sequence Of]
 .  .  [0] [Integer] 0
 .  .  [1] [Octet String] "Morton's #0"
-.  [Sequence/Sequence Of] 
+.  [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
-.  [Sequence/Sequence Of] 
+.  [Sequence/Sequence Of]
 .  .  [0] [Integer] 2
 .  .  [1] [Octet String] "Morton's #2"
 
 encode_krb5_etype_info (only 1):
 
-[Sequence/Sequence Of] 
-.  [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [Sequence/Sequence Of]
 .  .  [0] [Integer] 0
 .  .  [1] [Octet String] "Morton's #0"
 
 encode_krb5_etype_info (no info):
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 
 encode_krb5_etype_info2:
 
-[Sequence/Sequence Of] 
-.  [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [Sequence/Sequence Of]
 .  .  [0] [Integer] 0
 .  .  [1] [General string] "Morton's #0"
 .  .  [2] [Octet String] "s2k: 0"
-.  [Sequence/Sequence Of] 
+.  [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [2] [Octet String] "s2k: 1"
-.  [Sequence/Sequence Of] 
+.  [Sequence/Sequence Of]
 .  .  [0] [Integer] 2
 .  .  [1] [General string] "Morton's #2"
 .  .  [2] [Octet String] "s2k: 2"
 
 encode_krb5_etype_info2 (only 1):
 
-[Sequence/Sequence Of] 
-.  [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [Sequence/Sequence Of]
 .  .  [0] [Integer] 0
 .  .  [1] [General string] "Morton's #0"
 .  .  [2] [Octet String] "s2k: 0"
 
 encode_krb5_pa_enc_ts:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Generalized Time] "19940610060317Z"
 .  [1] [Integer] 123456
 
 encode_krb5_pa_enc_ts (no usec):
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Generalized Time] "19940610060317Z"
 
 encode_krb5_enc_data:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [etype] [Integer] 0
 .  [kvno] [Integer] 5
 .  [cipher] [Octet String] "krbASN.1 test message"
 
+encode_krb5_enc_data(MSB-set kvno):
+
+[Sequence/Sequence Of]
+.  [etype] [Integer] 0
+.  [kvno] [Integer] -16777216
+.  [cipher] [Octet String] "krbASN.1 test message"
+
+encode_krb5_enc_data(kvno=-1):
+
+[Sequence/Sequence Of]
+.  [etype] [Integer] 0
+.  [kvno] [Integer] -1
+.  [cipher] [Octet String] "krbASN.1 test message"
+
 encode_krb5_sam_challenge:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 42
 .  [1] [Bit String] 0x80000000
 .  [2] [Octet String] "type name"
@@ -1175,21 +1189,21 @@ encode_krb5_sam_challenge:
 .  [5] [Octet String] "challenge ipse"
 .  [6] [Octet String] "response_prompt ipse"
 .  [8] [Integer] 5517840
-.  [9] [Sequence/Sequence Of] 
+.  [9] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [1] [Octet String] "1234"
 
 encode_krb5_sam_response:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 42
 .  [1] [Bit String] 0x80000000
 .  [2] [Octet String] "track data"
-.  [3] [Sequence/Sequence Of] 
+.  [3] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [1] [Integer] 1942
 .  .  [2] [Octet String] "key"
-.  [4] [Sequence/Sequence Of] 
+.  [4] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [1] [Integer] 3382
 .  .  [2] [Octet String] "nonce or ts"
@@ -1198,14 +1212,14 @@ encode_krb5_sam_response:
 
 encode_krb5_sam_key:
 
-[Sequence/Sequence Of] 
-.  [0] [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [0] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [1] [Octet String] "12345678"
 
 encode_krb5_enc_sam_response_enc:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 78634
 .  [1] [Generalized Time] "19700102034639Z"
 .  [2] [Integer] 399
@@ -1213,28 +1227,28 @@ encode_krb5_enc_sam_response_enc:
 
 encode_krb5_predicted_sam_response:
 
-[Sequence/Sequence Of] 
-.  [0] [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [0] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [1] [Octet String] "12345678"
 .  [1] [Bit String] 0x9
 .  [2] [Generalized Time] "19700101000017Z"
 .  [3] [Integer] 18
 .  [4] [General string] "ATHENA.MIT.EDU"
-.  [5] [Sequence/Sequence Of] 
+.  [5] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
-.  .  [1] [Sequence/Sequence Of] 
+.  .  [1] [Sequence/Sequence Of]
 .  .  .  [General string] "hftsai"
 .  .  .  [General string] "extra"
 .  [6] [Octet String] "hello"
 
 encode_krb5_sam_response_2:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 43
 .  [1] [Bit String] 0x80000000
 .  [2] [Octet String] "track data"
-.  [3] [Sequence/Sequence Of] 
+.  [3] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [1] [Integer] 3382
 .  .  [2] [Octet String] "nonce or sad"
@@ -1242,93 +1256,92 @@ encode_krb5_sam_response_2:
 
 encode_krb5_enc_sam_response_enc_2:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 88
 .  [1] [Octet String] "enc_sam_response_enc_2"
 
 encode_krb5_pa_s4u_x509_user:
 
-[Sequence/Sequence Of] 
-.  [0] [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [0] [Sequence/Sequence Of]
 .  .  [0] [Integer] 13243546
-.  .  [1] [Sequence/Sequence Of] 
+.  .  [1] [Sequence/Sequence Of]
 .  .  .  [0] [Integer] 1
-.  .  .  [1] [Sequence/Sequence Of] 
+.  .  .  [1] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
 .  .  [2] [General string] "ATHENA.MIT.EDU"
 .  .  [3] [Octet String] "pa_s4u_x509_user"
 .  .  [4] [Bit String] 0x80000000
-.  [1] [Sequence/Sequence Of] 
+.  [1] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [1] [Octet String] "1234"
 
 encode_krb5_ad_kdcissued:
 
-[Sequence/Sequence Of] 
-.  [0] [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [0] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [1] [Octet String] "1234"
 .  [1] [General string] "ATHENA.MIT.EDU"
-.  [2] [Sequence/Sequence Of] 
+.  [2] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
-.  .  [1] [Sequence/Sequence Of] 
+.  .  [1] [Sequence/Sequence Of]
 .  .  .  [General string] "hftsai"
 .  .  .  [General string] "extra"
-.  [3] [Sequence/Sequence Of] 
-.  .  [Sequence/Sequence Of] 
+.  [3] [Sequence/Sequence Of]
+.  .  [Sequence/Sequence Of]
 .  .  .  [0] [Integer] 1
 .  .  .  [1] [Octet String] "foobar"
-.  .  [Sequence/Sequence Of] 
+.  .  [Sequence/Sequence Of]
 .  .  .  [0] [Integer] 1
 .  .  .  [1] [Octet String] "foobar"
 
 encode_krb5_ad_signedpath_data:
 
-[Sequence/Sequence Of] 
-.  [0] [Sequence/Sequence Of] 
-.  .  [0] [Sequence/Sequence Of] 
+[Sequence/Sequence Of]
+.  [0] [Sequence/Sequence Of]
+.  .  [0] [Sequence/Sequence Of]
 .  .  .  [0] [Integer] 1
-.  .  .  [1] [Sequence/Sequence Of] 
+.  .  .  [1] [Sequence/Sequence Of]
 .  .  .  .  [General string] "hftsai"
 .  .  .  .  [General string] "extra"
 .  .  [1] [General string] "ATHENA.MIT.EDU"
 .  [1] [Generalized Time] "19940610060317Z"
-.  [2] [Sequence/Sequence Of] 
-.  .  [Sequence/Sequence Of] 
-.  .  .  [0] [Sequence/Sequence Of] 
+.  [2] [Sequence/Sequence Of]
+.  .  [Sequence/Sequence Of]
+.  .  .  [0] [Sequence/Sequence Of]
 .  .  .  .  [0] [Integer] 1
-.  .  .  .  [1] [Sequence/Sequence Of] 
+.  .  .  .  [1] [Sequence/Sequence Of]
 .  .  .  .  .  [General string] "hftsai"
 .  .  .  .  .  [General string] "extra"
 .  .  .  [1] [General string] "ATHENA.MIT.EDU"
-.  [3] [Sequence/Sequence Of] 
-.  .  [Sequence/Sequence Of] 
+.  [3] [Sequence/Sequence Of]
+.  .  [Sequence/Sequence Of]
 .  .  .  [1] [Integer] 13
 .  .  .  [2] [Octet String] "pa-data"
-.  .  [Sequence/Sequence Of] 
+.  .  [Sequence/Sequence Of]
 .  .  .  [1] [Integer] 13
 .  .  .  [2] [Octet String] "pa-data"
-.  [4] [Sequence/Sequence Of] 
-.  .  [Sequence/Sequence Of] 
+.  [4] [Sequence/Sequence Of]
+.  .  [Sequence/Sequence Of]
 .  .  .  [0] [Integer] 1
 .  .  .  [1] [Octet String] "foobar"
-.  .  [Sequence/Sequence Of] 
+.  .  [Sequence/Sequence Of]
 .  .  .  [0] [Integer] 1
 .  .  .  [1] [Octet String] "foobar"
 
 encode_krb5_ad_signedpath:
 
-[Sequence/Sequence Of] 
+[Sequence/Sequence Of]
 .  [0] [Integer] 1
-.  [1] [Sequence/Sequence Of] 
+.  [1] [Sequence/Sequence Of]
 .  .  [0] [Integer] 1
 .  .  [1] [Octet String] "1234"
-.  [3] [Sequence/Sequence Of] 
-.  .  [Sequence/Sequence Of] 
+.  [3] [Sequence/Sequence Of]
+.  .  [Sequence/Sequence Of]
 .  .  .  [1] [Integer] 13
 .  .  .  [2] [Octet String] "pa-data"
-.  .  [Sequence/Sequence Of] 
+.  .  [Sequence/Sequence Of]
 .  .  .  [1] [Integer] 13
 .  .  .  [2] [Octet String] "pa-data"
-