]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
todo notes for the module
authorAlan T. DeKok <aland@freeradius.org>
Wed, 12 Jul 2017 19:48:40 +0000 (15:48 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 12 Jul 2017 19:48:40 +0000 (15:48 -0400)
src/modules/rlm_radius/rlm_radius.c
src/modules/rlm_radius/rlm_radius_udp.c

index b75ff60406d960f6f650b7a70422e737eec634ad..dbd9fed9f615eb975c6dacae735ffcb7481848ce 100644 (file)
@@ -1,7 +1,12 @@
-// rlm_radius_udp has to have links back to rlm_radius_link_t...
-// open / close have to be in rlm_radius, for radius_ctx -> udp_ctx changes
-// fd_active, etc. need to have callbacks in udp, for status-server checks...
-
+// @todo - allow for multiple connections
+// * connections have to be in a heap, sorted by most recently sent (that got a reply)
+// * need to add zombie connections in a zombie list, so that "dead" ones aren't used for new packets
+// * need to check if a connection is zombie, and if so, move it to the zombie list
+// * somehow need to tell udp -> main that a connection is zombie / alive?
+// * add 'type = Access-Request' checking.  Which (if set) limits the outbound packet types
+//   - mainly so that we can fail here instead of not getting a reply from the home server
+//   - and it mirrors the old configuration
+// * add documentation for function prototypes in rlm_radius.h
 
 /*
  *   This program is is free software; you can redistribute it and/or modify
index 44f9a6dbad48a240f412169e57fa1eef5298b06e..74d4705ea57b2c69f319eb237b7339fdcf37e281 100644 (file)
@@ -1,3 +1,16 @@
+// @todo - finish it!
+// * track packets in RB tree when writing them
+// * do ID allocation based on packet code
+// * simple: just allow for any type of packet code.  The rlm_radius will take care of giving us
+//   only the codes which are allowed
+// * implement remove(), which removes packets from the tracking tree
+// * don't make request_io_ctx talloc'd from rlm_radius_link_t, as the link can be used
+// * for other connections.  it's simpler to just have one remove() func, than to muck with
+//   more allocations and talloc destructors.
+// * add fd_active / fd_idle callbacks.  They will suppress the 'idle' call in rlm_radius
+// - i.e. if UDP wants to send a Status-Server, it can't be idle...
+// figure out a way to tell rlm_radius that the connection is zombie / alive?
+
 /*
  *   This program is is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by