1.2.6rc1 and later
The <IfDefine test>...</IfDefine> section is used to mark directives that are conditional. The directives within an IfDefine section are only processed if the test is true. If the test is false, everything between the start and end markers is ignored.
The test in the <IfDefine> section directive can be one of two forms: 'parameter-name' or '!parameter-name'
In the former case, the directives between the start and end markers are only processed if the parameter named parameter-name is defined. The second format reverses the test, and only processes the directives if parameter-name is not defined.
The parameter-name argument is a define as given on the command line via -Dparameter-name, at the time the server was started.
<IfDefine> sections are nest-able, which can be used to implement simple multiple-parameter tests.
$ proftpd -DDoSomething
--[ proftpd.conf ]--
# do something here
--[ end ]--