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

ghudson@MIT.EDU ghudson at MIT.EDU
Sun Feb 12 01:11:48 EST 2012


http://src.mit.edu/fisheye/changelog/krb5/?cs=25696
Commit By: ghudson
Log Message:
Update ASN.1 TODO file


Changed Files:
U   trunk/src/lib/krb5/asn.1/TODO.asn1
Modified: trunk/src/lib/krb5/asn.1/TODO.asn1
===================================================================
--- trunk/src/lib/krb5/asn.1/TODO.asn1	2012-02-12 06:00:24 UTC (rev 25695)
+++ trunk/src/lib/krb5/asn.1/TODO.asn1	2012-02-12 06:11:48 UTC (rev 25696)
@@ -2,12 +2,6 @@
 
 Stuff that should still be done on the ASN.1 encoder conversion:
 
-* Add support for opaque objects (pre-encoded fields, or ANY), and fix
-  up those remaining encoders (e.g., asn1_encode_sam_challenge_2) that
-  need them.
-
-* Convert PKINIT encoders, after we have test cases.
-
 * Make offsetof uses conforming.  Currently we may use foo.bar or
   foo[0] as fields.
 
@@ -47,20 +41,12 @@
   them use the encoders in the code.  Only a subset of types would be
   exported probably.
 
-* More compact encoding: For tags and optional-field bit positions,
-  encode N+1, and use 0 for "none", then make the field unsigned.
-  Currently the fields are signed, non-negative values hold useful
-  data, -1 means "none", and MIN..-2 are unused.  Changing this will
-  either let us reduce the field size one bit, or extend the maximum
-  tag/bitpos value from 2**(N-1)-1 to 2**N-2.
+* More compact encoding: For struct atype and struct cntype, we could
+  use structures with a common base type (similar to Xlib events)
+  instead of a base structure with a void pointer, to save the cost of
+  a pointer for each type.  Doing this might not be strictly correct
+  C.
 
-* More compact encoding: Use a union with designated initializers, or
-  some ugly casting, to make the structures smaller by not having all
-  fields present when we never use all of them at once.  The union
-  approach is certainly more appealing, aside from the little detail
-  that it won't work on Windows unless we do all the initialization at
-  run time.
-
 * Pie in the sky: A verbose mode that can tell you "missing field
   KDC-REP.cname.name-string[1].data" or some such.  This would require
   tracking the stack of pending encodes and adding strings with type
@@ -69,7 +55,8 @@
 * For ALL_POINTERS_ARE_THE_SAME mode (which is not strictly conforming
   with the C standard, and thus not default currently, but makes
   things a little smaller and faster), eliminate the loadptr structure
-  entry.
+  entry.  (Note that if this infrastructure becomes exposed to
+  plugins, ALL_POINTERS_ARE_THE_SAME changes the ABI.)
 
 * Maybe: Reorganize the data of a "module" so everything needing
   relocation is put in some tables, referenced by index from other
@@ -86,5 +73,3 @@
   fetch-a-pointer function ignoring the integer argument, while at the
   C level it's strictly conforming by using the correct types for
   access.
-
-* Table-driven decoders?



More information about the cvs-krb5 mailing list