On Sep 14, 2009, at 3:51 PM, Tom Hastings wrote:
> Michael,
>> Thanks for posting.
>> I assume that Purge-Jobs doesn't work on all jobs, if the user isn't
> the
> Operator. As you mentioned on the phone it only purges your jobs,
> if you
> aren't the operator. But the behavior isn't in the text below.
Right, the CUPS documentation isn't always up to the same levels of
clarity as public specs...
> RFC 2911 has the section:
>> Access Rights: The authenticated user (see section 8.3) performing
> this operation [MUST] be an operator or administrator of the Printer
> object (see Sections 1 and 8.5). Otherwise, the IPP object MUST
> reject the operation and return: client-error-forbidden, client-
> error-not-authenticated, and client-error-not-authorized as
> appropriate.
>> Presumably, the second sentence could be modified to something like
> either:
>> Otherwise, the IPP object MUST behave as if the user supplied the
> "my-jobs"
> attribute with the 'true' value, no matter whether the client
> supplied the
> "my-jobs" attribute.
>> OR
>> Otherwise, the IPP object MUST reject the operation and return:
> client-error-forbidden, client-error-not-authenticated, and
> client-error-not-authorized as appropriate, unless the client
> explicitly
> supplied the "my-jobs" with a 'true' value (since the default value is
> 'false').
The second version matches the current default behavior, although CUPS
*does* offer a lot of configurability when it comes to policies like
this.
> Since the IPP WG agreed today to add these ideas to the Set2 spec, I'd
> appreciate feed back while I'm editing that.
I'm more than happy to provide it! :)
> Also I assume that the new "purge-job" (boolean) attribute will be
> OPTIONAL
> for a Printer to support in our Set2 draft, since they are new
> attributes in
> existing operations, right?
Right. The new attributes, "purge-job" for the Cancel-Job operation
and "purge-jobs" for the Purge-Jobs operation, are optional, just as
my-jobs and requesting-user-name are optional.
>> Tom
>>> -----Original Message-----
> From: ipp-bounces at pwg.org [mailto:ipp-bounces at pwg.org] On Behalf Of
> Michael
> Sweet
> Sent: Monday, September 14, 2009 14:41
> To: ipp at pwg.org> Subject: [IPP] Descriptions of CUPS additions to the Cancel-Job and
> Purge-Jobs operations
>> All,
>> Here are the descriptions for the CUPS additions to the Cancel-Job and
> Purge-Jobs operations. These came up in today's conference call...
>> ------------------------------------------------------
>> Cancel Job Operation
>> The Cancel-Job operation (0x0008) cancels the specified job. CUPS 1.4
> adds a new purge-job (boolean) attribute that allows you to purge both
> active and completed jobs, removing all history and document files for
> the job as well.
>> Cancel-Job Request
>> The following groups of attributes are supplied as part of the Cancel-
> Job request:
>> Group 1: Operation Attributes
>> Natural Language and Character Set:
> The "attributes-charset" and "attributes-natural-language"
> attributes as described in section 3.1.4.1 of the IPP Model and
> Semantics document.
>> "printer-uri" (uri) and "job-id" (integer)
> OR
> "job-uri":
> The client MUST supply a URI for the specified printer and a job
> ID number, or the job URI.
>> "purge-job" (boolean):
> The client OPTIONALLY supplies this attribute. When true, all job
> files (history and document) are purged. The default is false, leading
> to the standard IPP behavior.
>>> Cancel-Job Response
>> The following groups of attributes are send as part of the Cancel-Job
> Response:
>> Group 1: Operation Attributes
>> Status Message:
> The standard response status message.
>> Natural Language and Character Set:
> The "attributes-charset" and "attributes-natural-language"
> attributes as described in section 3.1.4.2 of the IPP Model and
> Semantics document.
>>> Purge-Jobs Operation
>> The Purge-Jobs operation (0x0012) cancels all of the jobs on a given
> destination and optionally removes all history and document files for
> the jobs as well.
>> Purge-Jobs Request
>> The following groups of attributes are supplied as part of the Purge-
> Jobs request:
>> Group 1: Operation Attributes
>> Natural Language and Character Set:
> The "attributes-charset" and "attributes-natural-language"
> attributes as described in section 3.1.4.1 of the IPP Model and
> Semantics document.
>> "printer-uri" (uri):
> The client MUST supply a URI for the specified printer or
> "ipp://.../printers> " for all printers and classes.
>> "requesting-user-name" (name(MAX)):
> The client OPTIONALLY supplies this attribute to specify whose
> jobs jobs are purged or canceled.
>> "my-jobs" (boolean):
> The client OPTIONALLY supplies this attribute to specify that
> only the jobs owned by the requesting user are purged or canceled. The
> default is false.
>> "purge-jobs" (boolean):
> The client OPTIONALLY supplies this attribute to specify whether
> the jobs are purged (true) or just canceled (false). The default is
> true.
>>> Purge-Jobs Response
>> The following groups of attributes are send as part of the Purge-Jobs
> Response:
>> Group 1: Operation Attributes
>> Status Message:
> The standard response status message.
>> Natural Language and Character Set:
> The "attributes-charset" and "attributes-natural-language"
> attributes as described in section 3.1.4.2 of the IPP Model and
> Semantics document.
>>> ___________________________________________________
> Michael Sweet, Senior Printing System Engineer
>>>>> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>> _______________________________________________
> ipp mailing list
>ipp at pwg.org>https://www.pwg.org/mailman/listinfo/ipp>
___________________________________________________
Michael Sweet, Senior Printing System Engineer
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.