From: Alan T. DeKok Date: Wed, 12 Jul 2017 19:48:40 +0000 (-0400) Subject: todo notes for the module X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed462d72b735e5168d90bc7aa19bb2608b084ede;p=thirdparty%2Ffreeradius-server.git todo notes for the module --- diff --git a/src/modules/rlm_radius/rlm_radius.c b/src/modules/rlm_radius/rlm_radius.c index b75ff60406d..dbd9fed9f61 100644 --- a/src/modules/rlm_radius/rlm_radius.c +++ b/src/modules/rlm_radius/rlm_radius.c @@ -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 diff --git a/src/modules/rlm_radius/rlm_radius_udp.c b/src/modules/rlm_radius/rlm_radius_udp.c index 44f9a6dbad4..74d4705ea57 100644 --- a/src/modules/rlm_radius/rlm_radius_udp.c +++ b/src/modules/rlm_radius/rlm_radius_udp.c @@ -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