attachment-0001

<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>Comments inline...</div><div><br></div><div>On Sep 30, 2009, at 7:10 PM, Tom Hastings wrote:</div><blockquote type="cite"><o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City">
<o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place">
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style id="dynCom" type="text/css"><!-- --></style>
<MailScannerScript24484 script language="JavaScript"><!--
function msoCommentShow(anchor_id, com_id)
{
        if(msoBrowserCheck()) 
                {
                c = document.all(com_id);
                a = document.all(anchor_id);
                if (null != c && null == c.length && null != a && null == a.length)
                        {
                        var cw = c.offsetWidth;
                        var ch = c.offsetHeight;
                        var aw = a.offsetWidth;
                        var ah = a.offsetHeight;
                        var x  = a.offsetLeft;
                        var y  = a.offsetTop;
                        var el = a;
                        while (el.tagName != "BODY") 
                                {
                                el = el.offsetParent;
                                x = x + el.offsetLeft;
                                y = y + el.offsetTop;
                                }
                        var bw = document.body.clientWidth;
                        var bh = document.body.clientHeight;
                        var bsl = document.body.scrollLeft;
                        var bst = document.body.scrollTop;
                        if (x + cw + ah / 2 > bw + bsl && x + aw - ah / 2 - cw >= bsl ) 
                                { c.style.left = x + aw - ah / 2 - cw; }
                        else 
                                { c.style.left = x + ah / 2; }
                        if (y + ch + ah / 2 > bh + bst && y + ah / 2 - ch >= bst ) 
                                { c.style.top = y + ah / 2 - ch; }
                        else 
                                { c.style.top = y + ah / 2; }
                        c.style.visibility = "visible";
}        }        }
function msoCommentHide(com_id) 
{
        if(msoBrowserCheck())
                {
                c = document.all(com_id);
                if (null != c && null == c.length)
                {
                c.style.visibility = "hidden";
                c.style.left = -1000;
                c.style.top = -1000;
                } } 
}
function msoBrowserCheck()
{
        ms = navigator.appVersion.indexOf("MSIE");
        vers = navigator.appVersion.substring(ms + 5, ms + 6);
        ie4 = (ms > 0) && (parseInt(vers) >= 4);
        return ie4;
}
if (msoBrowserCheck())
{
        document.styleSheets.dynCom.addRule(".msocomanchor","background: infobackground");
        document.styleSheets.dynCom.addRule(".msocomoff","display: none");
        document.styleSheets.dynCom.addRule(".msocomtxt","visibility: hidden");
        document.styleSheets.dynCom.addRule(".msocomtxt","position: absolute");
        document.styleSheets.dynCom.addRule(".msocomtxt","top: -1000");
        document.styleSheets.dynCom.addRule(".msocomtxt","left: -1000");
        document.styleSheets.dynCom.addRule(".msocomtxt","width: 33%");
        document.styleSheets.dynCom.addRule(".msocomtxt","background: infobackground");
        document.styleSheets.dynCom.addRule(".msocomtxt","color: infotext");
        document.styleSheets.dynCom.addRule(".msocomtxt","border-top: 1pt solid threedlightshadow");
        document.styleSheets.dynCom.addRule(".msocomtxt","border-right: 2pt solid threedshadow");
        document.styleSheets.dynCom.addRule(".msocomtxt","border-bottom: 2pt solid threedshadow");
        document.styleSheets.dynCom.addRule(".msocomtxt","border-left: 1pt solid threedlightshadow");
        document.styleSheets.dynCom.addRule(".msocomtxt","padding: 3pt 3pt 3pt 3pt");
        document.styleSheets.dynCom.addRule(".msocomtxt","z-index: 100");
}
// --></MailScannerScript24484>

<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Xerox Office";}
@font-face
        {font-family:"Arial Black";
        panose-1:2 11 10 4 2 1 2 2 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
h1
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:12.0pt;
        margin-left:.3in;
        text-indent:-.3in;
        page-break-after:avoid;
        mso-list:l1 level1 lfo2;
        font-size:18.0pt;
        font-family:Arial;}
h2
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:.4in;
        text-indent:-.4in;
        page-break-after:avoid;
        mso-list:l1 level2 lfo2;
        font-size:12.0pt;
        font-family:Arial;}
h3
        {margin-top:.25in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:.5in;
        text-indent:-.5in;
        page-break-after:avoid;
        mso-list:l1 level3 lfo2;
        layout-grid-mode:char;
        font-size:12.0pt;
        font-family:Arial;}
h4
        {margin-top:.25in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:.6in;
        text-indent:-.6in;
        page-break-after:avoid;
        mso-list:l1 level4 lfo2;
        layout-grid-mode:char;
        font-size:10.0pt;
        font-family:Arial;}
h5
        {margin-top:.25in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:1.1in;
        text-indent:-1.1in;
        page-break-after:avoid;
        mso-list:l1 level5 lfo2;
        layout-grid-mode:char;
        font-size:10.0pt;
        font-family:Arial;}
h6
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:1.0in;
        text-indent:-1.0in;
        page-break-after:avoid;
        mso-list:l1 level6 lfo2;
        layout-grid-mode:char;
        font-size:10.0pt;
        font-family:"Arial Black";
        font-weight:normal;}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:.9in;
        text-indent:-.9in;
        page-break-after:avoid;
        mso-list:l1 level7 lfo2;
        layout-grid-mode:char;
        font-size:10.0pt;
        font-family:Arial;
        font-weight:bold;}
p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
        {margin-top:.25in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:1.0in;
        text-indent:-1.0in;
        page-break-after:avoid;
        mso-list:l1 level8 lfo2;
        layout-grid-mode:char;
        font-size:12.0pt;
        font-family:Arial;
        font-weight:bold;}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:12.0pt;
        margin-left:1.1in;
        text-indent:-1.1in;
        page-break-after:avoid;
        mso-list:l1 level9 lfo2;
        font-size:18.0pt;
        font-family:Arial;
        font-weight:bold;}
p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
        {margin-top:6.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        font-size:10.0pt;
        font-family:"Xerox Office";}
p.MsoCaption, li.MsoCaption, div.MsoCaption
        {margin-top:6.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        text-align:center;
        font-size:10.0pt;
        font-family:Arial;
        font-weight:bold;}
p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
        {margin-top:6.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        layout-grid-mode:char;
        font-size:10.0pt;
        font-family:Arial;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Times New Roman";
        font-weight:bold;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:Tahoma;}
span.EmailStyle24
        {mso-style-type:personal-compose;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 77.95pt 1.0in 77.95pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:1058430719;
        mso-list-template-ids:1594760672;}
@list l0:level1
        {mso-level-start-at:4;
        mso-level-text:%1;
        mso-level-tab-stop:.25in;
        mso-level-number-position:left;
        margin-left:.25in;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-start-at:4;
        mso-level-text:"%1\.%2";
        mso-level-tab-stop:.25in;
        mso-level-number-position:left;
        margin-left:.25in;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-text:"%1\.%2\.%3";
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        margin-left:.5in;
        text-indent:-.5in;}
@list l0:level4
        {mso-level-text:"%1\.%2\.%3\.%4";
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        margin-left:.5in;
        text-indent:-.5in;}
@list l0:level5
        {mso-level-text:"%1\.%2\.%3\.%4\.%5";
        mso-level-tab-stop:.75in;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.75in;}
@list l0:level6
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        margin-left:1.0in;
        text-indent:-1.0in;}
@list l0:level7
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        margin-left:1.0in;
        text-indent:-1.0in;}
@list l0:level8
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
        mso-level-tab-stop:1.25in;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-1.25in;}
@list l0:level9
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
        mso-level-tab-stop:1.25in;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-1.25in;}
@list l1
        {mso-list-id:1345092281;
        mso-list-template-ids:-1277397446;}
@list l1:level1
        {mso-level-style-link:"Heading 1";
        mso-level-text:%1;
        mso-level-tab-stop:.3in;
        mso-level-number-position:left;
        margin-left:.3in;
        text-indent:-.3in;}
@list l1:level2
        {mso-level-style-link:"Heading 2";
        mso-level-text:"%1\.%2";
        mso-level-tab-stop:.4in;
        mso-level-number-position:left;
        margin-left:.4in;
        text-indent:-.4in;}
@list l1:level3
        {mso-level-style-link:"Heading 3";
        mso-level-text:"%1\.%2\.%3";
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        margin-left:.5in;
        text-indent:-.5in;}
@list l1:level4
        {mso-level-style-link:"Heading 4";
        mso-level-text:"%1\.%2\.%3\.%4";
        mso-level-tab-stop:.6in;
        mso-level-number-position:left;
        margin-left:.6in;
        text-indent:-.6in;}
@list l1:level5
        {mso-level-style-link:"Heading 5";
        mso-level-text:"%1\.%2\.%3\.%4\.%5";
        mso-level-tab-stop:1.1in;
        mso-level-number-position:left;
        margin-left:1.1in;
        text-indent:-1.1in;}
@list l1:level6
        {mso-level-reset-level:level1;
        mso-level-style-link:"Heading 6";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
        mso-level-tab-stop:1.25in;
        mso-level-number-position:left;
        margin-left:1.0in;
        text-indent:-1.0in;}
@list l1:level7
        {mso-level-style-link:"Heading 7";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
        mso-level-tab-stop:.9in;
        mso-level-number-position:left;
        margin-left:.9in;
        text-indent:-.9in;}
@list l1:level8
        {mso-level-style-link:"Heading 8";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        margin-left:1.0in;
        text-indent:-1.0in;}
@list l1:level9
        {mso-level-style-link:"Heading 9";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
        mso-level-tab-stop:1.1in;
        mso-level-number-position:left;
        margin-left:1.1in;
        text-indent:-1.1in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>



<div lang="EN-US" link="blue" vlink="purple">

<div class="Section1"><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">I'm struggling mightily to write up the Cancel-Job and Purge-Job
operations as suggested by Michael and have come up with a bunch of
issues.&nbsp; Since HTML may not come through the email reflector with the 5
MS-WORD ISSUE comments intact and the table shown, I’ve also downloaded
the .doc of just these attributes with my suggested descriptions and the ISSUES
as MS-WORD comments to: <a href="ftp://ftp.pwg.org/pub/pwg/ipp/wd/Attributes_to_add_to_Cancel-Job_and_Purge-Jobs_operations.doc">ftp://ftp.pwg.org/pub/pwg/ipp/wd/Attributes_to_add_to_Cancel-Job_and_Purge-Jobs_operations.doc</a>.&nbsp;
<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">The 5 ISSUES are as follows:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt;background:red">ISSUE 1</span><span style="background:yellow">:&nbsp; Allowing
an unprivileged user to purge his job using Cancel-Job, could circumvent
accounting in those systems that use Retained Jobs and Job History for
accounting.</span><o:p></o:p></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoCommentText"><font size="2" face="Xerox Office"><span style="font-size:10.0pt;background:red">ISSUE 2</span><span style="background:
yellow">:&nbsp; </span></font><font face="Courier New"><span style="font-family:
&quot;Courier New&quot;;background:yellow">Allowing an unprivileged user to purge his
jobs using Purge-Jobs, could circumvent accounting in those systems that use
Retained Jobs and Job History for accounting.<o:p></o:p></span></font></p><p class="MsoCommentText"><font size="2" face="Courier New"><span style="font-size:
10.0pt;font-family:&quot;Courier New&quot;;background:yellow">One solution would be to
only allow Purge-Jobs for operator or administrator as in [RFC 2911].</span></font><o:p></o:p></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt;background:red">ISSUE 3</span><span style="background:yellow">: Instead
of adding “my-jobs” and “purge-job” to Purge-Jobs, a
simpler way to allow an unprivileged user to cancel all his jobs, instead of
just a specified job, would be to add “all-my-jobs” (boolean)
Operation attribute to the Cancel-Job operation.&nbsp; When the client supplies
this attribute with a ‘true’ value, the client MUST NOT supply a
“job-id” or “job-url” Operation attribute.</span><o:p></o:p></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt;background:red">ISSUE 4</span><span style="background:yellow">: Or
should the spec say the Printer MUST reject the Purge-Jobs operation if the
unprivileged client supplies the “my-jobs” = ‘false’
and return: client-error-forbidden, client-error-not-authenticated, and
client-error-not-authorized as appropriate, as for Purge-Jobs in RFC 2911
section 3.2.9</span><o:p></o:p></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt;background:red">ISSUE 5</span><span style="background:yellow">: The
“purge-job” (boolean) Operation attribute has the
‘true’ value here as its default.&nbsp; Usually, it’s the
‘false’ value that is the default.&nbsp; More confusingly, the
“purge-job” (boolean) Operation attribute (correctly) has the
‘false’ value in the Cancel-Job operation above.</span><o:p></o:p></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">I’ve included the text in the draft which I will post tomorrow
for this Monday’s IPP WG telecon, October 5, at 1:00 PM PDT = 4:00 PM EDT,
but I wanted to start people thinking about these issues.&nbsp; Hopefully, we
can resolve these issues at the meeting so that I can update the draft for the
face to face meeting in <st1:city w:st="on"><st1:place w:st="on">Cupertino</st1:place></st1:city>,
the following week, October 12-14.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Here is what I've come up with.&nbsp; Comments and suggestions are
welcome:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p>

<h2 style="margin-left:0in;text-indent:0in;mso-list:none"><b><font size="3" face="Arial"><span style="font-size:12.0pt">4.3 Cancel-Job operation<o:p></o:p></span></font></b></h2><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">This
section specified an additional operation attribute for use with the
Cancel-Jobs operation (see [RFC2911] Section 3.3.3).<o:p></o:p></span></font></p>

<h3 style="margin-left:0in;text-indent:0in;mso-list:none"><b><font size="3" face="Arial"><span style="font-size:12.0pt">4.3.1 <a style="mso-comment-reference:
th_1;mso-comment-date:20090930T1856">purge-job</a></span></font></b><span class="MsoCommentReference"><font face="Xerox Office"><span style="font-family:
&quot;Xerox Office&quot;;font-weight:normal"><a class="msocomanchor" id="_anchor_1" onmouseover="msoCommentShow('_anchor_1','_com_1')" onmouseout="msoCommentHide('_com_1')" href="x-msg://49/#_msocom_1" language="JavaScript" name="_msoanchor_1">[th1]</a>&nbsp;</span></font></span><span class="MsoCommentReference"><font size="1" face="Xerox Office"><span style="font-size:8.0pt;font-family:&quot;Xerox Office&quot;;font-weight:normal">&nbsp;</span></font></span>
(boolean)<o:p></o:p></h3><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">The
“purge-job” Operation attribute controls whether the specified job
is canceled or purged as follows:<o:p></o:p></span></font></p><p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.5in"><font size="2" face="Arial"><span style="font-size:10.0pt">‘false’: &nbsp;Default
value.&nbsp; The Printer cancels the specified job as specified in [RFC2911]
Section 3.3.3 which MAY leave a Retained Job with document data on the Printer
for possible re-processing (e.g., using the Reprocess-Job or Resubmit-Job
operations) and/or Job History.&nbsp; Note: If the client omits this attribute
or supplies the ‘false’ value, the behavior of the Cancel-Job
operation is as specified in [RFC2911].<o:p></o:p></span></font></p><p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.5in"><font size="2" face="Arial"><span style="font-size:10.0pt">‘true’: &nbsp;&nbsp;If
the authenticated user is the job owner of the job specified by the
“job-id” or “job-uri” operation attribute or is a
privileged operator or administrator of the Printer, the Printer MUST purge the
specified job according to the semantics of the Purge-Jobs operation
independent of the job’s state, but only for the specified job, i.e.,
remove all record of the specified job, including attributes, history and
document data. <o:p></o:p></span></font></p><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">The
client MAY supply this Operation attribute and the Printer MAY support this
Operation attribute in the Cancel-Job operation.</span></font></p></div></div></o:smarttagtype></o:smarttagtype></blockquote><div><br></div><div>I'd just make the authenticated user case more generic, and also document that Cancel-Jobs with purge-jobs=true will fail if the user is not authorized, e.g.:</div></div><div><br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">‘true’: &nbsp; If the authenticated user is allowed to purge a job by the Printer's security policy (typically if&nbsp;the owner of the job specified by the “job-id” or&nbsp;“job-uri” operation attribute matches)&nbsp;or is a privileged operator or administrator of the&nbsp;Printer, the Printer MUST purge the specified job according to the semantics&nbsp;of the Purge-Jobs operation independent of the job’s state, but only for the&nbsp;specified job, i.e., remove all record of the specified job, including attributes,&nbsp;history and document data. Otherwise, the IPP object MUST reject the operation and return: client-error-forbidden, client-error-not-authenticated, and client-error-not-authorized as appropriate.</blockquote><div><br></div>The wording of the last sentence matches RFC 2911's Purge-Jobs description.<br><div><blockquote type="cite"><o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City"><o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"><div lang="EN-US" link="blue" vlink="purple"><div class="Section1"><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt"><o:p></o:p></span></font></p>

<h2 style="margin-left:.25in;text-indent:-.25in;mso-list:l0 level2 lfo4"><b><font size="3" face="Arial"><span style="font-size:12.0pt"><span style="mso-list:Ignore">4.4<font size="1" face="Times New Roman"><span style="font:7.0pt &quot;Times New Roman&quot;"> </span></font></span></span></font></b>Purge-Jobs
operation<o:p></o:p></h2><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">This
section specified additional operation attributes for use with the Cancel-Jobs
operation (see [RFC2911] Section 3.3.7).<o:p></o:p></span></font></p>

<h3 style="mso-list:l0 level3 lfo4"><a style="mso-comment-reference:th_3;
mso-comment-date:20090930T1840;mso-comment-parent:2"></a><a style="mso-comment-reference:
th_2;mso-comment-date:20090930T1856"><span style="mso-comment-continuation:
3"><b><font size="3" face="Arial"><span style="font-size:12.0pt"><span style="mso-list:Ignore">4.4.1<font size="1" face="Times New Roman"><span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span></span></font></b>my-jobs</span></a><span style="mso-comment-continuation:3"><span class="MsoCommentReference"><font size="2" face="Xerox Office"><span style="font-size:10.0pt;font-family:&quot;Xerox Office&quot;;
font-weight:normal"><a class="msocomanchor" id="_anchor_2" onmouseover="msoCommentShow('_anchor_2','_com_2')" onmouseout="msoCommentHide('_com_2')" href="x-msg://49/#_msocom_2" language="JavaScript" name="_msoanchor_2">[th2]</a>&nbsp;</span></font></span></span><span style="mso-comment-continuation:3"><span class="MsoCommentReference"><font size="1" face="Xerox Office"><span style="font-size:8.0pt;font-family:&quot;Xerox Office&quot;;
font-weight:normal">&nbsp;</span></font></span></span><span class="MsoCommentReference"><font size="2" face="Xerox Office"><span style="font-size:10.0pt;font-family:&quot;Xerox Office&quot;;font-weight:normal"><a class="msocomanchor" id="_anchor_3" onmouseover="msoCommentShow('_anchor_3','_com_3')" onmouseout="msoCommentHide('_com_3')" href="x-msg://49/#_msocom_3" language="JavaScript" name="_msoanchor_3">[th3]</a>&nbsp;</span></font></span><span class="MsoCommentReference"><font size="1" face="Xerox Office"><span style="font-size:8.0pt;font-family:&quot;Xerox Office&quot;;font-weight:normal">&nbsp;</span></font></span>
(boolean)<o:p></o:p></h3><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">The
“my-jobs” Operation attribute allows the client to request the
target jobs to be (1) <i><span style="font-style:italic">all</span></i> jobs or
(2) only jobs owned by the requesting user.&nbsp; However, the Printer MUST
further restrict the target jobs as follows:&nbsp; <o:p></o:p></span></font></p><p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.5in"><font size="2" face="Arial"><span style="font-size:10.0pt">‘false’: &nbsp;Default
value.&nbsp; The target jobs are <i><span style="font-style:italic">all</span></i>
jobs, unless the Authenticated user supplying the request is NOT an operator or
administrator of the Printer, <a style="mso-comment-reference:th_4;mso-comment-date:
20090930T1840">in which case the Printer MUST restrict the target jobs to those
belonging to the requesting user.</a></span></font><span class="MsoCommentReference"><font face="Xerox Office"><span style="font-family:
&quot;Xerox Office&quot;"><a class="msocomanchor" id="_anchor_4" onmouseover="msoCommentShow('_anchor_4','_com_4')" onmouseout="msoCommentHide('_com_4')" href="x-msg://49/#_msocom_4" language="JavaScript" name="_msoanchor_4">[th4]</a>&nbsp;</span></font></span><span class="MsoCommentReference"><font size="1" face="Xerox Office"><span style="font-size:8.0pt;font-family:&quot;Xerox Office&quot;">&nbsp;</span></font></span><o:p></o:p></p><p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.5in"><font size="2" face="Arial"><span style="font-size:10.0pt">‘true’: &nbsp;&nbsp;The
target jobs are <i><span style="font-style:italic">limited to</span></i> those
owned by the Authenticated user submitting the request.&nbsp; &nbsp;<o:p></o:p></span></font></p><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:
12.0pt">The client MAY supply this Operation attribute and the Printer MAY
support this Operation attribute in the Purge-Jobs operation.</span></font></p></div></div></o:smarttagtype></o:smarttagtype></blockquote><div><br></div><div>I'd add the following to the 4.4 introduction to address th2-th5:</div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">Access Rights: The following attributes may allow the authenticated user (see RFC 2911 section 8.3) performing this operation to be an ordinary user depending on the Printer's security policy. When ordinary users are not allowed to use the Purge-Jobs operation, the&nbsp;IPP object MUST continue to reject the operation and return: client-error-forbidden, client-error-not-authenticated, and client-error-not-authorized as appropriate.</blockquote><div><br></div>Then move the table into 4.4, before the description of the attributes.<div><br><div><blockquote type="cite"><o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City"><o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"><div lang="EN-US" link="blue" vlink="purple"><div class="Section1"><p class="MsoNormal"><font><font class="Apple-style-span" color="#000000" face="Monaco"><span class="Apple-style-span" style="font-size: medium;"><o:p></o:p></span></font></font></p>

<h3 style="text-indent: 0px;"><b><font size="3" face="Arial"><span style="font-size:12.0pt"><span style="mso-list:Ignore">4.4.2<font size="1" face="Times New Roman"><span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font></b>purge-job (boolean) <o:p></o:p></h3><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">The
“purge-job” Operation attribute controls whether the target jobs
are canceled or purged as follows: <o:p></o:p></span></font></p><p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.5in"><font size="2" face="Arial"><span style="font-size:10.0pt">‘false’: &nbsp;The
Printer cancels the target jobs as specified in [RFC2911] Section 3.3.3
Cancel-Job which MAY leave a Retained Job with document data on the Printer for
possible re-processing (e.g., using the Reprocess-Job or Resubmit-Job
operations) and/or Job History.&nbsp; <o:p></o:p></span></font></p><p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.5in"><a style="mso-comment-reference:th_5;mso-comment-date:20090930T1840"><font size="2" face="Arial"><span style="font-size:10.0pt">‘true’:
&nbsp;&nbsp;Default value</span></font></a><span class="MsoCommentReference"><font face="Xerox Office"><span style="font-family:&quot;Xerox Office&quot;"><a class="msocomanchor" id="_anchor_5" onmouseover="msoCommentShow('_anchor_5','_com_5')" onmouseout="msoCommentHide('_com_5')" href="x-msg://49/#_msocom_5" language="JavaScript" name="_msoanchor_5">[th5]</a>&nbsp;</span></font></span><span class="MsoCommentReference"><font size="1" face="Xerox Office"><span style="font-size:8.0pt;font-family:&quot;Xerox Office&quot;">&nbsp;</span></font></span>.&nbsp;
The Printer purges the target jobs as specified in [RFC2911] Section 3.2.9
Purge-Jobs.&nbsp; Note: If the client omits this attribute or supplies the
‘true’ value, the behavior of the Purge-Jobs operation is as
specified in [RFC2911] for the target jobs.<o:p></o:p></p><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">The
client MAY supply this Operation attribute and the Printer MAY support this
Operation attribute in the Purge-Jobs operation.<o:p></o:p></span></font></p><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">The
behavior for the Purge-Jobs operation for these two Operation attributes for
unprivileged users vs. operators and administrator of the Printer is shown in
Table 2.<o:p></o:p></span></font></p><p class="MsoCaption" style="page-break-after:avoid"><a name="_Ref242099050"><b><font size="2" face="Arial"><span style="font-size:10.0pt">Table </span></font></b></a>2:
Interaction of "my-jobs" and "purge-jobs" attributes in the
Purge-Jobs operation<o:p></o:p></p>

<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="613" style="width: 459.9pt; margin-left: 0.5in; border-collapse: collapse; position: static; z-index: auto; ">
 <tbody><tr>
  <td width="211" valign="top" style="width:2.2in;border:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">Operation attributes<o:p></o:p></span></font></p>
  </td>
  <td width="204" valign="top" style="width:153.0pt;border:solid windowtext 1.0pt;
  border-left:none;padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">Unprivileged user<o:p></o:p></span></font></p>
  </td>
  <td width="198" valign="top" style="width:148.5pt;border:solid windowtext 1.0pt;
  border-left:none;padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">Operator or Administrator of the Printer<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width="211" valign="top" style="width:2.2in;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">“my-jobs” = ‘false’ or
  omitted<br>
  “purge-jobs” = ‘false’<o:p></o:p></span></font></p>
  </td>
  <td width="204" valign="top" style="width:153.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">Cancel only my jobs (Printer overrides
  “my-jobs” = ‘false’)<o:p></o:p></span></font></p>
  </td>
  <td width="198" valign="top" style="width:148.5pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">Cancel <i><span style="font-style:italic">all</span></i>
  jobs<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width="211" valign="top" style="width:2.2in;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">“my-jobs” = ‘true’<br>
  “purge-jobs” = ‘false’<o:p></o:p></span></font></p>
  </td>
  <td width="204" valign="top" style="width:153.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">Cancel only my jobs<o:p></o:p></span></font></p>
  </td>
  <td width="198" valign="top" style="width:148.5pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">Cancel only my jobs<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width="211" valign="top" style="width:2.2in;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">“my-jobs” = ‘false’ or
  omitted<br>
  “purge-jobs” = ‘true’ or omitted<o:p></o:p></span></font></p>
  </td>
  <td width="204" valign="top" style="width:153.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">Purge only my jobs (Printer overrides
  “my-jobs” = ‘false’)<o:p></o:p></span></font></p>
  </td>
  <td width="198" valign="top" style="width:148.5pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText" style="page-break-after:avoid"><font size="2" face="Arial"><span style="font-size:10.0pt">Purge <i><span style="font-style:italic">all</span></i>
  jobs<o:p></o:p></span></font></p>
  </td>
 </tr>
 <tr>
  <td width="211" valign="top" style="width:2.2in;border:solid windowtext 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">“my-jobs”
  = ‘true’<br>
  “purge-jobs” = ‘true’ or omitted<o:p></o:p></span></font></p>
  </td>
  <td width="204" valign="top" style="width:153.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">Purge
  only my jobs<o:p></o:p></span></font></p>
  </td>
  <td width="198" valign="top" style="width:148.5pt;border-top:none;border-left:
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0in 5.4pt 0in 5.4pt"><p class="MsoBodyText"><font size="2" face="Arial"><span style="font-size:10.0pt">Purge
  only my jobs<o:p></o:p></span></font></p>
  </td>
 </tr>
</tbody></table><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">-----Original Message-----<br>
From: <a href="mailto:ipp-bounces@pwg.org">ipp-bounces@pwg.org</a> [mailto:ipp-bounces@pwg.org] On Behalf Of Michael
Sweet<br>
Sent: Monday, September 14, 2009 14:41<br>
To: <a href="mailto:ipp@pwg.org">ipp@pwg.org</a><br>
Subject: [IPP] Descriptions of CUPS additions to the Cancel-Job and Purge-Jobs
operations<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">All,<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Here are the descriptions for the CUPS additions to the Cancel-Job
and&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Purge-Jobs operations. These came up in today's conference call...<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">------------------------------------------------------<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Cancel Job Operation<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">The Cancel-Job operation (0x0008) cancels the specified job. CUPS
1.4&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">adds a new purge-job (boolean) attribute that allows you to purge
both&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">active and completed jobs, removing all history and document files
for&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">the job as well.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Cancel-Job Request<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">The following groups of attributes are supplied as part of the Cancel- <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Job request:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Group 1: Operation Attributes<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Natural Language and Character Set:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The "attributes-charset" and
"attributes-natural-language"&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">attributes as described in section 3.1.4.1 of the IPP Model and&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Semantics document.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">"printer-uri" (uri) and "job-id" (integer)<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">OR<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">"job-uri":<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The client MUST supply a URI for the specified
printer and a job&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">ID number, or the job URI.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">"purge-job" (boolean):<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The client OPTIONALLY supplies this attribute.
When true, all job&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">files (history and document) are purged. The default is false,
leading&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">to the standard IPP behavior.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Cancel-Job Response<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">The following groups of attributes are send as part of the
Cancel-Job&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Response:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Group 1: Operation Attributes<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Status Message:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The standard response status message.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Natural Language and Character Set:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The "attributes-charset" and
"attributes-natural-language"&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">attributes as described in section 3.1.4.2 of the IPP Model and&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Semantics document.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Purge-Jobs Operation<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">The Purge-Jobs operation (0x0012) cancels all of the jobs on a
given&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">destination and optionally removes all history and document files
for&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">the jobs as well.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Purge-Jobs Request<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">The following groups of attributes are supplied as part of the Purge- <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Jobs request:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Group 1: Operation Attributes<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Natural Language and Character Set:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The "attributes-charset" and
"attributes-natural-language"&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">attributes as described in section 3.1.4.1 of the IPP Model and&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Semantics document.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">"printer-uri" (uri):<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The client MUST supply a URI for the specified
printer or "<a href="ipp://.../printers">ipp://.../printers</a> <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">" for all printers and classes.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">"requesting-user-name" (name(MAX)):<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The client OPTIONALLY supplies this attribute
to specify whose&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">jobs jobs are purged or canceled.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">"my-jobs" (boolean):<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The client OPTIONALLY supplies this attribute to
specify that&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">only the jobs owned by the requesting user are purged or canceled.
The&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">default is false.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">"purge-jobs" (boolean):<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The client OPTIONALLY supplies this attribute
to specify whether&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">the jobs are purged (true) or just canceled (false). The default
is&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">true.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Purge-Jobs Response<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">The following groups of attributes are send as part of the
Purge-Jobs&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Response:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Group 1: Operation Attributes<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Status Message:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The standard response status message.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Natural Language and Character Set:<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">&nbsp;&nbsp;&nbsp;&nbsp; The "attributes-charset" and
"attributes-natural-language"&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">attributes as described in section 3.1.4.2 of the IPP Model and&nbsp; <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Semantics document.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">___________________________________________________<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">Michael Sweet, Senior Printing System Engineer<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">-- <o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">This message has been scanned for viruses and<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">dangerous content by MailScanner, and is<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">believed to be clean.<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><o:p>&nbsp;</o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">_______________________________________________<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt">ipp mailing list<o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><a href="mailto:ipp@pwg.org">ipp@pwg.org</a><o:p></o:p></span></font></p><p class="MsoPlainText"><font size="2" face="Courier New"><span style="font-size:
10.0pt"><a href="https://www.pwg.org/mailman/listinfo/ipp">https://www.pwg.org/mailman/listinfo/ipp</a><o:p></o:p></span></font></p>

</div>

<div style="mso-element:comment-list">

<hr class="msocomoff" align="left" size="1" width="33%">



<div style="mso-element:comment">

<div id="_com_1" class="msocomtxt" language="JavaScript" onmouseover="msoCommentShow('_anchor_1','_com_1')" onmouseout="msoCommentHide('_com_1')"><span style="mso-comment-author:
hastings"><a name="_msocom_1"></a></span><p class="MsoCommentText"><span class="MsoCommentReference"><font size="1" face="Xerox Office"><span style="font-size:8.0pt;font-family:&quot;Xerox Office&quot;">&nbsp;</span></font></span><span style="background:red">ISSUE</span><span style="background:yellow">:&nbsp;
Allowing an unprivileged user to purge his job using Cancel-Job, could
circumvent accounting in those systems that use Retained Jobs and Job History
for accounting.</span></p>

</div>

</div>

<div style="mso-element:comment">

<div id="_com_2" class="msocomtxt" language="JavaScript" onmouseover="msoCommentShow('_anchor_2','_com_2')" onmouseout="msoCommentHide('_com_2')"><span style="mso-comment-author:
hastings"><a name="_msocom_2"></a></span><p class="MsoCommentText"><span class="MsoCommentReference"><font size="1" face="Xerox Office"><span style="font-size:8.0pt;font-family:&quot;Xerox Office&quot;">&nbsp;</span></font></span><span style="background:red">ISSUE</span><span style="background:yellow">:&nbsp; Allowing
an unprivileged user to purge his jobs using Purge-Jobs, could circumvent
accounting in those systems that use Retained Jobs and Job History for
accounting.<o:p></o:p></span></p><p class="MsoCommentText"><font size="2" face="Xerox Office"><span style="font-size:10.0pt;background:yellow"><o:p>&nbsp;</o:p></span></font></p><p class="MsoCommentText"><font size="2" face="Xerox Office"><span style="font-size:10.0pt;background:yellow">One solution would be to only allow
Purge-Jobs for operator or administrator as in [RFC 2911].</span></font></p>

</div>

</div>

<div style="mso-element:comment">

<div id="_com_3" class="msocomtxt" language="JavaScript" onmouseover="msoCommentShow('_anchor_3','_com_3')" onmouseout="msoCommentHide('_com_3')"><span style="mso-comment-author:
hastings"><a name="_msocom_3"></a></span><p class="MsoCommentText"><span class="MsoCommentReference"><font size="1" face="Xerox Office"><span style="font-size:8.0pt;font-family:&quot;Xerox Office&quot;">&nbsp;</span></font></span><span style="background:red">ISSUE</span><span style="background:yellow">: Instead of
adding “my-jobs” and “purge-job” to Purge-Jobs, a
simpler way to allow an unprivileged &nbsp;user to cancel all his jobs, instead
of just a specified job, would be to add “all-my-jobs” (boolean)
Operation attribute to the Cancel-Job operation.&nbsp; When the client supplies
this attribute with a ‘true’ value, the client MUST NOT supply a “job-id”
or “job-url” Operation attribute.</span></p>

</div>

</div>

<div style="mso-element:comment">

<div id="_com_4" class="msocomtxt" language="JavaScript" onmouseover="msoCommentShow('_anchor_4','_com_4')" onmouseout="msoCommentHide('_com_4')"><span style="mso-comment-author:
hastings"><a name="_msocom_4"></a></span><p class="MsoPlainText"><span class="MsoCommentReference"><font size="1" face="Courier New"><span style="font-size:8.0pt;font-family:&quot;Courier New&quot;">&nbsp;</span></font></span><font face="Times New Roman"><span style="font-family:&quot;Times New Roman&quot;;background:
red">ISSUE</span></font><font face="Times New Roman"><span style="font-family:
&quot;Times New Roman&quot;;background:yellow">: Or should the spec say the Printer MUST
reject the operation and return: client-error-forbidden, client-error-not-authenticated,
and client-error-not-authorized as appropriate, as for Purge-Jobs in RFC 2911
section 3.2.9</span></font><font face="Times New Roman"><span style="font-family:
&quot;Times New Roman&quot;"><o:p></o:p></span></font></p>

</div>

</div>

<div style="mso-element:comment">

<div id="_com_5" class="msocomtxt" language="JavaScript" onmouseover="msoCommentShow('_anchor_5','_com_5')" onmouseout="msoCommentHide('_com_5')"><span style="mso-comment-author:
hastings"><a name="_msocom_5"></a></span><p class="MsoCommentText"><span class="MsoCommentReference"><font size="1" face="Xerox Office"><span style="font-size:8.0pt;font-family:&quot;Xerox Office&quot;">&nbsp;</span></font></span><span style="background:red">ISSUE</span><span style="background:yellow">: The “purge-job”
(boolean) Operation attribute has the ‘true’ value here as its
default.&nbsp; Usually, it’s the ‘false’ value that is the default.&nbsp;
More confusingly, the “purge-job” (boolean) Operation attribute
(correctly) has the ‘false’ value in the Cancel-Job operation
above.</span></p>

</div>

</div>

</div>

</div>


</o:smarttagtype></o:smarttagtype></blockquote></div><br><div>
<div>___________________________________________________</div><div>Michael Sweet, Senior Printing System Engineer</div><div><br></div><br class="Apple-interchange-newline">
</div>
<br></div><br />-- 
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href="http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.
</body></html>