Skip to content

Commit

Permalink
Import CUPS v1.7.5
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Sweet committed Mar 15, 2016
1 parent 215ef63 commit b60086f
Show file tree
Hide file tree
Showing 12 changed files with 92 additions and 38 deletions.
14 changes: 12 additions & 2 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
CHANGES.txt - 1.7.4 - 2014-07-08
CHANGES.txt - 1.7.5 - 2014-07-30
--------------------------------

CHANGES IN CUPS V1.7.5

- Security: Addressed some more situations where symlinked files would
be served by the web interface (STR #4455)
- The LPD backend did not work with some versions of glibc (STR #4452)
- CGI scripts did not work (STR #4454)
- The cupsd.conf man page did not list the ErrorPolicy directive
(STR #4457)
- Updated the Brazilian Portuguese translation (STR #4456)


CHANGES IN CUPS V1.7.4

- Security: The web interface incorrectly served symlinked files and
Expand All @@ -25,7 +36,6 @@ CHANGES IN CUPS V1.7.4
- Fixed a bug in the CUPS_SC_GET_DEVICE_ID handling by the network
backends (STR #4447)
- Added USB quirk rule for Lexmark E230 (STR #4448)
- The LPD backend did not work with some versions of glibc (STR #4452)


CHANGES IN CUPS V1.7.3
Expand Down
2 changes: 1 addition & 1 deletion INSTALL.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
INSTALL - CUPS v1.7.4 - 2014-06-10
INSTALL - CUPS v1.7.5 - 2014-07-30
----------------------------------

This file describes how to compile and install CUPS from source code. For more
Expand Down
2 changes: 1 addition & 1 deletion README.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
README - CUPS v1.7.4 - 2014-06-10
README - CUPS v1.7.5 - 2014-07-30
---------------------------------

Looking for compile instructions? Read the file "INSTALL.txt" instead...
Expand Down
6 changes: 3 additions & 3 deletions backend/lpd.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* "$Id: lpd.c 12005 2014-07-08 15:46:59Z msweet $"
* "$Id: lpd.c 12025 2014-07-15 13:00:17Z msweet $"
*
* Line Printer Daemon backend for CUPS.
*
Expand Down Expand Up @@ -1276,7 +1276,7 @@ rresvport_af(int *port, /* IO - Port number to bind to */
* Try binding the port to the socket; return if all is OK...
*/

if (!bind(fd, (struct sockaddr *)&addr, httpAddrSize(&addr)))
if (!bind(fd, (struct sockaddr *)&addr, httpAddrLength(&addr)))
return (fd);

/*
Expand Down Expand Up @@ -1331,5 +1331,5 @@ sigterm_handler(int sig) /* I - Signal */


/*
* End of "$Id: lpd.c 12005 2014-07-08 15:46:59Z msweet $".
* End of "$Id: lpd.c 12025 2014-07-15 13:00:17Z msweet $".
*/
2 changes: 1 addition & 1 deletion config-scripts/cups-common.m4
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ dnl Set the name of the config header file...
AC_CONFIG_HEADER(config.h)

dnl Version number information...
CUPS_VERSION=1.7.4
CUPS_VERSION=1.7.5
CUPS_REVISION=
#if test -z "$CUPS_REVISION" -a -d .svn; then
# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
Expand Down
2 changes: 1 addition & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -2517,7 +2517,7 @@ esac
ac_config_headers="$ac_config_headers config.h"


CUPS_VERSION=1.7.4
CUPS_VERSION=1.7.5
CUPS_REVISION=
#if test -z "$CUPS_REVISION" -a -d .svn; then
# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
Expand Down
8 changes: 4 additions & 4 deletions cups/cups.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* "$Id: cups.h 11978 2014-07-02 10:35:09Z msweet $"
* "$Id: cups.h 12025 2014-07-15 13:00:17Z msweet $"
*
* API definitions for CUPS.
*
Expand Down Expand Up @@ -49,10 +49,10 @@ extern "C" {
* Constants...
*/

# define CUPS_VERSION 1.0704
# define CUPS_VERSION 1.0705
# define CUPS_VERSION_MAJOR 1
# define CUPS_VERSION_MINOR 7
# define CUPS_VERSION_PATCH 4
# define CUPS_VERSION_PATCH 5

# define CUPS_BC_FD 3
/* Back-channel file descriptor for
Expand Down Expand Up @@ -623,5 +623,5 @@ extern const char *cupsUserAgent(void) _CUPS_API_1_7;
#endif /* !_CUPS_CUPS_H_ */

/*
* End of "$Id: cups.h 11978 2014-07-02 10:35:09Z msweet $".
* End of "$Id: cups.h 12025 2014-07-15 13:00:17Z msweet $".
*/
16 changes: 16 additions & 0 deletions doc/help/man-cupsd.conf.html
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,22 @@ <h2 class="title"><a name="DIRECTIVES">Directives</a></h2>
<dd>Specifies the level of encryption that is required for a particular
location.
</dd>
<dt>ErrorPolicy abort-job
</dt>
<dd>Specifies that a failed print job should be aborted (discarded) unless otherwise specified for the printer.
</dd>
<dt>ErrorPolicy retry-job
</dt>
<dd>Specifies that a failed print job should be retried at a later time unless otherwise specified for the printer.
</dd>
<dt>ErrorPolicy retry-this-job
</dt>
<dd>Specifies that a failed print job should be retried immediately unless otherwise specified for the printer.
</dd>
<dt>ErrorPolicy stop-printer
</dt>
<dd>Specifies that a failed print job should stop the printer unless otherwise specified for the printer. The 'stop-printer' error policy is the default.
</dd>
<dt>FilterLimit limit
</dt>
<dd></dd>
Expand Down
10 changes: 5 additions & 5 deletions locale/cups_pt_BR.po
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@
#
msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.7.2\n"
"Project-Id-Version: CUPS 1.7.4\n"
"Report-Msgid-Bugs-To: https://www.cups.org/str.php\n"
"POT-Creation-Date: 2014-05-09 13:32-0700\n"
"PO-Revision-Date: 2014-04-30 23:57-0300\n"
"PO-Revision-Date: 2014-07-22 00:19-0300\n"
"Last-Translator: Rafael Ferreira <[email protected]>\n"
"Language-Team: Brazilian Portuguese <[email protected]>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.4\n"
"X-Generator: Poedit 1.6.5\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

msgid "\t\t(all)"
Expand Down Expand Up @@ -3742,7 +3742,7 @@ msgid "No active connection"
msgstr "Nenhuma conexão ativa"

msgid "No active connection."
msgstr ""
msgstr "Nenhuma conexão ativa."

#, c-format
msgid "No active jobs on %s."
Expand Down Expand Up @@ -3799,7 +3799,7 @@ msgid "No printer-uri in request."
msgstr "Nenhum printer-uri na requisição."

msgid "No request sent."
msgstr ""
msgstr "Nenhuma requisição enviada."

msgid "No request-id"
msgstr "Nenhum request-id"
Expand Down
18 changes: 15 additions & 3 deletions man/cupsd.conf.man.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.\"
.\" "$Id: cupsd.conf.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\" "$Id: cupsd.conf.man.in 12060 2014-07-28 14:04:41Z msweet $"
.\"
.\" cupsd.conf man page for CUPS.
.\"
Expand All @@ -12,7 +12,7 @@
.\" which should have been included with this file. If this file is
.\" file is missing or damaged, see the license at "https://www.cups.org/".
.\"
.TH cupsd.conf 5 "CUPS" "8 July 2013" "Apple Inc."
.TH cupsd.conf 5 "CUPS" "28 July 2014" "Apple Inc."
.SH NAME
cupsd.conf \- server configuration file for cups
.SH DESCRIPTION
Expand Down Expand Up @@ -180,6 +180,18 @@ Encryption Required
Specifies the level of encryption that is required for a particular
location.
.TP 5
ErrorPolicy abort-job
Specifies that a failed print job should be aborted (discarded) unless otherwise specified for the printer.
.TP 5
ErrorPolicy retry-job
Specifies that a failed print job should be retried at a later time unless otherwise specified for the printer.
.TP 5
ErrorPolicy retry-this-job
Specifies that a failed print job should be retried immediately unless otherwise specified for the printer.
.TP 5
ErrorPolicy stop-printer
Specifies that a failed print job should stop the printer unless otherwise specified for the printer. The 'stop-printer' error policy is the default.
.TP 5
FilterLimit limit
.br
Specifies the maximum cost of filters that are run concurrently.
Expand Down Expand Up @@ -521,5 +533,5 @@ https://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
.\" End of "$Id: cupsd.conf.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\" End of "$Id: cupsd.conf.man.in 12060 2014-07-28 14:04:41Z msweet $".
.\"
4 changes: 2 additions & 2 deletions packaging/cups.spec
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,12 @@

Summary: CUPS
Name: cups
Version: 1.7.4
Version: 1.7.5
Release: 1
Epoch: 1
License: GPL
Group: System Environment/Daemons
Source: https://www.cups.org/software/1.7.4/cups-1.7.4-source.tar.bz2
Source: https://www.cups.org/software/1.7.5/cups-1.7.5-source.tar.bz2
Url: https://www.cups.org
Packager: Anonymous <[email protected]>
Vendor: Apple Inc.
Expand Down
46 changes: 31 additions & 15 deletions scheduler/client.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* "$Id: client.c 12009 2014-07-09 17:02:38Z msweet $"
* "$Id: client.c 12057 2014-07-22 14:03:19Z msweet $"
*
* Client routines for the CUPS scheduler.
*
Expand Down Expand Up @@ -3310,7 +3310,7 @@ get_file(cupsd_client_t *con, /* I - Client connection */
* then fallback to the default one...
*/

if ((status = stat(filename, filestats)) != 0 && language[0] &&
if ((status = lstat(filename, filestats)) != 0 && language[0] &&
strncmp(con->uri, "/icons/", 7) &&
strncmp(con->uri, "/ppd/", 5) &&
strncmp(con->uri, "/rss/", 5) &&
Expand Down Expand Up @@ -3408,48 +3408,69 @@ get_file(cupsd_client_t *con, /* I - Client connection */
plen = len - (ptr - filename);

strlcpy(ptr, "index.html", plen);
status = stat(filename, filestats);
status = lstat(filename, filestats);

#ifdef HAVE_JAVA
if (status)
{
strlcpy(ptr, "index.class", plen);
status = stat(filename, filestats);
status = lstat(filename, filestats);
}
#endif /* HAVE_JAVA */

#ifdef HAVE_PERL
if (status)
{
strlcpy(ptr, "index.pl", plen);
status = stat(filename, filestats);
status = lstat(filename, filestats);
}
#endif /* HAVE_PERL */

#ifdef HAVE_PHP
if (status)
{
strlcpy(ptr, "index.php", plen);
status = stat(filename, filestats);
status = lstat(filename, filestats);
}
#endif /* HAVE_PHP */

#ifdef HAVE_PYTHON
if (status)
{
strlcpy(ptr, "index.pyc", plen);
status = stat(filename, filestats);
status = lstat(filename, filestats);
}

if (status)
{
strlcpy(ptr, "index.py", plen);
status = stat(filename, filestats);
status = lstat(filename, filestats);
}
#endif /* HAVE_PYTHON */

}
while (status && language[0]);

/*
* If we've found a symlink, 404 the sucker to avoid disclosing information.
*/

if (!status && S_ISLNK(filestats->st_mode))
{
cupsdLogMessage(CUPSD_LOG_INFO, "[Client %d] Symlinks such as \"%s\" are not allowed.", con->http.fd, filename);
return (NULL);
}

/*
* Similarly, if the file/directory does not have world read permissions, do
* not allow access...
*/

if (!status && !(filestats->st_mode & S_IROTH))
{
cupsdLogMessage(CUPSD_LOG_INFO, "[Client %d] Files/directories such as \"%s\" must be world-readable.", con->http.fd, filename);
return (NULL);
}
}

cupsdLogMessage(CUPSD_LOG_DEBUG2,
Expand Down Expand Up @@ -3812,12 +3833,7 @@ pipe_command(cupsd_client_t *con, /* I - Client connection */
argv[0] = command;

if (options)
{
commptr = options;
if (*commptr == ' ')
commptr ++;
strlcpy(argbuf, commptr, sizeof(argbuf));
}
strlcpy(argbuf, options, sizeof(argbuf));
else
argbuf[0] = '\0';

Expand Down Expand Up @@ -4395,5 +4411,5 @@ write_pipe(cupsd_client_t *con) /* I - Client connection */


/*
* End of "$Id: client.c 12009 2014-07-09 17:02:38Z msweet $".
* End of "$Id: client.c 12057 2014-07-22 14:03:19Z msweet $".
*/

0 comments on commit b60086f

Please sign in to comment.