s3:printing: Fix %J substition
commit8846887a55b0c97a1639fc6ecb228941cf16b8f2
authorRalph Boehme <slow@samba.org>
Thu, 31 Oct 2019 11:46:38 +0000 (31 12:46 +0100)
committerAndreas Schneider <asn@cryptomilk.org>
Thu, 7 Nov 2019 16:01:21 +0000 (7 16:01 +0000)
treed268d59c43fa3b7506ff88adb252fef7b20b3128
parentede00779ab2d881e061adb9d861879e8c68e272b
s3:printing: Fix %J substition

print_run_command() uses lp_print_command() which internally performs basic
substition by calling talloc_sub_basic(). As a result. any of the variables in
the "basic set", including "%J" are already substituted.

To prevent the unwanted subtitution, we declare all affected configuration
options as const, which disabled the basic substition.

As a result print_run_command() can run manual substitution on all characters,
including %J, in the variadic argument list *before* calling lp_string() to run
basic substition which we had disabled before with the const.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13745

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Thu Nov  7 16:01:21 UTC 2019 on sn-devel-184
docs-xml/smbdotconf/printing/lppausecommand.xml
docs-xml/smbdotconf/printing/lpqcommand.xml
docs-xml/smbdotconf/printing/lpresumecommand.xml
docs-xml/smbdotconf/printing/lprmcommand.xml
docs-xml/smbdotconf/printing/printcommand.xml
docs-xml/smbdotconf/printing/queuepausecommand.xml
docs-xml/smbdotconf/printing/queueresumecommand.xml
source3/printing/print_generic.c
source3/printing/printing.c
source3/utils/testparm.c