mod_ipp(4) File Formats mod_ipp(4)
NAME
mod_ipp - Embedded Internet Print Protocol (IPP) listener for the Apache HTTP server
SYNOPSIS
/usr/apache/libexec/mod_ipp.so
DESCRIPTION
The mod_ipp module implements RFCs 2910 and 2911 to provide an IPP handling service for the Apache HTTP server. When loaded on the Apache
server, mod_ipp processes all HTTP requests with MIME types of application/ipp. The mod_ipp module also processes additional configuration
directives to enable or disable portions of the protocol support.
Using Configuration Directives
The following is a list of configuration directives that apply to the Apache IPP Listening service:
o ipp-conformance (automatic|1.0|1.1)
o ipp-operation (operation) (enable|disable)
o enable|disable
The values true, yes, on, enable are considered to be synonymous and will enable support for the named operation. All other val-
ues will disable support for the named operation.
Operations
The following is a list of IPP handling service operations:
print-job
This operation is a required IPP operation that allows client systems to submit a print job with a single document embedded in the data
stream. This operation is primarily used from the IPP support Microsoft has provided for its Windows (9X/ME/NT/2K/XP).
print-uri
This is an optional IPP operation that allows client systems to submit a print job with a reference (URL) for a single document. This
operation is currently not supported by the mod_ipp Apache Module.
validate-job
This is a required IPP operation that allows client systems to simulate the submission of a print job to verify that the server is
capable of handling the job. This operation is supported by mod_ipp.
create-job
This is an optional IPP operation that allows client systems to submit a print job. The operation is used with the send-document and
send-uri operations.
get-jobs
This is a required IPP operation that allows client systems to retrieve a list of print jobs from the print service.
get-printer-attributes
This is a required IPP operation that allows client systems to retrieve attributes from the print service that describes the named
printer object.
pause-printer
This an optional IPP operation that allows client systems to stop job processing on the named print queue.
resume-printer
This is an optional IPP operation that allows client systems to resume job processing on the named print queue.
purge-jobs
This is an optional IPP operation that allows client systems to cancel all print jobs on the named print queue.
send-document
This is a required IPP operation that allows client systems to add documents to print jobs created with the create-job operation, but
not yet submitted.
send-uri
This is an optional IPP operation that allows a client system to add a document reference (URI) to a print job created with the create-
job operation, but not yet submitted. This operation is currently not supported by the mod_ipp Apache Module.
cancel-job
This is a required IPP operation that allows client systems to cancel print jobs.
get-job-attributes
This is a required IPP operation that allows client systems to retrieve attributes that describe a print job from the print service.
hold-job
This is an optional IPP operation that allows client systems to hold print jobs.
release-job
This is an optional IPP operation that allows client systems to release print jobs.
restart-job
This is an optional IPP operation that allows client systems to restart print jobs.
all
This is a place holder for enabling or disabling support for all IPP operations implemented by the mod_ipp Apache module.
required
This is a place holder for enabling or disabling support for the required IPP operations implemented by the mod_ipp Apache module.
EXAMPLES
Example 1: Using a Configuration File to Start a Standalone Apache Server
The following configuration file can be used to start a standalone Apache server to respond to IPP request sent to port 631.
ServerType standalone
ServerRoot "/usr/apache"
PidFile /var/run/httpd-standalone-ipp.pid
ErrorLog /var/lp/logs/ipp-errors
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 1
MaxSpareServers 3
StartServers 1
MaxClients 150
MaxRequestsPerChild 0
LoadModule ipp_module libexec/mod_ipp.so
ClearModuleList
AddModule mod_ipp.c
AddModule mod_so.c
Port 631
User lp
Group lp
ServerAdmin lp@localhost
DefaultType application/ipp
<IFModule mod_app>
<Location />
ipp-operation all on
</Location>
</IFModule mod_app>
A more restrictive configuration might include the following parameters:
<IFModule mod_app>
<Location />
ipp-operation all offn
ipp-operation required on
</Location>
</IFModule mod_app>
ATTRIBUTES
See attributes(5) or descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWipplu |
+-----------------------------+-----------------------------+
|Interface Stability |External |
+-----------------------------+-----------------------------+
SEE ALSO
man(1), catman(1M), attributes(5)
Herriot, R., Ed., Butler, S., Moore, P., Turner, R., Wenn, J. RFC 2910, Internet Printing Protocol/1.1: Encoding and Transport. Network
Working Group. September 2000.
Hastings, T., Ed., Herriot, R., deBry, R., Isaacson, S., Powell, P. RFC 2911, Internet Printing Protocol/1.1: Model and Semantics. Network
Working Group. September 2000.
http://www.apache.org
NOTES
Configuration file directives are processed in the order listed in the config file. The default behavior is to enable support for all oper-
ations implemented in the mod_ipp Apache module.
Since the Apache IPP listening service implements some capabilities that are more of operator features, it may not be desirable to enable
all IPP operations without requiring user authentication on the Apache listening service.
The following is an example of a more reasonable configuration for Apache IPP servers without user authentication enabled:
ipp-operations all disabled
ipp-operations required enabled
The printers and jobs available under this service can be accessed using URIs of the following form:
printer:
http://server[:port]/printers/{queue}
ipp://server[:port]/printers/{queue}
job:
http://server[:port]/printers/{queue}/{job-id}
ipp://server[:port]/printers/{queue}/{job-id}
631 is the default IPP port and implied when the URI scheme is ipp. However, some client implementations do not recognize the ipp URI
scheme and require http://server:631/... instead. For example, Microsoft's IPP client implementation does not recognize the ipp scheme.
In addition to the documentation and man pages included with Solaris, more information is available at http://www.apache.org
The httpd(8) man page and other Apache man pages are provided with the programming modules. To view the Apache manual pages with the man
command, add /usr/apache/man to the MANPATH environment variable. See man(1) for more information. Running catman(1M) on the Apache manual
pages is not supported.
SunOS 5.10 26 Nov 2003 mod_ipp(4)