1*a4004a12Smarkus$OpenBSD: TO-DO,v 1.26 2003/08/28 14:43:35 markus Exp $ 24e662979Sniklas$EOM: TO-DO,v 1.45 2000/04/07 22:47:38 niklas Exp $ 32040585eSniklas 4648c51c0SniklasThis file mixes small nitpicks with large projects to be done. 52040585eSniklas 62040585eSniklas* Add debugging messages, maybe possible to control asynchronously. [done] 72040585eSniklas 82040585eSniklas* Implement the local policy governing logging and notification of exceptional 92040585eSniklas conditions. 102040585eSniklas 112040585eSniklas* A field description mechanism used for things like making packet dumps 122040585eSniklas readable etc. Both Photurisd and Pluto does this. [done] 132040585eSniklas 142040585eSniklas* Fix the cookies. <Niels> [done] 152040585eSniklas 16b1dd2851Sniklas* Garbage collect transports (ref-counting?). [done] 172040585eSniklas 182040585eSniklas* Retransmission/dup packet handling. [done] 192040585eSniklas 202040585eSniklas* Generic payload checks. [mostly done] 212040585eSniklas 222040585eSniklas* For math, speed up multiplication and division functions. 232040585eSniklas 242040585eSniklas* Cleanup of SAs when dropping messages. [done] 252040585eSniklas 26b1dd2851Sniklas* Look over message resource tracking. [done] 272040585eSniklas 282040585eSniklas* Retransmission timing & count adaptivity and configurability. 292040585eSniklas [configurability done] 302040585eSniklas 312040585eSniklas* Quick mode exchanges [done] 322040585eSniklas 33b1dd2851Sniklas* Aggressive mode exchange. [done] 342040585eSniklas 352040585eSniklas* Finish main mode exchange [done] 362040585eSniklas 3761d575f0Sangelos* Separation of key exchange from the IPsec DOI, i.e. factor out IKE details. 382040585eSniklas 3961d575f0Sangelos* Setup the IPsec situation field in the main mode. [done] 402040585eSniklas 4161d575f0Sangelos* Kernel interface for IPsec parameter passing. [done] 422040585eSniklas 432040585eSniklas* Notify of unsupported situations. 442040585eSniklas 452040585eSniklas* Set/get field macros generated from the field descriptions. [done] 462040585eSniklas 472040585eSniklas* SIGHUP handler with reparsing of config file. [done] 482040585eSniklas 49c8b8b55eSniklas* RSA signature authentication. <Niels> [done] 502040585eSniklas 51c8b8b55eSniklas* DSS signature authentication. 522040585eSniklas 53c8b8b55eSniklas* RSA encryption authentication. 542040585eSniklas 55c8b8b55eSniklas* New group mode. 562040585eSniklas 57272fa543Sniklas* DELETE payload handling, and generation from ui. [generation done] 582040585eSniklas 5906ffc6b0Sniklas* Deal well with incoming informational exchanges. [done] 602040585eSniklas 612040585eSniklas* Generate all possible SA attributes in quick mode. [done] 622040585eSniklas 631d4ce018Sniklas* Validate incoming attribute according to policy, main mode. [done] 642040585eSniklas 65556701c4Sniklas* Validate incoming attribute according to policy, quick mode. [done] 662040585eSniklas 672040585eSniklas* Cleanup reserved SPIs on cleanup of associated SAs. [done] 682040585eSniklas 692040585eSniklas* Validate attribute types (i.e. that what the specs tells should be 702040585eSniklas basic). 712040585eSniklas 722040585eSniklas* Cleanup reserved SPIs in proposals never chosen. [done] 732040585eSniklas 742040585eSniklas* Add time measuring and reporting to the exchange code for catching of 752040585eSniklas bottlenecks. 762040585eSniklas 772040585eSniklas* Rescan interfaces on SIGHUP and on reception of messages on the INADDR_ANY 78fc441127Sangelos listener socket. [done] 791d4ce018Sniklas 801d4ce018Sniklas* Validate the configuration file. 812b81057dSniklas 8201571a73Sniklas* Do a soft-limit on ISAKMP SA lifetime. [done] 832b81057dSniklas 8401571a73Sniklas* Let the hard-limit on ISAKMP SA lifetime destroy the SA ASAP. [done] 852b81057dSniklas 8601571a73Sniklas* IPsec rekeying. [done] 872b81057dSniklas 88c471819dSho* Store tunnels into SPD, and handle acquire SA events. [done] 892b81057dSniklas 902b81057dSniklas* If an exchange is on-going when a rekey event happens, drop the request. 9101571a73Sniklas [done] 9201571a73Sniklas 93c8b8b55eSniklas* INITIAL CONTACT notification sending when appropriate. [done] 9401571a73Sniklas 95c8b8b55eSniklas* INITIAL CONTACT notification handling. [done] 96b1dd2851Sniklas 97b1dd2851Sniklas* IPsec SAs could also do with timers protecting its lifetime, if say, 98556701c4Sniklas someone changed the lifetime of the IPsec SA in stack under us. [done] 99b1dd2851Sniklas 100b1dd2851Sniklas* Handle notifications showing the peer did not want to continue this exchange. 101b1dd2851Sniklas 102b1dd2851Sniklas* Flexible identification. 103353f26b9Sniklas 104fc441127Sangelos* Remove referring flows when a SPI is removed. [done] 105c3152d67Sniklas 106556701c4Sniklas* IPCOMP. 107556701c4Sniklas 1082ba005c8Sniklas* Acknowledged notification exchange. 1092ba005c8Sniklas 1102ba005c8Sniklas* Tiger hash. 1112ba005c8Sniklas 1122ba005c8Sniklas* El-Gamal public key encryption. 1132ba005c8Sniklas 1142ba005c8Sniklas* Check of attributes not being changed by the responder in phase 2. 1152ba005c8Sniklas 1162ba005c8Sniklas* See to the commit bit will never be used in phase 1. Give INVALID-FLAGS 1172ba005c8Sniklas if seeing it. 11853144b4bSniklas 11953144b4bSniklas* Base mode. 12053144b4bSniklas 1213635a927Sniklas* IKECFG [protocol done, configuration controls remain] 12253144b4bSniklas 12353144b4bSniklas* XAUTH framework. 12453144b4bSniklas 12553144b4bSniklas* PKCS#11 12653144b4bSniklas 12753144b4bSniklas* XAUTH hybrid frame work. 12853144b4bSniklas 12953144b4bSniklas* Specify extra certificates to send somehow. 13053144b4bSniklas 13153144b4bSniklas* Handle CERTs anywhere in an exchange. 132648c51c0Sniklas 133648c51c0Sniklas* Add a way to do multiple configuration commands via ui. 134648c51c0Sniklas 135648c51c0Sniklas* Replace ui's fifo with a slightly more versatile interface. 136648c51c0Sniklas 1373635a927Sniklas* Report current configuration. [done] 13851eab56cSho 1393635a927Sniklas* IPv6 [done] 14051eab56cSho 141*a4004a12Smarkus* AES in phase 1 [done] 142cb8e32daSniklas 143cb8e32daSniklas* x509_certreq_validate needs implementing. 1443635a927Sniklas 1453635a927Sniklas* Smartcard support. 146