There are a number of things CAKE needs to do. Here are some major ones.
Protocol ToDos
- Get someone to review the documentation for the v1 protocol and improve it.
Add documentation for AssertionMessages.
Start work on the v3 protocol, as I think I made one or two mistakes in the v2 protocol that need correcting. I may skip documenting v2 AssertionMessages.
BirthdayCAKE ToDos
- A user interface.
- Python classes for the various message types.
This is kind of done, there's more work to do. The AssertionMessage, UnicastMessage and Message classes in Python.
- A server for handling automated responses to messages any CAKE entity should understand
This includes information about mapping a PublicKey identifier to a TopologicalAddress
- A local SMTP server that people can point their mail clients to that translates RFC822 messages to CAKE addresses into mail encapsulated CAKE messages to normal email addresses.
- This is not really done anymore since I've overhauled a lot of BirthdayCAKE internals.
- An IMAP client that hunts for CAKE messages in someone's INBOX and decrypts them and stuffs them into some other location
- This isn't really done anymore either. Again, I overhauled the BirthdayCAKE internals and most likely broke this.
- The internals of Generator and Parser also need to be overhauled to be more easily extensible.
- This is partly done. Generator has been overahuled.
- Parser also needs to deal better with messages that come in in a series pieces that may not be complete in themselves, but together make a complete message.
- A better seperation of layers. Here are some more detailed requirements for this:
A layer that you just hand a CAKE message to, and it tries to do TopologicalAddress lookups and deliver your message to you.
- Some sort of hints system so the upper layer can give suggestions to the lower layer about how things should go. There are two hints that are needed right now:
- Hints about grouping multiple CAKE messages into one lower layer message.
Also, hints about the TopologicalAddress destination of a CAKE message.
Specific layer handlers for the particular URL types on LocationAssertion messages. The mailto: handler will, of course, be the first.
