[26298] in CVS-changelog-for-Kerberos-V5

home help back first fref pref prev next nref lref last post

svn rev #25635: trunk/src/lib/krb5/asn.1/

daemon@ATHENA.MIT.EDU (ghudson@mit.edu)
Tue Jan 10 12:27:40 2012

Date: Tue, 10 Jan 2012 12:27:38 -0500
From: ghudson@mit.edu
Message-Id: <201201101727.q0AHRcEP009515@drugstore.mit.edu>
To: cvs-krb5@mit.edu
Reply-To: krbdev@mit.edu
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cvs-krb5-bounces@mit.edu

http://src.mit.edu/fisheye/changelog/krb5/?cs=25635
Commit By: ghudson
Log Message:
Use DEFTAGGEDTYPE for FAST choice types

pa_fx_fast_request and pa_fx_fast_reply are defined in RFC 6113 as
extensible choice types with only one choice, which means they encode
as another type with a [0] tag wrapper.  Use DEFTAGGEDTYPE to add
this wrapper instead of DEFFIELDTYPE/FIELDOF_ENCODEAS, and add a
comment describing why.

After this change, all uses of DEFFIELDYPE are for dataptr/lenptr
types or just simple offset transformations on the base pointer.


Changed Files:
U   trunk/src/lib/krb5/asn.1/asn1_k_encode.c
Modified: trunk/src/lib/krb5/asn.1/asn1_k_encode.c
===================================================================
--- trunk/src/lib/krb5/asn.1/asn1_k_encode.c	2012-01-10 07:33:41 UTC (rev 25634)
+++ trunk/src/lib/krb5/asn.1/asn1_k_encode.c	2012-01-10 17:27:38 UTC (rev 25635)
@@ -1049,10 +1049,13 @@
         optional |= (1u)<<0;
     return optional;
 }
+DEFSEQTYPE(fast_armored_req, krb5_fast_armored_req, fast_armored_req_fields,
+           fast_armored_req_optional);
 
-DEFSEQTYPE( fast_armored_req, krb5_fast_armored_req, fast_armored_req_fields, fast_armored_req_optional);
-DEFFIELDTYPE(pa_fx_fast_request, krb5_fast_armored_req,
-             FIELDOF_ENCODEAS(krb5_fast_armored_req, fast_armored_req, 0, 0));
+/* This is a CHOICE type with only one choice (so far) and we're not using a
+ * distinguisher/union for it. */
+DEFTAGGEDTYPE(pa_fx_fast_request, CONTEXT_SPECIFIC, CONSTRUCTED, 0, 0,
+              fast_armored_req);
 
 DEFFIELDTYPE(fast_req_padata, krb5_kdc_req,
              FIELDOF_NORM(krb5_kdc_req, ptr_seqof_pa_data, padata, -1, 0));
@@ -1105,8 +1108,10 @@
 };
 DEFSEQTYPE(fast_rep, krb5_enc_data, fast_rep_fields, 0);
 
-DEFFIELDTYPE(pa_fx_fast_reply, krb5_enc_data,
-             FIELDOF_ENCODEAS(krb5_enc_data, fast_rep, 0, 0));
+/* This is a CHOICE type with only one choice (so far) and we're not using a
+ * distinguisher/union for it. */
+DEFTAGGEDTYPE(pa_fx_fast_reply, CONTEXT_SPECIFIC, CONSTRUCTED, 0, 0,
+              fast_rep);
 
 static const struct field_info ad_kdcissued_fields[] = {
     FIELDOF_NORM(krb5_ad_kdcissued, checksum, ad_checksum, 0, 0),

_______________________________________________
cvs-krb5 mailing list
cvs-krb5@mit.edu
https://mailman.mit.edu/mailman/listinfo/cvs-krb5

home help back first fref pref prev next nref lref last post