summaryrefslogtreecommitdiffstats
path: root/doc/source/extra/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'doc/source/extra/core.c')
-rw-r--r--doc/source/extra/core.c31
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
+
+*/