xref: /titanic_41/usr/src/man/man4/mod_ipp.4 (revision bce835f2166e1510cc776830775859ba3e49c1ce)
te
Copyright (c) 2003, Sun Microsystems, Inc.
All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
MOD_IPP 4 "Nov 26, 2003"
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:

ipp-conformance (automatic|1.0|1.1)

ipp-operation (operation) (enable|disable)

enable|disable The values true, yes, on, enable are considered to be synonymous and will enable support for the named operation. All other values 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
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 operations 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.