If you want to contribute (implement something from the current list, or
anything), contact the developer's mailing list ...,
in order to avoid having people working on the same thing.

Current list:
+ Audit the code
+ C structure generation instead of a single array
- Add the checking of default value (e.g. 'INTEGER DEFAULT v1')
- Check _asn1_objectid_der, crashes on "0" input, gives incorrect encoding?

(+) Means high priority
(*) Means medium priority
(-) Means low priority (ie. nobody is interested to develop that)

----------------------------------------------------------------------
Copyright (C) 2002-2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
