dh.c: change format to binary from decimal string (without introducing endianness problems) netlink.c: test the 'allow_route' option properly. Add fragmentation code. Check that we comply with RFC1812. random.c: test properly resolver.c: ought to return a list of addresses for each address; the site code ought to remember them and try contacting them in turn. rsa.c: check padding type, change format to binary from decimal string (without introducing endianness problems) site.c: Abandon key exchanges when a bad packet is received. Modify protocol to include version fields, as described in the NOTES file. Implement keepalive mode. Make policy about when to initiate key exchanges more configurable (how many NAKs / bad reverse-transforms does it take to prompt a key exchange?) slip.c: restart userv-ipif to cope with soft routes? Restart it if it fails in use? transform.c: separate the transforms into multiple parts, which can then be combined in the configuration file. Will allow the user to plug in different block ciphers, invent an authenticity-only mode, etc. (similar to udptunnel) udp.c: option for path-MTU discovery (once fragmentation support is implemented in netlink) global: consider using liboop for the event loop