tool_parsecfg: detect and error on recursive --config use

The config file parser now has a maximum level of inclusions allowed (5)
to detect and prevent recursive inclusions of itself leading to badness.

Bonus: clean up return code handling from the config parser.

Test 774 verifies
Closes #19168
This commit is contained in:
Daniel Stenberg 2025-10-20 22:46:56 +02:00
parent b4f57c8045
commit 9e198618de
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
10 changed files with 72 additions and 32 deletions

25
tests/data/test774 Normal file
View file

@ -0,0 +1,25 @@
<testcase>
<info>
<keywords>
--config
</keywords>
</info>
<client>
<name>
config file recursively including itself
</name>
<file name="%LOGDIR/cmd">
--config %LOGDIR/cmd
</file>
<command>
http://%HOSTIP:%HTTPPORT/ -K %LOGDIR/cmd
</command>
</client>
<verify>
<errorcode>
2
</errorcode>
</verify>
</testcase>