summaryrefslogtreecommitdiff
path: root/source3/printing/printing.c
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2019-10-31 19:14:02 +0100
committerStefan Metzmacher <metze@samba.org>2019-11-27 10:25:33 +0000
commitf7619ac22b50bf3bac96825e72e9910946d7f4d2 (patch)
tree478721c44495fbe9b99aab50b814b70741d35cbf /source3/printing/printing.c
parent95f0f22ca5150642c77bbbbe40a921ac50861e1c (diff)
downloadsamba-f7619ac22b50bf3bac96825e72e9910946d7f4d2.tar.gz
smbdotconf: mark "path" with substitution="1"
Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'source3/printing/printing.c')
-rw-r--r--source3/printing/printing.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index 0f4db52e011..18c7ca0616c 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -2688,6 +2688,8 @@ static WERROR print_job_checks(const struct auth_session_info *server_info,
int snum, int *njobs)
{
const char *sharename = lp_const_servicename(snum);
+ const struct loadparm_substitution *lp_sub =
+ loadparm_s3_global_substitution();
uint64_t dspace, dsize;
uint64_t minspace;
int ret;
@@ -2708,7 +2710,7 @@ static WERROR print_job_checks(const struct auth_session_info *server_info,
/* see if we have sufficient disk space */
if (lp_min_print_space(snum)) {
minspace = lp_min_print_space(snum);
- ret = sys_fsusage(lp_path(talloc_tos(), snum), &dspace, &dsize);
+ ret = sys_fsusage(lp_path(talloc_tos(), lp_sub, snum), &dspace, &dsize);
if (ret == 0 && dspace < 2*minspace) {
DEBUG(3, ("print_job_checks: "
"disk space check failed.\n"));
@@ -2743,6 +2745,8 @@ static WERROR print_job_spool_file(int snum, uint32_t jobid,
const char *output_file,
struct printjob *pjob)
{
+ const struct loadparm_substitution *lp_sub =
+ loadparm_s3_global_substitution();
WERROR werr;
SMB_STRUCT_STAT st;
const char *path;
@@ -2754,7 +2758,7 @@ static WERROR print_job_spool_file(int snum, uint32_t jobid,
* Verify that the file name is ok, within path, and it is
* already already there */
if (output_file) {
- path = lp_path(talloc_tos(), snum);
+ path = lp_path(talloc_tos(), lp_sub, snum);
len = strlen(path);
if (strncmp(output_file, path, len) == 0 &&
(output_file[len - 1] == '/' || output_file[len] == '/')) {
@@ -2783,7 +2787,7 @@ static WERROR print_job_spool_file(int snum, uint32_t jobid,
}
slprintf(pjob->filename, sizeof(pjob->filename)-1,
- "%s/%sXXXXXX", lp_path(talloc_tos(), snum),
+ "%s/%sXXXXXX", lp_path(talloc_tos(), lp_sub, snum),
PRINT_SPOOL_PREFIX);
mask = umask(S_IRWXO | S_IRWXG);
pjob->fd = mkstemp(pjob->filename);
@@ -2823,6 +2827,8 @@ WERROR print_job_start(const struct auth_session_info *server_info,
struct printjob pjob;
const char *sharename = lp_const_servicename(snum);
struct tdb_print_db *pdb = get_print_db_byname(sharename);
+ const struct loadparm_substitution *lp_sub =
+ loadparm_s3_global_substitution();
int njobs;
WERROR werr;
@@ -2830,7 +2836,7 @@ WERROR print_job_start(const struct auth_session_info *server_info,
return WERR_INTERNAL_DB_CORRUPTION;
}
- path = lp_path(talloc_tos(), snum);
+ path = lp_path(talloc_tos(), lp_sub, snum);
werr = print_job_checks(server_info, msg_ctx, snum, &njobs);
if (!W_ERROR_IS_OK(werr)) {