This is a collection of descriptions of some of the internal mechanisms and workings of the core engine, such as how it decides which handlers to call (and when), resolution of filesystem paths, etc. I decided to put these descriptions here for now, for lack of a better place for them; they are not exactly related to programming ProFTPD modules.
Please feel free to contribute explanations to this section. The source for ProFTPD is sadly lacking in in-source comments, and these descriptions aim to fill the gap for aspiring developers.
Descriptions:
- Process lifecycle
- Resource pools
- Module load order
- Timers
- Events
- Authenticating users
- Configuration contexts
- Handling signals
- Scoreboard
- Resolving
<Directory>
paths - Configuration "expressions"
.ftpaccess
files- Configuration parsing
- Symbol tables
- Restarts
- Schedules
- PAM