From 0255c1742a5a8186802fdef19b4f1c8c701a27bc Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Mon, 6 May 2019 10:50:35 +0200 Subject: Add a .pragma directive for configuration files Currently added pragma: .pragma dollarid:on This allows dollar signs to be a keyword character unless it's followed by a opening brace or parenthesis. Fixes #8207 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8882) --- doc/man5/config.pod | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'doc/man5') diff --git a/doc/man5/config.pod b/doc/man5/config.pod index e727a2e22d..4b8465594a 100644 --- a/doc/man5/config.pod +++ b/doc/man5/config.pod @@ -50,6 +50,9 @@ not support the B<.include> syntax. They would bail out with error if the B<=> character is not present but with it they just ignore the include. +Pragmas can be specified with the B<.pragma> directive. +See L for mor information. + Each section in a configuration file consists of a number of name and value pairs of the form B @@ -78,6 +81,40 @@ the sequences B<\n>, B<\r>, B<\b> and B<\t> are recognized. All expansion and escape rules as described above that apply to B also apply to the path of the B<.include> directive. +=head1 PRAGMAS + +Pragmas can be used to change the behavior of the configuration file +parser, among others. Currently supported pragmas are: + +=over 4 + +=item B<.pragma> B:I + +I can be one of: + +=over 4 + +=item B<"on"> or B<"true"> + +this signifies that dollar signs are considered an identity character +from this point on and that variable expansion requires the use of +braces or parentheses. In other words, C will be considered +a name instead of C followed by the expansion of the variable +C. +This is suitable for platforms where the dollar sign is commonly used +as part of names. + +=item B<"off"> or B<"false"> + +Turns this pragma off, i.e. C will be interpreted as C +followed by the expansion of the variable C. + +=back + +By default, this pragma is turned off. + +=back + =head1 OPENSSL LIBRARY CONFIGURATION Applications can automatically configure certain -- cgit v1.2.1