xref: /openbsd-src/sbin/isakmpd/TO-DO (revision a4004a1288489a9a67dd88df90eafcdbd26931a1)
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