]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - doc/help/spec-ipp.html
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / doc / help / spec-ipp.html
index 0dd2dc4975fcf5328e3668ed8e3f610eb9da8863..f9702dad371c0cb68f0535382eba868b3b4bf6f0 100644 (file)
 <!--
   IPP specification for CUPS.
 
-  Copyright 2007-2016 by Apple Inc.
-  Copyright 1997-2007 by Easy Software Products.
-
-  These coded instructions, statements, and computer programs are the
-  property of Apple Inc. and are protected by Federal copyright
-  law.  Distribution and use rights are outlined in the file "LICENSE.txt"
-  which should have been included with this file.  If this file is
-  file is missing or damaged, see the license at "http://www.cups.org/".
+  Copyright © 2007-2023 by Apple Inc.
+  Copyright © 1997-2007 by Easy Software Products.
+
+  Licensed under Apache License v2.0.  See the file "LICENSE" for more
+  information.
 -->
 
 <H1 CLASS="title">CUPS Implementation of IPP</H1>
 
        <li><a href="http://ftp.pwg.org/pub/pwg/candidates/cs-ipptrans10-20131108-5100.16.pdf">PWG 5100.16: IPP Transaction-Based Printing Extensions</a></li>
 
-       <li><a href="http://tools.ietf.org/html/rfc3998">RFC 3998: IPP Job and Printer Administrative Operations</a> (Disable-Printer, Enable-Printer, Hold-New-Jobs, and Release-Held-New-Jobs operations)</li>
+       <li><a href="http://tools.ietf.org/html/rfc3995">RFC 3995: IPP: Event Notifications and Subscriptions</a></li>
+
+       <li><a href="http://tools.ietf.org/html/rfc3996">RFC 3996: IPP: The 'ippget' Delivery Method for Event Notifications</li>
+
+       <li><a href="http://tools.ietf.org/html/rfc3998">RFC 3998: IPP: Job and Printer Administrative Operations</a> (Disable-Printer, Enable-Printer, Hold-New-Jobs, and Release-Held-New-Jobs operations)</li>
 
        <li><a href="http://tools.ietf.org/html/rfc7472">RFC 7472: IPP over HTTPS Transport Binding and 'ipps' URI Scheme</a></li>
 
@@ -1617,11 +1618,13 @@ CUPS-Get-PPDs Response:
 
        <li>'domain': A domain name is required.</li>
 
+       <li>'negotiate': Kerberos is required - this keyword can only appear by itself and causes cupsd to collect the UID of the printing user.</li>
+
        <li>'none': No authentication is required - this keyword can only appear by itself.</li>
 
        <li>'password': A password is required.</li>
 
-       <li>'username': A username is required.</li>
+       <li>'username': A username is required. Some protocols (like SMB) prefix the username with the domain, for example "DOMAIN\user".</li>
 
 </ul>
 
@@ -1883,6 +1886,76 @@ CUPS-Get-PPDs Response:
 <h4>printer-type-mask (type2 enum)<span class='info'>CUPS 1.1</span></h4>
 
 <p>The "printer-type-mask" attribute is used to choose printers or classes with the CUPS-Get-Printers and CUPS-Get-Classes operations. The bits are defined identically to the printer-type attribute and default to all 1's.
+</p>
+
+<h4>printer-wifi-password (octetString(MAX))</h4>
+
+<p>The optional "printer-wifi-password" description attribute provides the wireless network password for a printer.
+Printers must not return this attribute in the response to a Get-Printer-Attributes request.
+This attribute can only be set via an authenticated Set-Printer-Attributes request over a secure channel,
+or via an unauthenticated IPP USB connection when the printer is in its initial setup state.
+When a value for this attribute is not set, the 'wifi-not-configured-report' keyword must be present in the
+"printer-state-reasons" printer attribute values. If a printer supports this attribute, it must also support
+the "printer-wifi-ssid" and "printer-wifi-state" attributes.</p>
+
+<h4>printer-wifi-ssid (name(MAX))</h4>
+
+<p>The optional "printer-wifi-ssid" description attribute specifies the wireless network name for the printer.
+When set to the empty string, the printer must not join infrastructure or ad-hoc networks.
+This attribute can only be set via an authenticated Set-Printer-Attributes request over a secure channel,
+or via an unauthenticated IPP USB connection when the printer is in its initial setup state.
+This attribute also must reflect any configuration done by the user through the printer's web interface,
+control panel, or other interface. When a value for this attribute is not set, the 'wifi-not-configured-report'
+keyword must be present in the "printer-state-reasons" printer attribute values.
+If a printer supports this attribute, it must also support the "printer-wifi-password" and
+"printer-wifi-state" attributes.</p>
+
+<p>Printers that support the Set-Printer-Attribtes operation and "printer-wifi-password" and "printer-wifi-ssid"
+printer description attributes must also support unauthenticated Set-Printer-Attributes requests over USB when Wi-Fi
+networking has not yet been configured. This allows a client to configure the Wi-Fi networking of a printer over USB.</p>
+
+<p>When configuring a wireless network, clients must send both the "printer-wifi-ssid" and "printer-wifi-password"
+printer description attributes. If only one attribute is supplied, the printer must reject the request with the
+client-error-bad-request status code. If either attribute is supplied with an invalid value,
+the printer must reject the request with the client-error-attributes-or-values-not-supported status code.</p>
+
+In addition to other defined printer-state-reasons, the 'wifi-not-configured-report' reason is returned when the
+"printer-wifi-password" and "printer-wifi-ssid" printer description attributes are not set,
+regardless of the value of the "printer-wifi-state" printer status attribute.
+
+<h4>printer-wifi-state (type2 enum)</h4>
+
+<p>The optional "printer-wifi-state" status attribute specifies a printer's current wireless network state as
+an enumerated value. The following values are currently defined:</p>
+
+<div class='table'><table align='center' border='1' width='80%' summary='Wireless Networking State'>
+<tbody>
+<tr>
+       <td>3</td>
+       <td>(off) wireless networking is turned off</td>
+</tr>
+<tr>
+       <td>4</td>
+       <td>(not-configured) wireless networking is not yet configured</td>
+</tr>
+<tr>
+       <td>5</td>
+       <td>(not-visible) the configured wireless network is not visible</td>
+</tr>
+<tr>
+       <td>6</td>
+       <td>(cannot-join) unable to join the configured wireless network</td>
+</tr>
+<tr>
+       <td>7</td>
+       <td>(joining) joining the configured wireless network</td>
+</tr>
+<tr>
+       <td>8</td>
+       <td>(on) joined to the configured wireless network</td>
+</tr>
+</tbody>
+</table></div>
 
 <h4>requesting-user-name-allowed (1setof name(127))<span class='info'>CUPS 1.1</span></h4>