diff options
Diffstat (limited to 'doc/source/extra/core.c')
-rw-r--r-- | doc/source/extra/core.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/source/extra/core.c b/doc/source/extra/core.c new file mode 100644 index 0000000..c3af04c --- /dev/null +++ b/doc/source/extra/core.c @@ -0,0 +1,31 @@ +/** + * @cond skip + * vim:syntax=doxygen + * @endcond + * + * +@page server_doc + +@section server_intro Introduction + +FreeRADIUS uses a thread pool to serve requests. Each request is processed +synchronously, and processing passes through a series of stages, and a list +of modules in each stage. + +The request is processed as follows + +- The radius packet is received by a listener - see listen.c +- The radius packet is parsed and validated into a request - see ? +- The request is processed - see process.c +- The server passes through each authentication stage + - authorize + - if Proxy-To-Realm is set: + - pre-proxy + - send proxy request + - post-proxy + - else + - authenticate + - post-auth +- Authentication stages are lists of modules - see modcall.c + +*/ |