Alan DeKok wrote:
The possible solutions are: 1. Reverse previous changes and move the file exec.c back to src/main.
Maybe. If other modules need it, that's where it should go.
I've moved this file because it isn't used by the server core anymore, but I didn't noticed the module rlm_chap used it, too.
2. Copy the file exec.c into src/modules/rlm_mschap, too.
No.
3. In rlm_mschap.c, use "exec_xlat" from rlm_exec instead of "radius_exec_program". It adds a dependancy between the modules, though. For example, we could have in radiusd.conf: ntlm_auth = "%{exec:/path/to/ntlm_auth ... }"
That's an option.
I'm a big fan of "just making it work". If that means moving exec.c back to src/main, fine.
I was thinking we could have "rlm_exec" do all the external programs execution (like we delegate SQL statement execution to "rlm_sql") but it makes the setup a little more difficult. For now, I'll just move exec.c back to src/main, that's a lot easier. -- Nicolas Baradakis