From 6e6999b1f74457b7fd6057a31f1d3606de19a05b Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Fri, 9 Apr 2021 10:20:04 -0400 Subject: [PATCH] Retry Validate-Job once, if needed (Issue #132) --- CHANGES.md | 1 + backend/ipp.c | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/backend/ipp.c b/backend/ipp.c index 63353a66d..020ab7fd4 100644 --- a/backend/ipp.c +++ b/backend/ipp.c @@ -256,6 +257,7 @@ main(int argc, /* I - Number of command-line args */ get_job_attrs = 0, /* Does printer support Get-Job-Attributes? */ send_document = 0, /* Does printer support Send-Document? */ validate_job = 0, /* Does printer support Validate-Job? */ + validate_retried = 0, /* Was Validate-Job request retried? */ copies, /* Number of copies for job */ copies_remaining; /* Number of copies remaining */ const char *content_type, /* CONTENT_TYPE environment variable */ @@ -1559,7 +1561,17 @@ main(int argc, /* I - Number of command-line args */ ipp_status == IPP_STATUS_ERROR_BAD_REQUEST) break; else if (job_auth == NULL && ipp_status > IPP_STATUS_ERROR_BAD_REQUEST) + { + if (!validate_retried) + { + // Retry Validate-Job operation once, to work around known printer bug... + validate_retried = 1; + sleep(10); + continue; + } + goto cleanup; + } } /* -- 2.26.3