1 '\" te
   2 .\" Copyright (c) 2003, Sun Microsystems, Inc.
   3 .\" All Rights Reserved.
   4 .\" 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.
   5 .\" 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.
   6 .\" 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]
   7 .TH MOD_IPP 4 "Nov 26, 2003"
   8 .SH NAME
   9 mod_ipp \- Embedded Internet Print Protocol (IPP) listener for the Apache HTTP
  10 server
  11 .SH SYNOPSIS
  12 .LP
  13 .nf
  14 \fB/usr/apache/libexec/mod_ipp.so\fR
  15 .fi
  16 
  17 .SH DESCRIPTION
  18 .sp
  19 .LP
  20 The \fBmod_ipp\fR module implements RFCs 2910 and 2911 to provide an IPP
  21 handling service for the Apache HTTP server. When loaded on the Apache server,
  22 \fBmod_ipp\fR processes all HTTP requests with MIME types of
  23 \fBapplication/ipp\fR. The \fBmod_ipp\fR module also processes additional
  24 configuration directives to enable or disable portions of the protocol support.
  25 .SS "Using Configuration Directives"
  26 .sp
  27 .LP
  28 The following is a list of configuration directives that apply to the Apache
  29 IPP Listening service:
  30 .RS +4
  31 .TP
  32 .ie t \(bu
  33 .el o
  34 ipp-conformance (\fIautomatic\fR|\fI1.0\fR|\fI1.1\fR)
  35 .RE
  36 .RS +4
  37 .TP
  38 .ie t \(bu
  39 .el o
  40 ipp-operation (\fIoperation\fR) (\fBenable\fR|\fBdisable\fR)
  41 .RS +4
  42 .TP
  43 .ie t \(bu
  44 .el o
  45 \fBenable\fR|\fBdisable\fR
  46 .sp
  47 The values \fBtrue\fR, \fByes\fR, \fBon\fR, \fBenable\fR are considered to be
  48 synonymous and will enable support for the named operation. All other values
  49 will disable support for the named operation.
  50 .RE
  51 .RE
  52 .SS "Operations"
  53 .sp
  54 .LP
  55 The following is a list of IPP handling service operations:
  56 .sp
  57 .ne 2
  58 .na
  59 \fB\fBprint-job\fR\fR
  60 .ad
  61 .RS 26n
  62 This operation is a required IPP operation that allows client systems to submit
  63 a print job with a single document embedded in the data stream. This operation
  64 is primarily used from the IPP support Microsoft has provided for its Windows
  65 (9X/ME/NT/2K/XP).
  66 .RE
  67 
  68 .sp
  69 .ne 2
  70 .na
  71 \fB\fBprint-uri\fR\fR
  72 .ad
  73 .RS 26n
  74 This is an optional IPP operation that allows client systems to submit a print
  75 job with a reference (URL) for a single document. This operation is currently
  76 not supported by the \fBmod_ipp\fR Apache Module.
  77 .RE
  78 
  79 .sp
  80 .ne 2
  81 .na
  82 \fB\fBvalidate-job\fR\fR
  83 .ad
  84 .RS 26n
  85 This is a required IPP operation that allows client systems to simulate the
  86 submission of a print job to verify that the server is capable of handling the
  87 job. This operation is supported by \fBmod_ipp\fR.
  88 .RE
  89 
  90 .sp
  91 .ne 2
  92 .na
  93 \fB\fBcreate-job\fR\fR
  94 .ad
  95 .RS 26n
  96 This is an optional IPP operation that allows client systems to submit a print
  97 job. The operation is used with the \fBsend-document\fR and \fBsend-uri\fR
  98 operations.
  99 .RE
 100 
 101 .sp
 102 .ne 2
 103 .na
 104 \fB\fBget-jobs\fR\fR
 105 .ad
 106 .RS 26n
 107 This is a required IPP operation that allows client systems to retrieve a list
 108 of print jobs from the print service.
 109 .RE
 110 
 111 .sp
 112 .ne 2
 113 .na
 114 \fB\fBget-printer-attributes\fR\fR
 115 .ad
 116 .RS 26n
 117 This is a required IPP operation that allows client systems to retrieve
 118 attributes from the print service that describes the named printer object.
 119 .RE
 120 
 121 .sp
 122 .ne 2
 123 .na
 124 \fB\fBpause-printer\fR\fR
 125 .ad
 126 .RS 26n
 127 This an optional IPP operation that allows client systems to stop job
 128 processing on the named print queue.
 129 .RE
 130 
 131 .sp
 132 .ne 2
 133 .na
 134 \fB\fBresume-printer\fR\fR
 135 .ad
 136 .RS 26n
 137 This is an optional IPP operation that allows client systems to resume job
 138 processing on the named print queue.
 139 .RE
 140 
 141 .sp
 142 .ne 2
 143 .na
 144 \fB\fBpurge-jobs\fR\fR
 145 .ad
 146 .RS 26n
 147 This is an optional IPP operation that allows client systems to cancel all
 148 print jobs on the named print queue.
 149 .RE
 150 
 151 .sp
 152 .ne 2
 153 .na
 154 \fB\fBsend-document\fR\fR
 155 .ad
 156 .RS 26n
 157 This is a required IPP operation that allows client systems to add documents to
 158 print jobs created with the \fBcreate-job\fR operation, but not yet submitted.
 159 .RE
 160 
 161 .sp
 162 .ne 2
 163 .na
 164 \fB\fBsend-uri\fR\fR
 165 .ad
 166 .RS 26n
 167 This is an optional IPP operation that allows a client system to add a document
 168 reference (URI) to a print job created with the \fBcreate-job\fR operation, but
 169 not yet submitted. This operation is currently not supported by the
 170 \fBmod_ipp\fR Apache Module.
 171 .RE
 172 
 173 .sp
 174 .ne 2
 175 .na
 176 \fB\fBcancel-job\fR\fR
 177 .ad
 178 .RS 26n
 179 This is a required IPP operation that allows client systems to cancel print
 180 jobs.
 181 .RE
 182 
 183 .sp
 184 .ne 2
 185 .na
 186 \fB\fBget-job-attributes\fR\fR
 187 .ad
 188 .RS 26n
 189 This is a required IPP operation that allows client systems to retrieve
 190 attributes that describe a print job from the print service.
 191 .RE
 192 
 193 .sp
 194 .ne 2
 195 .na
 196 \fB\fBhold-job\fR\fR
 197 .ad
 198 .RS 26n
 199 This is an optional IPP operation that allows client systems to hold print
 200 jobs.
 201 .RE
 202 
 203 .sp
 204 .ne 2
 205 .na
 206 \fB\fBrelease-job\fR\fR
 207 .ad
 208 .RS 26n
 209 This is an optional IPP operation that allows client systems to release print
 210 jobs.
 211 .RE
 212 
 213 .sp
 214 .ne 2
 215 .na
 216 \fB\fBrestart-job\fR\fR
 217 .ad
 218 .RS 26n
 219 This is an optional IPP operation that allows client systems to restart print
 220 jobs.
 221 .RE
 222 
 223 .sp
 224 .ne 2
 225 .na
 226 \fB\fBall\fR\fR
 227 .ad
 228 .RS 26n
 229 This is a place holder for enabling or disabling support for all IPP operations
 230 implemented by the \fBmod_ipp\fR Apache module.
 231 .RE
 232 
 233 .sp
 234 .ne 2
 235 .na
 236 \fB\fBrequired\fR\fR
 237 .ad
 238 .RS 26n
 239 This is a place holder for enabling or disabling support for the required IPP
 240 operations implemented by the \fBmod_ipp\fR Apache module.
 241 .RE
 242 
 243 .SH EXAMPLES
 244 .LP
 245 \fBExample 1 \fRUsing a Configuration File to Start a Standalone Apache Server
 246 .sp
 247 .LP
 248 The following configuration file can be used to start a standalone Apache
 249 server to respond to IPP request sent to port 631.
 250 
 251 .sp
 252 .in +2
 253 .nf
 254 ServerType standalone
 255 ServerRoot "/usr/apache"
 256 PidFile /var/run/httpd-standalone-ipp.pid
 257 ErrorLog /var/lp/logs/ipp-errors
 258 
 259 Timeout 300
 260 KeepAlive On
 261 MaxKeepAliveRequests 100
 262 KeepAliveTimeout 15
 263 
 264 MinSpareServers 1
 265 MaxSpareServers 3
 266 StartServers 1
 267 MaxClients 150
 268 MaxRequestsPerChild 0
 269 
 270 LoadModule ipp_module libexec/mod_ipp.so
 271 
 272 ClearModuleList
 273 AddModule mod_ipp.c
 274 AddModule mod_so.c
 275 
 276 Port 631
 277 
 278 User lp
 279 Group lp
 280 
 281 ServerAdmin lp@localhost
 282 DefaultType application/ipp
 283 
 284 <IFModule mod_app>
 285         <Location />
 286                ipp-operation all on
 287         </Location>
 288 </IFModule mod_app>
 289 .fi
 290 .in -2
 291 
 292 .sp
 293 .LP
 294 A more restrictive configuration might include the following parameters:
 295 
 296 .sp
 297 .in +2
 298 .nf
 299 <IFModule mod_app>
 300         <Location />
 301                ipp-operation all offn
 302                ipp-operation required on
 303         </Location>
 304 </IFModule mod_app>
 305 .fi
 306 .in -2
 307 
 308 .SH ATTRIBUTES
 309 .sp
 310 .LP
 311 See \fBattributes\fR(5) or descriptions of the following attributes:
 312 .sp
 313 
 314 .sp
 315 .TS
 316 box;
 317 c | c
 318 l | l .
 319 ATTRIBUTE TYPE  ATTRIBUTE VALUE
 320 _
 321 Interface Stability     External
 322 .TE
 323 
 324 .SH SEE ALSO
 325 .sp
 326 .LP
 327 \fBman\fR(1), \fBcatman\fR(1M), \fBattributes\fR(5)
 328 .sp
 329 .LP
 330 Herriot, R., Ed., Butler, S., Moore, P., Turner, R., Wenn, J. \fIRFC 2910,
 331 Internet Printing Protocol/1.1: Encoding and Transport\fR. Network Working
 332 Group. September 2000.
 333 .sp
 334 .LP
 335 Hastings, T., Ed., Herriot, R., deBry, R., Isaacson, S., Powell, P. \fIRFC
 336 2911, Internet Printing Protocol/1.1: Model and Semantics\fR. Network Working
 337 Group. September 2000.
 338 .sp
 339 .LP
 340 http://www.apache.org
 341 .SH NOTES
 342 .sp
 343 .LP
 344 Configuration file directives are processed in the order listed in the config
 345 file. The default behavior is to enable support for all operations implemented
 346 in the \fBmod_ipp\fR Apache module.
 347 .sp
 348 .LP
 349 Since the Apache IPP listening service implements some capabilities that are
 350 more of operator features, it may not be desirable to enable all IPP operations
 351 without requiring user authentication on the Apache listening service.
 352 .sp
 353 .LP
 354 The following is an example of a more reasonable configuration for Apache IPP
 355 servers without user authentication enabled:
 356 .sp
 357 .in +2
 358 .nf
 359 ipp-operations  all      disabled
 360 ipp-operations  required enabled
 361 .fi
 362 .in -2
 363 
 364 .sp
 365 .LP
 366 The printers and jobs available under this service can be accessed using URIs
 367 of the following form:
 368 .sp
 369 .in +2
 370 .nf
 371 printer:
 372                  http://server[:port]/printers/{queue}
 373                  ipp://server[:port]/printers/{queue}
 374 job:
 375                  http://server[:port]/printers/{queue}/{job-id}
 376                  ipp://server[:port]/printers/{queue}/{job-id}
 377 .fi
 378 .in -2
 379 
 380 .sp
 381 .LP
 382 631 is the default IPP port and implied when the URI scheme is \fBipp\fR.
 383 However, some client implementations do not recognize the \fBipp\fR URI scheme
 384 and require \fBhttp://server:631/...\fR instead. For example, Microsoft's IPP
 385 client implementation does not recognize the \fBipp\fR scheme.
 386 .sp
 387 .LP
 388 In addition to the documentation and man pages included with Solaris, more
 389 information is available at http://www.apache.org
 390 .sp
 391 .LP
 392 The \fBhttpd\fR(8) man page and other Apache man pages are provided with the
 393 programming modules. To view the Apache manual pages with the man command, add
 394 \fB/usr/apache/man\fR to the \fBMANPATH\fR environment variable. See
 395 \fBman\fR(1) for  more information. Running \fBcatman\fR(1M) on the Apache
 396 manual pages is not supported.