/*
- * "$Id: admin.c 5240 2006-03-07 21:55:29Z mike $"
+ * "$Id: admin.c 5251 2006-03-08 18:34:07Z mike $"
*
* Administration CGI for the Common UNIX Printing System (CUPS).
*
if ((response = cupsDoRequest(http, request, "/")) != NULL)
{
- if ((attr = ippFindAttribute(response, "member-names", IPP_TAG_NAME)) != NULL)
+ if ((attr = ippFindAttribute(response, "member-names",
+ IPP_TAG_NAME)) != NULL)
{
/*
* Mark any current members in the class...
{
DEBUG_printf(("<LI>%s<UL>\n", group->text));
- for (j = group->num_options, option = group->options; j > 0; j --, option ++)
+ for (j = group->num_options, option = group->options;
+ j > 0;
+ j --, option ++)
if ((var = cgiGetVariable(option->keyword)) != NULL)
{
DEBUG_printf(("<LI>%s = \"%s\"</LI>\n", option->keyword, var));
if (ppdConflicts(ppd))
{
- for (i = ppd->num_groups, k = 0, group = ppd->groups; i > 0; i --, group ++)
- for (j = group->num_options, option = group->options; j > 0; j --, option ++)
+ for (i = ppd->num_groups, k = 0, group = ppd->groups;
+ i > 0;
+ i --, group ++)
+ for (j = group->num_options, option = group->options;
+ j > 0;
+ j --, option ++)
if (option->conflicted)
{
cgiSetArray("ckeyword", k, option->keyword);
cgiFormEncode(uri, printer, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "5;/admin/?OP=redirect&URL=/printers/%s",
- uri);
+ snprintf(refresh, sizeof(refresh),
+ "5;/admin/?OP=redirect&URL=/printers/%s", uri);
cgiSetVariable("refresh_page", refresh);
cgiStartHTML(title);
if (!_cupsAdminSetServerSettings(http, num_settings, settings))
{
cgiStartHTML(cgiText(_("Change Settings")));
- cgiSetVariable("MESSAGE", cgiText(_("Unable to change server settings:")));
+ cgiSetVariable("MESSAGE",
+ cgiText(_("Unable to change server settings:")));
cgiSetVariable("ERROR", cupsLastErrorString());
cgiCopyTemplateLang("error.tmpl");
}
if (status != HTTP_CREATED)
{
- cgiSetVariable("MESSAGE", cgiText(_("Unable to upload cupsd.conf file:")));
+ cgiSetVariable("MESSAGE",
+ cgiText(_("Unable to upload cupsd.conf file:")));
cgiSetVariable("ERROR", httpStatus(status));
cgiStartHTML(cgiText(_("Edit Configuration File")));
if (stat(filename, &info))
{
cgiStartHTML(cgiText(_("Edit Configuration File")));
- cgiSetVariable("MESSAGE", cgiText(_("Unable to access cupsd.conf file:")));
+ cgiSetVariable("MESSAGE",
+ cgiText(_("Unable to access cupsd.conf file:")));
cgiSetVariable("ERROR", strerror(errno));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
if (info.st_size > (1024 * 1024))
{
cgiStartHTML(cgiText(_("Edit Configuration File")));
- cgiSetVariable("MESSAGE", cgiText(_("Unable to access cupsd.conf file:")));
+ cgiSetVariable("MESSAGE",
+ cgiText(_("Unable to access cupsd.conf file:")));
cgiSetVariable("ERROR",
cgiText(_("Unable to edit cupsd.conf files larger than "
"1MB!")));
*/
cgiStartHTML(cgiText(_("Edit Configuration File")));
- cgiSetVariable("MESSAGE", cgiText(_("Unable to access cupsd.conf file:")));
+ cgiSetVariable("MESSAGE",
+ cgiText(_("Unable to access cupsd.conf file:")));
cgiSetVariable("ERROR", strerror(errno));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
if (!_cupsAdminGetServerSettings(http, &num_settings, &settings))
{
- cgiStartHTML(cgiText(_("Administration")));
- cgiSetVariable("MESSAGE", cgiText(_("Unable to open cupsd.conf file:")));
- cgiSetVariable("ERROR", cupsLastErrorString());
- cgiCopyTemplateLang("error.tmpl");
- cgiEndHTML();
+ cgiSetVariable("SETTINGS_MESSAGE",
+ cgiText(_("Unable to open cupsd.conf file:")));
+ cgiSetVariable("SETTINGS_ERROR", cupsLastErrorString());
}
if ((val = cupsGetOption(CUPS_SERVER_DEBUG_LOGGING, num_settings,
settings)) != NULL && atoi(val))
cgiSetVariable("USER_CANCEL_ANY", "CHECKED");
+ cupsFreeOptions(num_settings, settings);
+
/*
* Get the list of printers and their devices...
*/
for (;
options_ptr < (options + sizeof(options) - 1) && *ptr;
ptr ++)
- if (isalnum(*ptr & 255) || *ptr == '_' || *ptr == '-' || *ptr == '.')
+ if (isalnum(*ptr & 255) || *ptr == '_' || *ptr == '-' ||
+ *ptr == '.')
*options_ptr++ = *ptr;
else if ((*ptr == ' ' || *ptr == '/') && options_ptr[-1] != '_')
*options_ptr++ = '_';
/*
- * End of "$Id: admin.c 5240 2006-03-07 21:55:29Z mike $".
+ * End of "$Id: admin.c 5251 2006-03-08 18:34:07Z mike $".
*/
/*
- * "$Id: adminutil.c 5240 2006-03-07 21:55:29Z mike $"
+ * "$Id: adminutil.c 5251 2006-03-08 18:34:07Z mike $"
*
* Administration utility API definitions for the Common UNIX Printing
* System (CUPS).
const char *samba_password, /* I - Samba password */
FILE *logfile) /* I - Log file, if any */
{
- int status; /* Status of smbclient/rpcclient commands */
+ int status; /* Status of Samba commands */
int have_drivers; /* Have drivers? */
char file[1024], /* File to test for */
authfile[1024], /* Temporary authentication file */
sizeof(cupsdconf), &remote)) == HTTP_OK)
{
if ((cupsd = cupsFileOpen(cupsdconf, "r")) == NULL)
- _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno));
+ {
+ char message[1024]; /* Message string */
+
+
+ snprintf(message, sizeof(message),
+ _cupsLangString(cupsLangDefault(), _("open of %s failed: %s")),
+ cupsdconf, strerror(errno));
+ _cupsSetError(IPP_INTERNAL_ERROR, message);
+ }
}
else
cupsd = NULL;
}
else
{
- cupsFilePuts(temp, "# Only listen for connections from the local machine.\n");
+ cupsFilePuts(temp, "# Only listen for connections from the local "
+ "machine.\n");
cupsFilePrintf(temp, "Listen 127.0.0.1:%d\n", ippPort());
}
if (remote_printers || share_printers)
{
if (remote_printers && share_printers)
- cupsFilePuts(temp, "# Enable printer sharing and shared printers.\n");
+ cupsFilePuts(temp,
+ "# Enable printer sharing and shared printers.\n");
else if (remote_printers)
- cupsFilePuts(temp, "# Show shared printers on the local network.\n");
+ cupsFilePuts(temp,
+ "# Show shared printers on the local network.\n");
else
- cupsFilePuts(temp, "# Share local printers on the local network.\n");
+ cupsFilePuts(temp,
+ "# Share local printers on the local network.\n");
cupsFilePuts(temp, "Browsing On\n");
cupsFilePuts(temp, "BrowseOrder allow,deny\n");
}
else
{
- cupsFilePuts(temp, "# Disable printer sharing and shared printers.\n");
+ cupsFilePuts(temp,
+ "# Disable printer sharing and shared printers.\n");
cupsFilePuts(temp, "Browsing Off\n");
}
}
if (debug_logging)
{
- cupsFilePuts(temp, "# Show troubleshooting information in error_log.\n");
+ cupsFilePuts(temp,
+ "# Show troubleshooting information in error_log.\n");
cupsFilePuts(temp, "LogLevel debug\n");
}
else
wrote_policy = 1;
if (!user_cancel_any)
- cupsFilePuts(temp, " # Only the owner or an administrator can cancel a job...\n"
+ cupsFilePuts(temp, " # Only the owner or an administrator can "
+ "cancel a job...\n"
" <Limit Cancel-Job>\n"
" Order deny,allow\n"
" Allow @SYSTEM\n"
wrote_conf_location = 1;
if (remote_admin)
- cupsFilePuts(temp, " # Allow remote access to the configuration files...\n");
+ cupsFilePuts(temp, " # Allow remote access to the configuration "
+ "files...\n");
else
- cupsFilePuts(temp, " # Restrict access to the configuration files...\n");
+ cupsFilePuts(temp, " # Restrict access to the configuration "
+ "files...\n");
cupsFilePuts(temp, " Order allow,deny\n");
wrote_root_location = 1;
if (remote_admin && share_printers)
- cupsFilePuts(temp, " # Allow shared printing and remote administration...\n");
+ cupsFilePuts(temp, " # Allow shared printing and remote "
+ "administration...\n");
else if (remote_admin)
cupsFilePuts(temp, " # Allow remote administration...\n");
else if (share_printers)
wrote_policy = 1;
if (!user_cancel_any)
- cupsFilePuts(temp, " # Only the owner or an administrator can cancel a job...\n"
+ cupsFilePuts(temp, " # Only the owner or an administrator can cancel "
+ "a job...\n"
" <Limit Cancel-Job>\n"
" Order deny,allow\n"
" Require user @OWNER @SYSTEM\n"
}
else
{
- cupsFilePuts(temp, "# Only listen for connections from the local machine.\n");
+ cupsFilePuts(temp,
+ "# Only listen for connections from the local machine.\n");
cupsFilePrintf(temp, "Listen 127.0.0.1:%d\n", ippPort());
}
if (!wrote_root_location)
{
if (remote_admin && share_printers)
- cupsFilePuts(temp, "# Allow shared printing and remote administration...\n");
+ cupsFilePuts(temp,
+ "# Allow shared printing and remote administration...\n");
else if (remote_admin)
cupsFilePuts(temp, "# Allow remote administration...\n");
else if (share_printers)
if (!wrote_conf_location)
{
if (remote_admin)
- cupsFilePuts(temp, "# Allow remote access to the configuration files...\n");
+ cupsFilePuts(temp,
+ "# Allow remote access to the configuration files...\n");
else
cupsFilePuts(temp, "# Restrict access to the configuration files...\n");
if (!wrote_policy)
{
cupsFilePuts(temp, "<Policy default>\n"
- " # Job-related operations must be done by the owner or an adminstrator...\n"
+ " # Job-related operations must be done by the owner "
+ "or an adminstrator...\n"
" <Limit Send-Document Send-URI Hold-Job Release-Job "
"Restart-Job Purge-Jobs Set-Job-Attributes "
"Create-Job-Subscription Renew-Subscription "
" Require user @OWNER @SYSTEM\n"
" Order deny,allow\n"
" </Limit>\n"
- " # All administration operations require an adminstrator to authenticate...\n"
+ " # All administration operations require an "
+ "adminstrator to authenticate...\n"
" <Limit Pause-Printer Resume-Printer "
"Set-Printer-Attributes Enable-Printer "
"Disable-Printer Pause-Printer-After-Current-Job "
"</Limit>\n");
if (!user_cancel_any)
- cupsFilePuts(temp, " # Only the owner or an administrator can cancel a job...\n"
+ cupsFilePuts(temp, " # Only the owner or an administrator can cancel "
+ "a job...\n"
" <Limit Cancel-Job>\n"
" Require user @OWNER @SYSTEM\n"
" Order deny,allow\n"
if (stat(name, &info))
{
- *name = '\0';
+ char message[1024]; /* Message string */
- _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno));
+
+ snprintf(message, sizeof(message),
+ _cupsLangString(cupsLangDefault(), _("stat of %s failed: %s")),
+ name, strerror(errno));
+ _cupsSetError(IPP_INTERNAL_ERROR, message);
+
+ *name = '\0';
return (HTTP_SERVER_ERROR);
}
/*
- * End of "$Id: adminutil.c 5240 2006-03-07 21:55:29Z mike $".
+ * End of "$Id: adminutil.c 5251 2006-03-08 18:34:07Z mike $".
*/
/*
- * "$Id: http-addr.c 5235 2006-03-06 13:02:23Z mike $"
+ * "$Id: http-addr.c 5251 2006-03-08 18:34:07Z mike $"
*
* HTTP address routines for the Common UNIX Printing System (CUPS).
*
if (http)
- strlcpy(s, http->hostname, slen);
+ {
+ if (http->hostname[0] == '/')
+ strlcpy(s, "localhost", slen);
+ else
+ strlcpy(s, http->hostname, slen);
+ }
else
{
/*
/*
- * End of "$Id: http-addr.c 5235 2006-03-06 13:02:23Z mike $".
+ * End of "$Id: http-addr.c 5251 2006-03-08 18:34:07Z mike $".
*/
/*
- * "$Id: ipp-support.c 5138 2006-02-21 10:49:06Z mike $"
+ * "$Id: ipp-support.c 5246 2006-03-08 13:22:09Z mike $"
*
* Internet Printing Protocol support functions for the Common UNIX
* Printing System (CUPS).
{
"CUPS-Get-Default",
"CUPS-Get-Printers",
- "CUPS-Add-Printer",
+ "CUPS-Add-Modify-Printer",
"CUPS-Delete-Printer",
"CUPS-Get-Classes",
- "CUPS-Add-Class",
+ "CUPS-Add-Modify-Class",
"CUPS-Delete-Class",
"CUPS-Accept-Jobs",
"CUPS-Reject-Jobs",
if (!strcasecmp(name, ipp_cups_ops[i]))
return ((ipp_op_t)(i + 0x4001));
+ if (!strcasecmp(name, "CUPS-Add-Class"))
+ return (CUPS_ADD_MODIFY_CLASS);
+
+ if (!strcasecmp(name, "CUPS-Add-Printer"))
+ return (CUPS_ADD_MODIFY_PRINTER);
+
return ((ipp_op_t)-1);
}
/*
- * End of "$Id: ipp-support.c 5138 2006-02-21 10:49:06Z mike $".
+ * End of "$Id: ipp-support.c 5246 2006-03-08 13:22:09Z mike $".
*/
/*
- * "$Id: language.c 5238 2006-03-07 04:41:42Z mike $"
+ * "$Id: language.c 5243 2006-03-08 02:29:48Z mike $"
*
* I18N/language support for the Common UNIX Printing System (CUPS).
*
cupsLangGet(const char *language) /* I - Language or locale */
{
int i; /* Looping var */
- char locale[255], /* Copy of locale name */
- langname[16], /* Requested language name */
+#ifndef __APPLE__
+ char locale[255]; /* Copy of locale name */
+#endif /* !__APPLE__ */
+ char langname[16], /* Requested language name */
country[16], /* Country code */
charset[16], /* Character set */
*csptr, /* Pointer to CODESET string */
/*
- * End of "$Id: language.c 5238 2006-03-07 04:41:42Z mike $".
+ * End of "$Id: language.c 5243 2006-03-08 02:29:48Z mike $".
*/
white-space: nowrap;
}
-H3 SPAN.info {
+H2 SPAN.info, H3 SPAN.info {
float: right;
font-size: 100%;
}
white-space: nowrap;
}
-H3 SPAN.info {
+H2 SPAN.info, H3 SPAN.info {
float: right;
font-size: 100%;
}
network interfaces and printer servers and the settings you
should use with CUPS:</P>
-<DIV CLASS="table"><TABLE WIDTH="50%">
-<TR VALIGN="TOP" ALIGN="LEFT">
+<DIV CLASS="table"><TABLE SUMMARY="Common Device URIs">
+<CAPTION>Table 1: Common Device URIs</CAPTION>
+<THEAD>
+<TR>
<TH>Model/Manufacturer</TH>
<TH>Device URI(s)</TH>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+</THEAD>
+<TBODY>
+<TR>
<TD>Apple LaserWriter</TD>
<TD>lpd://<I>address</I>/PASSTHRU</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Axis w/o IPP<BR>
Axis OfficeBasic<BR>
<A HREF="#AXIS">(see directions)</A></TD>
socket://<I>address</I>:9101<BR>
socket://<I>address</I>:9102</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Axis w/IPP</TD>
<TD>ipp://<I>address</I>/LPT1<BR>
ipp://<I>address</I>/LPT2<BR>
ipp://<I>address</I>/COM1</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Castelle LANpress<SUP>TM</SUP></TD>
<TD>lpd://<I>address</I>/pr1<BR>
lpd://<I>address</I>/pr2<BR>
lpd://<I>address</I>/pr3</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>DPI NETPrint</TD>
<TD>lpd://<I>address</I>/pr1<BR>
lpd://<I>address</I>/pr2<BR>
lpd://<I>address</I>/pr3</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>DLink DP-301P+</TD>
<TD>socket://<I>address</I></TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>EFI® Fiery® RIP</TD>
<TD>lpd://<I>address</I>/print</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>EPSON® Multiprotocol Ethernet Interface Board</TD>
<TD>socket://<I>address</I></TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Extended System ExtendNET</TD>
<TD>lpd://<I>address</I>/pr1<BR>
lpd://<I>address</I>/pr2<BR>
lpd://<I>address</I>/pr3</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Hewlett Packard JetDirect w/o IPP</TD>
<TD>socket://<I>address</I>:9100<BR>
socket://<I>address</I>:9101<BR>
socket://<I>address</I>:9102</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Hewlett Packard JetDirect w/IPP</TD>
<TD>ipp://<I>address</I>/ipp<BR>
ipp://<I>address</I>/ipp/port1<BR>
ipp://<I>address</I>/ipp/port2<BR>
ipp://<I>address</I>/ipp/port3</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Intel® NetportExpress XL, PRO/100</TD>
<TD>lpd://<I>address</I>/LPT1_PASSTHRU<BR>
lpd://<I>address</I>/LPT2_PASSTHRU<BR>
lpd://<I>address</I>/COM1_PASSTHRU</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Lexmark<SUP>TM</SUP> MarkNet</TD>
<TD>lpd://<I>address</I>/ps</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Linksys EtherFast®<BR>
<A HREF="#LINKSYS">(see directions)</A></TD>
<TD>socket://<I>address</I>:4010<BR>
socket://<I>address</I>:4020<BR>
socket://<I>address</I>:4030</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Linksys PSUS4</TD>
<TD>lpd://<I>address</I>/lp</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Kodak®</TD>
<TD>lpd://<I>address</I>/ps</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>QMS® CrownNet<SUP>TM</SUP></TD>
<TD>lpd://<I>address</I>/ps</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>Tektronix® PhaserShare<SUP>TM</SUP></TD>
<TD>socket://<I>address</I>:9100</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>XEROX® 4512 NIC</TD>
<TD>lpd://<I>address</I>/PORT1</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>XEROX® XNIC</TD>
<TD>lpd://<I>address</I>/PASSTHRU</TD>
</TR>
-<TR ALIGN="LEFT" VALIGN="TOP">
+<TR>
<TD>XEROX® (most others)</TD>
<TD>socket://<I>address</I>:5503</TD>
</TR>
+</TBODY>
</TABLE></DIV>
<H2 CLASS="title"><A NAME="ADDRESS">Getting the IP Address</A></H2>
<P>Your Linksys print server is now ready for use!</P>
-
</BODY>
</HTML>
<P>While the class configuration file consists of plain text and
can be modified using your favorite text editor, you should
-normally use the <CODE>lpadmin(8)</CODE> command, web interface,
-or any of the available GUIs to manage your classes instead. If
-you do choose to edit this file manually, you will need to
-restart the scheduler to make them active.</P>
+normally use the <A HREF="man-lpadmin.html">lpadmin(8)</A>
+command, web interface, or any of the available GUIs to manage
+your classes instead. If you do choose to edit this file
+manually, you will need to restart the scheduler to make them
+active.</P>
-<H3 CLASS="title"><A NAME="Accepting">Accepting</A></H3>
+<H2 CLASS="title"><A NAME="Accepting">Accepting</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Accepting yes
-Accepting no
+<Class name>
+ ...
+ Accepting yes
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Accepting</CODE> directive defines the initial state
of the <VAR>printer-is-accepting-jobs</VAR> attribute. This state
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="AllowUser">AllowUser</A></H3>
+<H2 CLASS="title"><A NAME="AllowUser">AllowUser</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-AllowUser foo_user
-AllowUser @bar_group
+<Class name>
+ ...
+ AllowUser foo_user
+ AllowUser @bar_group
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>AllowUser</CODE> directive adds a username or group
name to the <VAR>requesting-user-name-allowed</VAR> attribute
HREF="#DenyUser"><CODE>DenyUser</CODE></A>.</P>
-<H3 CLASS="title"><A NAME="Class">Class</A></H3>
+<H2 CLASS="title"><A NAME="Class">Class</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
<Class name>
-...
+ ...
</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Class</CODE> directive begins a class definition.
Classes are added using the <CODE>lpadmin(8)</CODE> command:
</PRE>
-<H3 CLASS="title"><A NAME="DefaultClass">DefaultClass</A></H3>
+<H2 CLASS="title"><A NAME="DefaultClass">DefaultClass</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
<DefaultClass name>
-...
+ ...
</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>DefaultClass</CODE> directive begins a class
definition as the default server destination. The default server
normally set using the <CODE>lpoptions(1)</CODE> command.</P>
-<H3 CLASS="title"><A NAME="DenyUser">DenyUser</A></H3>
+<H2 CLASS="title"><A NAME="DenyUser">DenyUser</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-DenyUser foo_user
-DenyUser @bar_group
+<Class name>
+ ...
+ DenyUser foo_user
+ DenyUser @bar_group
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>DenyUser</CODE> directive adds a username or group
name to the <VAR>requesting-user-name-denied</VAR> attribute
HREF="#AllowUser"><CODE>AllowUser</CODE></A></P>
-<H3 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-ErrorPolicy cancel-job
-ErrorPolicy retry-job
-ErrorPolicy stop-printer
+<Class name>
+ ...
+ ErrorPolicy cancel-job
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ErrorPolicy</CODE> directive defines the policy that
is used when a backend is unable to send a print job to the
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="Info">Info</A></H3>
+<H2 CLASS="title"><A NAME="Info">Info</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Info My Class
+<Class name>
+ ...
+ Info My Class
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Info</CODE> directive defines the string for the
<VAR>printer-info</VAR> attribute. It is normally set using the
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="JobSheets">JobSheets</A></H3>
+<H2 CLASS="title"><A NAME="JobSheets">JobSheets</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-JobSheets none,standard
+<Class name>
+ ...
+ JobSheets none,standard
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>JobSheets</CODE> directive specifies the default
banner pages to print before and after a print job. In the above
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="KLimit">KLimit</A></H3>
+<H2 CLASS="title"><A NAME="KLimit">KLimit</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-KLimit 1234
+<Class name>
+ ...
+ KLimit 1234
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>KLimit</CODE> directive defines the value of the
<VAR>job-k-limit</VAR> attribute. It is normally set using the
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="Location">Location</A></H3>
+<H2 CLASS="title"><A NAME="Location">Location</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Location Building 3321
+<Class name>
+ ...
+ Location Building 3321
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Location</CODE> directive defines the string for the
<VAR>printer-location</VAR> attribute. It is normally set using the
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="OpPolicy">OpPolicy</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="OpPolicy">OpPolicy</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-OpPolicy default
-OpPolicy mypolicy
+<Class name>
+ ...
+ OpPolicy default
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>OpPolicy</CODE> directive sets the operation policy
that is used for the printer. The <CODE>lpadmin(8)</CODE> command
<P>The default policy is named "default". All policies correspond
to those defined using the <VAR>cupsd.conf</VAR> <A
HREF="ref-cupsd-conf.html#Policy"><CODE>Policy</CODE></A>
-directive.</P>
+section.</P>
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="PageLimit">PageLimit</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="Option">Option</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-PageLimit 1234
+<Class name>
+ ...
+ Option name value
+ Option scaling 100
+ Option page-left 72
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
+
+<P>The <CODE>Option</CODE> directive specifies a default job
+template attribute value. It is mapped to
+<CODE>name-default</CODE> in the printer attributes and applied
+to jobs as <CODE>name</CODE>.</P>
+
+<P>This directive must appear inside a <A
+HREF="#Class"><CODE>Class</CODE></A> or <A
+HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
+section.</P>
+
+
+<H2 CLASS="title"><A NAME="PageLimit">PageLimit</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Class name>
+ ...
+ PageLimit 1234
+</Class>
+</PRE>
+
+<H3>Description</H3>
<P>The <CODE>PageLimit</CODE> directive defines the value of the
<VAR>job-page-limit</VAR> attribute. It can be set using the
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="Printer">Printer</A></H3>
+<H2 CLASS="title"><A NAME="Printer">Printer</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Printer bcp
-Printer none
-Printer tbcp
+<Class name>
+ ...
+ Printer foo
+ Printer bar
+ Printer bleep
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Printer</CODE> directive adds a printer to a class.
Printers are added to a class using the <CODE>lpadmin(8)</CODE>
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="QuotaPeriod">QuotaPeriod</A></H3>
+<H2 CLASS="title"><A NAME="QuotaPeriod">QuotaPeriod</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-QuotaPeriod 604800
+<Class name>
+ ...
+ QuotaPeriod 604800
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>QuotaPeriod</CODE> directive defines the value of
the <VAR>job-quota-period</VAR> attribute. Typical values are
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="Shared">Shared</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="Shared">Shared</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Shared yes
-Shared no
+<Class name>
+ ...
+ Shared yes
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Shared</CODE> directive defines the initial value of
the <VAR>printer-is-shared</VAR> attribute. The strings
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="State">State</A></H3>
+<H2 CLASS="title"><A NAME="State">State</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-State idle
-State stopped
+<Class name>
+ ...
+ State idle
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>State</CODE> directive defines the initial value of
the <VAR>printer-state</VAR> attribute. The strings
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="StateMessage">StateMessage</A></H3>
+<H2 CLASS="title"><A NAME="StateMessage">StateMessage</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-StateMessage Ready to print.
+<Class name>
+ ...
+ StateMessage Ready to print.
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>StateMessage</CODE> directive defines the initial
string for the <VAR>printer-state-message</VAR> attribute. The
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="StateTime">StateTime</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="StateTime">StateTime</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-StateTime 1133542425
+<Class name>
+ ...
+ StateTime 1133542425
+</Class>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>StateTime</CODE> directive defines the UNIX time
(seconds since Jan 1, 1970) for the last state change of the
<P>This directive must appear inside a <A
HREF="#Class"><CODE>Class</CODE></A> or <A
HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
-directive.</P>
+section.</P>
</BODY>
</HEAD>
<BODY>
-<!-- MISSING:
-
-BrowseLDAPBindDN
-BrowseLDAPDN
-BrowseLDAPPassword
-BrowseLDAPServer
-BrowseLocalProtocols
-BrowseRemoteProtocols
-DefaultAuthType
-DefaultEncryption
-DefaultPolicy
-FilterNice
-JobRetryInterval
-JobRetryLimit
-PassEnv
-Policy
-ServerTokens
-SetEnv
-
--->
<P>The <VAR>/etc/cups/cupsd.conf</VAR> file contains
configuration <I>directives</I> that control how the server
<UL>
- <LI>AIX:
+ <LI>AIX, IRIX, Linux, Solaris:
<PRE CLASS="command">
/etc/init.d/cups restart
</PRE></LI>
/sbin/init.d/cups restart
</PRE></LI>
- <LI>IRIX:
- <PRE CLASS="command">
-/etc/init.d/cups restart
- </PRE></LI>
-
- <LI>Linux:
- <PRE CLASS="command">
-/etc/init.d/cups restart
- </PRE></LI>
-
<LI>MacOS X:
<PRE CLASS="command">
/System/Library/StartupItems/PrintingServices/PrintingServices restart
</PRE></LI>
- <LI>Solaris:
- <PRE CLASS="command">
-/etc/init.d/cups restart
- </PRE></LI>
-
</UL>
<P>You can also edit this file from the CUPS web interface, which
automatically handles restarting the scheduler.</P>
-<H3 CLASS="title"><A NAME="AccessLog">AccessLog</A></H3>
+<H2 CLASS="title"><A NAME="AccessLog">AccessLog</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
AccessLog /var/log/cups/access_log
AccessLog syslog
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>AccessLog</CODE> directive sets the name of the
access log file. If the filename is not absolute then it is
<VAR>/var/log/cups/access_log</VAR>.</P>
-<H3 CLASS="title"><A NAME="Allow">Allow</A></H3>
+<H2 CLASS="title"><A NAME="Allow">Allow</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Allow from All
-Allow from None
-Allow from *.domain.com
-Allow from .domain.com
-Allow from host.domain.com
-Allow from nnn.*
-Allow from nnn.nnn.*
-Allow from nnn.nnn.nnn.*
-Allow from nnn.nnn.nnn.nnn
-Allow from nnn.nnn.nnn.nnn/mm
-Allow from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
-Allow from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
-Allow from @LOCAL
-Allow from @IF(name)
+<Location /path>
+ ...
+ Allow from All
+ Allow from None
+ Allow from *.domain.com
+ Allow from .domain.com
+ Allow from host.domain.com
+ Allow from nnn.*
+ Allow from nnn.nnn.*
+ Allow from nnn.nnn.nnn.*
+ Allow from nnn.nnn.nnn.nnn
+ Allow from nnn.nnn.nnn.nnn/mm
+ Allow from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
+ Allow from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
+ Allow from @LOCAL
+ Allow from @IF(name)
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
-<P>The <CODE>Allow</CODE> directive specifies a hostname, IP address,
-or network that is allowed access to the server. <CODE>Allow</CODE>
-directives are cummulative, so multiple <CODE>Allow</CODE> directives
-can be used to allow access for multiple hosts or networks. The
-<CODE>/mm</CODE> notation specifies a CIDR netmask:</P>
+<P>The <CODE>Allow</CODE> directive specifies a hostname, IP
+address, or network that is allowed access to the server.
+<CODE>Allow</CODE> directives are cummulative, so multiple
+<CODE>Allow</CODE> directives can be used to allow access for
+multiple hosts or networks. The <CODE>/mm</CODE> notation
+specifies a CIDR netmask, as shown in Table 1.</P>
-<DIV CLASS="table"><TABLE>
+<DIV CLASS="table"><TABLE SUMMARY="CIDR Netmasks">
+<CAPTION>Table 1: <A NAME="TABLE1">CIDR Netmasks</A></CAPTION>
<TR>
<TH WIDTH="10%">mm</TH>
<TH WIDTH="20%">netmask</TH>
from the named interface.</P>
<P>The <CODE>Allow</CODE> directive must appear inside a <A
-HREF="#Location"><CODE>Location</CODE></A> directive.</P>
+HREF="#Location"><CODE>Location</CODE></A> or <A
+HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
-<H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthClass">AuthClass</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthClass">AuthClass</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-AuthClass Anonymous
-AuthClass User
-AuthClass System
-AuthClass Group
+<Location /path>
+ ...
+ AuthClass Anonymous
+ AuthClass User
+ AuthClass System
+ AuthClass Group
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>AuthClass</CODE> directive defines what level of
authentication is required:</P>
</UL>
<P>The <CODE>AuthClass</CODE> directive must appear inside a <A
-HREF="#Location"><CODE>Location</CODE></A> directive.</P>
+HREF="#Location"><CODE>Location</CODE></A> or <A
+HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
<P><B>This directive is deprecated and will be removed from a
future release of CUPS.</B> Consider using the more flexible <A
HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
-<H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthGroupName">AuthGroupName</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="AuthGroupName">AuthGroupName</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-AuthGroupName mygroup
-AuthGroupName lp
+<Location /path>
+ ...
+ AuthGroupName mygroup
+ AuthGroupName lp
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>AuthGroupName</CODE> directive sets the group to use
for <CODE>Group</CODE> authentication.</P>
<P>The <CODE>AuthGroupName</CODE> directive must appear inside a
-<A HREF="#Location"><CODE>Location</CODE></A> directive.</P>
+<A HREF="#Location"><CODE>Location</CODE></A> or <A
+HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
<P><B>This directive is deprecated and will be removed from a
future release of CUPS.</B> Consider using the more flexible <A
HREF="#Require"><CODE>Require</CODE></A> directive instead.</P>
-<H3 CLASS="title"><A NAME="AuthType">AuthType</A></H3>
+<H2 CLASS="title"><A NAME="AuthType">AuthType</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-AuthType None
-AuthType Basic
-AuthType Digest
-AuthType BasicDigest
+<Location /path>
+ ...
+ AuthType None
+ AuthType Basic
+ AuthType Digest
+ AuthType BasicDigest
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>AuthType</CODE> directive defines the type of
authentication to perform:</P>
authenticate using certificates.</P>
<P>The <CODE>AuthType</CODE> directive must appear inside a <A
-HREF="#Location"><CODE>Location</CODE></A> directive.</P>
+HREF="#Location"><CODE>Location</CODE></A> or <A
+HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
-<H3 CLASS="title"><A NAME="AutoPurgeJobs">AutoPurgeJobs</A></H3>
+<H2 CLASS="title"><A NAME="AutoPurgeJobs">AutoPurgeJobs</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
AutoPurgeJobs Yes
AutoPurgeJobs No
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>AutoPurgeJobs</CODE> directive specifies whether or
not to purge completed jobs once they are no longer required for
default setting is <CODE>No</CODE>.</P>
-<H3 CLASS="title"><A NAME="BrowseAddress">BrowseAddress</A></H3>
+<H2 CLASS="title"><A NAME="BrowseAddress">BrowseAddress</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
BrowseAddress 255.255.255.255:631
BrowseAddress @IF(name)
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowseAddress</CODE> directive specifies an address
to send browsing information to. Multiple
</BLOCKQUOTE>
-<H3 CLASS="title"><A NAME="BrowseAllow">BrowseAllow</A></H3>
+<H2 CLASS="title"><A NAME="BrowseAllow">BrowseAllow</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
BrowseAllow from all
BrowseAllow from @IF(name)
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowseAllow</CODE> directive specifies a system or
network to accept browse packets from. The default is to accept
browse data from the named interface.</P>
-<H3 CLASS="title"><A NAME="BrowseDeny">BrowseDeny</A></H3>
+<H2 CLASS="title"><A NAME="BrowseDeny">BrowseDeny</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
BrowseDeny from all
BrowseDeny from @IF(name)
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowseDeny</CODE> directive specifies a system or
network to reject browse packets from. The default is to not deny
browse data from the named interface.</P>
-<H3 CLASS="title"><A NAME="BrowseOrder">BrowseOrder</A></H3>
+<H2 CLASS="title"><A NAME="BrowseInterval">BrowseInterval</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+BrowseInterval 0
+BrowseInterval 30
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>BrowseInterval</CODE> directive specifies the
+maximum amount of time between browsing updates. Specifying a
+value of 0 seconds disables outgoing browse updates but allows a
+server to receive printer information from other hosts.</P>
+
+<P>The <CODE>BrowseInterval</CODE> value should always be less
+than the <A HREF="#BrowseTimeout"><CODE>BrowseTimeout</CODE></A>
+value. Otherwise printers and classes will disappear from client
+systems between updates.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="BrowseLDAPBindDN">BrowseLDAPBindDN</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+BrowseLDAPBindDN foo
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>BrowseLDAPBindDN</CODE> directive specifies the LDAP
+domain name to use when listening for printer registrations. The
+default is undefined.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="BrowseLDAPDN">BrowseLDAPDN</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+BrowseLDAPDN bar
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>BrowseLDAPDN</CODE> directive specifies the LDAP
+domain name to use when registering local shared printers. The
+default is undefined.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="BrowseLDAPPassword">BrowseLDAPPassword</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+BrowseLDAPPassword foo123
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>BrowseLDAPPassword</CODE> directive specifies the
+access password to use when connecting to the LDAP server. The
+default is undefined.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="BrowseLDAPServer">BrowseLDAPServer</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+BrowseLDAPServer localhost
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>BrowseLDAPServer</CODE> directive specifies the name
+of the LDAP server to connect to. The default is undefined.</P>
+
+
+<H2 CLASS="title"><A NAME="BrowseLocalOptions">BrowseLocalOptions</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+BrowseLocalOptions compression=yes
+BrowseLocalOptions encryption=required
+BrowseLocalOptions compression=yes&encryption=required
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>BrowseLocalOptions</CODE> directive specifies
+additional IPP backend options to advertise with local shared
+printers. The default is to not include any options.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="BrowseLocalProtocols">BrowseLocalProtocols</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+BrowseLocalProtocols all
+BrowseLocalProtocols none
+BrowseLocalProtocols cups
+BrowseLocalProtocols dns-sd
+BrowseLocalProtocols ldap
+BrowseLocalProtocols slp
+BrowseLocalProtocols cups dns-sd
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>BrowseLocalProtocols</CODE> directive specifies the
+protocols to use when advertising local shared printers on the
+network. Multiple protocols can be specified by separating them
+with spaces. The default is <CODE>cups</CODE>, which is a
+broadcast-based protocol.</P>
+
+
+<H2 CLASS="title"><A NAME="BrowseOrder">BrowseOrder</A></H2>
+
+<H3>Examples</H3>
<PRE CLASS="command">
BrowseOrder allow,deny
BrowseOrder deny,allow
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowseOrder</CODE> directive specifies the order of
allow/deny processing. The default order is
</UL>
-<H3 CLASS="title"><A NAME="BrowseInterval">BrowseInterval</A></H3>
+<H2 CLASS="title"><A NAME="BrowsePoll">BrowsePoll</A></H2>
-<H4>Examples</H4>
-
-<PRE CLASS="command">
-BrowseInterval 0
-BrowseInterval 30
-</PRE>
-
-<H4>Description</H4>
-
-<P>The <CODE>BrowseInterval</CODE> directive specifies the
-maximum amount of time between browsing updates. Specifying a
-value of 0 seconds disables outgoing browse updates but allows a
-server to receive printer information from other hosts.</P>
-
-<P>The <CODE>BrowseInterval</CODE> value should always be less
-than the <A HREF="#BrowseTimeout"><CODE>BrowseTimeout</CODE></A>
-value. Otherwise printers and classes will disappear from client
-systems between updates.</P>
-
-
-<H3 CLASS="title"><A NAME="BrowsePoll">BrowsePoll</A></H3>
-
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
BrowsePoll 192.0.2.2:631
BrowsePoll host.domain.com:631
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowsePoll</CODE> directive polls a server for
available printers once every <A
polled once every 30 seconds.</P>
-<H3 CLASS="title"><A NAME="BrowsePort">BrowsePort</A></H3>
+<H2 CLASS="title"><A NAME="BrowsePort">BrowsePort</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
BrowsePort 631
BrowsePort 9999
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowsePort</CODE> directive specifies the UDP port number
used for browse packets. The default port number is 631.</P>
</BLOCKQUOTE>
-<H3 CLASS="title"><A NAME="BrowseProtocols">BrowseProtocols</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="BrowseProtocols">BrowseProtocols</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-BrowseProtocols CUPS
-BrowseProtocols SLP
-BrowseProtocols CUPS SLP
BrowseProtocols all
+BrowseProtocols none
+BrowseProtocols cups
+BrowseProtocols dns-sd
+BrowseProtocols ldap
+BrowseProtocols slp
+BrowseProtocols cups dns-sd
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowseProtocols</CODE> directive specifies the
-protocols to use when collecting and distributing shared printers
-on the local network. The default protocol is <CODE>CUPS</CODE>,
-which is a broadcast-based protocol.</P>
+protocols to use when showing and advertising shared printers on
+the local network. Multiple protocols can be specified by
+separating them with spaces. The default protocol is
+<CODE>cups</CODE>, which is a broadcast-based protocol.</P>
<BLOCKQUOTE><B>Note:</B>
</BLOCKQUOTE>
-<H3 CLASS="title"><A NAME="BrowseRelay">BrowseRelay</A></H3>
+<H2 CLASS="title"><A NAME="BrowseRelay">BrowseRelay</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
BrowseRelay 193.0.2.1 192.0.2.255
BrowseRelay host.domain.com 192.0.2.255
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowseRelay</CODE> directive specifies source and
destination addresses for relaying browsing information from one
clients on the LAN(s).</P>
-<H3 CLASS="title"><A NAME="BrowseShortNames">BrowseShortNames</A></H3>
+<H2 CLASS="title"><A NAME="BrowseRemoteOptions">BrowseRemoteOptions</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+BrowseRemoteOptions compression=yes
+BrowseRemoteOptions encryption=required
+BrowseRemoteOptions ?compression=yes&encryption=required
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>BrowseRemoteOptions</CODE> directive specifies
+additional IPP backend options to include with remote shared
+printers. If the options string begins with a question mark (?),
+the options replace any options specified by the remote server.
+The default is to not include any options.</P>
+
-<H4>Examples</H4>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="BrowseRemoteProtocols">BrowseRemoteProtocols</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+BrowseRemoteProtocols all
+BrowseRemoteProtocols none
+BrowseRemoteProtocols cups
+BrowseRemoteProtocols dns-sd
+BrowseRemoteProtocols ldap
+BrowseRemoteProtocols slp
+BrowseRemoteProtocols cups dns-sd
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>BrowseRemoteProtocols</CODE> directive specifies the
+protocols to use when finding remote shared printers on the
+network. Multiple protocols can be specified by separating them
+with spaces. The default is <CODE>cups</CODE>, which is a
+broadcast-based protocol.</P>
+
+
+<H2 CLASS="title"><A NAME="BrowseShortNames">BrowseShortNames</A></H2>
+
+<H3>Examples</H3>
<PRE CLASS="command">
BrowseShortNames Yes
BrowseShortNames No
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowseShortNames</CODE> directive specifies whether
or not short names are used for remote printers when possible.
<P>The default value for this option is <CODE>Yes</CODE>.</P>
-<H3 CLASS="title"><A NAME="BrowseTimeout">BrowseTimeout</A></H3>
+<H2 CLASS="title"><A NAME="BrowseTimeout">BrowseTimeout</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
BrowseTimeout 300
BrowseTimeout 60
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>BrowseTimeout</CODE> directive sets the timeout for
printer or class information that is received in browse packets.
between updates.</P>
-<H3 CLASS="title"><A NAME="Browsing">Browsing</A></H3>
+<H2 CLASS="title"><A NAME="Browsing">Browsing</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
Browsing On
Browsing Off
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Browsing</CODE> directive controls whether or not
network printer browsing is enabled. The default setting is
</BLOCKQUOTE>
-<H3 CLASS="title"><A NAME="Classification">Classification</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Classification">Classification</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
Classification
Classification unclassified
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Classification</CODE> directive sets the
classification level on the server. When this option is set, at
The default is no classification level.</P>
-<H3 CLASS="title"><A NAME="ClassifyOverride">ClassifyOverride</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="ClassifyOverride">ClassifyOverride</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ClassifyOverride Yes
ClassifyOverride No
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ClassifyOverride</CODE> directive specifies whether
users can override the default classification level on the
<P>The default is to not allow classification overrides.</P>
-<H3 CLASS="title"><A NAME="ConfigFilePerm">ConfigFilePerm</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="ConfigFilePerm">ConfigFilePerm</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ConfigFilePerm 0644
-ConfigFilePerm 0600
+ConfigFilePerm 0640
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ConfigFilePerm</CODE> directive specifies the
permissions to use when writing configuration files. The default
-is 0600.</P>
+is 0640.</P>
-<H3 CLASS="title"><A NAME="DataDir">DataDir</A></H3>
+<H2 CLASS="title"><A NAME="DataDir">DataDir</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
DataDir /usr/share/cups
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>DataDir</CODE> directive sets the directory to use
for data files.</P>
-<H3 CLASS="title"><A NAME="DefaultCharset">DefaultCharset</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="DefaultAuthType">DefaultAuthType</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+DefaultAuthType Basic
+DefaultAuthType BasicDigest
+DefaultAuthType Digest
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>DefaultAuthType</CODE> directive specifies the type
+of authentication to use for IPP operations that require a
+username. The default is <CODE>Basic</CODE>.</P>
-<H4>Examples</H4>
+
+<H2 CLASS="title"><A NAME="DefaultCharset">DefaultCharset</A></H2>
+
+<H3>Examples</H3>
<PRE CLASS="command">
DefaultCharset utf-8
DefaultCharset windows-1251
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>DefaultCharset</CODE> directive sets the default
character set to use for client connections. The default
<CODE>DefaultLanguage</CODE> directive.</P>
-<H3 CLASS="title"><A NAME="DefaultLanguage">DefaultLanguage</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="DefaultEncryption">DefaultEncryption</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+DefaultEncryption Never
+DefaultEncryption IfRequested
+DefaultEncryption Required
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>DefaultEncryption</CODE> directive specifies the
+type of encryption to use when performing authentication. The
+default is <CODE>Required</CODE>.</P>
+
-<H4>Examples</H4>
+<H2 CLASS="title"><A NAME="DefaultLanguage">DefaultLanguage</A></H2>
+
+<H3>Examples</H3>
<PRE CLASS="command">
DefaultLanguage de
DefaultLanguage it
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>DefaultLanguage</CODE> directive specifies the
default language to use for client connections. Setting the
is "en" for English.</P>
-<H3 CLASS="title"><A NAME="Deny">Deny</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="DefaultPolicy">DefaultPolicy</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+DefaultPolicy default
+DefaultPolicy foo
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>DefaultPolicy</CODE> directive specifies the default
+policy to use for IPP operation. The default is
+<CODE>default</CODE>.</P>
+
+
+<H2 CLASS="title"><A NAME="Deny">Deny</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Deny from All
-Deny from None
-Deny from *.domain.com
-Deny from .domain.com
-Deny from host.domain.com
-Deny from nnn.*
-Deny from nnn.nnn.*
-Deny from nnn.nnn.nnn.*
-Deny from nnn.nnn.nnn.nnn
-Deny from nnn.nnn.nnn.nnn/mm
-Deny from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
-Deny from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
-Deny from @LOCAL
-Deny from @IF(name)
+<Location /path>
+ ..
+ Deny from All
+ Deny from None
+ Deny from *.domain.com
+ Deny from .domain.com
+ Deny from host.domain.com
+ Deny from nnn.*
+ Deny from nnn.nnn.*
+ Deny from nnn.nnn.nnn.*
+ Deny from nnn.nnn.nnn.nnn
+ Deny from nnn.nnn.nnn.nnn/mm
+ Deny from nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
+ Deny from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
+ Deny from @LOCAL
+ Deny from @IF(name)
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Deny</CODE> directive specifies a hostname, IP
address, or network that is allowed access to the server.
<CODE>Deny</CODE> directives are cummulative, so multiple
<CODE>Deny</CODE> directives can be used to allow access for
multiple hosts or networks. The <CODE>/mm</CODE> notation
-specifies a CIDR netmask:</P>
-
-<DIV CLASS="table"><TABLE>
-<TR>
- <TH WIDTH="10%">mm</TH>
- <TH WIDTH="20%">netmask</TH>
- <TH WIDTH="10%">mm</TH>
- <TH WIDTH="20%">netmask</TH>
-</TR>
-<TR>
- <TD ALIGN="CENTER">0</TD>
- <TD ALIGN="CENTER">0.0.0.0</TD>
- <TD ALIGN="CENTER">8</TD>
- <TD ALIGN="CENTER">255.0.0.0</TD>
-</TR>
-<TR>
- <TD ALIGN="CENTER">1</TD>
- <TD ALIGN="CENTER">128.0.0.0</TD>
- <TD ALIGN="CENTER">16</TD>
- <TD ALIGN="CENTER">255.255.0.0</TD>
-</TR>
-<TR>
- <TD ALIGN="CENTER">2</TD>
- <TD ALIGN="CENTER">192.0.0.0</TD>
- <TD ALIGN="CENTER">24</TD>
- <TD ALIGN="CENTER">255.255.255.0</TD>
-</TR>
-<TR>
- <TD ALIGN="CENTER">...</TD>
- <TD ALIGN="CENTER">...</TD>
- <TD ALIGN="CENTER">32</TD>
- <TD ALIGN="CENTER">255.255.255.255</TD>
-</TR>
-</TABLE></DIV>
+specifies a CIDR netmask, a shown in <A HREF="TABLE1">Table
+1</A>.</P>
<P>The <CODE>@LOCAL</CODE> name will deny access from all local
interfaces. The <CODE>@IF(name)</CODE> name will deny access from
the named interface.</P>
<P>The <CODE>Deny</CODE> directive must appear inside a <A
-HREF="#Location"><CODE>Location</CODE></A> directive.</P>
+HREF="#Location"><CODE>Location</CODE></A> or <A
+HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
-<H3 CLASS="title"><A NAME="DocumentRoot">DocumentRoot</A></H3>
+<H2 CLASS="title"><A NAME="DocumentRoot">DocumentRoot</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
DocumentRoot /usr/share/doc/cups
DocumentRoot /foo/bar/doc/cups
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>DocumentRoot</CODE> directive specifies the location
of web content for the HTTP server in CUPS. If an absolute path
language needed.</P>
-<H3 CLASS="title"><A NAME="Encryption">Encryption</A></H3>
+<H2 CLASS="title"><A NAME="Encryption">Encryption</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Encryption Never
-Encryption IfRequested
-Encryption Required
+<Location /path>
+ ...
+ Encryption Never
+ Encryption IfRequested
+ Encryption Required
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Encryption</CODE> directive must appear instead a <A
-HREF="#Location"><CODE>Location</CODE></A> section and specifies
-the encryption settings for that location. The default setting is
+HREF="#Location"><CODE>Location</CODE></A> or <A
+HREF="#Limit"><CODE>Limit</CODE></A> section and specifies the
+encryption settings for that location. The default setting is
<CODE>IfRequested</CODE> for all locations.</P>
-<H3 CLASS="title"><A NAME="ErrorLog">ErrorLog</A></H3>
+<H2 CLASS="title"><A NAME="ErrorLog">ErrorLog</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ErrorLog /var/log/cups/error_log
ErrorLog syslog
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ErrorLog</CODE> directive sets the name of the error
log file. If the filename is not absolute then it is assumed to
information to the system log instead of a plain file.</P>
-<H3 CLASS="title"><A NAME="FileDevice">FileDevice</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.18</SPAN><A NAME="FileDevice">FileDevice</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
FileDevice Yes
FileDevice No
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>FileDevice</CODE> directive determines whether the
scheduler allows new printers to be added using device URIs of
</BLOCKQUOTE>
-<H3 CLASS="title"><A NAME="FilterLimit">FilterLimit</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="FilterLimit">FilterLimit</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
FilterLimit 0
FilterLimit 1000
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>FilterLimit</CODE> directive sets the maximum cost
of all running job filters. It can be used to limit the number of
<P>The default limit is 0.</P>
-<H3 CLASS="title"><A NAME="FontPath">FontPath</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.16</SPAN><A NAME="FilterNice">FilterNice</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+FilterNice 0
+FilterNice 10
+FilterNice 19
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>FilterNice</CODE> directive sets the <B>nice(1)</B>
+value to assign to filter processes. The nice value ranges from
+0, the highest priority, to 19, the lowest priority. The default
+is 0.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="FontPath">FontPath</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
FontPath /foo/bar/fonts
FontPath /usr/share/cups/fonts:/foo/bar/fonts
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>FontPath</CODE> directive specifies the font path to
use when searching for fonts. The default font path is
<CODE>/usr/share/cups/fonts</CODE>.</P>
-<H3 CLASS="title"><A NAME="Group">Group</A></H3>
+<H2 CLASS="title"><A NAME="Group">Group</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
+Group lp
Group nobody
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Group</CODE> directive specifies the UNIX group that
filter and CGI programs run as. The default group is
+system-specific but is usually <CODE>lp</CODE> or
<CODE>nobody</CODE>.</P>
-<H3 CLASS="title"><A NAME="HideImplicitMembers">HideImplicitMembers</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="HideImplicitMembers">HideImplicitMembers</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
HideImplicitMembers Yes
HideImplicitMembers No
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>HideImplicitMembers</CODE> directive controls
whether the individual printers in an implicit class are hidden
must be enabled for this directive to have any effect.</P>
-<H3 CLASS="title"><A NAME="HostNameLookups">HostNameLookups</A></H3>
+<H2 CLASS="title"><A NAME="HostNameLookups">HostNameLookups</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
HostNameLookups On
HostNameLookups Double
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>HostNameLookups</CODE> directive controls whether or
not CUPS looks up the hostname for connecting clients. The
required.</P>
-<H3 CLASS="title"><A NAME="ImplicitClasses">ImplicitClasses</A></H3>
+<H2 CLASS="title"><A NAME="ImplicitClasses">ImplicitClasses</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ImplicitClasses On
ImplicitClasses Off
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ImplicitClasses</CODE> directive controls whether
implicit classes are created based upon the available network
<CODE>Off</CODE>.</P>
-<H3 CLASS="title"><A NAME="ImplicitAnyClasses">ImplicitAnyClasses</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.10</SPAN><A NAME="ImplicitAnyClasses">ImplicitAnyClasses</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ImplicitAnyClasses On
ImplicitAnyClasses Off
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ImplicitAnyClasses</CODE> directive controls
whether implicit classes for local and remote printers are
must be enabled for this directive to have any effect.</P>
-<H3 CLASS="title"><A NAME="Include">Include</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.9</SPAN><A NAME="Include">Include</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
Include filename
Include /foo/bar/filename
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Include</CODE> directive includes the named file in
the <CODE>cupsd.conf</CODE> file. If no leading path is provided,
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory.</P>
-<H3 CLASS="title"><A NAME="KeepAlive">KeepAlive</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="JobRetryInterval">JobRetryInterval</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+JobRetryInterval 30
+JobRetryInterval 120
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>JobRetryInterval</CODE> directive specifies the
+number of seconds to wait before retrying a job. This is
+typically used for fax queues but can also be used with normal
+print queues whose error policy is <CODE>retry-job</CODE>. The
+default is 30 seconds.</P>
-<H4>Examples</H4>
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="JobRetryLimit">JobRetryLimit</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+JobRetryLimit 5
+JobRetryLimit 50
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>JobRetryLimit</CODE> directive specifies the maximum
+number of times the scheduler will try to print a job. This is
+typically used for fax queues but can also be used with normal
+print queues whose error policy is <CODE>retry-job</CODE>. The
+default is 5 times.</P>
+
+
+<H2 CLASS="title"><A NAME="KeepAlive">KeepAlive</A></H2>
+
+<H3>Examples</H3>
<PRE CLASS="command">
KeepAlive On
KeepAlive Off
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>KeepAlive</CODE> directive controls whether or not
to support persistent HTTP connections. The default is
field of each request.</P>
-<H3 CLASS="title"><A NAME="KeepAliveTimeout">KeepAliveTimeout</A></H3>
+<H2 CLASS="title"><A NAME="KeepAliveTimeout">KeepAliveTimeout</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
KeepAliveTimeout 60
KeepAliveTimeout 30
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>KeepAliveTimeout</CODE> directive controls how long
a persistent HTTP connection will remain open after the last
request. The default is 60 seconds.</P>
-<H3 CLASS="title"><A NAME="Limit">Limit</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Limit">Limit (Location)</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-<Limit GET POST>
-...
-</Limit>
+<Location /path>
+ <Limit GET POST>
+ ...
+ </Limit>
-<Limit ALL>
-...
-</Limit>
+ <Limit ALL>
+ ...
+ </Limit>
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Limit</CODE> directive groups access control
directives for specific types of HTTP requests and must appear
Apache.</P>
-<H3 CLASS="title"><A NAME="LimitExcept">LimitExcept</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="LimitIPP">Limit (Policy)</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-<LimitExcept GET POST>
-...
-</LimitExcept>
+<Policy name>
+ <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer>
+ ...
+ </Limit>
+
+ <Limit All>
+ ...
+ </Limit>
+</Policy>
+</PRE>
+
+<H3>Description</H3>
+
+<P>When included in <A HREF="#Policy"><CODE>Policy</CODE></A>
+sections, the <CODE>Limit</CODE> directive groups access control
+directives for specific IPP operations. Multiple operations can
+be listed, separated by spaces. Table 2 lists the supported
+operations.</P>
+
+<DIV CLASS="table"><TABLE SUMMARY="Supported IPP Operations">
+<CAPTION>Table 2: <A NAME="TABLE2">Supported IPP Operations</A></CAPTION>
+<THEAD>
+<TR>
+ <TH>Operation Name</TH>
+ <TH>Description</TH>
+</TR>
+</THEAD>
+<TBODY>
+<TR>
+ <TD>All</TD>
+ <TD>All operations - used as the default limit for
+ operations that are not listed</TD>
+</TR>
+<TR>
+ <TD>Cancel-Job</TD>
+ <TD>Cancel a job</TD>
+</TR>
+<TR>
+ <TD>Cancel-Subscription</TD>
+ <TD>Cancel a subscription</TD>
+</TR>
+<TR>
+ <TD>Create-Job</TD>
+ <TD>Create a new, empty job</TD>
+</TR>
+<TR>
+ <TD>Create-Job-Subscription</TD>
+ <TD>Creates a notification subscription on a job</TD>
+</TR>
+<TR>
+ <TD>Create-Printer-Subscription</TD>
+ <TD>Creates a notification subscription on a printer</TD>
+</TR>
+<TR>
+ <TD>CUPS-Accept-Jobs</TD>
+ <TD>Sets the printer-is-accepting-jobs value for a printer to true</TD>
+</TR>
+<TR>
+ <TD>CUPS-Add-Modify-Class</TD>
+ <TD>Adds or modifies a class</TD>
+</TR>
+<TR>
+ <TD>CUPS-Add-Modify-Printer</TD>
+ <TD>Adds or modifies a printer</TD>
+</TR>
+<TR>
+ <TD>CUPS-Authenticate-Job</TD>
+ <TD>Authenticates a job for printing</TD>
+</TR>
+<TR>
+ <TD>CUPS-Delete-Class</TD>
+ <TD>Deletes a class</TD>
+</TR>
+<TR>
+ <TD>CUPS-Delete-Printer</TD>
+ <TD>Deletes a printer</TD>
+</TR>
+<TR>
+ <TD>CUPS-Get-Classes</TD>
+ <TD>Gets a list of classes</TD>
+</TR>
+<TR>
+ <TD>CUPS-Get-Default</TD>
+ <TD>Gets the (network/server) default printer or class</TD>
+</TR>
+<TR>
+ <TD>CUPS-Get-Devices</TD>
+ <TD>Gets a list of available devices</TD>
+</TR>
+<TR>
+ <TD>CUPS-Get-PPDs</TD>
+ <TD>Gets a list of available manufacturers or drivers</TD>
+</TR>
+<TR>
+ <TD>CUPS-Get-Printers</TD>
+ <TD>Gets a list of printers and/or classes</TD>
+</TR>
+<TR>
+ <TD>CUPS-Move-Job</TD>
+ <TD>Moves a job to a new destination</TD>
+</TR>
+<TR>
+ <TD>CUPS-Reject-Jobs</TD>
+ <TD>Sets the printer-is-accepting-jobs value for a printer to false</TD>
+</TR>
+<TR>
+ <TD>CUPS-Set-Default</TD>
+ <TD>Sets the network/server default printer or class</TD>
+</TR>
+<TR>
+ <TD>Disable-Printer</TD>
+ <TD>Sets the printer-state value for a printer to stopped</TD>
+</TR>
+<TR>
+ <TD>Enable-Printer</TD>
+ <TD>Sets the printer-state value for a printer to idle/processing</TD>
+</TR>
+<TR>
+ <TD>Get-Job-Attributes</TD>
+ <TD>Gets information about a job</TD>
+</TR>
+<TR>
+ <TD>Get-Jobs</TD>
+ <TD>Gets a list of jobs</TD>
+</TR>
+<TR>
+ <TD>Get-Notifications</TD>
+ <TD>Gets a list of events</TD>
+</TR>
+<TR>
+ <TD>Get-Printer-Attributes</TD>
+ <TD>Gets informaion about a printer or class</TD>
+</TR>
+<TR>
+ <TD>Get-Subscription-Attributes</TD>
+ <TD>Gets informaion about a notification subscription</TD>
+</TR>
+<TR>
+ <TD>Get-Subscriptions</TD>
+ <TD>Gets a list of notification subscriptions</TD>
+</TR>
+<TR>
+ <TD>Hold-Job</TD>
+ <TD>Holds a job for printing</TD>
+</TR>
+<TR>
+ <TD>Pause-Printer</TD>
+ <TD>Sets the printer-state value for a printer to stopped</TD>
+</TR>
+<TR>
+ <TD>Print-Job</TD>
+ <TD>Creates a job with a single file for printing</TD>
+</TR>
+<TR>
+ <TD>Purge-Jobs</TD>
+ <TD>Removes all jobs from a printer</TD>
+</TR>
+<TR>
+ <TD>Release-Job</TD>
+ <TD>Releases a previously held job for printing</TD>
+</TR>
+<TR>
+ <TD>Renew-Subscription</TD>
+ <TD>Renews a notification subscription</TD>
+</TR>
+<TR>
+ <TD>Restart-Job</TD>
+ <TD>Reprints a job</TD>
+</TR>
+<TR>
+ <TD>Resume-Printer</TD>
+ <TD>Sets the printer-stae value for a printer to idle/processing</TD>
+</TR>
+<TR>
+ <TD>Send-Document</TD>
+ <TD>Adds a file to an job created with Create-Job</TD>
+</TR>
+<TR>
+ <TD>Set-Job-Attributes</TD>
+ <TD>Changes job options</TD>
+</TR>
+<TR>
+ <TD>Validate-Job</TD>
+ <TD>Validates job options prior to printing</TD>
+</TR>
+</TBODY>
+</TABLE></DIV>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="LimitExcept">LimitExcept</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Location /path>
+ <LimitExcept GET POST>
+ ...
+ </LimitExcept>
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>LimitExcept</CODE> directive groups access control
directives for specific types of HTTP requests and must appear
line.</P>
-<H3 CLASS="title"><A NAME="LimitRequestBody">LimitRequestBody</A></H3>
+<H2 CLASS="title"><A NAME="LimitRequestBody">LimitRequestBody</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
LimitRequestBody 10485760
LimitRequestBody 0
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>LimitRequestBody</CODE> directive controls the
maximum size of print files, IPP requests, and HTML form data in
limit check.</P>
-<H3 CLASS="title"><A NAME="Listen">Listen</A></H3>
+<H2 CLASS="title"><A NAME="Listen">Listen</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
Listen 127.0.0.1:631
Listen *:631
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Listen</CODE> directive specifies a network address
and port to listen for connections. Multiple <CODE>Listen</CODE>
restrict access to specific interfaces or networks.</P>
-<H3 CLASS="title"><A NAME="Location">Location</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="ListenBackLog">ListenBackLog</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+ListenBackLog 5
+ListenBackLog 10
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>ListenBackLog</CODE> directive sets the maximum
+number of pending connections the scheduler will allow. This
+normally only affects very busy servers that have reached the <A
+HREF="#MaxClients"><CODE>MaxClients</CODE></A> limit, but can
+also be triggered by large numbers of simultaneous connections.
+When the limit is reached, the operating system will refuse
+additional connections until the scheduler can accept the pending
+ones. The default is the OS-defined default limit, typically
+either 5 for older operating systems or 128 for newer operating
+systems.</P>
+
+
+<H2 CLASS="title"><A NAME="Location">Location</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
<Location />
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Location</CODE> directive specifies access control
and authentication options for the specified HTTP resource or
Directives inside <CODE>/printers</CODE> will override ones from
<CODE>/</CODE>. None of the directives are inherited.</P>
-<DIV CLASS="table"><TABLE>
-<CAPTION>Common Locations on the Server</CAPTION>
+<DIV CLASS="table"><TABLE SUMMARY="Common Locaions on the Server">
+<CAPTION>Table 3: <A NAME="TABLE3">Common Locations on the Server</A></CAPTION>
+<THEAD>
<TR><TH>Location</TH><TH>Description</TH></TR>
+</THEAD>
+<TBODY>
<TR><TD><CODE>/</CODE></TD><TD>The path for all get operations (get-printers, get-jobs, etc.)</TD></TR>
<TR><TD><CODE>/admin</CODE></TD><TD>The path for all administration operations (add-printer, delete-printer, start-printer, etc.)</TD></TR>
<TR><TD><CODE>/admin/conf</CODE></TD><TD>The path for access to the CUPS configuration files (cupsd.conf, client.conf, etc.)</TD></TR>
<TR><TD><CODE>/printers</CODE></TD><TD>The path for all printers</TD></TR>
<TR><TD><CODE>/printers/name</CODE></TD><TD>The path for printer <CODE>name</CODE></TD></TR>
<TR><TD><CODE>/printers/name.ppd</CODE></TD><TD>The PPD file path for printer <CODE>name</CODE></TD></TR>
+</TBODY>
</TABLE></DIV>
-<H3 CLASS="title"><A NAME="LogFilePerm">LogFilePerm</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="LogFilePerm">LogFilePerm</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
LogFilePerm 0644
LogFilePerm 0600
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>LogFilePerm</CODE> directive specifies the
permissions to use when writing configuration files. The default
is 0644.</P>
-<H3 CLASS="title"><A NAME="LogLevel">LogLevel</A></H3>
+<H2 CLASS="title"><A NAME="LogLevel">LogLevel</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
LogLevel none
LogLevel debug2
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>LogLevel</CODE> directive specifies the level of
logging for the <A HREF="#ErrorLog"><CODE>ErrorLog</CODE></A>
</UL>
-<H3 CLASS="title"><A NAME="MaxClients">MaxClients</A></H3>
+<H2 CLASS="title"><A NAME="MaxClients">MaxClients</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
MaxClients 100
MaxClients 1024
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>MaxClients</CODE> directive controls the maximum
number of simultaneous clients that will be allowed by the
</BLOCKQUOTE>
-<H3 CLASS="title"><A NAME="MaxClientsPerHost">MaxClientsPerHost</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.18</SPAN><A NAME="MaxClientsPerHost">MaxClientsPerHost</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
MaxClientsPerHost 10
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>MaxClientsPerHost</CODE> directive controls the
maximum number of simultaneous clients that will be allowed from
Denial of Service attacks from a single host.</P>
-<H3 CLASS="title"><A NAME="MaxCopies">MaxCopies</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.16</SPAN><A NAME="MaxCopies">MaxCopies</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
MaxCopies 100
MaxCopies 65535
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>MaxCopies</CODE> directive controls the maximum
number of copies that a user can print of a job. The default is
-<H3 CLASS="title"><A NAME="MaxJobs">MaxJobs</A></H3>
+<H2 CLASS="title"><A NAME="MaxJobs">MaxJobs</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
MaxJobs 100
MaxJobs 0
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>MaxJobs</CODE> directive controls the maximum number
of jobs that are kept in memory. Once the number of jobs reaches
default setting is 0.</P>
-<H3 CLASS="title"><A NAME="MaxJobsPerPrinter">MaxJobsPerPrinter</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="MaxJobsPerPrinter">MaxJobsPerPrinter</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
MaxJobsPerPrinter 100
MaxJobsPerPrinter 0
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>MaxJobsPerPrinter</CODE> directive controls the
maximum number of active jobs that are allowed for each printer
default setting is 0.</P>
-<H3 CLASS="title"><A NAME="MaxJobsPerUser">MaxJobsPerUser</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="MaxJobsPerUser">MaxJobsPerUser</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
MaxJobsPerUser 100
MaxJobsPerUser 0
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>MaxJobsPerUser</CODE> directive controls the maximum
number of active jobs that are allowed for each user. Once a user
default setting is 0.</P>
-<H3 CLASS="title"><A NAME="MaxLogSize">MaxLogSize</A></H3>
+<H2 CLASS="title"><A NAME="MaxLogSize">MaxLogSize</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
MaxLogSize 1048576
MaxLogSize 0
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>MaxLogSize</CODE> directive controls the maximum
size of each log file. Once a log file reaches or exceeds the
<P>Setting the maximum size to 0 disables log rotation.</P>
-<H3 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="MaxRequestSize">MaxRequestSize</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">Deprecated</SPAN><A NAME="MaxRequestSize">MaxRequestSize</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
MaxRequestSize 10485760
MaxRequestSize 0
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>MaxRequestSize</CODE> directive controls the maximum
size of print files, IPP requests, and HTML form data in HTTP
POST requests. The default limit is 0 which disables the limit
check.</P>
-<P><B>This directive is deprecated and will be replaced in a
+<P><B>This directive is deprecated and will be removed in a
future CUPS release.</B> Use the <A
HREF="#LimitRequestBody"><CODE>LimitRequestBody</CODE></A>
directive instead.</P>
-<H3 CLASS="title"><A NAME="Order">Order</A></H3>
+<H2 CLASS="title"><A NAME="Order">Order</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Order Allow,Deny
-Order Deny,Allow
+<Location /path>
+ ...
+ Order Allow,Deny
+ Order Deny,Allow
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Order</CODE> directive defines the default access
control. The following values are supported:</P>
</UL>
<P>The <CODE>Order</CODE> directive must appear inside a <A
-HREF="#Location"><CODE>Location</CODE></A> directive.</P>
+HREF="#Location"><CODE>Location</CODE></A> or <A
+HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
-<H3 CLASS="title"><A NAME="PageLog">PageLog</A></H3>
+<H2 CLASS="title"><A NAME="PageLog">PageLog</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
PageLog /var/log/cups/page_log
PageLog syslog
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>PageLog</CODE> directive sets the name of the page
log file. If the filename is not absolute then it is assumed to
information to the system log instead of a plain file.</P>
-<H3 CLASS="title"><A NAME="Port">Port</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="PassEnv">PassEnv</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+PassEnv MY_ENV_VARIABLE
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>PassEnv</CODE> directive specifies an environment
+variable that should be passed to child processes. Normally, the
+scheduler only passes the <CODE>DYLD_LIBRARY_PATH</CODE>,
+<CODE>LD_ASSUME_KERNEL</CODE>, <CODE>LD_LIBRARY_PATH</CODE>,
+<CODE>LD_PRELOAD</CODE>, <CODE>NLSPATH</CODE>,
+<CODE>SHLIB_PATH</CODE>, <CODE>TZ</CODE>, and <CODE>VGARGS</CODE>
+environment variables to child processes.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="Policy">Policy</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Policy name>
+ <Limit operation ... operation>
+ ...
+ </Limit>
+ <Limit operation ... operation>
+ ...
+ </Limit>
+ <Limit All>
+ ...
+ </Limit>
+</Policy>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>Policy</CODE> directive specifies IPP operation
+access control limits. Each policy contains 1 or more <A
+HREF="#LimitIPP"><CODE>Limit</CODE></A> sections to set the
+access control limits for specific operations - user limits,
+authentication, encryption, and allowed/denied addresses,
+domains, or hosts. The <CODE><Limit All></CODE> section
+specifies the default access control limits for operations that
+are not listed.</P>
+
+<P>Policies are named and associated with printers via the
+printer's operation policy setting
+(<CODE>printer-op-policy</CODE>). The default policy for the
+scheduler is specified using the <A
+HREF="#DefaultPolicy"><CODE>DefaultPolicy</CODE></A>
+directive.</P>
+
+
+<H2 CLASS="title"><A NAME="Port">Port</A></H2>
+
+<H3>Examples</H3>
<PRE CLASS="command">
Port 631
Port 80
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Port</CODE> directive specifies a port to listen on.
Multiple <CODE>Port</CODE> lines can be specified to listen on
</BLOCKQUOTE>
-<H3 CLASS="title"><A NAME="PreserveJobHistory">PreserveJobHistory</A></H3>
+<H2 CLASS="title"><A NAME="PreserveJobHistory">PreserveJobHistory</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
PreserveJobHistory On
PreserveJobHistory Off
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>PreserveJobHistory</CODE> directive controls whether
the history of completed, canceled, or aborted print jobs is
soon as each job is completed, canceled, or aborted.</P>
-<H3 CLASS="title"><A NAME="PreserveJobFiles">PreserveJobFiles</A></H3>
+<H2 CLASS="title"><A NAME="PreserveJobFiles">PreserveJobFiles</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
PreserveJobFiles On
PreserveJobFiles Off
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>PreserveJobFiles</CODE> directive controls whether
the document files of completed, canceled, or aborted print jobs
files as soon as each job is completed, canceled, or aborted.</P>
-<H3 CLASS="title"><A NAME="Printcap">Printcap</A></H3>
+<H2 CLASS="title"><A NAME="Printcap">Printcap</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
Printcap
Printcap /etc/printers.conf
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Printcap</CODE> directive controls whether or not a
printcap file is automatically generated and updated with a list
printers.</P>
-<H3 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H3>
+<H2 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
PrintcapFormat BSD
PrintcapFormat Solaris
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>PrintcapFormat</CODE> directive controls the output
format of the printcap file. The default is to generate a BSD
printcap file.</P>
-<H3 CLASS="title"><A NAME="RemoteRoot">RemoteRoot</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.13</SPAN><A NAME="PrintcapGUI">PrintcapGUI</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+PrintGUI /usr/bin/glpoptions
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>PrintcapGUI</CODE> directive sets the program to
+associate with the IRIX printer GUI interface script which is
+used by IRIX applications to display printer-specific options.
+There is no default program.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.21</SPAN><A NAME="ReloadTimeout">ReloadTimeout</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+ReloadTimeout 0
+ReloadTimeout 60
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>ReloadTimeout</CODE> directive specifies the number
+of seconds the scheduler will wait for active jobs to complete
+before doing a restart. The default is 60 seconds.</P>
-<H4>Examples</H4>
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.3</SPAN><A NAME="RemoteRoot">RemoteRoot</A></H2>
+
+<H3>Examples</H3>
<PRE CLASS="command">
RemoteRoot remroot
RemoteRoot root
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>RemoteRoot</CODE> directive sets the username for
unauthenticated root requests from remote hosts. The default
mechanism.</P>
-<H3 CLASS="title"><A NAME="RequestRoot">RequestRoot</A></H3>
+<H2 CLASS="title"><A NAME="RequestRoot">RequestRoot</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
RequestRoot /var/spool/cups
RequestRoot /foo/bar/spool/cups
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>RequestRoot</CODE> directive sets the directory for
incoming IPP requests and HTML forms. If an absolute path is not
default request directory is <VAR>/var/spool/cups</VAR>.</P>
-<H3 CLASS="title"><A NAME="Require">Require</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Require">Require</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Require group foo bar
-Require user john mary
-Require valid-user
-Require user @groupname
-Require user @SYSTEM
-Require user @OWNER
+<Location /path>
+ ...
+ Require group foo bar
+ Require user john mary
+ Require valid-user
+ Require user @groupname
+ Require user @SYSTEM
+ Require user @OWNER
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Require</CODE> directive specifies that
authentication is required for the resource. The
authenticated user may access the resource.</P>
<P>The default is to do no authentication. This directive must
-appear inside a <A HREF="#Location"><CODE>Location</CODE></A>
-directive.</P>
+appear inside a <A HREF="#Location"><CODE>Location</CODE></A> or
+<A HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
-<H3 CLASS="title"><A NAME="RIPCache">RIPCache</A></H3>
+<H2 CLASS="title"><A NAME="RIPCache">RIPCache</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
RIPCache 8m
RIPCache 2048k
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>RIPCache</CODE> directive sets the size of the
memory cache used by Raster Image Processor ("RIP") filters such
megabytes.</P>
-<H3 CLASS="title"><A NAME="Satisfy">Satisfy</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.16</SPAN><A NAME="RootCertDuration">RootCertDuration</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+RootCertDuration 0
+RootCertDuration 300
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>RootCertDuration</CODE> directive specifies the
+number of seconds the <EM>root certificate</EM> remains valid.
+The scheduler will generate a new certificate as needed when the
+number of seconds has expired. If set to 0, the root certificate
+is generated only once on startup or on a restart. The default is
+300 seconds.</P>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Satisfy">Satisfy</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Satisfy all
-Satisfy any
+<Location /path>
+ ...
+ Satisfy all
+ Satisfy any
+</Location>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Satisfy</CODE> directive specifies whether all
conditions must be satisfied to allow access to the resource. If
authentication.</P>
<P>The default is <CODE>all</CODE>. This directive must appear
-inside a <A HREF="#Location"><CODE>Location</CODE></A>
-directive.</P>
+inside a <A HREF="#Location"><CODE>Location</CODE></A> or <A
+HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
-<H3 CLASS="title"><A NAME="ServerAdmin">ServerAdmin</A></H3>
+<H2 CLASS="title"><A NAME="ServerAdmin">ServerAdmin</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ServerAdmin user@host
ServerAdmin root@foo.bar.com
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ServerAdmin</CODE> directive identifies the email
address for the administrator on the system. By default the
administrator email address is <CODE>root@server</CODE>, where
-<CODE>server</CODE> is the server name.</P>
+<CODE>server</CODE> is the <A
+HREF="#ServerName"><CODE>ServerName</CODE></A>.</P>
-<H3 CLASS="title"><A NAME="ServerBin">ServerBin</A></H3>
+<H2 CLASS="title"><A NAME="ServerBin">ServerBin</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ServerBin /usr/lib/cups
ServerBin /foo/bar/lib/cups
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ServerBin</CODE> directive sets the directory for
server-run executables. If an absolute path is not provided then
it is assumed to be relative to the <A
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default executable directory is <VAR>/usr/lib/cups</VAR> or
-<VAR>/usr/lib32/cups</VAR> (IRIX 6.5).</P>
+default executable directory is <VAR>/usr/lib/cups</VAR>,
+<VAR>/usr/lib32/cups</VAR>, or <VAR>/usr/libexec/cups</VAR>
+depending on the operating system.</P>
-<H3 CLASS="title"><A NAME="ServerCertificate">ServerCertificate</A></H3>
+<H2 CLASS="title"><A NAME="ServerCertificate">ServerCertificate</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ServerCertificate /etc/cups/ssl/server.crt
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ServerCertificate</CODE> directive specifies the
location of the SSL certificate file used by the server when
<VAR>/etc/cups/ssl/server.crt</VAR>.</P>
-<H3 CLASS="title"><A NAME="ServerKey">ServerKey</A></H3>
+<H2 CLASS="title"><A NAME="ServerKey">ServerKey</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ServerKey /etc/cups/ssl/server.key
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ServerKey</CODE> directive specifies the location of
the SSL private key file used by the server when negotiating
<VAR>/etc/cups/ssl/server.crt</VAR>.</P>
-<H3 CLASS="title"><A NAME="ServerName"></A>ServerName</H3>
+<H2 CLASS="title"><A NAME="ServerName"></A>ServerName</H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ServerName foo.domain.com
ServerName myserver.domain.com
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ServerName</CODE> directive specifies the hostname
that is reported to clients. By default the server name is the
hostname.</P>
-<H3 CLASS="title"><A NAME="ServerRoot">ServerRoot</A></H3>
+<H2 CLASS="title"><A NAME="ServerRoot">ServerRoot</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
ServerRoot /etc/cups
ServerRoot /foo/bar/cups
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ServerRoot</CODE> directive specifies the absolute
path to the server configuration and state files. It is also used
default server directory is <VAR>/etc/cups</VAR>.</P>
-<H3 CLASS="title"><A NAME="SSLListen">SSLListen</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.21</SPAN><A NAME="ServerTokens">ServerTokens</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+ServerTokens None
+ServerTokens ProductOnly
+ServerTokens Major
+ServerTokens Minor
+ServerTokens Minimal
+ServerTokens OS
+ServerTokens Full
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>ServerTokens</CODE> directive specifies the
+information that is included in the <CODE>Server:</CODE> header
+of all HTTP responses. Table 4 lists the token name along with
+the text that is returned. The default is
+<CODE>Minimal</CODE>.</P>
+
+<DIV CLASS="table"><TABLE SUMMARY="ServerToken Names and Values">
+<CAPTION>Table 4: <A NAME="TABLE4">ServerToken Names and Values</A></CAPTION>
+<THEAD>
+<TR>
+ <TH>Name</TH>
+ <TH>Value</TH>
+</TR>
+</THEAD>
+<TBODY>
+<TR>
+ <TD>None</TD>
+ <TD>No <CODE>Server:</CODE> header is returned</TD>
+</TR>
+<TR>
+ <TD>ProductOnly</TD>
+ <TD>"CUPS"</TD>
+</TR>
+<TR>
+ <TD>Major</TD>
+ <TD>"CUPS 1"</TD>
+</TR>
+<TR>
+ <TD>Minor</TD>
+ <TD>"CUPS 1.2"</TD>
+</TR>
+<TR>
+ <TD>Minimal</TD>
+ <TD>"CUPS 1.2.N" where N is the patch release</TD>
+</TR>
+<TR>
+ <TD>OS</TD>
+ <TD>"CUPS 1.2.N (UNAME)" where N is the patch release and
+ UNAME is the output of the <B>uname(1)</B> command</TD>
+</TR>
+<TR>
+ <TD>Full</TD>
+ <TD>"CUPS 1.2.N (UNAME) IPP/1.1" where N is the patch
+ release and UNAME is the output of the <B>uname(1)</B>
+ command</TD>
+</TR>
+</TBODY>
+</TABLE></DIV>
+
+
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="SetEnv">SetEnv</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+SetEnv PATH /usr/lib/cups/filter:/bin:/usr/bin:/usr/local/bin
+SetEnv MY_ENV_VAR foo
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>SetEnv</CODE> directive specifies an environment
+variable that should be passed to child processes.</P>
+
+
+<H2 CLASS="title"><A NAME="SSLListen">SSLListen</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
SSLListen 127.0.0.1:443
SSLListen 192.0.2.1:443
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>SSLListen</CODE> directive specifies a network
address and port to listen for secure connections. Multiple
to restrict access to specific interfaces or networks.</P>
-<H3 CLASS="title"><A NAME="SSLPort">SSLPort</A></H3>
+<H2 CLASS="title"><A NAME="SSLPort">SSLPort</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
SSLPort 443
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>SSLPort</CODE> directive specifies a port to listen
on for secure connections. Multiple <CODE>SSLPort</CODE> lines
can be specified to listen on multiple ports.</P>
-<H3 CLASS="title"><A NAME="SystemGroup">SystemGroup</A></H3>
+<H2 CLASS="title"><A NAME="SystemGroup">SystemGroup</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
SystemGroup lpadmin
SystemGroup sys
SystemGroup system
SystemGroup root
+SystemGroup root lpadmin
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>SystemGroup</CODE> directive specifies the system
-administration group for <CODE>System</CODE> authentication.</P>
+administration group for <CODE>System</CODE> authentication.
+Multiple groups can be listed, separated with spaces. The default
+is system-dependent and generally consists of all of the
+following groups, if present: <CODE>lpadmin</CODE>,
+<CODE>root</CODE>, <CODE>sys</CODE>, and/or
+<CODE>system</CODE>.</P>
-<H3 CLASS="title"><A NAME="TempDir">TempDir</A></H3>
+<H2 CLASS="title"><A NAME="TempDir">TempDir</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
TempDir /var/tmp
TempDir /foo/bar/tmp
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>TempDir</CODE> directive specifies an absolute path
for the directory to use for temporary files. The default
</PRE>
-<H3 CLASS="title"><A NAME="Timeout">Timeout</A></H3>
+<H2 CLASS="title"><A NAME="Timeout">Timeout</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
Timeout 300
Timeout 90
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Timeout</CODE> directive controls the amount of time
to wait before an active HTTP or IPP request times out. The
default timeout is 300 seconds.</P>
-<H3 CLASS="title"><A NAME="User">User</A></H3>
+<H2 CLASS="title"><A NAME="User">User</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
User lp
User guest
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>User</CODE> directive specifies the UNIX user that
filter and CGI programs run as. The default user is
<P>While the printer configuration file consists of plain text
and can be modified using your favorite text editor, you should
-normally use the <CODE>lpadmin(8)</CODE> command, web interface,
-or any of the available GUIs to manage your printers instead. If
-you do choose to edit this file manually, you will need to
-restart the scheduler to make them active.</P>
+normally use the <A HREF="man-lpadmin.html">lpadmin(8)</A>
+command, web interface, or any of the available GUIs to manage
+your printers instead. If you do choose to edit this file
+manually, you will need to restart the scheduler to make them
+active.</P>
-<H3 CLASS="title"><A NAME="Accepting">Accepting</A></H3>
+<H2 CLASS="title"><A NAME="Accepting">Accepting</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Accepting yes
-Accepting no
+<Printer name>
+ ...
+ Accepting yes
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Accepting</CODE> directive defines the initial state
of the <VAR>printer-is-accepting-jobs</VAR> attribute. This state
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="AllowUser">AllowUser</A></H3>
+<H2 CLASS="title"><A NAME="AllowUser">AllowUser</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-AllowUser foo_user
-AllowUser @bar_group
+<Printer name>
+ ...
+ AllowUser foo_user
+ AllowUser @bar_group
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>AllowUser</CODE> directive adds a username or group
name to the <VAR>requesting-user-name-allowed</VAR> attribute
HREF="#DenyUser"><CODE>DenyUser</CODE></A>.</P>
-<H3 CLASS="title"><A NAME="DefaultPrinter">DefaultPrinter</A></H3>
+<H2 CLASS="title"><A NAME="DefaultPrinter">DefaultPrinter</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
<DefaultPrinter name>
-...
+ ...
</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>DefaultPrinter</CODE> directive begins a printer
definition as the default server destination. The default server
normally set using the <CODE>lpoptions(1)</CODE> command.</P>
-<H3 CLASS="title"><A NAME="DenyUser">DenyUser</A></H3>
+<H2 CLASS="title"><A NAME="DenyUser">DenyUser</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-DenyUser foo_user
-DenyUser @bar_group
+<Printer name>
+ ...
+ DenyUser foo_user
+ DenyUser @bar_group
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>DenyUser</CODE> directive adds a username or group
name to the <VAR>requesting-user-name-denied</VAR> attribute
HREF="#AllowUser"><CODE>AllowUser</CODE></A></P>
-<H3 CLASS="title"><A NAME="DeviceURI">DeviceURI</A></H3>
+<H2 CLASS="title"><A NAME="DeviceURI">DeviceURI</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-DeviceURI socket://foo.bar.com:9100
+<Printer name>
+ ...
+ DeviceURI socket://foo.bar.com:9100
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>DeviceURI</CODE> directive defines the value of the
<VAR>device-uri-attribute</VAR> attribute. It is normally set
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-ErrorPolicy cancel-job
-ErrorPolicy retry-job
-ErrorPolicy stop-printer
+<Printer name>
+ ...
+ ErrorPolicy cancel-job
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>ErrorPolicy</CODE> directive defines the policy that
is used when a backend is unable to send a print job to the
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="Info">Info</A></H3>
+<H2 CLASS="title"><A NAME="Info">Info</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Info My Printer
+<Printer name>
+ ...
+ Info My Printer
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Info</CODE> directive defines the string for the
<VAR>printer-info</VAR> attribute. It is normally set using the
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="JobSheets">JobSheets</A></H3>
+<H2 CLASS="title"><A NAME="JobSheets">JobSheets</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-JobSheets none,standard
+<Printer name>
+ ...
+ JobSheets none,standard
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>JobSheets</CODE> directive specifies the default
banner pages to print before and after a print job. In the above
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="KLimit">KLimit</A></H3>
+<H2 CLASS="title"><A NAME="KLimit">KLimit</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-KLimit 1234
+<Printer name>
+ ...
+ KLimit 1234
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>KLimit</CODE> directive defines the value of the
<VAR>job-k-limit</VAR> attribute. It is normally set using the
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="Location">Location</A></H3>
+<H2 CLASS="title"><A NAME="Location">Location</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Location Building 3321
+<Printer name>
+ ...
+ Location Building 3321
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Location</CODE> directive defines the string for the
<VAR>printer-location</VAR> attribute. It is normally set using the
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="OpPolicy">OpPolicy</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="OpPolicy">OpPolicy</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-OpPolicy default
-OpPolicy mypolicy
+<Printer name>
+ ...
+ OpPolicy default
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>OpPolicy</CODE> directive sets the operation policy
that is used for the printer. The <CODE>lpadmin(8)</CODE> command
<P>The default policy is named "default". All policies correspond
to those defined using the <VAR>cupsd.conf</VAR> <A
HREF="ref-cupsd-conf.html#Policy"><CODE>Policy</CODE></A>
-directive.</P>
+section.</P>
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="PageLimit">PageLimit</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="Option">Option</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-PageLimit 1234
+<Printer name>
+ ...
+ Option name value
+ Option scaling 100
+ Option page-left 72
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
+
+<P>The <CODE>Option</CODE> directive specifies a default job
+template attribute value. It is mapped to
+<CODE>name-default</CODE> in the printer attributes and applied
+to jobs as <CODE>name</CODE>.</P>
+
+<P>This directive must appear inside a <A
+HREF="#Printer"><CODE>Printer</CODE></A> or <A
+HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
+section.</P>
+
+
+<H2 CLASS="title"><A NAME="PageLimit">PageLimit</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Printer name>
+ ...
+ PageLimit 1234
+</Printer>
+</PRE>
+
+<H3>Description</H3>
<P>The <CODE>PageLimit</CODE> directive defines the value of the
<VAR>job-page-limit</VAR> attribute. It can be set using the
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="PortMonitor">PortMonitor</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="PortMonitor">PortMonitor</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-PortMonitor bcp
-PortMonitor none
-PortMonitor tbcp
+<Printer name>
+ ...
+ PortMonitor bcp
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>PortMonitor</CODE> directive sets the filter program that
is used for every print job, typically to encode or package the print
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="Printer">Printer</A></H3>
+<H2 CLASS="title"><A NAME="Printer">Printer</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
<Printer name>
-...
+ ...
</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Printer</CODE> directive begins a printer
definition. Printers are added using the <CODE>lpadmin(8)</CODE>
</PRE>
-<H3 CLASS="title"><A NAME="QuotaPeriod">QuotaPeriod</A></H3>
+<H2 CLASS="title"><A NAME="QuotaPeriod">QuotaPeriod</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-QuotaPeriod 604800
+<Printer name>
+ ...
+ QuotaPeriod 604800
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>QuotaPeriod</CODE> directive defines the value of
the <VAR>job-quota-period</VAR> attribute. Typical values are
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="Shared">Shared</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="Shared">Shared</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-Shared yes
-Shared no
+<Printer name>
+ ...
+ Shared yes
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>Shared</CODE> directive defines the initial value of
the <VAR>printer-is-shared</VAR> attribute. The strings
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="State">State</A></H3>
+<H2 CLASS="title"><A NAME="State">State</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-State idle
-State stopped
+<Printer name>
+ ...
+ State idle
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>State</CODE> directive defines the initial value of
the <VAR>printer-state</VAR> attribute. The strings
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><A NAME="StateMessage">StateMessage</A></H3>
+<H2 CLASS="title"><A NAME="StateMessage">StateMessage</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-StateMessage Ready to print.
+<Printer name>
+ ...
+ StateMessage Ready to print.
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>StateMessage</CODE> directive defines the initial
string for the <VAR>printer-state-message</VAR> attribute. The
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
-<H3 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="StateTime">StateTime</A></H3>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2</SPAN><A NAME="StateTime">StateTime</A></H2>
-<H4>Examples</H4>
+<H3>Examples</H3>
<PRE CLASS="command">
-StateTime 1133542425
+<Printer name>
+ ...
+ StateTime 1133542425
+</Printer>
</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
<P>The <CODE>StateTime</CODE> directive defines the UNIX time
(seconds since Jan 1, 1970) for the last state change of the
<P>This directive must appear inside a <A
HREF="#Printer"><CODE>Printer</CODE></A> or <A
HREF="#DefaultPrinter"><CODE>DefaultPrinter</CODE></A>
-directive.</P>
+section.</P>
</BODY>
</HEAD>
<BODY>
-<P>The CUPS scheduler (cupsd) uses the <VAR>/etc/cups/subscriptions.conf</VAR> file
-to store the list of active subscriptions. This file contains only locally defined
-classes, but not remote or implicit classes that are created automatically.
-Each directive is listed on a line by itself followed by its value.
-Comments are introduced using the number sign ("#") character at the beginning of a line.
+<P>The CUPS scheduler (cupsd) uses the
+<VAR>/etc/cups/subscriptions.conf</VAR> file to store the list
+of active subscriptions. Each directive is listed on a line by
+itself followed by its value. Comments are introduced using the
+number sign ("#") character at the beginning of a line.
-<P>Since the classes configuration file consists of plain text, you can
-use your favorite text editor to make changes to it.
+<P>While the subscriptions configuration file consists of plain
+text and can be modified using your favorite text editor, you
+should normally use the command-line programs (<A
+HREF="man-lp.html">lp(1)</A> and <A
+HREF="man-lpr.html">lpr(1)</A>) or specific applications via IPP
+requests to manage your subscriptions.</P>
-<P>The <VAR>subscription.conf</VAR> file contains many directives that
-determine how the subscriptions behave:</P>
+<H2 CLASS="title"><A NAME="Events">Events</A></H2>
-<P ALIGN="CENTER">
-<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0">
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ Events job-completed
+</Subscription>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>Events</CODE> directive lists the events, separated
+by spaces, that the subscriber is interested in. Table 1 lists
+the supported event names.</P>
+
+<P>The <CODE>Events</CODE> directive must appear inside a <A
+HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
+
+<DIV CLASS="table"><TABLE SUMMARY="Event Names">
+<CAPTION>Table 1: <A NAME="TABLE1">Event Names</A></CAPTION>
+<THEAD>
+<TR>
+ <TH>Name</TH>
+ <TH>Description</TH>
+</TR>
+</THEAD>
+<TBODY>
+<TR>
+ <TD>all</TD>
+ <TD>All events</TD>
+</TR>
+<TR>
+ <TD>job-completed</TD>
+ <TD>Send notification when the job is completed</TD>
+</TR>
+<TR>
+ <TD>job-config-changed</TD>
+ <TD>Send notification when the job is changed</TD>
+</TR>
+<TR>
+ <TD>job-created</TD>
+ <TD>Send notification when a job is created</TD>
+</TR>
+<TR>
+ <TD>job-progress</TD>
+ <TD>Send notification for job progress</TD>
+</TR>
+<TR>
+ <TD>job-state-changed</TD>
+ <TD>Send notification when the job-state changes</TD>
+</TR>
+<TR>
+ <TD>job-stopped</TD>
+ <TD>Send notification when the job is stopped</TD>
+</TR>
+<TR>
+ <TD>printer-added</TD>
+ <TD>Send notification when a printer is added</TD>
+</TR>
+<TR>
+ <TD>printer-changed</TD>
+ <TD>Send notification when a printer is changed</TD>
+</TR>
+<TR>
+ <TD>printer-config-changed</TD>
+ <TD>Send notification when a printer's configuration is changed</TD>
+</TR>
<TR>
-<TD VALIGN="TOP">
+ <TD>printer-deleted</TD>
+ <TD>Send notification when a printer is deleted</TD>
+</TR>
+<TR>
+ <TD>printer-modified</TD>
+ <TD>Send notification when a printer is modified</TD>
+</TR>
+<TR>
+ <TD>printer-state-changed</TD>
+ <TD>Send notification when the printer-state changes</TD>
+</TR>
+<TR>
+ <TD>printer-stopped</TD>
+ <TD>Send notification when a printer is stopped</TD>
+</TR>
+<TR>
+ <TD>server-audit</TD>
+ <TD>Send notification when a bad request, security error, or
+ authentication error occurs</TD>
+</TR>
+<TR>
+ <TD>server-restarted</TD>
+ <TD>Send notification when the server is restarted</TD>
+</TR>
+<TR>
+ <TD>server-started</TD>
+ <TD>Send notification when the server is initially started</TD>
+</TR>
+<TR>
+ <TD>server-stopped</TD>
+ <TD>Send notification when the server is shutdown</TD>
+</TR>
+</TBODY>
+</TABLE></DIV>
- <LI><A HREF="#ClassAccepting"><CODE>Accepting</CODE></A>
- <LI><A HREF="#ClassAllowUser"><CODE>AllowUser</CODE></A>
- <LI><A HREF="#Class"><CODE>Class</CODE></A>
- <LI><A HREF="#DefaultClass"><CODE>DefaultClass</CODE></A>
- <LI><A HREF="#ClassDenyUser"><CODE>DenyUser</CODE></A>
-</TD>
-<TD VALIGN="TOP">
-
-</TD>
-<TD VALIGN="TOP">
+<H2 CLASS="title"><A NAME="ExpirationTime">ExpirationTime</A></H2>
- <LI><A HREF="#ClassInfo"><CODE>Info</CODE></A>
- <LI><A HREF="#ClassJobSheets"><CODE>JobSheets</CODE></A>
- <LI><A HREF="#ClassKLimit"><CODE>KLimit</CODE></A>
- <LI><A HREF="#ClassLocation"><CODE>Location</CODE></A>
- <LI><A HREF="#ClassPageLimit"><CODE>PageLimit</CODE></A>
+<H3>Examples</H3>
-</TD>
-<TD VALIGN="TOP">
-
-</TD>
-<TD VALIGN="TOP">
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ ExpirationTime 1012563145
+</Subscription>
+</PRE>
- <LI><A HREF="#ClassPrinter"><CODE>Printer</CODE></A>
- <LI><A HREF="#ClassQuotaPeriod"><CODE>QuotaPeriod</CODE></A>
- <LI><A HREF="#ClassState"><CODE>State</CODE></A>
- <LI><A HREF="#ClassStateMessage"><CODE>StateMessage</CODE></A>
+<H3>Description</H3>
-</TD>
-</TR>
-</TABLE>
-</P>
+<P>The <CODE>ExpirationTime</CODE> directive specifies the
+expiration time of the subscription as a UNIX time value. It is 0
+for subscriptions with no predefined expiration time.</P>
+
+<P>The <CODE>ExpirationTime</CODE> directive must appear inside a
+<A HREF="#Subscription"><CODE>Subscription</CODE></A>
+section.</P>
+
+
+<H2 CLASS="title"><A NAME="Interval">Interval</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ Interval 30
+</Subscription>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>Interval</CODE> directive specifies the preferred
+time interval for event notifications in seconds.</P>
+
+<P>The <CODE>Interval</CODE> directive must appear inside a <A
+HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
+
+
+<H2 CLASS="title"><A NAME="JobId">JobId</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ JobId 123
+</Subscription>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>JobId</CODE> directive specifies the
+<CODE>job-id</CODE> for job subscriptions.</P>
+
+<P>The <CODE>JobId</CODE> directive must appear inside a <A
+HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
+
+
+<H2 CLASS="title"><A NAME="LeaseDuration">LeaseDuration</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ LeaseDuration
+</Subscription>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>LeaseDuration</CODE> directive specifies the number
+of seconds that the subscription is valid. A value of 0 means
+that the subscription will last forever or the life of the print
+job the subscription is attached to.</P>
+
+<P>The <CODE>LeaseDuration</CODE> directive must appear inside a <A
+HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
+
+
+<H2 CLASS="title"><A NAME="NextEventId">NextEventId</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ NextEventId 999
+</Subscription>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>NextEventId</CODE> directive specifies the
+<CODE>notify-sequence-number</CODE> value for the next
+notification event. It starts at 1 and increases for every event
+that is delivered for the subscription.</P>
+
+<P>The <CODE>NextEventId</CODE> directive must appear inside a <A
+HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
+
+
+<H2 CLASS="title"><A NAME="NextSubscriptionId">NextSubscriptionId</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+NextSubscriptionId 999
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>NextSubscriptionId</CODE> directive specifies the
+next subscription ID to use. It defaults to 1 more than the
+highest subscription number seen.</P>
+
+
+<H2 CLASS="title"><A NAME="Owner">Owner</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ Owner username
+</Subscription>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>Owner</CODE> directive specifies the user that owns
+this subscription.</P>
+
+<P>The <CODE>Owner</CODE> directive must appear inside a <A
+HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
+
+
+<H2 CLASS="title"><A NAME="PrinterName">PrinterName</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ PrinterName name
+</Subscription>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>PrinterName</CODE> directive specifies the name of
+the printer or class that is associated with this
+subscription.</P>
+
+<P>The <CODE>PrinterName</CODE> directive must appear inside a <A
+HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
+
+
+<H2 CLASS="title"><A NAME="Recipient">Recipient</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ Recipient mailto:foo@domain.com
+</Subscription>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>Recipient</CODE> directive specifies the
+<CODE>notify-recipient-uri</CODE> value for push-type
+notifications. The URI scheme name determines which notifier
+program is used to send the event(s).</P>
+
+<P>The <CODE>Recipient</CODE> directive must appear inside a <A
+HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
+
+
+<H2 CLASS="title"><A NAME="Subscription">Subscription</A></H2>
+
+<H3>Examples</H3>
+
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+</Subscription>
+</PRE>
+
+<H3>Description</H3>
+
+<P>The <CODE>Subscription</CODE> section defines a single
+subscription in the system. Each subscription is assigned a
+unique (to the server) number starting at 1.</P>
-<!-- HALF PAGE -->
-<H3><A NAME="ClassAccepting">Accepting</A></H3>
-<HR>
-<H4>Examples</H4>
+<H2 CLASS="title"><A NAME="UserData">UserData</A></H2>
-<UL><PRE>
-Accepting yes
+<H3>Examples</H3>
-Accepting no
-</PRE></UL>
+<PRE CLASS="command">
+<Subscription NNN>
+ ...
+ UserData mailto:bar<40>domain.com
+</Subscription>
+</PRE>
-<H4>Description</H4>
+<H3>Description</H3>
-<P>The <CODE>Accepting</CODE> directive defines the initial Boolean
-value for the <VAR>printer-is-accepting-job</VAR> attribute which can
-be set by the <CODE>accept</CODE> and <CODE>reject</CODE> commands.
+<P>The <CODE>UserData</CODE> directive specifies the
+<CODE>notify-user-data</CODE> value, which is normally the "from"
+address used in <CODE>mailto</CODE> notifications. Binary values
+are introduced by encoding the bytes as hexadecimal values inside
+angle brackets, e.g. "<1234>".</P>
-<P>This directive must appear inside a <A HREF="#Class"><CODE>Class</CODE></A>
-or <A HREF="#DefaultClass"><CODE>DefaultClass</CODE></A> directive.
+<P>The <CODE>UserData</CODE> directive must appear inside a <A
+HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
</BODY>
</HTML>
<H3><A NAME="SETTINGS">Settings</A></H3>
-<DIV CLASS="table"><TABLE WIDTH="80%">
+<DIV CLASS="table"><TABLE SUMMARY="Default Values">
+<CAPTION>Table 1: Default Values</CAPTION>
<TR>
<TH>Directive</TH>
<TH>Value</TH>
<H2 CLASS="title"><A NAME="DIRECTORIES">Directories</A></H2>
-<DIV CLASS="table"><TABLE WIDTH="80%">
+<DIV CLASS="table"><TABLE SUMMARY="Directories">
+<CAPTION>Table 2: Directories</CAPTION>
<TR>
<TH>Directory</TH>
<TH>Purpose</TH>
</OL></DD>
+ <DT>Scripting Support</DT>
+ <DD><OL START="93">
+
+ <LI><EM>PHP Bindings;</EM> The PHP language
+ bindings have been revamped to be more consistent
+ with the CUPS API and are now officially
+ supported and installed by default if you have
+ PHP installed on your system</LI>
+
+ </OL></DD>
+
</DL>
</BODY>
msgstr ""
"Project-Id-Version: CUPS 1.2\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2006-03-05 22:39-0500\n"
+"POT-Creation-Date: 2006-03-09 19:42-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgi-bin/admin.c:1276 cgi-bin/admin.c:1154 cgi-bin/admin.c:1195
+#: cgi-bin/admin.c:1203
msgid "Options Installed"
msgstr ""
#: cups/ppd.c:656 cups/ppd.c:881 cups/ppd.c:1047 cups/ppd.c:662 cups/ppd.c:996
#: cups/ppd.c:1169 cups/ppd.c:651 cups/ppd.c:983 cups/ppd.c:1148
-#: cups/ppd.c:972 cups/ppd.c:1137
+#: cups/ppd.c:972 cups/ppd.c:1137 cups/ppd.c:646 cups/ppd.c:973
+#: cups/ppd.c:1138
msgid "General"
msgstr ""
#: cups/ppd.c:704 cups/ppd.c:1105 cups/ppd.c:710 cups/ppd.c:1224
-#: cups/ppd.c:697 cups/ppd.c:1201 cups/ppd.c:1190
+#: cups/ppd.c:697 cups/ppd.c:1201 cups/ppd.c:1190 cups/ppd.c:692
+#: cups/ppd.c:1191
msgid "Media Size"
msgstr ""
#: cups/ppd.c:706 cups/ppd.c:1107 cups/ppd.c:712 cups/ppd.c:1226
-#: cups/ppd.c:699 cups/ppd.c:1203 cups/ppd.c:1192
+#: cups/ppd.c:699 cups/ppd.c:1203 cups/ppd.c:1192 cups/ppd.c:694
+#: cups/ppd.c:1193
msgid "Media Type"
msgstr ""
#: cups/ppd.c:708 cups/ppd.c:1109 cups/ppd.c:714 cups/ppd.c:1228
-#: cups/ppd.c:701 cups/ppd.c:1205 cups/ppd.c:1194
+#: cups/ppd.c:701 cups/ppd.c:1205 cups/ppd.c:1194 cups/ppd.c:696
+#: cups/ppd.c:1195
msgid "Media Source"
msgstr ""
#: cups/ppd.c:710 cups/ppd.c:1111 cups/ppd.c:716 cups/ppd.c:1230
-#: cups/ppd.c:703 cups/ppd.c:1207 cups/ppd.c:1196
+#: cups/ppd.c:703 cups/ppd.c:1207 cups/ppd.c:1196 cups/ppd.c:698
+#: cups/ppd.c:1197
msgid "Output Mode"
msgstr ""
#: cups/ppd.c:712 cups/ppd.c:1113 cups/ppd.c:718 cups/ppd.c:1232
-#: cups/ppd.c:705 cups/ppd.c:1209 cups/ppd.c:1198
+#: cups/ppd.c:705 cups/ppd.c:1209 cups/ppd.c:1198 cups/ppd.c:700
+#: cups/ppd.c:1199
msgid "Resolution"
msgstr ""
msgstr ""
#: cups/ppd.c:1535 cups/ppd.c:1650 cups/ppd.c:1627 cups/ppd.c:1616
+#: cups/ppd.c:1622
msgid "Yes"
msgstr ""
#: cups/ppd.c:1537 cups/ppd.c:1652 cups/ppd.c:1629 cups/ppd.c:1618
+#: cups/ppd.c:1624
msgid "No"
msgstr ""
" lppasswd [-g groupname] -x [username]\n"
msgstr ""
-#: cgi-bin/admin.c:125 cgi-bin/admin.c:142
+#: cgi-bin/admin.c:125 cgi-bin/admin.c:142 cgi-bin/admin.c:143
msgid "Start Printer"
msgstr ""
-#: cgi-bin/admin.c:127 cgi-bin/admin.c:144
+#: cgi-bin/admin.c:127 cgi-bin/admin.c:144 cgi-bin/admin.c:145
msgid "Stop Printer"
msgstr ""
-#: cgi-bin/admin.c:129 cgi-bin/admin.c:146
+#: cgi-bin/admin.c:129 cgi-bin/admin.c:146 cgi-bin/admin.c:147
msgid "Start Class"
msgstr ""
-#: cgi-bin/admin.c:131 cgi-bin/admin.c:148
+#: cgi-bin/admin.c:131 cgi-bin/admin.c:148 cgi-bin/admin.c:149
msgid "Stop Class"
msgstr ""
-#: cgi-bin/admin.c:133 cgi-bin/admin.c:150
+#: cgi-bin/admin.c:133 cgi-bin/admin.c:150 cgi-bin/admin.c:151
msgid "Accept Jobs"
msgstr ""
-#: cgi-bin/admin.c:135 cgi-bin/admin.c:152
+#: cgi-bin/admin.c:135 cgi-bin/admin.c:152 cgi-bin/admin.c:153
msgid "Reject Jobs"
msgstr ""
-#: cgi-bin/admin.c:137 cgi-bin/admin.c:154
+#: cgi-bin/admin.c:137 cgi-bin/admin.c:154 cgi-bin/admin.c:155
msgid "Purge Jobs"
msgstr ""
-#: cgi-bin/admin.c:141 cgi-bin/admin.c:158
+#: cgi-bin/admin.c:141 cgi-bin/admin.c:158 cgi-bin/admin.c:159
msgid "Set As Default"
msgstr ""
#: cgi-bin/admin.c:168 cgi-bin/admin.c:179 cgi-bin/admin.c:2690
#: cgi-bin/admin.c:185 cgi-bin/admin.c:196 cgi-bin/admin.c:2734
+#: cgi-bin/admin.c:186 cgi-bin/admin.c:197 cgi-bin/admin.c:2377
msgid "Administration"
msgstr ""
-#: cgi-bin/admin.c:224 cgi-bin/admin.c:241
+#: cgi-bin/admin.c:224 cgi-bin/admin.c:241 cgi-bin/admin.c:242
msgid "Modify Class"
msgstr ""
-#: cgi-bin/admin.c:224 cgi-bin/admin.c:241
+#: cgi-bin/admin.c:224 cgi-bin/admin.c:241 cgi-bin/admin.c:242
msgid "Add Class"
msgstr ""
-#: cgi-bin/admin.c:385 cgi-bin/admin.c:402
+#: cgi-bin/admin.c:385 cgi-bin/admin.c:402 cgi-bin/admin.c:404
msgid "The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
msgstr ""
-#: cgi-bin/admin.c:444 cgi-bin/admin.c:462
+#: cgi-bin/admin.c:444 cgi-bin/admin.c:462 cgi-bin/admin.c:464
msgid "Unable to modify class:"
msgstr ""
-#: cgi-bin/admin.c:445 cgi-bin/admin.c:463
+#: cgi-bin/admin.c:445 cgi-bin/admin.c:463 cgi-bin/admin.c:465
msgid "Unable to add class:"
msgstr ""
-#: cgi-bin/admin.c:514 cgi-bin/admin.c:532
+#: cgi-bin/admin.c:514 cgi-bin/admin.c:532 cgi-bin/admin.c:534
msgid "Modify Printer"
msgstr ""
-#: cgi-bin/admin.c:514 cgi-bin/admin.c:532
+#: cgi-bin/admin.c:514 cgi-bin/admin.c:532 cgi-bin/admin.c:534
msgid "Add Printer"
msgstr ""
-#: cgi-bin/admin.c:583 cgi-bin/admin.c:602
+#: cgi-bin/admin.c:583 cgi-bin/admin.c:602 cgi-bin/admin.c:604
msgid "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
msgstr ""
-#: cgi-bin/admin.c:900 cgi-bin/admin.c:930
+#: cgi-bin/admin.c:900 cgi-bin/admin.c:930 cgi-bin/admin.c:932
msgid "Unable to get list of printer drivers:"
msgstr ""
-#: cgi-bin/admin.c:983 cgi-bin/admin.c:1014
+#: cgi-bin/admin.c:983 cgi-bin/admin.c:1014 cgi-bin/admin.c:1016
msgid "Unable to modify printer:"
msgstr ""
-#: cgi-bin/admin.c:984 cgi-bin/admin.c:1015
+#: cgi-bin/admin.c:984 cgi-bin/admin.c:1015 cgi-bin/admin.c:1017
msgid "Unable to add printer:"
msgstr ""
-#: cgi-bin/admin.c:1051 cgi-bin/admin.c:1082
+#: cgi-bin/admin.c:1051 cgi-bin/admin.c:1082 cgi-bin/admin.c:1084
msgid "Set Printer Options"
msgstr ""
#: cgi-bin/admin.c:3112 cgi-bin/admin.c:3213 cgi-bin/admin.c:3449
#: cgi-bin/admin.c:1095 cgi-bin/admin.c:2374 cgi-bin/admin.c:2435
#: cgi-bin/admin.c:3156 cgi-bin/admin.c:3258 cgi-bin/admin.c:3496
+#: cgi-bin/admin.c:1097 cgi-bin/admin.c:1846 cgi-bin/admin.c:1907
+#: cgi-bin/admin.c:2405 cgi-bin/admin.c:2507 cgi-bin/admin.c:2745
msgid "Missing form variable!"
msgstr ""
-#: cgi-bin/admin.c:1076 cgi-bin/admin.c:1113
+#: cgi-bin/admin.c:1076 cgi-bin/admin.c:1113 cgi-bin/admin.c:1115
msgid "Unable to get PPD file!"
msgstr ""
-#: cgi-bin/admin.c:1084 cgi-bin/admin.c:1123
+#: cgi-bin/admin.c:1084 cgi-bin/admin.c:1123 cgi-bin/admin.c:1125
msgid "Unable to open PPD file:"
msgstr ""
-#: cgi-bin/admin.c:1241 cgi-bin/admin.c:1282
+#: cgi-bin/admin.c:1241 cgi-bin/admin.c:1282 cgi-bin/admin.c:1290
msgid "Banners"
msgstr ""
-#: cgi-bin/admin.c:1255 cgi-bin/admin.c:1296
+#: cgi-bin/admin.c:1255 cgi-bin/admin.c:1296 cgi-bin/admin.c:1304
msgid "Starting Banner"
msgstr ""
-#: cgi-bin/admin.c:1262 cgi-bin/admin.c:1303
+#: cgi-bin/admin.c:1262 cgi-bin/admin.c:1303 cgi-bin/admin.c:1311
msgid "Ending Banner"
msgstr ""
-#: cgi-bin/admin.c:1280 cgi-bin/admin.c:1321
+#: cgi-bin/admin.c:1280 cgi-bin/admin.c:1321 cgi-bin/admin.c:1329
msgid "Policies"
msgstr ""
-#: cgi-bin/admin.c:1304 cgi-bin/admin.c:1345
+#: cgi-bin/admin.c:1304 cgi-bin/admin.c:1345 cgi-bin/admin.c:1353
msgid "Error Policy"
msgstr ""
-#: cgi-bin/admin.c:1331 cgi-bin/admin.c:1372
+#: cgi-bin/admin.c:1331 cgi-bin/admin.c:1372 cgi-bin/admin.c:1380
msgid "Operation Policy"
msgstr ""
#: cgi-bin/admin.c:1352 cgi-bin/admin.c:1372 cgi-bin/admin.c:1393
-#: cgi-bin/admin.c:1413
+#: cgi-bin/admin.c:1413 cgi-bin/admin.c:1401 cgi-bin/admin.c:1421
msgid "PS Binary Protocol"
msgstr ""
-#: cgi-bin/admin.c:1358 cgi-bin/admin.c:1399
+#: cgi-bin/admin.c:1358 cgi-bin/admin.c:1399 cgi-bin/admin.c:1407
msgid "None"
msgstr ""
-#: cgi-bin/admin.c:1490 cgi-bin/admin.c:1534
+#: cgi-bin/admin.c:1490 cgi-bin/admin.c:1534 cgi-bin/admin.c:1542
msgid "Unable to set options:"
msgstr ""
#: cgi-bin/admin.c:1591 cgi-bin/admin.c:1607 cgi-bin/admin.c:1620
#: cgi-bin/admin.c:2099 cgi-bin/admin.c:2106 cgi-bin/admin.c:1635
#: cgi-bin/admin.c:1651 cgi-bin/admin.c:1664 cgi-bin/admin.c:2143
-#: cgi-bin/admin.c:2150
+#: cgi-bin/admin.c:2150 cgi-bin/admin.c:1609 cgi-bin/admin.c:1618
msgid "Change Settings"
msgstr ""
#: cgi-bin/admin.c:1592 cgi-bin/admin.c:1608 cgi-bin/admin.c:1621
#: cgi-bin/admin.c:1636 cgi-bin/admin.c:1652 cgi-bin/admin.c:1665
+#: cgi-bin/admin.c:1611
msgid "Unable to change server settings:"
msgstr ""
#: cgi-bin/admin.c:2097 cgi-bin/admin.c:2190 cgi-bin/admin.c:2141
-#: cgi-bin/admin.c:2234
+#: cgi-bin/admin.c:2234 cgi-bin/admin.c:1703
msgid "Unable to upload cupsd.conf file:"
msgstr ""
#: cgi-bin/admin.c:2200 cgi-bin/admin.c:2232 cgi-bin/admin.c:2244
#: cgi-bin/admin.c:2267 cgi-bin/admin.c:2178 cgi-bin/admin.c:2190
#: cgi-bin/admin.c:2237 cgi-bin/admin.c:2276 cgi-bin/admin.c:2288
-#: cgi-bin/admin.c:2311
+#: cgi-bin/admin.c:2311 cgi-bin/admin.c:1646 cgi-bin/admin.c:1658
+#: cgi-bin/admin.c:1706 cgi-bin/admin.c:1713 cgi-bin/admin.c:1745
+#: cgi-bin/admin.c:1758 cgi-bin/admin.c:1782
msgid "Edit Configuration File"
msgstr ""
#: cgi-bin/admin.c:2135 cgi-bin/admin.c:2147 cgi-bin/admin.c:2179
#: cgi-bin/admin.c:2191 cgi-bin/printers.c:219 cgi-bin/printers.c:224
+#: cgi-bin/admin.c:1647 cgi-bin/admin.c:1659
msgid "Unable to create temporary file:"
msgstr ""
#: cgi-bin/admin.c:2233 cgi-bin/admin.c:2245 cgi-bin/admin.c:2268
#: cgi-bin/admin.c:2277 cgi-bin/admin.c:2289 cgi-bin/admin.c:2312
+#: cgi-bin/admin.c:1747 cgi-bin/admin.c:1760 cgi-bin/admin.c:1784
msgid "Unable to access cupsd.conf file:"
msgstr ""
-#: cgi-bin/admin.c:2247 cgi-bin/admin.c:2291
+#: cgi-bin/admin.c:2247 cgi-bin/admin.c:2291 cgi-bin/admin.c:1762
msgid "Unable to edit cupsd.conf files larger than 1MB!"
msgstr ""
-#: cgi-bin/admin.c:2316 cgi-bin/admin.c:2360
+#: cgi-bin/admin.c:2316 cgi-bin/admin.c:2360 cgi-bin/admin.c:1832
msgid "Delete Class"
msgstr ""
-#: cgi-bin/admin.c:2357 cgi-bin/admin.c:2401
+#: cgi-bin/admin.c:2357 cgi-bin/admin.c:2401 cgi-bin/admin.c:1873
msgid "Unable to delete class:"
msgstr ""
-#: cgi-bin/admin.c:2377 cgi-bin/admin.c:2421
+#: cgi-bin/admin.c:2377 cgi-bin/admin.c:2421 cgi-bin/admin.c:1893
msgid "Delete Printer"
msgstr ""
-#: cgi-bin/admin.c:2418 cgi-bin/admin.c:2462
+#: cgi-bin/admin.c:2418 cgi-bin/admin.c:2462 cgi-bin/admin.c:1934
msgid "Unable to delete printer:"
msgstr ""
-#: cgi-bin/admin.c:2447 cgi-bin/admin.c:2491
+#: cgi-bin/admin.c:2447 cgi-bin/admin.c:2491 cgi-bin/admin.c:2053
+#: cgi-bin/admin.c:2072
msgid "Export Printers to Samba"
msgstr ""
msgid "cupsaddsmb crashed on signal %d"
msgstr ""
-#: cgi-bin/admin.c:2608 cgi-bin/admin.c:2652
+#: cgi-bin/admin.c:2608 cgi-bin/admin.c:2652 cgi-bin/admin.c:2061
msgid "A Samba username is required to export printer drivers!"
msgstr ""
-#: cgi-bin/admin.c:2612 cgi-bin/admin.c:2656
+#: cgi-bin/admin.c:2612 cgi-bin/admin.c:2656 cgi-bin/admin.c:2065
msgid "A Samba password is required to export printer drivers!"
msgstr ""
-#: cgi-bin/admin.c:2704 cgi-bin/admin.c:2748
+#: cgi-bin/admin.c:2704 cgi-bin/admin.c:2748 cgi-bin/admin.c:2102
msgid "Unable to open cupsd.conf file:"
msgstr ""
#: cgi-bin/admin.c:3144 cgi-bin/admin.c:3400 cgi-bin/admin.c:3189
-#: cgi-bin/admin.c:3447
+#: cgi-bin/admin.c:3447 cgi-bin/admin.c:2438 cgi-bin/admin.c:2696
msgid "Unable to change printer:"
msgstr ""
#: cgi-bin/admin.c:3214 cgi-bin/admin.c:3259 cgi-bin/admin.c:3399
#: cgi-bin/admin.c:3417 cgi-bin/admin.c:3305 cgi-bin/admin.c:3446
-#: cgi-bin/admin.c:3464
+#: cgi-bin/admin.c:3464 cgi-bin/admin.c:2508 cgi-bin/admin.c:2554
+#: cgi-bin/admin.c:2695 cgi-bin/admin.c:2713
msgid "Set Allowed Users"
msgstr ""
-#: cgi-bin/admin.c:3262 cgi-bin/admin.c:3308
+#: cgi-bin/admin.c:3262 cgi-bin/admin.c:3308 cgi-bin/admin.c:2557
msgid "Unable to get printer attributes:"
msgstr ""
#: cgi-bin/admin.c:3450 cgi-bin/admin.c:3488 cgi-bin/admin.c:3506
#: cgi-bin/admin.c:3497 cgi-bin/admin.c:3536 cgi-bin/admin.c:3554
+#: cgi-bin/admin.c:2746 cgi-bin/admin.c:2785 cgi-bin/admin.c:2803
msgid "Set Publishing"
msgstr ""
-#: cgi-bin/admin.c:3489 cgi-bin/admin.c:3537
+#: cgi-bin/admin.c:3489 cgi-bin/admin.c:3537 cgi-bin/admin.c:2786
msgid "Unable to change printer-is-shared attribute:"
msgstr ""
msgid "Unknown"
msgstr ""
-#: cups/ppd.c:1033 cups/ppd.c:1020 cups/ppd.c:1009
+#: cups/ppd.c:1033 cups/ppd.c:1020 cups/ppd.c:1009 cups/ppd.c:1010
msgid "Custom"
msgstr ""
-#: cups/ppd.c:1259 cups/ppd.c:1236 cups/ppd.c:1225
+#: cups/ppd.c:1259 cups/ppd.c:1236 cups/ppd.c:1225 cups/ppd.c:1226
msgid "JCL"
msgstr ""
msgid "Running command: %s %s -N -U '%s%%%s' -c '%s'\n"
msgstr ""
-#: systemv/cupsaddsmb.c:479 cups/adminutil.c:656
+#: systemv/cupsaddsmb.c:479 cups/adminutil.c:656 cups/adminutil.c:1683
#, c-format
msgid "cupsaddsmb: Unable to run \"%s\": %s\n"
msgstr ""
msgid "Help"
msgstr ""
-#: cups/adminutil.c:233
+#: cups/adminutil.c:233 cups/adminutil.c:246
#, c-format
msgid "Missing value on line %d!\n"
msgstr ""
-#: cups/adminutil.c:249
+#: cups/adminutil.c:249 cups/adminutil.c:265
#, c-format
msgid "Missing double quote on line %d!\n"
msgstr ""
-#: cups/adminutil.c:266
+#: cups/adminutil.c:266 cups/adminutil.c:284
#, c-format
msgid "Bad option + choice on line %d!\n"
msgstr ""
msgid "Warning, no Windows 2000 printer drivers are installed!\n"
msgstr ""
-#: cups/adminutil.c:568
+#: cups/adminutil.c:568 cups/adminutil.c:658
#, c-format
msgid "Unable to set Windows printer driver (%d)!\n"
msgstr ""
" -v Be verbose (show commands)\n"
msgstr ""
+#: cups/adminutil.c:464
+#, c-format
+msgid "Unable to copy Windows 2000 printer driver files (%d)!"
+msgstr ""
+
+#: cups/adminutil.c:499
+#, c-format
+msgid "Unable to copy CUPS printer driver files (%d)!"
+msgstr ""
+
+#: cups/adminutil.c:542
+#, c-format
+msgid "Unable to install Windows 2000 printer driver files (%d)!"
+msgstr ""
+
+#: cups/adminutil.c:583
+#, c-format
+msgid "Unable to copy Windows 9x printer driver files (%d)!"
+msgstr ""
+
+#: cups/adminutil.c:612
+#, c-format
+msgid "Unable to install Windows 9x printer driver files (%d)!"
+msgstr ""
+
+#: cups/adminutil.c:631
+msgid "No Windows printer drivers are installed!"
+msgstr ""
+
+#: cups/adminutil.c:636
+msgid "Warning, no Windows 2000 printer drivers are installed!"
+msgstr ""
+
+#: cups/adminutil.c:736
+#, c-format
+msgid "open of %s failed: %s"
+msgstr ""
+
+#: cups/adminutil.c:1653
+#, c-format
+msgid "Running command: %s %s -N -A %s -c '%s'\n"
+msgstr ""
+
+#: cups/adminutil.c:1750
+#, c-format
+msgid "stat of %s failed: %s"
+msgstr ""
+
#
# End of "$Id$".
msgstr ""
"Project-Id-Version: CUPS 1.2\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2006-03-05 22:39-0500\n"
+"POT-Creation-Date: 2006-03-09 19:42-0500\n"
"PO-Revision-Date: 2006-02-17 11:17+0900\n"
"Last-Translator: Kenshi Muto <kmuto@debian.org>\n"
"Language-Team: Japanese <LL@li.org>\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgi-bin/admin.c:1276 cgi-bin/admin.c:1154 cgi-bin/admin.c:1195
+#: cgi-bin/admin.c:1203
msgid "Options Installed"
msgstr "インストールされたオプション"
#: cups/ppd.c:656 cups/ppd.c:881 cups/ppd.c:1047 cups/ppd.c:662 cups/ppd.c:996
#: cups/ppd.c:1169 cups/ppd.c:651 cups/ppd.c:983 cups/ppd.c:1148
-#: cups/ppd.c:972 cups/ppd.c:1137
+#: cups/ppd.c:972 cups/ppd.c:1137 cups/ppd.c:646 cups/ppd.c:973
+#: cups/ppd.c:1138
msgid "General"
msgstr "一般"
#: cups/ppd.c:704 cups/ppd.c:1105 cups/ppd.c:710 cups/ppd.c:1224
-#: cups/ppd.c:697 cups/ppd.c:1201 cups/ppd.c:1190
+#: cups/ppd.c:697 cups/ppd.c:1201 cups/ppd.c:1190 cups/ppd.c:692
+#: cups/ppd.c:1191
msgid "Media Size"
msgstr "用紙サイズ"
#: cups/ppd.c:706 cups/ppd.c:1107 cups/ppd.c:712 cups/ppd.c:1226
-#: cups/ppd.c:699 cups/ppd.c:1203 cups/ppd.c:1192
+#: cups/ppd.c:699 cups/ppd.c:1203 cups/ppd.c:1192 cups/ppd.c:694
+#: cups/ppd.c:1193
msgid "Media Type"
msgstr "用紙形式"
#: cups/ppd.c:708 cups/ppd.c:1109 cups/ppd.c:714 cups/ppd.c:1228
-#: cups/ppd.c:701 cups/ppd.c:1205 cups/ppd.c:1194
+#: cups/ppd.c:701 cups/ppd.c:1205 cups/ppd.c:1194 cups/ppd.c:696
+#: cups/ppd.c:1195
msgid "Media Source"
msgstr "給紙"
#: cups/ppd.c:710 cups/ppd.c:1111 cups/ppd.c:716 cups/ppd.c:1230
-#: cups/ppd.c:703 cups/ppd.c:1207 cups/ppd.c:1196
+#: cups/ppd.c:703 cups/ppd.c:1207 cups/ppd.c:1196 cups/ppd.c:698
+#: cups/ppd.c:1197
msgid "Output Mode"
msgstr "出力モード"
#: cups/ppd.c:712 cups/ppd.c:1113 cups/ppd.c:718 cups/ppd.c:1232
-#: cups/ppd.c:705 cups/ppd.c:1209 cups/ppd.c:1198
+#: cups/ppd.c:705 cups/ppd.c:1209 cups/ppd.c:1198 cups/ppd.c:700
+#: cups/ppd.c:1199
msgid "Resolution"
msgstr "解像度"
msgstr "可変"
#: cups/ppd.c:1535 cups/ppd.c:1650 cups/ppd.c:1627 cups/ppd.c:1616
+#: cups/ppd.c:1622
msgid "Yes"
msgstr "はい"
#: cups/ppd.c:1537 cups/ppd.c:1652 cups/ppd.c:1629 cups/ppd.c:1618
+#: cups/ppd.c:1624
msgid "No"
msgstr "いいえ"
" lppasswd [-g グループ名] -a [ユーザ名]\n"
" lppasswd [-g グループ名] -x [ユーザ名]\n"
-#: cgi-bin/admin.c:125 cgi-bin/admin.c:142
+#: cgi-bin/admin.c:125 cgi-bin/admin.c:142 cgi-bin/admin.c:143
msgid "Start Printer"
msgstr "プリンタの開始"
-#: cgi-bin/admin.c:127 cgi-bin/admin.c:144
+#: cgi-bin/admin.c:127 cgi-bin/admin.c:144 cgi-bin/admin.c:145
msgid "Stop Printer"
msgstr "プリンタの停止"
-#: cgi-bin/admin.c:129 cgi-bin/admin.c:146
+#: cgi-bin/admin.c:129 cgi-bin/admin.c:146 cgi-bin/admin.c:147
msgid "Start Class"
msgstr "クラスの開始"
-#: cgi-bin/admin.c:131 cgi-bin/admin.c:148
+#: cgi-bin/admin.c:131 cgi-bin/admin.c:148 cgi-bin/admin.c:149
msgid "Stop Class"
msgstr "クラスの停止"
-#: cgi-bin/admin.c:133 cgi-bin/admin.c:150
+#: cgi-bin/admin.c:133 cgi-bin/admin.c:150 cgi-bin/admin.c:151
msgid "Accept Jobs"
msgstr "ジョブの受け付け"
-#: cgi-bin/admin.c:135 cgi-bin/admin.c:152
+#: cgi-bin/admin.c:135 cgi-bin/admin.c:152 cgi-bin/admin.c:153
msgid "Reject Jobs"
msgstr "ジョブの拒否"
-#: cgi-bin/admin.c:137 cgi-bin/admin.c:154
+#: cgi-bin/admin.c:137 cgi-bin/admin.c:154 cgi-bin/admin.c:155
msgid "Purge Jobs"
msgstr "ジョブの削除"
-#: cgi-bin/admin.c:141 cgi-bin/admin.c:158
+#: cgi-bin/admin.c:141 cgi-bin/admin.c:158 cgi-bin/admin.c:159
msgid "Set As Default"
msgstr "デフォルトに設定"
#: cgi-bin/admin.c:168 cgi-bin/admin.c:179 cgi-bin/admin.c:2690
#: cgi-bin/admin.c:185 cgi-bin/admin.c:196 cgi-bin/admin.c:2734
+#: cgi-bin/admin.c:186 cgi-bin/admin.c:197 cgi-bin/admin.c:2377
msgid "Administration"
msgstr "管理"
-#: cgi-bin/admin.c:224 cgi-bin/admin.c:241
+#: cgi-bin/admin.c:224 cgi-bin/admin.c:241 cgi-bin/admin.c:242
msgid "Modify Class"
msgstr "クラスの変更"
-#: cgi-bin/admin.c:224 cgi-bin/admin.c:241
+#: cgi-bin/admin.c:224 cgi-bin/admin.c:241 cgi-bin/admin.c:242
msgid "Add Class"
msgstr "クラスの追加"
-#: cgi-bin/admin.c:385 cgi-bin/admin.c:402
+#: cgi-bin/admin.c:385 cgi-bin/admin.c:402 cgi-bin/admin.c:404
msgid ""
"The class name may only contain up to 127 printable characters and may not "
"contain spaces, slashes (/), or the pound sign (#)."
"クラス名は 127 文字以内の表示可能文字から成り、空白、スラッシュ (/)、ポンド記"
"号 (#) を含んではなりません。"
-#: cgi-bin/admin.c:444 cgi-bin/admin.c:462
+#: cgi-bin/admin.c:444 cgi-bin/admin.c:462 cgi-bin/admin.c:464
msgid "Unable to modify class:"
msgstr "クラスを変更できません:"
-#: cgi-bin/admin.c:445 cgi-bin/admin.c:463
+#: cgi-bin/admin.c:445 cgi-bin/admin.c:463 cgi-bin/admin.c:465
msgid "Unable to add class:"
msgstr "クラスを追加できません:"
-#: cgi-bin/admin.c:514 cgi-bin/admin.c:532
+#: cgi-bin/admin.c:514 cgi-bin/admin.c:532 cgi-bin/admin.c:534
msgid "Modify Printer"
msgstr "プリンタの変更"
-#: cgi-bin/admin.c:514 cgi-bin/admin.c:532
+#: cgi-bin/admin.c:514 cgi-bin/admin.c:532 cgi-bin/admin.c:534
msgid "Add Printer"
msgstr "プリンタの追加"
-#: cgi-bin/admin.c:583 cgi-bin/admin.c:602
+#: cgi-bin/admin.c:583 cgi-bin/admin.c:602 cgi-bin/admin.c:604
msgid ""
"The printer name may only contain up to 127 printable characters and may not "
"contain spaces, slashes (/), or the pound sign (#)."
"プリンタ名は 127 文字以内の表示可能文字から成り、空白、スラッシュ (/)、ポンド"
"記号 (#) を含んではなりません。"
-#: cgi-bin/admin.c:900 cgi-bin/admin.c:930
+#: cgi-bin/admin.c:900 cgi-bin/admin.c:930 cgi-bin/admin.c:932
msgid "Unable to get list of printer drivers:"
msgstr "プリンタドライバのリストを取得できません:"
-#: cgi-bin/admin.c:983 cgi-bin/admin.c:1014
+#: cgi-bin/admin.c:983 cgi-bin/admin.c:1014 cgi-bin/admin.c:1016
msgid "Unable to modify printer:"
msgstr "プリンタを変更できません:"
-#: cgi-bin/admin.c:984 cgi-bin/admin.c:1015
+#: cgi-bin/admin.c:984 cgi-bin/admin.c:1015 cgi-bin/admin.c:1017
msgid "Unable to add printer:"
msgstr "プリンタを追加できません:"
-#: cgi-bin/admin.c:1051 cgi-bin/admin.c:1082
+#: cgi-bin/admin.c:1051 cgi-bin/admin.c:1082 cgi-bin/admin.c:1084
msgid "Set Printer Options"
msgstr "プリンタオプションの設定"
#: cgi-bin/admin.c:3112 cgi-bin/admin.c:3213 cgi-bin/admin.c:3449
#: cgi-bin/admin.c:1095 cgi-bin/admin.c:2374 cgi-bin/admin.c:2435
#: cgi-bin/admin.c:3156 cgi-bin/admin.c:3258 cgi-bin/admin.c:3496
+#: cgi-bin/admin.c:1097 cgi-bin/admin.c:1846 cgi-bin/admin.c:1907
+#: cgi-bin/admin.c:2405 cgi-bin/admin.c:2507 cgi-bin/admin.c:2745
msgid "Missing form variable!"
msgstr "フォームの値がありません!"
-#: cgi-bin/admin.c:1076 cgi-bin/admin.c:1113
+#: cgi-bin/admin.c:1076 cgi-bin/admin.c:1113 cgi-bin/admin.c:1115
msgid "Unable to get PPD file!"
msgstr "PPD ファイルを取得できません!"
-#: cgi-bin/admin.c:1084 cgi-bin/admin.c:1123
+#: cgi-bin/admin.c:1084 cgi-bin/admin.c:1123 cgi-bin/admin.c:1125
msgid "Unable to open PPD file:"
msgstr "PPD ファイルを取得できません:"
-#: cgi-bin/admin.c:1241 cgi-bin/admin.c:1282
+#: cgi-bin/admin.c:1241 cgi-bin/admin.c:1282 cgi-bin/admin.c:1290
msgid "Banners"
msgstr "バナー"
-#: cgi-bin/admin.c:1255 cgi-bin/admin.c:1296
+#: cgi-bin/admin.c:1255 cgi-bin/admin.c:1296 cgi-bin/admin.c:1304
msgid "Starting Banner"
msgstr "開始バナー"
-#: cgi-bin/admin.c:1262 cgi-bin/admin.c:1303
+#: cgi-bin/admin.c:1262 cgi-bin/admin.c:1303 cgi-bin/admin.c:1311
msgid "Ending Banner"
msgstr "終了バナー"
-#: cgi-bin/admin.c:1280 cgi-bin/admin.c:1321
+#: cgi-bin/admin.c:1280 cgi-bin/admin.c:1321 cgi-bin/admin.c:1329
msgid "Policies"
msgstr "ポリシー"
-#: cgi-bin/admin.c:1304 cgi-bin/admin.c:1345
+#: cgi-bin/admin.c:1304 cgi-bin/admin.c:1345 cgi-bin/admin.c:1353
msgid "Error Policy"
msgstr "エラーポリシー"
-#: cgi-bin/admin.c:1331 cgi-bin/admin.c:1372
+#: cgi-bin/admin.c:1331 cgi-bin/admin.c:1372 cgi-bin/admin.c:1380
msgid "Operation Policy"
msgstr "操作ポリシー"
#: cgi-bin/admin.c:1352 cgi-bin/admin.c:1372 cgi-bin/admin.c:1393
-#: cgi-bin/admin.c:1413
+#: cgi-bin/admin.c:1413 cgi-bin/admin.c:1401 cgi-bin/admin.c:1421
msgid "PS Binary Protocol"
msgstr "PS バイナリプロトコル"
-#: cgi-bin/admin.c:1358 cgi-bin/admin.c:1399
+#: cgi-bin/admin.c:1358 cgi-bin/admin.c:1399 cgi-bin/admin.c:1407
msgid "None"
msgstr "なし"
-#: cgi-bin/admin.c:1490 cgi-bin/admin.c:1534
+#: cgi-bin/admin.c:1490 cgi-bin/admin.c:1534 cgi-bin/admin.c:1542
msgid "Unable to set options:"
msgstr "オプションを設定できません:"
#: cgi-bin/admin.c:1591 cgi-bin/admin.c:1607 cgi-bin/admin.c:1620
#: cgi-bin/admin.c:2099 cgi-bin/admin.c:2106 cgi-bin/admin.c:1635
#: cgi-bin/admin.c:1651 cgi-bin/admin.c:1664 cgi-bin/admin.c:2143
-#: cgi-bin/admin.c:2150
+#: cgi-bin/admin.c:2150 cgi-bin/admin.c:1609 cgi-bin/admin.c:1618
msgid "Change Settings"
msgstr "設定の変更"
#: cgi-bin/admin.c:1592 cgi-bin/admin.c:1608 cgi-bin/admin.c:1621
#: cgi-bin/admin.c:1636 cgi-bin/admin.c:1652 cgi-bin/admin.c:1665
+#: cgi-bin/admin.c:1611
msgid "Unable to change server settings:"
msgstr "サーバの設定を変更できません:"
#: cgi-bin/admin.c:2097 cgi-bin/admin.c:2190 cgi-bin/admin.c:2141
-#: cgi-bin/admin.c:2234
+#: cgi-bin/admin.c:2234 cgi-bin/admin.c:1703
msgid "Unable to upload cupsd.conf file:"
msgstr "cupsd.conf ファイルをアップロードできません:"
#: cgi-bin/admin.c:2200 cgi-bin/admin.c:2232 cgi-bin/admin.c:2244
#: cgi-bin/admin.c:2267 cgi-bin/admin.c:2178 cgi-bin/admin.c:2190
#: cgi-bin/admin.c:2237 cgi-bin/admin.c:2276 cgi-bin/admin.c:2288
-#: cgi-bin/admin.c:2311
+#: cgi-bin/admin.c:2311 cgi-bin/admin.c:1646 cgi-bin/admin.c:1658
+#: cgi-bin/admin.c:1706 cgi-bin/admin.c:1713 cgi-bin/admin.c:1745
+#: cgi-bin/admin.c:1758 cgi-bin/admin.c:1782
msgid "Edit Configuration File"
msgstr "設定ファイルの編集"
#: cgi-bin/admin.c:2135 cgi-bin/admin.c:2147 cgi-bin/admin.c:2179
#: cgi-bin/admin.c:2191 cgi-bin/printers.c:219 cgi-bin/printers.c:224
+#: cgi-bin/admin.c:1647 cgi-bin/admin.c:1659
msgid "Unable to create temporary file:"
msgstr "テンポラリファイルを作成できません:"
#: cgi-bin/admin.c:2233 cgi-bin/admin.c:2245 cgi-bin/admin.c:2268
#: cgi-bin/admin.c:2277 cgi-bin/admin.c:2289 cgi-bin/admin.c:2312
+#: cgi-bin/admin.c:1747 cgi-bin/admin.c:1760 cgi-bin/admin.c:1784
msgid "Unable to access cupsd.conf file:"
msgstr "cupsd.conf ファイルにアクセスできません:"
-#: cgi-bin/admin.c:2247 cgi-bin/admin.c:2291
+#: cgi-bin/admin.c:2247 cgi-bin/admin.c:2291 cgi-bin/admin.c:1762
msgid "Unable to edit cupsd.conf files larger than 1MB!"
msgstr "1MB 以上の cupsd.conf ファイルは編集できません!"
-#: cgi-bin/admin.c:2316 cgi-bin/admin.c:2360
+#: cgi-bin/admin.c:2316 cgi-bin/admin.c:2360 cgi-bin/admin.c:1832
msgid "Delete Class"
msgstr "クラスの削除"
-#: cgi-bin/admin.c:2357 cgi-bin/admin.c:2401
+#: cgi-bin/admin.c:2357 cgi-bin/admin.c:2401 cgi-bin/admin.c:1873
msgid "Unable to delete class:"
msgstr "クラスを削除できません:"
-#: cgi-bin/admin.c:2377 cgi-bin/admin.c:2421
+#: cgi-bin/admin.c:2377 cgi-bin/admin.c:2421 cgi-bin/admin.c:1893
msgid "Delete Printer"
msgstr "プリンタの削除"
-#: cgi-bin/admin.c:2418 cgi-bin/admin.c:2462
+#: cgi-bin/admin.c:2418 cgi-bin/admin.c:2462 cgi-bin/admin.c:1934
msgid "Unable to delete printer:"
msgstr "プリンタを削除できません:"
-#: cgi-bin/admin.c:2447 cgi-bin/admin.c:2491
+#: cgi-bin/admin.c:2447 cgi-bin/admin.c:2491 cgi-bin/admin.c:2053
+#: cgi-bin/admin.c:2072
msgid "Export Printers to Samba"
msgstr "プリンタを Samba にエキスポート"
msgid "cupsaddsmb crashed on signal %d"
msgstr "cupsaddsmb はシグナル %d でクラッシュしました"
-#: cgi-bin/admin.c:2608 cgi-bin/admin.c:2652
+#: cgi-bin/admin.c:2608 cgi-bin/admin.c:2652 cgi-bin/admin.c:2061
msgid "A Samba username is required to export printer drivers!"
msgstr "プリンタドライバをエキスポートするには、Samba のユーザ名が必要です!"
-#: cgi-bin/admin.c:2612 cgi-bin/admin.c:2656
+#: cgi-bin/admin.c:2612 cgi-bin/admin.c:2656 cgi-bin/admin.c:2065
msgid "A Samba password is required to export printer drivers!"
msgstr "プリンタドライバをエキスポートするには Samba のパスワードが必要です!"
-#: cgi-bin/admin.c:2704 cgi-bin/admin.c:2748
+#: cgi-bin/admin.c:2704 cgi-bin/admin.c:2748 cgi-bin/admin.c:2102
msgid "Unable to open cupsd.conf file:"
msgstr "cupsd.conf ファイルを開くことができません:"
#: cgi-bin/admin.c:3144 cgi-bin/admin.c:3400 cgi-bin/admin.c:3189
-#: cgi-bin/admin.c:3447
+#: cgi-bin/admin.c:3447 cgi-bin/admin.c:2438 cgi-bin/admin.c:2696
msgid "Unable to change printer:"
msgstr "プリンタを変更できません:"
#: cgi-bin/admin.c:3214 cgi-bin/admin.c:3259 cgi-bin/admin.c:3399
#: cgi-bin/admin.c:3417 cgi-bin/admin.c:3305 cgi-bin/admin.c:3446
-#: cgi-bin/admin.c:3464
+#: cgi-bin/admin.c:3464 cgi-bin/admin.c:2508 cgi-bin/admin.c:2554
+#: cgi-bin/admin.c:2695 cgi-bin/admin.c:2713
msgid "Set Allowed Users"
msgstr "許可するユーザの設定"
-#: cgi-bin/admin.c:3262 cgi-bin/admin.c:3308
+#: cgi-bin/admin.c:3262 cgi-bin/admin.c:3308 cgi-bin/admin.c:2557
msgid "Unable to get printer attributes:"
msgstr "プリンタ属性を取得できません:"
#: cgi-bin/admin.c:3450 cgi-bin/admin.c:3488 cgi-bin/admin.c:3506
#: cgi-bin/admin.c:3497 cgi-bin/admin.c:3536 cgi-bin/admin.c:3554
+#: cgi-bin/admin.c:2746 cgi-bin/admin.c:2785 cgi-bin/admin.c:2803
msgid "Set Publishing"
msgstr "公開の設定"
-#: cgi-bin/admin.c:3489 cgi-bin/admin.c:3537
+#: cgi-bin/admin.c:3489 cgi-bin/admin.c:3537 cgi-bin/admin.c:2786
msgid "Unable to change printer-is-shared attribute:"
msgstr "printer-is-shared 属性を変更できません:"
msgid "Unknown"
msgstr "未知"
-#: cups/ppd.c:1033 cups/ppd.c:1020 cups/ppd.c:1009
+#: cups/ppd.c:1033 cups/ppd.c:1020 cups/ppd.c:1009 cups/ppd.c:1010
msgid "Custom"
msgstr "カスタム"
-#: cups/ppd.c:1259 cups/ppd.c:1236 cups/ppd.c:1225
+#: cups/ppd.c:1259 cups/ppd.c:1236 cups/ppd.c:1225 cups/ppd.c:1226
msgid "JCL"
msgstr "JCL"
msgid "Running command: %s %s -N -U '%s%%%s' -c '%s'\n"
msgstr "コマンドを実行中: %s %s -N -U '%s%%%s' -c '%s'\n"
-#: systemv/cupsaddsmb.c:479 cups/adminutil.c:656
+#: systemv/cupsaddsmb.c:479 cups/adminutil.c:656 cups/adminutil.c:1683
#, c-format
msgid "cupsaddsmb: Unable to run \"%s\": %s\n"
msgstr "cupsaddsmb: \"%s\" を実行できません: %s\n"
msgid "Help"
msgstr ""
-#: cups/adminutil.c:233
+#: cups/adminutil.c:233 cups/adminutil.c:246
#, fuzzy, c-format
msgid "Missing value on line %d!\n"
msgstr "cupsaddsmb: %d 行に値がありません!\n"
-#: cups/adminutil.c:249
+#: cups/adminutil.c:249 cups/adminutil.c:265
#, fuzzy, c-format
msgid "Missing double quote on line %d!\n"
msgstr "cupsaddsmb: %d 行に二重引用符がありません!\n"
-#: cups/adminutil.c:266
+#: cups/adminutil.c:266 cups/adminutil.c:284
#, fuzzy, c-format
msgid "Bad option + choice on line %d!\n"
msgstr "cupsaddsmb: %d 行に不正なオプションと選択があります!\n"
"cupsaddsmb: 警告: Windows 2000 プリンタドライバがインストールされていませ"
"ん!\n"
-#: cups/adminutil.c:568
+#: cups/adminutil.c:568 cups/adminutil.c:658
#, fuzzy, c-format
msgid "Unable to set Windows printer driver (%d)!\n"
msgstr "Windows プリンタドライバを設定できません!"
" -a すべてのプリンタをエキスポートする\n"
" -h cupsサーバ 指定の CUPS サーバを使う\n"
" -v 冗長にする (コマンドを表示する)\n"
+
+#: cups/adminutil.c:464
+#, fuzzy, c-format
+msgid "Unable to copy Windows 2000 printer driver files (%d)!"
+msgstr "Windows 2000 プリンタドライバファイルをコピーできません!"
+
+#: cups/adminutil.c:499
+#, fuzzy, c-format
+msgid "Unable to copy CUPS printer driver files (%d)!"
+msgstr "cupsaddsmb: CUPS プリンタドライバファイルをコピーできません (%d)!\n"
+
+#: cups/adminutil.c:542
+#, fuzzy, c-format
+msgid "Unable to install Windows 2000 printer driver files (%d)!"
+msgstr "Windows 2000 プリンタドライバファイルをインストールできません!"
+
+#: cups/adminutil.c:583
+#, fuzzy, c-format
+msgid "Unable to copy Windows 9x printer driver files (%d)!"
+msgstr "Windows 9x プリンタドライバファイルをコピーできません!"
+
+#: cups/adminutil.c:612
+#, fuzzy, c-format
+msgid "Unable to install Windows 9x printer driver files (%d)!"
+msgstr "Windows 9x プリンタドライバファイルをインストールできません!"
+
+#: cups/adminutil.c:631
+#, fuzzy
+msgid "No Windows printer drivers are installed!"
+msgstr "cupsaddsmb: Windows プリンタドライバがインストールされていません!\n"
+
+#: cups/adminutil.c:636
+#, fuzzy
+msgid "Warning, no Windows 2000 printer drivers are installed!"
+msgstr ""
+"cupsaddsmb: 警告: Windows 2000 プリンタドライバがインストールされていませ"
+"ん!\n"
+
+#: cups/adminutil.c:736
+#, fuzzy, c-format
+msgid "open of %s failed: %s"
+msgstr "lpadmin: %s 失敗しました: %s\n"
+
+#: cups/adminutil.c:1653
+#, fuzzy, c-format
+msgid "Running command: %s %s -N -A %s -c '%s'\n"
+msgstr "コマンドを実行中: %s %s -N -U '%s%%%s' -c '%s'\n"
+
+#: cups/adminutil.c:1750
+#, fuzzy, c-format
+msgid "stat of %s failed: %s"
+msgstr "%s: %s 失敗しました: %s\n"
-{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf110
+{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf330
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\
Please report all problems using the Bugs & Features page on the CUPS home page:\
\
- http://www.cups.org/str.php\
+ {\field{\*\fldinst{HYPERLINK "http://www.cups.org/str.php"}}{\fldrslt http://www.cups.org/str.php}}\
\
\f1\b NO WARRANTY\
/*
- * "$Id: cups-deviced.c 5194 2006-02-27 20:57:07Z mike $"
+ * "$Id: cups-deviced.c 5244 2006-03-08 12:12:12Z mike $"
*
* Device scanning mini-daemon for the Common UNIX Printing System (CUPS).
*
if (!strncasecmp(line, "Usage", 5))
compat = 1;
else if (sscanf(line,
- "%63s%1023s%*[ \t]\"%255[^\"]\"%*[ \t]\"%127[^\"]"
+ "%63s%1023s%*[ \t]\"%255[^\"]\"%*[ \t]\"%127[^\"]\""
"%*[ \t]\"%1023[^\"]",
dclass, uri, make_model, info, device_id) < 4)
{
/*
- * End of "$Id: cups-deviced.c 5194 2006-02-27 20:57:07Z mike $".
+ * End of "$Id: cups-deviced.c 5244 2006-03-08 12:12:12Z mike $".
*/
/*
- * "$Id: env.c 5094 2006-02-09 01:00:26Z mike $"
+ * "$Id: env.c 5245 2006-03-08 13:09:49Z mike $"
*
* Environment management routines for the Common UNIX Printing System (CUPS).
*
cupsdSetEnv(const char *name, /* I - Name of variable */
const char *value) /* I - Value of variable */
{
- /*
- * Check for room...
- */
+ int i, /* Looping var */
+ namelen; /* Length of name */
- if (num_common_env >= (int)(sizeof(common_env) / sizeof(common_env[0])))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR,
- "cupsdSetEnv: Too many environment variables set!");
- return;
- }
/*
* If "value" is NULL, try getting value from current environment...
return;
/*
- * Set the new environment variable...
+ * See if this variable has already been defined...
*/
- cupsdSetStringf(common_env + num_common_env, "%s=%s", name, value);
+ for (i = 0, namelen = strlen(name); i < num_common_env; i ++)
+ if (!strncmp(common_env[i], name, namelen) && common_env[i][namelen] == '=')
+ break;
+
+ if (i >= num_common_env)
+ {
+ /*
+ * Check for room...
+ */
+
+ if (num_common_env >= (int)(sizeof(common_env) / sizeof(common_env[0])))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "cupsdSetEnv: Too many environment variables set!");
+ return;
+ }
+
+ num_common_env ++;
+ }
+
+ /*
+ * Set the new environment variable...
+ */
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdSetEnv: %s\n",
- common_env[num_common_env]);
+ cupsdSetStringf(common_env + i, "%s=%s", name, value);
- num_common_env ++;
+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdSetEnv: %s\n", common_env[i]);
}
/*
- * End of "$Id: env.c 5094 2006-02-09 01:00:26Z mike $".
+ * End of "$Id: env.c 5245 2006-03-08 13:09:49Z mike $".
*/
/*
- * "$Id: policy.c 5122 2006-02-17 15:41:40Z mike $"
+ * "$Id: policy.c 5247 2006-03-08 13:43:38Z mike $"
*
* Policy routines for the Common UNIX Printing System (CUPS).
*
- * Copyright 1997-2005 by Easy Software Products, all rights reserved.
+ * Copyright 1997-2006 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
* property of Easy Software Products and are protected by Federal
/*
- * End of "$Id: policy.c 5122 2006-02-17 15:41:40Z mike $".
+ * End of "$Id: policy.c 5247 2006-03-08 13:43:38Z mike $".
*/
/*
- * "$Id: subscriptions.c 5108 2006-02-15 19:33:09Z mike $"
+ * "$Id: subscriptions.c 5249 2006-03-08 16:45:28Z mike $"
*
* Subscription routines for the Common UNIX Printing System (CUPS) scheduler.
*
while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum))
{
- if (!strcasecmp(line, "<Subscription"))
+ if (!strcasecmp(line, "NextSubscriptionId") && value)
+ {
+ /*
+ * NextSubscriptionId NNN
+ */
+
+ i = atoi(value);
+ if (i >= NextSubscriptionId && i > 0)
+ NextSubscriptionId = i;
+ }
+ else if (!strcasecmp(line, "<Subscription"))
{
/*
* <Subscription #>
cupsFilePuts(fp, "# Subscription configuration file for " CUPS_SVERSION "\n");
cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp);
+ cupsFilePrintf(fp, "NextSubscriptionId %d\n", NextSubscriptionId);
+
/*
* Write every subscription known to the system...
*/
/*
- * End of "$Id: subscriptions.c 5108 2006-02-15 19:33:09Z mike $".
+ * End of "$Id: subscriptions.c 5249 2006-03-08 16:45:28Z mike $".
*/
PHPDIR = $(BUILDROOT)`$(PHPCONFIG) --extension-dir`
OPTIONS = -I../.. `$(PHPCONFIG) --includes`
-PHPLIBS = `$(PHPCONFIG) --ldflags` `$(PHPCONFIG) --libs`
#
else \
DSOFLAGS="$(DSOFLAGS)"; \
fi; \
- echo $(DSO) $$DSOFLAGS -o $@ $(OBJS) -L../../cups -lcups $(PHPLIBS); \
- $(DSO) $$DSOFLAGS -o $@ $(OBJS) -L../../cups -lcups $(PHPLIBS)
+ echo $(DSO) $$DSOFLAGS -o $@ $(OBJS) -L../../cups $(LIBS); \
+ $(DSO) $$DSOFLAGS -o $@ $(OBJS) -L../../cups $(LIBS)
#
CLASS="button"></A>
</P>
+{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
+<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
+
<FORM METHOD="POST" ACTION="/admin">
<P><B>Basic Server Settings:</B></P>
<P><INPUT TYPE="IMAGE" SRC="/images/button-change-settings.gif" ALT="Change Settings"></P>
-</FORM>
+</FORM>}
</TD></TR>
</TABLE>