----------------------
- Dropped RSS subscription management from the web interface (Issue #5012)
+- The lpadmin command now provides a better error message when an unsupported
+ System V interface script is used (Issue #5111)
- Dropped hard-coded CGI scripting language support (Issue #5124)
- Fixed the ippserver sample code when threading is disabled or unavailable
(Issue #5154)
.\"
.\" lpadmin man page for CUPS.
.\"
-.\" Copyright 2007-2016 by Apple Inc.
+.\" Copyright 2007-2017 by Apple Inc.
.\" Copyright 1997-2006 by Easy Software Products.
.\"
.\" These coded instructions, statements, and computer programs are the
.\" which should have been included with this file. If this file is
.\" file is missing or damaged, see the license at "http://www.cups.org/".
.\"
-.TH lpadmin 8 "CUPS" "29 March 2016" "Apple Inc."
+.TH lpadmin 8 "CUPS" "1 November 2017" "Apple Inc."
.SH NAME
lpadmin \- configure cups printers and classes
.SH SYNOPSIS
Adds the named \fIprinter\fR to \fIclass\fR.
If \fIclass\fR does not exist it is created automatically.
.TP 5
-\fB\-i \fIppd-file\fR
-.TP 5
\fB\-P \fIppd-file\fR
Specifies a PostScript Printer Description (PPD) file to use with the printer.
.TP 5
.TP 5
\fB\-L "\fIlocation\fB"\fR
Provides a textual location of the destination.
+.SH DEPRECATED OPTIONS
+The following \fBlpadmin\fR options are deprecated:
+.TP 5
+\fB\-i \fIfilename\fR
+This option historically has been used to provide either a System V interface script or (as an implementation side-effect) a PPD file.
+Since interface scripts are no longer supported, the \fI-P\fR option is preferred for providing a PPD file for a printer.
.SH CONFORMING TO
Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#".
Also, printer and class names are \fInot\fR case-sensitive.
This differs from the System V version which requires the root user to execute this command.
.SH NOTES
The CUPS version of \fBlpadmin\fR does not support all of the System V or Solaris printing system configuration options.
+Interface scripts are not supported for security reasons.
.SH EXAMPLE
Create an IPP Everywhere print queue:
.nf
/*
* "lpadmin" command for CUPS.
*
- * Copyright 2007-2016 by Apple Inc.
+ * Copyright 2007-2017 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
file = argv[i];
}
+
+ if (*opt == 'i')
+ {
+ /*
+ * Check to see that the specified file is, in fact, a PPD...
+ */
+
+ cups_file_t *fp = cupsFileOpen(file, "r");
+ char line[256];
+
+ if (!cupsFileGets(fp, line, sizeof(line)) || strncmp(line, "*PPD-Adobe", 10))
+ {
+ _cupsLangPuts(stderr, _("lpadmin: System V interface scripts are no longer supported for security reasons."));
+ cupsFileClose(fp);
+ return (1);
+ }
+
+ cupsFileClose(fp);
+ }
break;
case 'E' : /* Enable the printer/enable encryption */