T O D O L I S T ================= * Need an equality test for TupleNodes hence trees. * For the mock decoder in Eve see if we can rig in a decoder that builds on this BERDecoder that can at a bare minimum detect when an LDAP message starts and ends. This way we can continue working on Eve while the snickers code progresses forward. In fact we could even capture a full buffer and feed it to the old synchronous SNACC provider just for now to get decodes working. --o-- * Add a value size protection feature to the decoder to either break up incomming massive tlv's into smaller tlv's or to stream them to disk, and providing a data reference rather than a byte[] to the callback's decodeOccurred method. This will be huge for both performance and the prevention of denial of service attacks where massive TLV's bombard the decoder. We need to look at the big picture to figure out which approach is best within the whole decoding processs. --o-- * Build a library of primitive ASN.1 data types mapping them to Java types. * Build a digester like tool on top of the BERDecoder, for now we'll call it a TLVDecoder. It is fed a train of TLV's and it statefully constructs ASN.1 stubs based on the input. When an entire stub has been assembled it is emitted via the decodeOccurred callback. * It will be worth while taking a good look at the way digester works to get some ideas here. * Also we need to read the Sample Neufeld papper to make sure we're decoding appropriately.