summaryrefslogtreecommitdiffstats
path: root/doc/source/extra/core.c
blob: c3af04c3dd5d5dc745d65af987e8b57d031043c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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

*/