Comparar commits
2 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| b93671244e | |||
| 5d2cc5d32d |
+34
-1
@@ -1,6 +1,39 @@
|
||||
CHANGES.txt - 2.0b1 - 2014-07-30
|
||||
CHANGES.txt - 2.0.0 - 2014-10-01
|
||||
--------------------------------
|
||||
|
||||
CHANGES IN CUPS V2.0.0
|
||||
|
||||
- The scheduler did not preserve listener sockets from launchd or
|
||||
systemd after a restart (<rdar://problem/18112848>)
|
||||
- Added some USB quirk rules for the libusb-based USB backend
|
||||
(STR #4482)
|
||||
- Spanish localization update (STR #4487)
|
||||
- Updated documentation for 2.0.0 release.
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.0rc1
|
||||
|
||||
- Documentation updates (STR #4464)
|
||||
- The scheduler now monitors the AC power status on OS X, allowing for
|
||||
"sleep printing" when sharing printers (<rdar://problem/17325852>)
|
||||
- The scheduler incorrectly called launch_activate_socket multiple times
|
||||
on OS X (<rdar://problem/17523218>)
|
||||
- The ippserver test program now passes the IPP Everywhere self-
|
||||
certification tests (STR #4101)
|
||||
- Relaxed the new OS X filter sandbox slightly (STR #4471,
|
||||
<rdar://problem/17483959>)
|
||||
- Dropped the old Epson Stylus Color/Photo sample drivers since they
|
||||
don't work with any current printers and there are free alternatives
|
||||
that produce much better output (<rdar://problem/18036889>)
|
||||
- Log and configuration files that are not world-readable are again
|
||||
accessible via the web interface (STR #4461)
|
||||
- PPD files are now created using the permissions specified by the
|
||||
ConfigFilePerm directive.
|
||||
- Fixed RPM build issues (STR #4459)
|
||||
- Fixed the spinner image and restart page when reconfiguring the
|
||||
scheduler through the web interface (STR #4475)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.0b1
|
||||
|
||||
- Added a "--list-filters" option to the cupsfilter command (STR #4325)
|
||||
|
||||
+6
-7
@@ -1,4 +1,4 @@
|
||||
INSTALL - CUPS v2.0b1 - 2014-07-30
|
||||
INSTALL - CUPS v2.0.0 - 2014-10-01
|
||||
----------------------------------
|
||||
|
||||
This file describes how to compile and install CUPS from source code. For more
|
||||
@@ -98,6 +98,11 @@ CONFIGURATION
|
||||
and diagnose a variety of common problems - use the "--enable-unit-tests"
|
||||
configure option to run them at build time.
|
||||
|
||||
On OS X, use the "--with-archflags" option to build with the correct set of
|
||||
architectures:
|
||||
|
||||
./configure --with-archflags="-arch i386 -arch x86_64" ...
|
||||
|
||||
Once you have configured things, just type:
|
||||
|
||||
make ENTER
|
||||
@@ -165,17 +170,11 @@ CREATING BINARY DISTRIBUTIONS WITH EPM
|
||||
following:
|
||||
|
||||
epm - Builds a script + tarfile package
|
||||
aix - Builds an AIX package
|
||||
bsd - Builds a *BSD package
|
||||
deb - Builds a Debian package
|
||||
depot - Builds a HP-UX package (also swinstall)
|
||||
inst - Builds an IRIX package (also tardist)
|
||||
pkg - Builds a Solaris package
|
||||
rpm - Builds a RPM package
|
||||
setld - Build a Tru64 UNIX package
|
||||
slackware - Build a Slackware package
|
||||
swinstall - Build a HP-UX package (also depot)
|
||||
tardist - Builds an IRIX package (also inst)
|
||||
|
||||
|
||||
GETTING DEBUG LOGGING FROM CUPS
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: Makefile 12074 2014-07-31 01:10:14Z msweet $"
|
||||
# "$Id: Makefile 12145 2014-09-02 15:00:50Z msweet $"
|
||||
#
|
||||
# Top-level Makefile for CUPS.
|
||||
#
|
||||
@@ -319,7 +319,7 @@ sloc:
|
||||
|
||||
EPMFLAGS = -v --output-dir dist $(EPMARCH)
|
||||
|
||||
bsd deb pkg slackware tardist:
|
||||
bsd deb pkg slackware:
|
||||
epm $(EPMFLAGS) -f $@ cups packaging/cups.list
|
||||
|
||||
epm:
|
||||
@@ -348,5 +348,5 @@ dist: all
|
||||
|
||||
|
||||
#
|
||||
# End of "$Id: Makefile 12074 2014-07-31 01:10:14Z msweet $".
|
||||
# End of "$Id: Makefile 12145 2014-09-02 15:00:50Z msweet $".
|
||||
#
|
||||
|
||||
+8
-32
@@ -1,19 +1,6 @@
|
||||
README - CUPS v2.0b1 - 2014-07-30
|
||||
README - CUPS v2.0.0 - 2014-10-01
|
||||
---------------------------------
|
||||
|
||||
********************************************************************************
|
||||
********************************************************************************
|
||||
******** ********
|
||||
******** ********
|
||||
******** THIS IS BETA-RELEASE SOFTWARE AND SHOULD NOT BE USED ON ********
|
||||
******** PRODUCTION SYSTEMS. ********
|
||||
******** ********
|
||||
******** ********
|
||||
********************************************************************************
|
||||
********************************************************************************
|
||||
|
||||
|
||||
|
||||
Looking for compile instructions? Read the file "INSTALL.txt" instead...
|
||||
|
||||
|
||||
@@ -54,10 +41,10 @@ READING THE DOCUMENTATION
|
||||
|
||||
GETTING SUPPORT AND OTHER RESOURCES
|
||||
|
||||
If you have problems, READ THE DOCUMENTATION FIRST! We also provide many
|
||||
discussion forums which are available at:
|
||||
If you have problems, READ THE DOCUMENTATION FIRST! We also provide two
|
||||
mailing lists which are available at:
|
||||
|
||||
http://www.cups.org/newsgroups.php
|
||||
http://www.cups.org/lists.php
|
||||
|
||||
See the CUPS web site at "http://www.cups.org/" for other resources.
|
||||
|
||||
@@ -91,10 +78,6 @@ SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE
|
||||
----------------------------- ------------------------------
|
||||
Dymo Label Printers drv:///sample.drv/dymo.ppd
|
||||
Intellitech Intellibar drv:///sample.drv/intelbar.ppd
|
||||
EPSON Stylus Color Series drv:///sample.drv/stcolor.ppd
|
||||
EPSON Stylus Photo Series drv:///sample.drv/stphoto.ppd
|
||||
EPSON Stylus New Color Series drv:///sample.drv/stcolor2.ppd
|
||||
EPSON Stylus New Photo Series drv:///sample.drv/stphoto2.ppd
|
||||
EPSON 9-pin Series drv:///sample.drv/epson9.ppd
|
||||
EPSON 24-pin Series drv:///sample.drv/epson24.ppd
|
||||
Generic PCL Laser Printer drv:///sample.drv/generpcl.ppd
|
||||
@@ -126,11 +109,7 @@ SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE
|
||||
lpadmin -p printername -E -v lpd://11.22.33.44/ -m ppd-name
|
||||
|
||||
The sample drivers provide basic printing capabilities, but generally do not
|
||||
exercise the full potential of the printers or CUPS. The CUPS web site
|
||||
provides links and drivers:
|
||||
|
||||
http://www.cups.org/ppd.php PPD files
|
||||
http://www.cups.org/links.php Links to other drivers
|
||||
exercise the full potential of the printers or CUPS.
|
||||
|
||||
|
||||
PRINTING FILES
|
||||
@@ -147,8 +126,8 @@ PRINTING FILES
|
||||
lpr -o media=A4 -o resolution=600dpi filename
|
||||
|
||||
CUPS recognizes many types of images files as well as PDF, PostScript,
|
||||
HP-GL/2, and text files, so you can print those files directly rather than
|
||||
through an application.
|
||||
and text files, so you can print those files directly rather than through
|
||||
an application.
|
||||
|
||||
If you have an application that generates output specifically for your
|
||||
printer then you need to use the "-oraw" or "-l" options:
|
||||
@@ -156,8 +135,7 @@ PRINTING FILES
|
||||
lp -o raw filename
|
||||
lpr -l filename
|
||||
|
||||
This will prevent the filters from misinterpreting your print
|
||||
file.
|
||||
This will prevent the filters from misinterpreting your print file.
|
||||
|
||||
|
||||
LEGAL STUFF
|
||||
@@ -167,8 +145,6 @@ LEGAL STUFF
|
||||
|
||||
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
|
||||
|
||||
This software is based in part on the work of the Independent JPEG Group.
|
||||
|
||||
CUPS is provided under the terms of version 2 of the GNU General Public
|
||||
License and GNU Library General Public License. This program is distributed
|
||||
in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
|
||||
+10
-10
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: network.c 11970 2014-07-01 14:35:25Z msweet $"
|
||||
* "$Id: network.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* Common backend network APIs for CUPS.
|
||||
*
|
||||
@@ -175,13 +175,13 @@ backendNetworkSideCB(
|
||||
{
|
||||
case CUPS_ASN1_BOOLEAN :
|
||||
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%d", packet.object_value.boolean);
|
||||
datalen += strlen(dataptr);
|
||||
datalen += (int)strlen(dataptr);
|
||||
break;
|
||||
|
||||
case CUPS_ASN1_INTEGER :
|
||||
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%d",
|
||||
packet.object_value.integer);
|
||||
datalen += strlen(dataptr);
|
||||
datalen += (int)strlen(dataptr);
|
||||
break;
|
||||
|
||||
case CUPS_ASN1_BIT_STRING :
|
||||
@@ -193,13 +193,13 @@ backendNetworkSideCB(
|
||||
|
||||
memcpy(dataptr, packet.object_value.string.bytes, i);
|
||||
|
||||
datalen += i;
|
||||
datalen += (int)i;
|
||||
break;
|
||||
|
||||
case CUPS_ASN1_OID :
|
||||
_cupsSNMPOIDToString(packet.object_value.oid, dataptr,
|
||||
sizeof(data) - (size_t)(dataptr - data));
|
||||
datalen += strlen(dataptr);
|
||||
datalen += (int)strlen(dataptr);
|
||||
break;
|
||||
|
||||
case CUPS_ASN1_HEX_STRING :
|
||||
@@ -208,22 +208,22 @@ backendNetworkSideCB(
|
||||
dataptr < (data + sizeof(data) - 3);
|
||||
i ++, dataptr += 2)
|
||||
sprintf(dataptr, "%02X", packet.object_value.string.bytes[i]);
|
||||
datalen += strlen(dataptr);
|
||||
datalen += (int)strlen(dataptr);
|
||||
break;
|
||||
|
||||
case CUPS_ASN1_COUNTER :
|
||||
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%u", packet.object_value.counter);
|
||||
datalen += strlen(dataptr);
|
||||
datalen += (int)strlen(dataptr);
|
||||
break;
|
||||
|
||||
case CUPS_ASN1_GAUGE :
|
||||
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%u", packet.object_value.gauge);
|
||||
datalen += strlen(dataptr);
|
||||
datalen += (int)strlen(dataptr);
|
||||
break;
|
||||
|
||||
case CUPS_ASN1_TIMETICKS :
|
||||
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%u", packet.object_value.timeticks);
|
||||
datalen += strlen(dataptr);
|
||||
datalen += (int)strlen(dataptr);
|
||||
break;
|
||||
|
||||
default :
|
||||
@@ -304,5 +304,5 @@ backendNetworkSideCB(
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: network.c 11970 2014-07-01 14:35:25Z msweet $".
|
||||
* End of "$Id: network.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -215,3 +215,9 @@
|
||||
|
||||
# Lexmark E238 (STR #4448)
|
||||
0x043d 0x009a no-reattach
|
||||
|
||||
# Canon MX310 (STR #4482)
|
||||
0x04a9 0x1728 unidir
|
||||
|
||||
# Canon MX320 (STR #4482)
|
||||
0x04A9 0x1736 unidir
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: usb-unix.c 11342 2013-10-18 20:36:01Z msweet $"
|
||||
* "$Id: usb-unix.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* USB port backend for CUPS.
|
||||
*
|
||||
@@ -146,7 +146,7 @@ print_device(const char *uri, /* I - Device URI */
|
||||
|
||||
tcgetattr(device_fd, &opts);
|
||||
|
||||
opts.c_lflag &= ~(ICANON | ECHO | ISIG); /* Raw mode */
|
||||
opts.c_lflag &= ~(unsigned)(ICANON | ECHO | ISIG); /* Raw mode */
|
||||
|
||||
/**** No options supported yet ****/
|
||||
|
||||
@@ -603,5 +603,5 @@ side_cb(int print_fd, /* I - Print file */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: usb-unix.c 11342 2013-10-18 20:36:01Z msweet $".
|
||||
* End of "$Id: usb-unix.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: admin.c 11594 2014-02-14 20:09:01Z msweet $"
|
||||
* "$Id: admin.c 12123 2014-08-28 14:24:45Z msweet $"
|
||||
*
|
||||
* Administration CGI for CUPS.
|
||||
*
|
||||
@@ -1897,7 +1897,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
|
||||
}
|
||||
else
|
||||
{
|
||||
cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect");
|
||||
cgiSetVariable("refresh_page", "5;URL=/admin/");
|
||||
|
||||
cgiStartHTML(cgiText(_("Edit Configuration File")));
|
||||
cgiCopyTemplateLang("restart.tmpl");
|
||||
@@ -4198,5 +4198,5 @@ get_points(double number, /* I - Original number */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: admin.c 11594 2014-02-14 20:09:01Z msweet $".
|
||||
* End of "$Id: admin.c 12123 2014-08-28 14:24:45Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id: cups-common.m4 12073 2014-07-31 00:58:00Z msweet $"
|
||||
dnl "$Id: cups-common.m4 12180 2014-10-01 12:08:02Z msweet $"
|
||||
dnl
|
||||
dnl Common configuration stuff for CUPS.
|
||||
dnl
|
||||
@@ -20,7 +20,7 @@ dnl Set the name of the config header file...
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
|
||||
dnl Version number information...
|
||||
CUPS_VERSION=2.0b1
|
||||
CUPS_VERSION=2.0.0
|
||||
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'`"
|
||||
@@ -369,9 +369,6 @@ case $uname in
|
||||
AC_CHECK_HEADER(membershipPriv.h,AC_DEFINE(HAVE_MEMBERSHIPPRIV_H))
|
||||
AC_CHECK_FUNCS(mbr_uid_to_uuid)
|
||||
|
||||
dnl Check for the vproc_transaction_begin/end stuff...
|
||||
AC_CHECK_FUNCS(vproc_transaction_begin)
|
||||
|
||||
dnl Need <dlfcn.h> header...
|
||||
AC_CHECK_HEADER(dlfcn.h,AC_DEFINE(HAVE_DLFCN_H))
|
||||
|
||||
@@ -465,5 +462,5 @@ esac
|
||||
AC_SUBST(BUILDDIRS)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id: cups-common.m4 12073 2014-07-31 00:58:00Z msweet $".
|
||||
dnl End of "$Id: cups-common.m4 12180 2014-10-01 12:08:02Z msweet $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id: cups-compiler.m4 11683 2014-03-05 20:00:54Z msweet $"
|
||||
dnl "$Id: cups-compiler.m4 12122 2014-08-28 12:55:52Z msweet $"
|
||||
dnl
|
||||
dnl Compiler stuff for CUPS.
|
||||
dnl
|
||||
@@ -110,7 +110,7 @@ if test -n "$GCC"; then
|
||||
# The -fstack-protector option is available with some versions of
|
||||
# GCC and adds "stack canaries" which detect when the return address
|
||||
# has been overwritten, preventing many types of exploit attacks.
|
||||
AC_MSG_CHECKING(if GCC supports -fstack-protector)
|
||||
AC_MSG_CHECKING(whether compiler supports -fstack-protector)
|
||||
OLDCFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -fstack-protector"
|
||||
AC_TRY_LINK(,,
|
||||
@@ -130,7 +130,7 @@ if test -n "$GCC"; then
|
||||
# exploits that depend on a fixed address for common functions.
|
||||
#
|
||||
# Not available to LSB binaries...
|
||||
AC_MSG_CHECKING(if GCC supports -fPIE)
|
||||
AC_MSG_CHECKING(whether compiler supports -fPIE)
|
||||
OLDCFLAGS="$CFLAGS"
|
||||
case "$uname" in
|
||||
Darwin*)
|
||||
@@ -154,9 +154,18 @@ if test -n "$GCC"; then
|
||||
|
||||
if test "x$with_optim" = x; then
|
||||
# Add useful warning options for tracking down problems...
|
||||
OPTIM="-Wall -Wno-format-y2k -Wsign-conversion -Wunused $OPTIM"
|
||||
OPTIM="-Wall -Wno-format-y2k -Wunused $OPTIM"
|
||||
|
||||
AC_MSG_CHECKING(if GCC supports -Wno-tautological-compare)
|
||||
AC_MSG_CHECKING(whether compiler supports -Wsign-conversion)
|
||||
OLDCFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Werror -Wsign-conversion"
|
||||
AC_TRY_COMPILE(,,
|
||||
[OPTIM="$OPTIM -Wsign-conversion"
|
||||
AC_MSG_RESULT(yes)],
|
||||
AC_MSG_RESULT(no))
|
||||
CFLAGS="$OLDCFLAGS"
|
||||
|
||||
AC_MSG_CHECKING(whether compiler supports -Wno-tautological-compare)
|
||||
OLDCFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Werror -Wno-tautological-compare"
|
||||
AC_TRY_COMPILE(,,
|
||||
@@ -211,7 +220,7 @@ else
|
||||
# should contribute the necessary options to
|
||||
# cups-support@cups.org...
|
||||
echo "Building CUPS with default compiler optimizations; contact"
|
||||
echo "cups-bugs@cups.org with uname and compiler options needed"
|
||||
echo "cups-devel@cups.org with uname and compiler options needed"
|
||||
echo "for your platform, or set the CFLAGS and LDFLAGS environment"
|
||||
echo "variables before running configure."
|
||||
;;
|
||||
@@ -228,5 +237,5 @@ case $uname in
|
||||
esac
|
||||
|
||||
dnl
|
||||
dnl End of "$Id: cups-compiler.m4 11683 2014-03-05 20:00:54Z msweet $".
|
||||
dnl End of "$Id: cups-compiler.m4 12122 2014-08-28 12:55:52Z msweet $".
|
||||
dnl
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id: cups-ssl.m4 11911 2014-06-10 13:54:53Z msweet $"
|
||||
dnl "$Id: cups-ssl.m4 12122 2014-08-28 12:55:52Z msweet $"
|
||||
dnl
|
||||
dnl TLS stuff for CUPS.
|
||||
dnl
|
||||
@@ -78,6 +78,11 @@ if test x$enable_ssl != xno; then
|
||||
if test $have_ssl = 1; then
|
||||
CUPS_SERVERCERT="ssl/server.crt"
|
||||
CUPS_SERVERKEY="ssl/server.key"
|
||||
|
||||
SAVELIBS="$LIBS"
|
||||
LIBS="$LIBS $SSLLIBS"
|
||||
AC_CHECK_FUNC(gnutls_transport_set_pull_timeout_function, AC_DEFINE(HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION))
|
||||
LIBS="$SAVELIBS"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -101,5 +106,5 @@ EXPORT_SSLLIBS="$SSLLIBS"
|
||||
AC_SUBST(EXPORT_SSLLIBS)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id: cups-ssl.m4 11911 2014-06-10 13:54:53Z msweet $".
|
||||
dnl End of "$Id: cups-ssl.m4 12122 2014-08-28 12:55:52Z msweet $".
|
||||
dnl
|
||||
|
||||
+11
-13
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: config.h.in 11717 2014-03-21 16:42:53Z msweet $"
|
||||
* "$Id: config.h.in 12140 2014-08-30 01:51:22Z msweet $"
|
||||
*
|
||||
* Configuration file for CUPS.
|
||||
*
|
||||
@@ -93,7 +93,7 @@
|
||||
* Default MaxCopies value...
|
||||
*/
|
||||
|
||||
#define CUPS_DEFAULT_MAX_COPIES 100
|
||||
#define CUPS_DEFAULT_MAX_COPIES 9999
|
||||
|
||||
|
||||
/*
|
||||
@@ -150,10 +150,7 @@
|
||||
* Do we have PAM stuff?
|
||||
*/
|
||||
|
||||
#ifndef HAVE_LIBPAM
|
||||
#define HAVE_LIBPAM 0
|
||||
#endif /* !HAVE_LIBPAM */
|
||||
|
||||
#undef HAVE_PAM_PAM_APPL_H
|
||||
#undef HAVE_PAM_SET_ITEM
|
||||
#undef HAVE_PAM_SETCRED
|
||||
@@ -297,9 +294,17 @@
|
||||
|
||||
#undef HAVE_CDSASSL
|
||||
#undef HAVE_GNUTLS
|
||||
#undef HAVE_SSPISSL
|
||||
#undef HAVE_SSL
|
||||
|
||||
|
||||
/*
|
||||
* Do we have the gnutls_transport_set_pull_timeout_function function?
|
||||
*/
|
||||
|
||||
#undef HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION
|
||||
|
||||
|
||||
/*
|
||||
* What Security framework headers do we have?
|
||||
*/
|
||||
@@ -632,13 +637,6 @@
|
||||
#endif /* HAVE_ARC4RANDOM */
|
||||
|
||||
|
||||
/*
|
||||
* Do we have vproc_transaction_begin/end?
|
||||
*/
|
||||
|
||||
#undef HAVE_VPROC_TRANSACTION_BEGIN
|
||||
|
||||
|
||||
/*
|
||||
* Do we have libusb?
|
||||
*/
|
||||
@@ -714,5 +712,5 @@ static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
|
||||
#endif /* !_CUPS_CONFIG_H_ */
|
||||
|
||||
/*
|
||||
* End of "$Id: config.h.in 11717 2014-03-21 16:42:53Z msweet $".
|
||||
* End of "$Id: config.h.in 12140 2014-08-30 01:51:22Z msweet $".
|
||||
*/
|
||||
|
||||
externo
+45
-21
@@ -2520,7 +2520,7 @@ esac
|
||||
ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
CUPS_VERSION=2.0b1
|
||||
CUPS_VERSION=2.0.0
|
||||
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'`"
|
||||
@@ -5692,18 +5692,6 @@ if test "x$ac_cv_func_mbr_uid_to_uuid" = xyes; then :
|
||||
#define HAVE_MBR_UID_TO_UUID 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
for ac_func in vproc_transaction_begin
|
||||
do :
|
||||
ac_fn_c_check_func "$LINENO" "vproc_transaction_begin" "ac_cv_func_vproc_transaction_begin"
|
||||
if test "x$ac_cv_func_vproc_transaction_begin" = xyes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_VPROC_TRANSACTION_BEGIN 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -6625,8 +6613,8 @@ if test -n "$GCC"; then
|
||||
# The -fstack-protector option is available with some versions of
|
||||
# GCC and adds "stack canaries" which detect when the return address
|
||||
# has been overwritten, preventing many types of exploit attacks.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if GCC supports -fstack-protector" >&5
|
||||
$as_echo_n "checking if GCC supports -fstack-protector... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports -fstack-protector" >&5
|
||||
$as_echo_n "checking whether compiler supports -fstack-protector... " >&6; }
|
||||
OLDCFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -fstack-protector"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
@@ -6663,8 +6651,8 @@ rm -f core conftest.err conftest.$ac_objext \
|
||||
# exploits that depend on a fixed address for common functions.
|
||||
#
|
||||
# Not available to LSB binaries...
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if GCC supports -fPIE" >&5
|
||||
$as_echo_n "checking if GCC supports -fPIE... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports -fPIE" >&5
|
||||
$as_echo_n "checking whether compiler supports -fPIE... " >&6; }
|
||||
OLDCFLAGS="$CFLAGS"
|
||||
case "$uname" in
|
||||
Darwin*)
|
||||
@@ -6722,10 +6710,36 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
if test "x$with_optim" = x; then
|
||||
# Add useful warning options for tracking down problems...
|
||||
OPTIM="-Wall -Wno-format-y2k -Wsign-conversion -Wunused $OPTIM"
|
||||
OPTIM="-Wall -Wno-format-y2k -Wunused $OPTIM"
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if GCC supports -Wno-tautological-compare" >&5
|
||||
$as_echo_n "checking if GCC supports -Wno-tautological-compare... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports -Wsign-conversion" >&5
|
||||
$as_echo_n "checking whether compiler supports -Wsign-conversion... " >&6; }
|
||||
OLDCFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Werror -Wsign-conversion"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
OPTIM="$OPTIM -Wsign-conversion"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
CFLAGS="$OLDCFLAGS"
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports -Wno-tautological-compare" >&5
|
||||
$as_echo_n "checking whether compiler supports -Wno-tautological-compare... " >&6; }
|
||||
OLDCFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Werror -Wno-tautological-compare"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
@@ -6796,7 +6810,7 @@ else
|
||||
# should contribute the necessary options to
|
||||
# cups-support@cups.org...
|
||||
echo "Building CUPS with default compiler optimizations; contact"
|
||||
echo "cups-bugs@cups.org with uname and compiler options needed"
|
||||
echo "cups-devel@cups.org with uname and compiler options needed"
|
||||
echo "for your platform, or set the CFLAGS and LDFLAGS environment"
|
||||
echo "variables before running configure."
|
||||
;;
|
||||
@@ -8295,6 +8309,16 @@ fi
|
||||
if test $have_ssl = 1; then
|
||||
CUPS_SERVERCERT="ssl/server.crt"
|
||||
CUPS_SERVERKEY="ssl/server.key"
|
||||
|
||||
SAVELIBS="$LIBS"
|
||||
LIBS="$LIBS $SSLLIBS"
|
||||
ac_fn_c_check_func "$LINENO" "gnutls_transport_set_pull_timeout_function" "ac_cv_func_gnutls_transport_set_pull_timeout_function"
|
||||
if test "x$ac_cv_func_gnutls_transport_set_pull_timeout_function" = xyes; then :
|
||||
$as_echo "#define HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
LIBS="$SAVELIBS"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
+9
-4
@@ -4,8 +4,9 @@ adminutil.o: adminutil.c cups-private.h string-private.h ../config.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \
|
||||
thread-private.h adminutil.h
|
||||
array.o: array.c string-private.h ../config.h debug-private.h \
|
||||
../cups/versioning.h array-private.h ../cups/array.h
|
||||
array.o: array.c ../cups/cups.h file.h versioning.h ipp.h http.h array.h \
|
||||
language.h pwg.h string-private.h ../config.h debug-private.h \
|
||||
array-private.h
|
||||
attr.o: attr.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
@@ -223,8 +224,12 @@ snmp.o: snmp.c cups-private.h string-private.h ../config.h \
|
||||
../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \
|
||||
thread-private.h snmp-private.h
|
||||
snprintf.o: snprintf.c string-private.h ../config.h
|
||||
string.o: string.c string-private.h ../config.h debug-private.h \
|
||||
../cups/versioning.h thread-private.h array.h
|
||||
string.o: string.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \
|
||||
thread-private.h
|
||||
tempfile.o: tempfile.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
|
||||
+24
-2
@@ -3,7 +3,7 @@
|
||||
|
||||
Filter and backend programming introduction for CUPS.
|
||||
|
||||
Copyright 2007-2013 by Apple Inc.
|
||||
Copyright 2007-2014 by Apple Inc.
|
||||
Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
@@ -81,7 +81,7 @@ directory to write to.</p>
|
||||
|
||||
<p>In addition, some operating systems provide additional security mechanisms
|
||||
that further limit file system access, even for backends running as root. On
|
||||
OS X, for example, no backend may write to a user's home directory.</p>
|
||||
OS X, for example, no backend may write to a user's home directory. See the <a href="#SANDBOXING">Sandboxing on OS X</a> section for more information.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3><a name="SIGNALS">Canceled Jobs and Signal Handling</a></h3>
|
||||
@@ -852,3 +852,25 @@ void *my_data;
|
||||
|
||||
<a href="#cupsSideChannelSNMPWalk">cupsSNMPSideChannelWalk</a>(".1.3.6.1.2.1.43", 5.0, my_callback, my_data);
|
||||
</pre>
|
||||
|
||||
<h2><a name="SANDBOXING">Sandboxing on OS X</a></h2>
|
||||
|
||||
<p>Starting with OS X 10.6, filters and backends are run inside a security "sandbox" which further limits (beyond the normal UNIX user/group permissions) what a filter or backend can do. This helps to both secure the printing system from malicious software and enforce the functional separation of components in the CUPS filter chain. What follows is a list of actions that are explicitly allowed for all filters and backends:</p>
|
||||
|
||||
<ol>
|
||||
|
||||
<li>Reading of files: pursuant to normal UNIX file permissions, filters and backends can read files for the current job from the <var>/private/var/spool/cups</var> directory and other files on mounted filesystems <em>except</em> for user home directories under <var>/Users</var>.</li>
|
||||
|
||||
<li>Writing of files: pursuant to normal UNIX file permissions, filters and backends can read/write files to the cache directory specified by the <code>CUPS_CACHEDIR</code> environment variable, to the state directory specified by the <code>CUPS_STATEDIR</code> environment variable, to the temporary directory specified by the <code>TMPDIR</code> environment variable, and under the <var>/private/var/db</var>, <var>/private/var/folders</var>, <var>/private/var/lib</var>, <var>/private/var/mysql</var>, <var>/private/var/run</var>, <var>/private/var/spool</var> (except <var>/private/var/spool/cups</var>), <var>/Library/Application Support</var>, <var>/Library/Caches</var>, <var>/Library/Logs</var>, <var>/Library/Preferences</var>, <var>/Library/WebServer</var>, and <var>/Users/Shared</var> directories.</li>
|
||||
|
||||
<li>Execution of programs: pursuant to normal UNIX file permissions, filters and backends can execute any program not located under the <var>/Users</var> directory. Child processes inherit the sandbox and are subject to the same restrictions as the parent.</li>
|
||||
|
||||
<li>Bluetooth and USB: backends can access Bluetooth and USB printers through IOKit. <em>Filters cannot access Bluetooth and USB printers directly.</em></li>
|
||||
|
||||
<li>Network: filters and backends can access UNIX domain sockets under the <var>/private/tmp</var>, <var>/private/var/run</var>, and <var>/private/var/tmp</var> directories. Backends can also create IPv4 and IPv6 TCP (outgoing) and UDP (incoming and outgoing) socket, and bind to local source ports. <em>Filters cannot directly create IPv4 and IPv6 TCP or UDP sockets.</em></li>
|
||||
|
||||
<li>Notifications: filters and backends can send notifications via the Darwin <code>notify_post()</code> API.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<blockquote><b>Note:</b> The sandbox profile used in CUPS 2.0 still allows some actions that are not listed above - these privileges will be removed over time until the profile matches the list above.</blockquote>
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: cups.h 11884 2014-05-16 21:54:22Z msweet $"
|
||||
* "$Id: cups.h 12094 2014-08-19 12:15:11Z msweet $"
|
||||
*
|
||||
* API definitions for CUPS.
|
||||
*
|
||||
@@ -615,7 +615,7 @@ extern int cupsGetDestMediaDefault(http_t *http, cups_dest_t *dest,
|
||||
extern void cupsSetUserAgent(const char *user_agent) _CUPS_API_1_7;
|
||||
extern const char *cupsUserAgent(void) _CUPS_API_1_7;
|
||||
|
||||
/* New in CUPS 2.0 */
|
||||
/* New in CUPS 2.0/OS X 10.10 */
|
||||
extern cups_dest_t *cupsGetDestWithURI(const char *name, const char *uri) _CUPS_API_2_0;
|
||||
extern const char *cupsLocalizeDestMedia(http_t *http, cups_dest_t *dest, cups_dinfo_t *info, unsigned flags, cups_size_t *size) _CUPS_API_2_0;
|
||||
extern int cupsMakeServerCredentials(const char *path, const char *common_name, int num_alt_names, const char **alt_names, time_t expiration_date) _CUPS_API_2_0;
|
||||
@@ -628,5 +628,5 @@ extern int cupsSetServerCredentials(const char *path, const char *common_name,
|
||||
#endif /* !_CUPS_CUPS_H_ */
|
||||
|
||||
/*
|
||||
* End of "$Id: cups.h 11884 2014-05-16 21:54:22Z msweet $".
|
||||
* End of "$Id: cups.h 12094 2014-08-19 12:15:11Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: dest-localization.c 11894 2014-05-23 03:18:00Z msweet $"
|
||||
* "$Id: dest-localization.c 12094 2014-08-19 12:15:11Z msweet $"
|
||||
*
|
||||
* Destination localization support for CUPS.
|
||||
*
|
||||
@@ -38,7 +38,7 @@ static char *cups_scan_strings(char *buffer);
|
||||
* The returned string is stored in the destination information and will become
|
||||
* invalid if the destination information is deleted.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS X 10.10@
|
||||
*/
|
||||
|
||||
const char * /* O - Localized string */
|
||||
@@ -535,5 +535,5 @@ cups_scan_strings(char *buffer) /* I - Start of string */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: dest-localization.c 11894 2014-05-23 03:18:00Z msweet $".
|
||||
* End of "$Id: dest-localization.c 12094 2014-08-19 12:15:11Z msweet $".
|
||||
*/
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: dest.c 11959 2014-06-26 18:30:19Z msweet $"
|
||||
* "$Id: dest.c 12094 2014-08-19 12:15:11Z msweet $"
|
||||
*
|
||||
* User-defined destination (and option) support for CUPS.
|
||||
*
|
||||
@@ -1310,7 +1310,7 @@ _cupsGetDestResource(
|
||||
*
|
||||
* "uri" is the "ipp" or "ipps" URI for the printer.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS X 10.10@
|
||||
*/
|
||||
|
||||
cups_dest_t * /* O - Destination or @code NULL@ */
|
||||
@@ -3942,5 +3942,5 @@ cups_make_string(
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: dest.c 11959 2014-06-26 18:30:19Z msweet $".
|
||||
* End of "$Id: dest.c 12094 2014-08-19 12:15:11Z msweet $".
|
||||
*/
|
||||
|
||||
+4
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: globals.c 11851 2014-05-07 23:55:35Z msweet $"
|
||||
* "$Id: globals.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* Global variable access routines for CUPS.
|
||||
*
|
||||
@@ -361,7 +361,9 @@ cups_globals_free(_cups_globals_t *cg) /* I - Pointer to global data */
|
||||
|
||||
httpClose(cg->http);
|
||||
|
||||
#ifdef HAVE_SSL
|
||||
_httpFreeCredentials(cg->tls_credentials);
|
||||
#endif /* HAVE_SSL */
|
||||
|
||||
cupsFileClose(cg->stdio_files[0]);
|
||||
cupsFileClose(cg->stdio_files[1]);
|
||||
@@ -392,5 +394,5 @@ cups_globals_init(void)
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: globals.c 11851 2014-05-07 23:55:35Z msweet $".
|
||||
* End of "$Id: globals.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+12
-5
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: http-addr.c 11627 2014-02-20 16:15:09Z msweet $"
|
||||
* "$Id: http-addr.c 12129 2014-08-28 19:26:31Z msweet $"
|
||||
*
|
||||
* HTTP address routines for CUPS.
|
||||
*
|
||||
@@ -64,7 +64,7 @@ httpAddrAny(const http_addr_t *addr) /* I - Address to check */
|
||||
* listen address for sockets created with @link httpAddrListen@. This will
|
||||
* ensure that domain sockets are removed when closed.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 0 on success, -1 on failure */
|
||||
@@ -653,7 +653,7 @@ httpAddrString(const http_addr_t *addr, /* I - Address to convert */
|
||||
*
|
||||
* Returns @code NULL@ if the socket is currently unconnected.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
http_addr_t * /* O - Connected address or @code NULL@ */
|
||||
@@ -865,6 +865,13 @@ httpGetHostname(http_t *http, /* I - HTTP connection or NULL */
|
||||
}
|
||||
#endif /* HAVE_SCDYNAMICSTORECOPYCOMPUTERNAME */
|
||||
}
|
||||
|
||||
/*
|
||||
* Make sure .local hostnames end with a period...
|
||||
*/
|
||||
|
||||
if (strlen(s) > 6 && !strcmp(s + strlen(s) - 6, ".local"))
|
||||
strlcat(s, ".", (size_t)slen);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -879,7 +886,7 @@ httpGetHostname(http_t *http, /* I - HTTP connection or NULL */
|
||||
* 'httpResolveHostname()' - Resolve the hostname of the HTTP connection
|
||||
* address.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
const char * /* O - Resolved hostname or @code NULL@ */
|
||||
@@ -917,5 +924,5 @@ httpResolveHostname(http_t *http, /* I - HTTP connection */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: http-addr.c 11627 2014-02-20 16:15:09Z msweet $".
|
||||
* End of "$Id: http-addr.c 12129 2014-08-28 19:26:31Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: http-private.h 12044 2014-07-17 21:21:21Z msweet $"
|
||||
* "$Id: http-private.h 12126 2014-08-28 16:02:00Z msweet $"
|
||||
*
|
||||
* Private HTTP definitions for CUPS.
|
||||
*
|
||||
@@ -76,7 +76,6 @@ typedef int socklen_t;
|
||||
# ifdef HAVE_GNUTLS
|
||||
# include <gnutls/gnutls.h>
|
||||
# include <gnutls/x509.h>
|
||||
# include <gcrypt.h>
|
||||
# elif defined(HAVE_CDSASSL)
|
||||
# include <CoreFoundation/CoreFoundation.h>
|
||||
# include <Security/Security.h>
|
||||
@@ -439,5 +438,5 @@ extern int _httpWait(http_t *http, int msec, int usessl);
|
||||
#endif /* !_CUPS_HTTP_PRIVATE_H_ */
|
||||
|
||||
/*
|
||||
* End of "$Id: http-private.h 12044 2014-07-17 21:21:21Z msweet $".
|
||||
* End of "$Id: http-private.h 12126 2014-08-28 16:02:00Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: http-support.c 11844 2014-05-02 11:58:54Z msweet $"
|
||||
* "$Id: http-support.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* HTTP support routines for CUPS.
|
||||
*
|
||||
@@ -649,7 +649,7 @@ httpDecode64_2(char *out, /* I - String to write to */
|
||||
break;
|
||||
case 3 :
|
||||
if (outptr < outend)
|
||||
*outptr++ |= base64;
|
||||
*outptr++ |= (char)base64;
|
||||
pos = 0;
|
||||
break;
|
||||
}
|
||||
@@ -1300,7 +1300,7 @@ httpSeparateURI(
|
||||
/*
|
||||
* 'httpStateString()' - Return the string describing a HTTP state value.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
const char * /* O - State string */
|
||||
@@ -1433,7 +1433,7 @@ httpStatus(http_status_t status) /* I - HTTP status code */
|
||||
/*
|
||||
* 'httpURIStatusString()' - Return a string describing a URI status code.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
const char * /* O - Localized status string */
|
||||
@@ -2544,5 +2544,5 @@ http_resolve_cb(
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: http-support.c 11844 2014-05-02 11:58:54Z msweet $".
|
||||
* End of "$Id: http-support.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+19
-15
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: http.c 12034 2014-07-16 19:37:34Z msweet $"
|
||||
* "$Id: http.c 12125 2014-08-28 15:49:29Z msweet $"
|
||||
*
|
||||
* HTTP routines for CUPS.
|
||||
*
|
||||
@@ -393,7 +393,7 @@ httpClose(http_t *http) /* I - HTTP connection */
|
||||
/*
|
||||
* 'httpCompareCredentials()' - Compare two sets of X.509 credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 if they match, 0 if they do not */
|
||||
@@ -759,7 +759,7 @@ httpGet(http_t *http, /* I - HTTP connection */
|
||||
*
|
||||
* The return value is the UNIX time of the last read or write.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
time_t /* O - Time of last read or write */
|
||||
@@ -911,7 +911,7 @@ httpGetCookie(http_t *http) /* I - HTTP connecion */
|
||||
* @link httpIsEncrypted@ function to determine whether a TLS session has
|
||||
* been established.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
http_encryption_t /* O - Current encryption mode */
|
||||
@@ -995,7 +995,7 @@ httpGetField(http_t *http, /* I - HTTP connection */
|
||||
/*
|
||||
* 'httpGetKeepAlive()' - Get the current Keep-Alive state of the connection.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
http_keepalive_t /* O - Keep-Alive state */
|
||||
@@ -1104,7 +1104,7 @@ httpGetLength2(http_t *http) /* I - HTTP connection */
|
||||
/*
|
||||
* 'httpGetPending()' - Get the number of bytes that are buffered for writing.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
size_t /* O - Number of bytes buffered */
|
||||
@@ -1117,7 +1117,7 @@ httpGetPending(http_t *http) /* I - HTTP connection */
|
||||
/*
|
||||
* 'httpGetReady()' - Get the number of bytes that can be read without blocking.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
size_t /* O - Number of bytes available */
|
||||
@@ -1143,7 +1143,7 @@ httpGetReady(http_t *http) /* I - HTTP connection */
|
||||
* The @link httpIsChunked@ function can be used to determine whether the
|
||||
* message body is chunked or fixed-length.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
size_t /* O - Remaining bytes */
|
||||
@@ -1582,7 +1582,7 @@ httpInitialize(void)
|
||||
* This function returns non-zero if the message body is composed of
|
||||
* variable-length chunks.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 if chunked, 0 if not */
|
||||
@@ -1597,7 +1597,7 @@ httpIsChunked(http_t *http) /* I - HTTP connection */
|
||||
*
|
||||
* This function returns non-zero if the connection is currently encrypted.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 if encrypted, 0 if not */
|
||||
@@ -1793,8 +1793,8 @@ httpPeek(http_t *http, /* I - HTTP connection */
|
||||
|
||||
memcpy(http->sbuffer + http->stream.avail_in, http->buffer, buflen);
|
||||
http->stream.avail_in += buflen;
|
||||
http->used -= buflen;
|
||||
http->data_remaining -= buflen;
|
||||
http->used -= (int)buflen;
|
||||
http->data_remaining -= (off_t)buflen;
|
||||
|
||||
if (http->used > 0)
|
||||
memmove(http->buffer, http->buffer + buflen, (size_t)http->used);
|
||||
@@ -2557,9 +2557,11 @@ httpSetCredentials(http_t *http, /* I - HTTP connection */
|
||||
if (!http || cupsArrayCount(credentials) < 1)
|
||||
return (-1);
|
||||
|
||||
#ifdef HAVE_SSL
|
||||
_httpFreeCredentials(http->tls_credentials);
|
||||
|
||||
http->tls_credentials = _httpCreateCredentials(credentials);
|
||||
#endif /* HAVE_SSL */
|
||||
|
||||
return (http->tls_credentials ? 0 : -1);
|
||||
}
|
||||
@@ -2769,7 +2771,7 @@ httpSetField(http_t *http, /* I - HTTP connection */
|
||||
/*
|
||||
* 'httpSetKeepAlive()' - Set the current Keep-Alive state of a connection.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
void
|
||||
@@ -2847,7 +2849,7 @@ httpSetTimeout(
|
||||
/*
|
||||
* 'httpShutdown()' - Shutdown one side of an HTTP connection.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
void
|
||||
@@ -2856,8 +2858,10 @@ httpShutdown(http_t *http) /* I - HTTP connection */
|
||||
if (!http || http->fd < 0)
|
||||
return;
|
||||
|
||||
#ifdef HAVE_SSL
|
||||
if (http->tls)
|
||||
_httpTLSStop(http);
|
||||
#endif /* HAVE_SSL */
|
||||
|
||||
#ifdef WIN32
|
||||
shutdown(http->fd, SD_RECEIVE); /* Microsoft-ism... */
|
||||
@@ -4822,5 +4826,5 @@ http_write_chunk(http_t *http, /* I - HTTP connection */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: http.c 12034 2014-07-16 19:37:34Z msweet $".
|
||||
* End of "$Id: http.c 12125 2014-08-28 15:49:29Z msweet $".
|
||||
*/
|
||||
|
||||
+4
-4
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: http.h 11850 2014-05-07 23:12:48Z msweet $"
|
||||
* "$Id: http.h 12094 2014-08-19 12:15:11Z msweet $"
|
||||
*
|
||||
* Hyper-Text Transport Protocol definitions for CUPS.
|
||||
*
|
||||
@@ -342,7 +342,7 @@ typedef enum http_status_e /**** HTTP status codes ****/
|
||||
# endif /* !_CUPS_NO_DEPRECATED */
|
||||
} http_status_t;
|
||||
|
||||
typedef enum http_trust_e /**** Level of trust for credentials @since CUPS 2.0@ */
|
||||
typedef enum http_trust_e /**** Level of trust for credentials @since CUPS 2.0/OS 10.10@ */
|
||||
{
|
||||
HTTP_TRUST_OK = 0, /* Credentials are OK/trusted */
|
||||
HTTP_TRUST_INVALID, /* Credentials are invalid */
|
||||
@@ -620,7 +620,7 @@ extern void httpSetDefaultField(http_t *http, http_field_t field,
|
||||
extern http_state_t httpWriteResponse(http_t *http,
|
||||
http_status_t status) _CUPS_API_1_7;
|
||||
|
||||
/* New in CUPS 2.0 */
|
||||
/* New in CUPS 2.0/OS X 10.10 */
|
||||
extern int httpAddrClose(http_addr_t *addr, int fd) _CUPS_API_2_0;
|
||||
extern int httpAddrFamily(http_addr_t *addr) _CUPS_API_2_0;
|
||||
extern int httpCompareCredentials(cups_array_t *cred1, cups_array_t *cred2) _CUPS_API_2_0;
|
||||
@@ -656,5 +656,5 @@ extern const char *httpURIStatusString(http_uri_status_t status) _CUPS_API_2_0;
|
||||
#endif /* !_CUPS_HTTP_H_ */
|
||||
|
||||
/*
|
||||
* End of "$Id: http.h 11850 2014-05-07 23:12:48Z msweet $".
|
||||
* End of "$Id: http.h 12094 2014-08-19 12:15:11Z msweet $".
|
||||
*/
|
||||
|
||||
+11
-4
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: ipp-support.c 11806 2014-04-09 16:12:27Z msweet $"
|
||||
* "$Id: ipp-support.c 12095 2014-08-19 16:16:06Z msweet $"
|
||||
*
|
||||
* Internet Printing Protocol support functions for CUPS.
|
||||
*
|
||||
@@ -669,7 +669,14 @@ ippAttributeString(
|
||||
break;
|
||||
|
||||
case IPP_TAG_RESOLUTION :
|
||||
if (buffer && bufptr < bufend)
|
||||
if (val->resolution.xres == val->resolution.yres)
|
||||
{
|
||||
if (buffer && bufptr < bufend)
|
||||
bufptr += snprintf(bufptr, (size_t)(bufend - bufptr + 1), "%d%s", val->resolution.xres, val->resolution.units == IPP_RES_PER_INCH ? "dpi" : "dpcm");
|
||||
else
|
||||
bufptr += snprintf(temp, sizeof(temp), "%d%s", val->resolution.xres, val->resolution.units == IPP_RES_PER_INCH ? "dpi" : "dpcm");
|
||||
}
|
||||
else if (buffer && bufptr < bufend)
|
||||
bufptr += snprintf(bufptr, (size_t)(bufend - bufptr + 1), "%dx%d%s", val->resolution.xres, val->resolution.yres, val->resolution.units == IPP_RES_PER_INCH ? "dpi" : "dpcm");
|
||||
else
|
||||
bufptr += snprintf(temp, sizeof(temp), "%dx%d%s", val->resolution.xres, val->resolution.yres, val->resolution.units == IPP_RES_PER_INCH ? "dpi" : "dpcm");
|
||||
@@ -2122,7 +2129,7 @@ ippSetPort(int p) /* I - Port number to use */
|
||||
/*
|
||||
* 'ippStateString()' - Return the name corresponding to a state value.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
const char * /* O - State name */
|
||||
@@ -2256,5 +2263,5 @@ ipp_col_string(ipp_t *col, /* I - Collection attribute */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: ipp-support.c 11806 2014-04-09 16:12:27Z msweet $".
|
||||
* End of "$Id: ipp-support.c 12095 2014-08-19 16:16:06Z msweet $".
|
||||
*/
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: ipp.c 11840 2014-04-29 15:57:26Z msweet $"
|
||||
* "$Id: ipp.c 12093 2014-08-19 12:10:17Z msweet $"
|
||||
*
|
||||
* Internet Printing Protocol functions for CUPS.
|
||||
*
|
||||
@@ -1728,7 +1728,7 @@ ippCopyAttribute(
|
||||
/*
|
||||
* 'ippCopyAttributes()' - Copy attributes from one IPP message to another.
|
||||
*
|
||||
* Zero or more attributes are copied from the source IPP message, @code@ src, to the
|
||||
* Zero or more attributes are copied from the source IPP message, @code src@, to the
|
||||
* destination IPP message, @code dst@. When @code quickcopy@ is non-zero, a "shallow"
|
||||
* reference copy of the attribute is created - this should only be done as long as the
|
||||
* original source IPP message will not be freed for the life of the destination.
|
||||
@@ -7046,5 +7046,5 @@ ipp_write_file(int *fd, /* I - File descriptor */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: ipp.c 11840 2014-04-29 15:57:26Z msweet $".
|
||||
* End of "$Id: ipp.c 12093 2014-08-19 12:10:17Z msweet $".
|
||||
*/
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: md5.c 11594 2014-02-14 20:09:01Z msweet $"
|
||||
* "$Id: md5.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* Private MD5 implementation for CUPS.
|
||||
*
|
||||
@@ -333,7 +333,7 @@ _cupsMD5Finish(_cups_md5_state_t *pms, unsigned char digest[16])
|
||||
for (i = 0; i < 8; ++i)
|
||||
data[i] = (unsigned char)(pms->count[i >> 2] >> ((i & 3) << 3));
|
||||
/* Pad to 56 bytes mod 64. */
|
||||
_cupsMD5Append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1);
|
||||
_cupsMD5Append(pms, pad, (int)((55 - (pms->count[0] >> 3)) & 63) + 1);
|
||||
/* Append the length. */
|
||||
_cupsMD5Append(pms, data, 8);
|
||||
for (i = 0; i < 16; ++i)
|
||||
@@ -342,5 +342,5 @@ _cupsMD5Finish(_cups_md5_state_t *pms, unsigned char digest[16])
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: md5.c 11594 2014-02-14 20:09:01Z msweet $".
|
||||
* End of "$Id: md5.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: ppd-cache.c 11832 2014-04-24 15:04:00Z msweet $"
|
||||
* "$Id: ppd-cache.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* PPD cache implementation for CUPS.
|
||||
*
|
||||
@@ -2630,7 +2630,7 @@ pwg_compare_finishings(
|
||||
_pwg_finishings_t *a, /* I - First finishings value */
|
||||
_pwg_finishings_t *b) /* I - Second finishings value */
|
||||
{
|
||||
return (b->value - a->value);
|
||||
return ((int)b->value - (int)a->value);
|
||||
}
|
||||
|
||||
|
||||
@@ -2712,5 +2712,5 @@ pwg_unppdize_name(const char *ppd, /* I - PPD keyword */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: ppd-cache.c 11832 2014-04-24 15:04:00Z msweet $".
|
||||
* End of "$Id: ppd-cache.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: sidechannel.c 11594 2014-02-14 20:09:01Z msweet $"
|
||||
* "$Id: sidechannel.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* Side-channel API code for CUPS.
|
||||
*
|
||||
@@ -490,7 +490,7 @@ cupsSideChannelSNMPWalk(
|
||||
real_data[real_datalen] = '\0';
|
||||
|
||||
real_oidlen = strlen(real_data) + 1;
|
||||
real_datalen -= real_oidlen;
|
||||
real_datalen -= (int)real_oidlen;
|
||||
|
||||
/*
|
||||
* Call the callback with the OID and data...
|
||||
@@ -625,5 +625,5 @@ cupsSideChannelWrite(
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: sidechannel.c 11594 2014-02-14 20:09:01Z msweet $".
|
||||
* End of "$Id: sidechannel.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+11
-11
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: tls-darwin.c 12029 2014-07-15 18:59:26Z msweet $"
|
||||
* "$Id: tls-darwin.c 12159 2014-09-23 14:56:14Z msweet $"
|
||||
*
|
||||
* TLS support code for CUPS on OS X.
|
||||
*
|
||||
@@ -15,7 +15,7 @@
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
*/
|
||||
|
||||
/**** This file is included from http.c ****/
|
||||
/**** This file is included from tls.c ****/
|
||||
|
||||
/*
|
||||
* Include necessary headers...
|
||||
@@ -61,7 +61,7 @@ static OSStatus http_cdsa_write(SSLConnectionRef connection, const void *data,
|
||||
/*
|
||||
* 'cupsMakeServerCredentials()' - Make a self-signed certificate and private key pair.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -283,7 +283,7 @@ cleanup:
|
||||
* Note: The server credentials are used by all threads in the running process.
|
||||
* This function is threadsafe.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS X 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -452,7 +452,7 @@ _httpCreateCredentials(
|
||||
/*
|
||||
* 'httpCredentialsAreValidForName()' - Return whether the credentials are valid for the given name.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS X 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 if valid, 0 otherwise */
|
||||
@@ -515,7 +515,7 @@ httpCredentialsAreValidForName(
|
||||
/*
|
||||
* 'httpCredentialsGetTrust()' - Return the trust of credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS X 10.10@
|
||||
*/
|
||||
|
||||
http_trust_t /* O - Level of trust */
|
||||
@@ -599,7 +599,7 @@ httpCredentialsGetTrust(
|
||||
/*
|
||||
* 'httpCredentialsGetExpiration()' - Return the expiration date of the credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS X 10.10@
|
||||
*/
|
||||
|
||||
time_t /* O - Expiration date of credentials */
|
||||
@@ -624,7 +624,7 @@ httpCredentialsGetExpiration(
|
||||
/*
|
||||
* 'httpCredentialsString()' - Return a string representing the credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS X 10.10@
|
||||
*/
|
||||
|
||||
size_t /* O - Total size of credentials string */
|
||||
@@ -697,7 +697,7 @@ _httpFreeCredentials(
|
||||
/*
|
||||
* 'httpLoadCredentials()' - Load X.509 credentials from a keychain file.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 0 on success, -1 on error */
|
||||
@@ -803,7 +803,7 @@ httpLoadCredentials(
|
||||
/*
|
||||
* 'httpSaveCredentials()' - Save X.509 credentials to a keychain file.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - -1 on error, 0 on success */
|
||||
@@ -1660,5 +1660,5 @@ http_cdsa_write(
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: tls-darwin.c 12029 2014-07-15 18:59:26Z msweet $".
|
||||
* End of "$Id: tls-darwin.c 12159 2014-09-23 14:56:14Z msweet $".
|
||||
*/
|
||||
|
||||
+13
-10
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: tls-gnutls.c 12050 2014-07-18 16:51:12Z msweet $"
|
||||
* "$Id: tls-gnutls.c 12159 2014-09-23 14:56:14Z msweet $"
|
||||
*
|
||||
* TLS support code for CUPS using GNU TLS.
|
||||
*
|
||||
@@ -15,6 +15,7 @@
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
*/
|
||||
|
||||
/**** This file is included from tls.c ****/
|
||||
|
||||
/*
|
||||
* Include necessary headers...
|
||||
@@ -51,7 +52,7 @@ static ssize_t http_gnutls_write(gnutls_transport_ptr_t ptr, const void *data,
|
||||
/*
|
||||
* 'cupsMakeServerCredentials()' - Make a self-signed certificate and private key pair.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -228,7 +229,7 @@ cupsMakeServerCredentials(
|
||||
* Note: The server credentials are used by all threads in the running process.
|
||||
* This function is threadsafe.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -357,7 +358,7 @@ _httpFreeCredentials(
|
||||
/*
|
||||
* 'httpCredentialsAreValidForName()' - Return whether the credentials are valid for the given name.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 if valid, 0 otherwise */
|
||||
@@ -383,7 +384,7 @@ httpCredentialsAreValidForName(
|
||||
/*
|
||||
* 'httpCredentialsGetTrust()' - Return the trust of credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
http_trust_t /* O - Level of trust */
|
||||
@@ -475,7 +476,7 @@ httpCredentialsGetTrust(
|
||||
/*
|
||||
* 'httpCredentialsGetExpiration()' - Return the expiration date of the credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
time_t /* O - Expiration date of credentials */
|
||||
@@ -500,7 +501,7 @@ httpCredentialsGetExpiration(
|
||||
/*
|
||||
* 'httpCredentialsString()' - Return a string representing the credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
size_t /* O - Total size of credentials string */
|
||||
@@ -556,7 +557,7 @@ httpCredentialsString(
|
||||
/*
|
||||
* 'httpLoadCredentials()' - Load X.509 credentials from a keychain file.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 0 on success, -1 on error */
|
||||
@@ -682,7 +683,7 @@ httpLoadCredentials(
|
||||
/*
|
||||
* 'httpSaveCredentials()' - Save X.509 credentials to a keychain file.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - -1 on error, 0 on success */
|
||||
@@ -1186,7 +1187,9 @@ _httpTLSStart(http_t *http) /* I - Connection to server */
|
||||
|
||||
gnutls_transport_set_ptr(http->tls, (gnutls_transport_ptr_t)http);
|
||||
gnutls_transport_set_pull_function(http->tls, http_gnutls_read);
|
||||
#ifdef HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION
|
||||
gnutls_transport_set_pull_timeout_function(http->tls, (gnutls_pull_timeout_func)httpWait);
|
||||
#endif /* HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION */
|
||||
gnutls_transport_set_push_function(http->tls, http_gnutls_write);
|
||||
|
||||
while ((status = gnutls_handshake(http->tls)) != GNUTLS_E_SUCCESS)
|
||||
@@ -1289,5 +1292,5 @@ _httpTLSWrite(http_t *http, /* I - Connection to server */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: tls-gnutls.c 12050 2014-07-18 16:51:12Z msweet $".
|
||||
* End of "$Id: tls-gnutls.c 12159 2014-09-23 14:56:14Z msweet $".
|
||||
*/
|
||||
|
||||
+12
-10
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: tls-sspi.c 12047 2014-07-18 13:53:34Z msweet $"
|
||||
* "$Id: tls-sspi.c 12159 2014-09-23 14:56:14Z msweet $"
|
||||
*
|
||||
* TLS support for CUPS on Windows using SSPI.
|
||||
*
|
||||
@@ -14,6 +14,8 @@
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
*/
|
||||
|
||||
/**** This file is included from tls.c ****/
|
||||
|
||||
/*
|
||||
* Include necessary headers...
|
||||
*/
|
||||
@@ -66,7 +68,7 @@ static DWORD http_sspi_verify(PCCERT_CONTEXT cert, const char *common_name, DWOR
|
||||
/*
|
||||
* 'cupsMakeServerCredentials()' - Make a self-signed certificate and private key pair.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -102,7 +104,7 @@ cupsMakeServerCredentials(
|
||||
* Note: The server credentials are used by all threads in the running process.
|
||||
* This function is threadsafe.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 on success, 0 on failure */
|
||||
@@ -165,7 +167,7 @@ _httpCreateCredentials(
|
||||
/*
|
||||
* 'httpCredentialsAreValidForName()' - Return whether the credentials are valid for the given name.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 1 if valid, 0 otherwise */
|
||||
@@ -230,7 +232,7 @@ httpCredentialsAreValidForName(
|
||||
/*
|
||||
* 'httpCredentialsGetTrust()' - Return the trust of credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
http_trust_t /* O - Level of trust */
|
||||
@@ -272,7 +274,7 @@ httpCredentialsGetTrust(
|
||||
/*
|
||||
* 'httpCredentialsGetExpiration()' - Return the expiration date of the credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
time_t /* O - Expiration date of credentials */
|
||||
@@ -309,7 +311,7 @@ httpCredentialsGetExpiration(
|
||||
/*
|
||||
* 'httpCredentialsString()' - Return a string representing the credentials.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
size_t /* O - Total size of credentials string */
|
||||
@@ -399,7 +401,7 @@ _httpFreeCredentials(
|
||||
/*
|
||||
* 'httpLoadCredentials()' - Load X.509 credentials from a keychain file.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - 0 on success, -1 on error */
|
||||
@@ -523,7 +525,7 @@ cleanup:
|
||||
/*
|
||||
* 'httpSaveCredentials()' - Save X.509 credentials to a keychain file.
|
||||
*
|
||||
* @since CUPS 2.0@
|
||||
* @since CUPS 2.0/OS 10.10@
|
||||
*/
|
||||
|
||||
int /* O - -1 on error, 0 on success */
|
||||
@@ -2359,5 +2361,5 @@ http_sspi_verify(
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: tls-sspi.c 12047 2014-07-18 13:53:34Z msweet $".
|
||||
* End of "$Id: tls-sspi.c 12159 2014-09-23 14:56:14Z msweet $".
|
||||
*/
|
||||
|
||||
+58
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: tls.c 11841 2014-04-29 16:39:25Z msweet $"
|
||||
* "$Id: tls.c 12136 2014-08-29 15:19:40Z msweet $"
|
||||
*
|
||||
* TLS routines for CUPS.
|
||||
*
|
||||
@@ -46,12 +46,67 @@
|
||||
# include "tls-gnutls.c"
|
||||
# elif defined(HAVE_CDSASSL)
|
||||
# include "tls-darwin.c"
|
||||
# else
|
||||
# elif defined(HAVE_SSPISSL)
|
||||
# include "tls-sspi.c"
|
||||
# endif /* HAVE_GNUTLS */
|
||||
#else
|
||||
/* Stubs for when TLS is not supported/available */
|
||||
int
|
||||
httpCopyCredentials(http_t *http, cups_array_t **credentials)
|
||||
{
|
||||
(void)http;
|
||||
if (credentials)
|
||||
*credentials = NULL;
|
||||
return (-1);
|
||||
}
|
||||
int
|
||||
httpCredentialsAreValidForName(cups_array_t *credentials, const char *common_name)
|
||||
{
|
||||
(void)credentials;
|
||||
(void)common_name;
|
||||
return (1);
|
||||
}
|
||||
time_t
|
||||
httpCredentialsGetExpiration(cups_array_t *credentials)
|
||||
{
|
||||
(void)credentials;
|
||||
return (INT_MAX);
|
||||
}
|
||||
http_trust_t
|
||||
httpCredentialsGetTrust(cups_array_t *credentials, const char *common_name)
|
||||
{
|
||||
(void)credentials;
|
||||
(void)common_name;
|
||||
return (HTTP_TRUST_OK);
|
||||
}
|
||||
size_t
|
||||
httpCredentialsString(cups_array_t *credentials, char *buffer, size_t bufsize)
|
||||
{
|
||||
(void)credentials;
|
||||
(void)bufsize;
|
||||
if (buffer)
|
||||
*buffer = '\0';
|
||||
return (0);
|
||||
}
|
||||
int
|
||||
httpLoadCredentials(const char *path, cups_array_t **credentials, const char *common_name)
|
||||
{
|
||||
(void)path;
|
||||
(void)credentials;
|
||||
(void)common_name;
|
||||
return (-1);
|
||||
}
|
||||
int
|
||||
httpSaveCredentials(const char *path, cups_array_t *credentials, const char *common_name)
|
||||
{
|
||||
(void)path;
|
||||
(void)credentials;
|
||||
(void)common_name;
|
||||
return (-1);
|
||||
}
|
||||
#endif /* HAVE_SSL */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: tls.c 11841 2014-04-29 16:39:25Z msweet $".
|
||||
* End of "$Id: tls.c 12136 2014-08-29 15:19:40Z msweet $".
|
||||
*/
|
||||
|
||||
+4
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: usersys.c 11908 2014-06-09 18:57:44Z msweet $"
|
||||
* "$Id: usersys.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* User, system, and password routines for CUPS.
|
||||
*
|
||||
@@ -211,8 +211,10 @@ cupsSetCredentials(
|
||||
if (cupsArrayCount(credentials) < 1)
|
||||
return (-1);
|
||||
|
||||
#ifdef HAVE_SSL
|
||||
_httpFreeCredentials(cg->tls_credentials);
|
||||
cg->tls_credentials = _httpCreateCredentials(credentials);
|
||||
#endif /* HAVE_SSL */
|
||||
|
||||
return (cg->tls_credentials ? 0 : -1);
|
||||
}
|
||||
@@ -1127,5 +1129,5 @@ cups_read_client_conf(
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: usersys.c 11908 2014-06-09 18:57:44Z msweet $".
|
||||
* End of "$Id: usersys.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="/cups.css" type="text/css">
|
||||
<link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<title>Inicio - CUPS @CUPS_VERSION@@CUPS_REVISION@</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<ul>
|
||||
<li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
|
||||
<li><a class="active" href="/">Inicio</a></li>
|
||||
<li><a href="/admin">Administración</a></li>
|
||||
<li><a href="/classes/">Clases</a></li>
|
||||
<li><a href="/help/">Ayuda</a></li>
|
||||
<li><a href="/jobs/">Trabajos</a></li>
|
||||
<li><a href="/printers/">Impresoras</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="row">
|
||||
<h1>CUPS @CUPS_VERSION@</h1>
|
||||
<p>CUPS es el sistema de impresión de código abierto basado en estándares desarrollado por <a href="http://www.apple.com/">Apple Inc.</a> para OS X<sup>®</sup> y otros sistemas operativos tipo UNIX<sup>®</sup>.</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="thirds">
|
||||
<h2>CUPS para usuarios</h2>
|
||||
<p><a href="help/overview.html">Descripción de CUPS</a></p>
|
||||
<p><a href="help/options.html">Impresión desde la línea de comandos y opciones</a></p>
|
||||
<p><a href="http://www.cups.org/lists.php?LIST=cups">Foro de usuarios</a></p>
|
||||
</div>
|
||||
<div class="thirds">
|
||||
<h2>CUPS para administradores</h2>
|
||||
<p><a href="admin">Añadiendo impresoras y clases</a></p>
|
||||
<p><a href="help/policies.html">Gestionando políticas de funcionamiento</a></p>
|
||||
<p><a href="help/network.html">Usando impresoras de red</a></p>
|
||||
<p><a href="help/man-cupsd.conf.html">Referencia de cupsd.conf</a></p>
|
||||
</div>
|
||||
<div class="thirds">
|
||||
<h2>CUPS para desarrolladores</h2>
|
||||
<p><a href="help/api-overview.html">Introducción a la programación de CUPS</a></p>
|
||||
<p><a href="help/api-cups.html">La API de CUPS</a></p>
|
||||
<p><a href="help/api-filter.html">Programación de filtros y programas de conexión</a></p>
|
||||
<p><a href="help/api-httpipp.html">Las APIs HTTP e IPP</a></p>
|
||||
<p><a href="http://www.cups.org/lists.php?LIST=cups-devel">Foro de desarrollo</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">CUPS y el logo de CUPS son marcas registradas de <a href="http://www.apple.com">Apple Inc.</a> Derechos de autor © 2007-2014 Apple Inc. Todos los derechos reservados.</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -10,8 +10,7 @@
|
||||
|
||||
<P>CUPS supports a variety of printer accounting schemes. Aside from the
|
||||
built-in <A HREF="#QUOTAS">quota</A> and <A HREF="#PAGELOG">page logging</A>
|
||||
support, there are several third-party solutions that can be found on
|
||||
<A HREF="http://www.cups.org/">www.cups.org</A>.</P>
|
||||
support, there are several third-party solutions that can be found online.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="QUOTAS">Quota Support</A></H2>
|
||||
@@ -27,7 +26,7 @@ options determine whether and how quotas are enforced for a printer.
|
||||
The <CODE>job-quota-period</CODE> option determines the time interval for
|
||||
quota tracking. The interval is expressed in seconds, so a day is
|
||||
86,400, a week is 604,800, and a month is 2,592,000 seconds. The
|
||||
<CODE>job-k-limit</CODE> option specifies the job size limit in killobytes. The
|
||||
<CODE>job-k-limit</CODE> option specifies the job size limit in killobytes. The
|
||||
<CODE>job-page-limit</CODE> option specifies the number of pages limit.</P>
|
||||
|
||||
<P>For quotas to be enforced, the period and at least one of the limits
|
||||
@@ -50,13 +49,7 @@ can be used to easily determine that information.</P>
|
||||
|
||||
<H2 CLASS="title"><A NAME="PAGELOG">Page Logging</A></H2>
|
||||
|
||||
<P>CUPS logs every page that is printed on a system to the
|
||||
<VAR><A HREF="ref-page_log.html">page_log</A></VAR> file. Page logging
|
||||
is only available for drivers that provide page accounting information,
|
||||
typically all PostScript and CUPS raster devices. Raw queues and queues
|
||||
using third-party solutions such as Foomatic generally do not have
|
||||
useful page accounting information available.</P>
|
||||
|
||||
<P>CUPS can log every page that is printed on a system to the <VAR><A HREF="man-cupsd-logs.html">page_log</A></VAR> file. Page logging must be enabled by setting the <CODE>PageLogFormat</CODE> directive in the <VAR><A HREF="man-cupsd.conf.html">cupsd.conf</A></VAR> file and is only available for drivers that provide page accounting information, typically all PostScript and CUPS raster devices. Raw queues and queues using third-party solutions such as Foomatic generally do not have useful page accounting information available.</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -2097,7 +2097,7 @@ example, passing <code>CUPS_MEDIA_FLAGS_BORDERLESS</code> will return the defaul
|
||||
borderless size, typically US Letter or A4, but sometimes 4x6 photo media.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="cupsGetDestWithURI">cupsGetDestWithURI</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS X 10.10 </span><a name="cupsGetDestWithURI">cupsGetDestWithURI</a></h3>
|
||||
<p class="description">Get a destination associated with a URI.</p>
|
||||
<p class="code">
|
||||
<a href="#cups_dest_t">cups_dest_t</a> *cupsGetDestWithURI (<br>
|
||||
@@ -2525,7 +2525,7 @@ cups_lang_t *cupsLangGet (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Language data</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="cupsLocalizeDestMedia">cupsLocalizeDestMedia</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS X 10.10 </span><a name="cupsLocalizeDestMedia">cupsLocalizeDestMedia</a></h3>
|
||||
<p class="description">Get the localized string for a destination media
|
||||
size.</p>
|
||||
<p class="code">
|
||||
|
||||
@@ -408,6 +408,7 @@ div.contents ul.subcontents li {
|
||||
<li><a href="#COMMUNICATING_FILTER">Communicating with Filters</a></li>
|
||||
<li><a href="#SNMP">Doing SNMP Queries with Network Printers</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#SANDBOXING">Sandboxing on OS X</a></li>
|
||||
<li><a href="#FUNCTIONS">Functions</a><ul class="code">
|
||||
<li><a href="#cupsBackChannelRead" title="Read data from the backchannel.">cupsBackChannelRead</a></li>
|
||||
<li><a href="#cupsBackChannelWrite" title="Write data to the backchannel.">cupsBackChannelWrite</a></li>
|
||||
@@ -442,7 +443,7 @@ div.contents ul.subcontents li {
|
||||
|
||||
Filter and backend programming introduction for CUPS.
|
||||
|
||||
Copyright 2007-2013 by Apple Inc.
|
||||
Copyright 2007-2014 by Apple Inc.
|
||||
Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
@@ -520,7 +521,7 @@ directory to write to.</p>
|
||||
|
||||
<p>In addition, some operating systems provide additional security mechanisms
|
||||
that further limit file system access, even for backends running as root. On
|
||||
OS X, for example, no backend may write to a user's home directory.</p>
|
||||
OS X, for example, no backend may write to a user's home directory. See the <a href="#SANDBOXING">Sandboxing on OS X</a> section for more information.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3><a name="SIGNALS">Canceled Jobs and Signal Handling</a></h3>
|
||||
@@ -1291,6 +1292,28 @@ void *my_data;
|
||||
|
||||
<a href="#cupsSideChannelSNMPWalk">cupsSNMPSideChannelWalk</a>(".1.3.6.1.2.1.43", 5.0, my_callback, my_data);
|
||||
</pre>
|
||||
|
||||
<h2><a name="SANDBOXING">Sandboxing on OS X</a></h2>
|
||||
|
||||
<p>Starting with OS X 10.6, filters and backends are run inside a security "sandbox" which further limits (beyond the normal UNIX user/group permissions) what a filter or backend can do. This helps to both secure the printing system from malicious software and enforce the functional separation of components in the CUPS filter chain. What follows is a list of actions that are explicitly allowed for all filters and backends:</p>
|
||||
|
||||
<ol>
|
||||
|
||||
<li>Reading of files: pursuant to normal UNIX file permissions, filters and backends can read files for the current job from the <var>/private/var/spool/cups</var> directory and other files on mounted filesystems <em>except</em> for user home directories under <var>/Users</var>.</li>
|
||||
|
||||
<li>Writing of files: pursuant to normal UNIX file permissions, filters and backends can read/write files to the cache directory specified by the <code>CUPS_CACHEDIR</code> environment variable, to the state directory specified by the <code>CUPS_STATEDIR</code> environment variable, to the temporary directory specified by the <code>TMPDIR</code> environment variable, and under the <var>/private/var/db</var>, <var>/private/var/folders</var>, <var>/private/var/lib</var>, <var>/private/var/mysql</var>, <var>/private/var/run</var>, <var>/private/var/spool</var> (except <var>/private/var/spool/cups</var>), <var>/Library/Application Support</var>, <var>/Library/Caches</var>, <var>/Library/Logs</var>, <var>/Library/Preferences</var>, <var>/Library/WebServer</var>, and <var>/Users/Shared</var> directories.</li>
|
||||
|
||||
<li>Execution of programs: pursuant to normal UNIX file permissions, filters and backends can execute any program not located under the <var>/Users</var> directory. Child processes inherit the sandbox and are subject to the same restrictions as the parent.</li>
|
||||
|
||||
<li>Bluetooth and USB: backends can access Bluetooth and USB printers through IOKit. <em>Filters cannot access Bluetooth and USB printers directly.</em></li>
|
||||
|
||||
<li>Network: filters and backends can access UNIX domain sockets under the <var>/private/tmp</var>, <var>/private/var/run</var>, and <var>/private/var/tmp</var> directories. Backends can also create IPv4 and IPv6 TCP (outgoing) and UDP (incoming and outgoing) socket, and bind to local source ports. <em>Filters cannot directly create IPv4 and IPv6 TCP or UDP sockets.</em></li>
|
||||
|
||||
<li>Notifications: filters and backends can send notifications via the Darwin <code>notify_post()</code> API.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<blockquote><b>Note:</b> The sandbox profile used in CUPS 2.0 still allows some actions that are not listed above - these privileges will be removed over time until the profile matches the list above.</blockquote>
|
||||
<h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
|
||||
<h3 class="function"><span class="info"> CUPS 1.2/OS X 10.5 </span><a name="cupsBackChannelRead">cupsBackChannelRead</a></h3>
|
||||
<p class="description">Read data from the backchannel.</p>
|
||||
|
||||
+20
-20
@@ -1490,7 +1490,7 @@ int httpAddrAny (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">1 if "any", 0 otherwise</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpAddrClose">httpAddrClose</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpAddrClose">httpAddrClose</a></h3>
|
||||
<p class="description">Close a socket created by <a href="#httpAddrConnect"><code>httpAddrConnect</code></a> or
|
||||
<a href="#httpAddrListen"><code>httpAddrListen</code></a>.</p>
|
||||
<p class="code">
|
||||
@@ -1820,7 +1820,7 @@ void httpClose (<br>
|
||||
<dt>http</dt>
|
||||
<dd class="description">HTTP connection</dd>
|
||||
</dl>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpCompareCredentials">httpCompareCredentials</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpCompareCredentials">httpCompareCredentials</a></h3>
|
||||
<p class="description">Compare two sets of X.509 credentials.</p>
|
||||
<p class="code">
|
||||
int httpCompareCredentials (<br>
|
||||
@@ -2107,7 +2107,7 @@ int httpGet (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Status of call (0 = success)</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpGetActivity">httpGetActivity</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpGetActivity">httpGetActivity</a></h3>
|
||||
<p class="description">Get the most recent activity for a connection.</p>
|
||||
<p class="code">
|
||||
time_t httpGetActivity (<br>
|
||||
@@ -2124,7 +2124,7 @@ time_t httpGetActivity (<br>
|
||||
<p class="discussion">The return value is the UNIX time of the last read or write.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpGetAddress">httpGetAddress</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpGetAddress">httpGetAddress</a></h3>
|
||||
<p class="description">Get the address of the connected peer of a connection.</p>
|
||||
<p class="code">
|
||||
<a href="#http_addr_t">http_addr_t</a> *httpGetAddress (<br>
|
||||
@@ -2255,7 +2255,7 @@ time_t httpGetDateTime (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">UNIX time</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpGetEncryption">httpGetEncryption</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpGetEncryption">httpGetEncryption</a></h3>
|
||||
<p class="description">Get the current encryption mode of a connection.</p>
|
||||
<p class="code">
|
||||
<a href="#http_encryption_t">http_encryption_t</a> httpGetEncryption (<br>
|
||||
@@ -2362,7 +2362,7 @@ Otherwise, return the FQDN for the local system using both gethostname()
|
||||
and gethostbyname() to get the local hostname with domain.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpGetKeepAlive">httpGetKeepAlive</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpGetKeepAlive">httpGetKeepAlive</a></h3>
|
||||
<p class="description">Get the current Keep-Alive state of the connection.</p>
|
||||
<p class="code">
|
||||
<a href="#http_keepalive_t">http_keepalive_t</a> httpGetKeepAlive (<br>
|
||||
@@ -2413,7 +2413,7 @@ off_t httpGetLength2 (<br>
|
||||
content larger than 2^31 - 1.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpGetPending">httpGetPending</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpGetPending">httpGetPending</a></h3>
|
||||
<p class="description">Get the number of bytes that are buffered for writing.</p>
|
||||
<p class="code">
|
||||
size_t httpGetPending (<br>
|
||||
@@ -2426,7 +2426,7 @@ size_t httpGetPending (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Number of bytes buffered</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpGetReady">httpGetReady</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpGetReady">httpGetReady</a></h3>
|
||||
<p class="description">Get the number of bytes that can be read without blocking.</p>
|
||||
<p class="code">
|
||||
size_t httpGetReady (<br>
|
||||
@@ -2439,7 +2439,7 @@ size_t httpGetReady (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Number of bytes available</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpGetRemaining">httpGetRemaining</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpGetRemaining">httpGetRemaining</a></h3>
|
||||
<p class="description">Get the number of remaining bytes in the message
|
||||
body or current chunk.</p>
|
||||
<p class="code">
|
||||
@@ -2584,7 +2584,7 @@ int httpHead (<br>
|
||||
default HTTP proxy (if any).</p>
|
||||
<p class="code">
|
||||
void httpInitialize (void);</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpIsChunked">httpIsChunked</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpIsChunked">httpIsChunked</a></h3>
|
||||
<p class="description">Report whether a message body is chunked.</p>
|
||||
<p class="code">
|
||||
int httpIsChunked (<br>
|
||||
@@ -2602,7 +2602,7 @@ int httpIsChunked (<br>
|
||||
variable-length chunks.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpIsEncrypted">httpIsEncrypted</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpIsEncrypted">httpIsEncrypted</a></h3>
|
||||
<p class="description">Report whether a connection is encrypted.</p>
|
||||
<p class="code">
|
||||
int httpIsEncrypted (<br>
|
||||
@@ -2856,7 +2856,7 @@ int httpReconnect2 (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">0 on success, non-zero on failure</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpResolveHostname">httpResolveHostname</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpResolveHostname">httpResolveHostname</a></h3>
|
||||
<p class="description">Resolve the hostname of the HTTP connection
|
||||
address.</p>
|
||||
<p class="code">
|
||||
@@ -3109,7 +3109,7 @@ void httpSetField (<br>
|
||||
<dt>value</dt>
|
||||
<dd class="description">Value</dd>
|
||||
</dl>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpSetKeepAlive">httpSetKeepAlive</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpSetKeepAlive">httpSetKeepAlive</a></h3>
|
||||
<p class="description">Set the current Keep-Alive state of a connection.</p>
|
||||
<p class="code">
|
||||
void httpSetKeepAlive (<br>
|
||||
@@ -3163,7 +3163,7 @@ must be greater than 0</dd>
|
||||
data pointer and must return 1 to continue or 0 to error (time) out.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpShutdown">httpShutdown</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpShutdown">httpShutdown</a></h3>
|
||||
<p class="description">Shutdown one side of an HTTP connection.</p>
|
||||
<p class="code">
|
||||
void httpShutdown (<br>
|
||||
@@ -3174,7 +3174,7 @@ void httpShutdown (<br>
|
||||
<dt>http</dt>
|
||||
<dd class="description">HTTP connection</dd>
|
||||
</dl>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpStateString">httpStateString</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpStateString">httpStateString</a></h3>
|
||||
<p class="description">Return the string describing a HTTP state value.</p>
|
||||
<p class="code">
|
||||
const char *httpStateString (<br>
|
||||
@@ -3219,7 +3219,7 @@ int httpTrace (<br>
|
||||
</dl>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">Status of call (0 = success)</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="httpURIStatusString">httpURIStatusString</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="httpURIStatusString">httpURIStatusString</a></h3>
|
||||
<p class="description">Return a string describing a URI status code.</p>
|
||||
<p class="code">
|
||||
const char *httpURIStatusString (<br>
|
||||
@@ -4140,7 +4140,7 @@ int ippCopyAttributes (<br>
|
||||
<h4 class="returnvalue">Return Value</h4>
|
||||
<p class="description">1 on success, 0 on error</p>
|
||||
<h4 class="discussion">Discussion</h4>
|
||||
<p class="discussion">Zero or more attributes are copied from the source IPP message, @code@ src, to the
|
||||
<p class="discussion">Zero or more attributes are copied from the source IPP message, <code>src</code>, to the
|
||||
destination IPP message, <code>dst</code>. When <code>quickcopy</code> is non-zero, a "shallow"
|
||||
reference copy of the attribute is created - this should only be done as long as the
|
||||
original source IPP message will not be freed for the life of the destination.<br>
|
||||
@@ -5393,7 +5393,7 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
|
||||
The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2.
|
||||
|
||||
</p>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0 </span><a name="ippStateString">ippStateString</a></h3>
|
||||
<h3 class="function"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="ippStateString">ippStateString</a></h3>
|
||||
<p class="description">Return the name corresponding to a state value.</p>
|
||||
<p class="code">
|
||||
const char *ippStateString (<br>
|
||||
@@ -5616,7 +5616,7 @@ typedef struct _http_s http_t;
|
||||
<p class="code">
|
||||
typedef int (*http_timeout_cb_t)(<a href="#http_t">http_t</a> *http, void *user_data);
|
||||
</p>
|
||||
<h3 class="typedef"><span class="info"> CUPS 2.0 </span><a name="http_trust_t">http_trust_t</a></h3>
|
||||
<h3 class="typedef"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="http_trust_t">http_trust_t</a></h3>
|
||||
<p class="description">Level of trust for credentials </p>
|
||||
<p class="code">
|
||||
typedef enum <a href="#http_trust_e">http_trust_e</a> http_trust_t;
|
||||
@@ -6018,7 +6018,7 @@ are server-oriented...</p>
|
||||
<dt>HTTP_STATUS_USE_PROXY </dt>
|
||||
<dd class="description">Must use a proxy to access this URI</dd>
|
||||
</dl>
|
||||
<h3 class="enumeration"><span class="info"> CUPS 2.0 </span><a name="http_trust_e">http_trust_e</a></h3>
|
||||
<h3 class="enumeration"><span class="info"> CUPS 2.0/OS 10.10 </span><a name="http_trust_e">http_trust_e</a></h3>
|
||||
<p class="description">Level of trust for credentials </p>
|
||||
<h4 class="constants">Constants</h4>
|
||||
<dl>
|
||||
|
||||
+2
-6
@@ -63,8 +63,7 @@ application/x-httpd-php php
|
||||
application/x-httpd-python py
|
||||
</PRE>
|
||||
|
||||
<P>CGI scripts/programs (application/x-httpd-cgi) also must have execution
|
||||
permissions to be treated as a CGI script or program.</P>
|
||||
<P>CGI scripts/programs (application/x-httpd-cgi) also must be owned by root, have execution permissions, and not have world or group write permissions to be treated as a CGI script or program.</P>
|
||||
|
||||
<H2><A NAME="LIMITS">Limitations</A></H2>
|
||||
|
||||
@@ -75,10 +74,7 @@ following exceptions:</P>
|
||||
|
||||
<LI>No PATH_INFO or PATH_TRANSLATED support</LI>
|
||||
|
||||
<LI>Limited HTTP field support; only the Content-Length
|
||||
(CONTENT_LENGTH), Cookie (HTTP_COOKIE), and User-Agent
|
||||
(HTTP_USER_AGENT) fields are placed in environment
|
||||
variables at this time</LI>
|
||||
<LI>Limited HTTP field support; only the Content-Length (CONTENT_LENGTH), Content-Type (CONTENT_TYPE), Cookie (HTTP_COOKIE), Referrer (HTTP_REFERRER), and User-Agent (HTTP_USER_AGENT) fields are placed in environment variables at this time</LI>
|
||||
|
||||
</UL>
|
||||
|
||||
|
||||
@@ -66,9 +66,6 @@
|
||||
|
||||
<DL>
|
||||
|
||||
<DT>HP-GL
|
||||
<DD>Hewlett-Packard Graphics Language
|
||||
|
||||
<DT>HP-PCL
|
||||
<DD>Hewlett-Packard Page Control Language
|
||||
|
||||
@@ -161,6 +158,9 @@
|
||||
<DT>PPD
|
||||
<DD>PostScript Printer Description
|
||||
|
||||
<DT>PWG
|
||||
<DD>Printer Working Group
|
||||
|
||||
</DL>
|
||||
|
||||
|
||||
@@ -168,9 +168,6 @@
|
||||
|
||||
<DL>
|
||||
|
||||
<DT>SCSI
|
||||
<DD>Small Computer Systems Interface
|
||||
|
||||
<DT>serial
|
||||
<DD>Sending or receiving data 1 bit at a time
|
||||
|
||||
|
||||
@@ -32,8 +32,6 @@ DNS server(s).</li>
|
||||
server(s).</li>
|
||||
</ol></li>
|
||||
|
||||
<li>A "host" Service Granting Ticket (SGT) for every CUPS server</li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
@@ -83,7 +81,7 @@ http://server.example.com:631/admin
|
||||
|
||||
<P>When doing printing tasks that require authentication, CUPS requests single-use "tickets" from your login session to authenticate who you are. These tickets give CUPS a username of the form "user@REALM", which is then converted to just "user" for purposes of user and group checks.</P>
|
||||
|
||||
<P>In order to support printing to a shared printer, CUPS runs the IPP backend as the owner of the print job so it can obtain the necessary credentials.</P>
|
||||
<P>In order to support printing to a shared printer, CUPS runs the IPP backend as the owner of the print job so it can obtain the necessary credentials when the job is de-spooled to the server.</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -71,9 +71,12 @@ ipptool - perform internet printing protocol requests
|
||||
<b>ipptool</b>
|
||||
sends IPP requests to the specified
|
||||
<i>printer-uri</i>
|
||||
and tests and/or displays the results. Each named
|
||||
and tests and/or displays the results.
|
||||
Each named
|
||||
<i>testfile</i>
|
||||
defines one or more requests, including the expected response status, attributes, and values. Output is either a plain text, formatted text, CSV, or XML report on the standard output, with a non-zero exit status indicating that one or more tests have failed. The
|
||||
defines one or more requests, including the expected response status, attributes, and values.
|
||||
Output is either a plain text, formatted text, CSV, or XML report on the standard output, with a non-zero exit status indicating that one or more tests have failed.
|
||||
The
|
||||
<i>testfile</i>
|
||||
format is described in
|
||||
<a href="man-ipptoolfile.html?TOPIC=Man+Pages"><b>ipptoolfile</b>(5).</a>
|
||||
@@ -102,7 +105,8 @@ must connect to the printer or server using IPv4.
|
||||
<b>ipptool</b>
|
||||
must connect to the printer or server using IPv6.
|
||||
<dt><b>-C</b>
|
||||
<dd style="margin-left: 5.0em">Specifies that requests should be sent using the HTTP/1.1 "Transfer-Encoding: chunked" header, which is required for conformance by all versions of IPP. The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
|
||||
<dd style="margin-left: 5.0em">Specifies that requests should be sent using the HTTP/1.1 "Transfer-Encoding: chunked" header, which is required for conformance by all versions of IPP.
|
||||
The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
|
||||
<dt><b>-E</b>
|
||||
<dd style="margin-left: 5.0em">Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header.
|
||||
<dt><b>-I</b>
|
||||
@@ -110,9 +114,11 @@ must connect to the printer or server using IPv6.
|
||||
<b>ipptool</b>
|
||||
will continue past errors.
|
||||
<dt><b>-L</b>
|
||||
<dd style="margin-left: 5.0em">Specifies that requests should be sent using the HTTP/1.0 "Content-Length:" header, which is required for conformance by all versions of IPP. The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
|
||||
<dd style="margin-left: 5.0em">Specifies that requests should be sent using the HTTP/1.0 "Content-Length:" header, which is required for conformance by all versions of IPP.
|
||||
The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
|
||||
<dt><b>-P</b><i> filename.plist</i>
|
||||
<dd style="margin-left: 5.0em">Specifies that the test results should be written to the named XML (Apple plist) file in addition to the plain text report. This option is incompatible with the <b>-i</b> (interval) and <b>-n</b> (repeat-count) options.
|
||||
<dd style="margin-left: 5.0em">Specifies that the test results should be written to the named XML (Apple plist) file in addition to the regular test report (<b>-t</b>).
|
||||
This option is incompatible with the <b>-i</b> (interval) and <b>-n</b> (repeat-count) options.
|
||||
<dt><b>-S</b>
|
||||
<dd style="margin-left: 5.0em">Forces (dedicated) TLS encryption when connecting to the server.
|
||||
<dt><b>-T</b><i> seconds</i>
|
||||
@@ -120,7 +126,8 @@ will continue past errors.
|
||||
<dt><b>-V</b><i> version</i>
|
||||
<dd style="margin-left: 5.0em">Specifies the default IPP version to use: 1.0, 1.1, 2.0, 2.1, or 2.2. If not specified, version 1.1 is used.
|
||||
<dt><b>-X</b>
|
||||
<dd style="margin-left: 5.0em">Specifies that XML (Apple plist) output is desired instead of the plain text report. This option is incompatible with the <b>-i</b> (interval) and <b>-n</b> (repeat-count) options.
|
||||
<dd style="margin-left: 5.0em">Specifies that XML (Apple plist) output is desired instead of the plain text report.
|
||||
This option is incompatible with the <b>-i</b> (interval) and <b>-n</b> (repeat-count) options.
|
||||
<dt><b>-c</b>
|
||||
<dd style="margin-left: 5.0em">Specifies that CSV (comma-separated values) output is desired instead of the plain text output.
|
||||
<dt><b>-d</b><i> name=value</i>
|
||||
@@ -130,17 +137,22 @@ will continue past errors.
|
||||
<dt><b>-i</b><i> seconds</i>
|
||||
<dd style="margin-left: 5.0em">Specifies that the (last)
|
||||
<i>testfile</i>
|
||||
should be repeated at the specified interval. This option is incompatible with the <b>-X</b> (XML plist output) option.
|
||||
should be repeated at the specified interval.
|
||||
This option is incompatible with the <b>-X</b> (XML plist output) option.
|
||||
<dt><b>-l</b>
|
||||
<dd style="margin-left: 5.0em">Specifies that plain text output is desired.
|
||||
<dt><b>-n</b><i> repeat-count</i>
|
||||
<dd style="margin-left: 5.0em">Specifies that the (last)
|
||||
<i>testfile</i>
|
||||
should be repeated the specified number of times. This option is incompatible with the <i>-X</i> (XML plist output) option.
|
||||
should be repeated the specified number of times.
|
||||
This option is incompatible with the <i>-X</i> (XML plist output) option.
|
||||
<dt><b>-q</b>
|
||||
<dd style="margin-left: 5.0em">Be quiet and produce no output.
|
||||
<dt><b>-t</b>
|
||||
<dd style="margin-left: 5.0em">Specifies that CUPS test report output is desired instead of the plain text output.
|
||||
<dt><b>-v</b>
|
||||
<dd style="margin-left: 5.0em">Specifies that all request and response attributes should be output in CUPS test mode (<b>-t</b>). This is the default for XML output.
|
||||
<dd style="margin-left: 5.0em">Specifies that all request and response attributes should be output in CUPS test mode (<b>-t</b>).
|
||||
This is the default for XML output.
|
||||
</dl>
|
||||
<h2 class="title"><a name="EXIT_STATUS">Exit Status</a></h2>
|
||||
The
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
<P>Every network printer or print server has a unique Internet Protocol (IP) address associated with it. This address is either configured manually or set using an automatic network protocol such as the <A HREF="#BOOTP">Boot Protocol (BOOTP)</A>, <A HREF="#DHCP">Dynamic Host Control Protocol (DHCP)</A>, Reverse Address Resolution Protocol (RARP), or ZeroConf.</P>
|
||||
|
||||
<P>You can normally find the IP address of a printer on the printer's control panel or by printing the configuration or status page. The <A HREF="#SNMP">Simple Network Management Protocol (SNMP)</A> can also be used to get the IP address remotely, which happens automatically when you visit the CUPS administration web page or choose an available CUPS device when adding a printer.</P>
|
||||
<P>You can normally find the IP address of a printer on the printer's control panel or by printing the configuration or status page. The <A HREF="#SNMP">Simple Network Management Protocol (SNMP)</A> can also be used to get the IP address remotely.</P>
|
||||
|
||||
|
||||
<H2 CLASS="title"><A NAME="CONFIG">Configuring the IP Address</A></H2>
|
||||
@@ -102,7 +102,7 @@ socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&opti
|
||||
|
||||
<H3><A NAME="IPP">Internet Printing Protocol (IPP)</A></H3>
|
||||
|
||||
<P>IPP is the only protocol that CUPS supports natively and is supported by some network printers and print servers. However, since many printers do not implement IPP properly, only use IPP when the vendor actually documents official support for it. IPP printing normally happens over port 631 and uses the <tt>http</tt>, <tt>ipp</tt>, and <tt>ipps</tt> URI schemes:</P>
|
||||
<P>IPP is the only protocol that CUPS supports natively and is supported by most network printers and print servers. IPP printing normally happens over port 631 and uses the <tt>http</tt> (Windows), <tt>ipp</tt>, and <tt>ipps</tt> URI schemes:</P>
|
||||
|
||||
<PRE>
|
||||
http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
|
||||
@@ -133,10 +133,6 @@ ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>optio
|
||||
</TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
<TR>
|
||||
<TD><TT>compression=gzip</TT></TD>
|
||||
<TD>Specifies that print data should be compressed before sending.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><TT>encryption=always</TT></TD>
|
||||
<TD>Specifies that the connection to the IPP server should be encrypted using SSL.</TD>
|
||||
|
||||
@@ -47,7 +47,7 @@ different ways.</P>
|
||||
|
||||
<H2 CLASS="title"><A NAME="BEGIN">Where Do I Begin?</A></H2>
|
||||
|
||||
<P>Click on the <var>Administration</var> tab at the top of this page. Click on the <var>Add Printer</var> button and follow the prompts.</P>
|
||||
<P>Click on the <var>Administration</var> tab. Click on the <var>Add Printer</var> button and follow the prompts.</P>
|
||||
|
||||
<BLOCKQUOTE>When you are asked for a username and password, enter your login username and password or the "root" username and password. On OS X<sup>®</sup>, the login username (or "short name") is typically your first and last name in lowercase.</BLOCKQUOTE>
|
||||
|
||||
|
||||
+176
-161
@@ -154,19 +154,39 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Print-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Creates a print job with a single file.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Print-URI</TT></TD>
|
||||
<TD NOWRAP><TT>Activate-Printer</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Create a print job with a single URI.</TD>
|
||||
<TD>Activates a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Validate-Job</TT></TD>
|
||||
<TD NOWRAP><TT>Cancel-Current-Job</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Cancels the current job on a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Cancel-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Validates a print request before printing.</TD>
|
||||
<TD>Cancels a print job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Cancel-Jobs</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Cancels all print jobs.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Cancel-My-Jobs</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Cancels a user's print job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Cancel-Subscription</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Cancels an event subscription.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Close-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Closes a user's print job so that it can be printed.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Create-Job</TT></TD>
|
||||
@@ -174,19 +194,29 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
|
||||
<TD>Creates a print job with no files or URIs.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Send-Document</TT></TD>
|
||||
<TD NOWRAP><TT>Create-Job-Subscriptions</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Adds a file to a print job.</TD>
|
||||
<TD>Creates one or more event subscriptions for a job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Send-URI</TT></TD>
|
||||
<TD NOWRAP><TT>Create-Printer-Subscriptions</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Creates one or more event subscriptions for a printer or the server.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Deactivate-Printer</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Adds a URI to a print job.</TD>
|
||||
<TD>Deactivates a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Cancel-Job</TT></TD>
|
||||
<TD NOWRAP><TT>Disable-Printer</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Cancels a print job.</TD>
|
||||
<TD>Stops a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Enable-Printer</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Starts a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Get-Job-Attributes</TT></TD>
|
||||
@@ -198,70 +228,22 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets a list of jobs.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Get-Notifications</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets (pending) events for an event subscription.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Get-Printer-Attributes</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets information and options associated with a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Hold-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Holds a print job for printing.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Release-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Releases a print job for printing.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Restart-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Reprints a print job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Pause-Printer</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Stops a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Resume-Printer</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Starts a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Purge-Jobs</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Cancels all jobs on the server or a printer or class
|
||||
and removes the job history information.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Set-Printer-Attributes</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Sets printer or class information; CUPS uses
|
||||
CUPS-Add-Modify-Printer and CUPS-Add-Modify-Class
|
||||
instead.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Set-Job-Attributes</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Changes job options.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Get-Printer-Supported-Values</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets -supported attributes for a printer based on job
|
||||
options.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Create-Printer-Subscription</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Creates an event subscription for a printer or the server.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Create-Job-Subscription</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Creates an event subscription for a job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Get-Subscription-Attributes</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
@@ -273,37 +255,17 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
|
||||
<TD>Gets a list of event subscriptions.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Renew-Subscription</TT></TD>
|
||||
<TD NOWRAP><TT>Hold-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Renews an event subscription that is about to expire.</TD>
|
||||
<TD>Holds a print job for printing.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Cancel-Subscription</TT></TD>
|
||||
<TD NOWRAP><TT>Hold-New-Jobs</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Cancels an event subscription.</TD>
|
||||
<TD>Holds new jobs submitted to a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Get-Notifications</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets (pending) events for an event subscription.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Send-Notifications</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Sends events for an event subscription.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Get-Printer-Support-Files</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Gets printer driver files for a Novell client.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Enable-Printer</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Starts a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Disable-Printer</TT></TD>
|
||||
<TD NOWRAP><TT>Pause-Printer</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Stops a printer or class.</TD>
|
||||
</TR>
|
||||
@@ -313,31 +275,100 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
|
||||
<TD>Stops a printer or class after the current job is finished.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Hold-New-Jobs</TT></TD>
|
||||
<TD NOWRAP><TT>Print-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Creates a print job with a single file.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Print-URI</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Holds new jobs submitted to a printer or class.</TD>
|
||||
<TD>Create a print job with a single URI.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Promote-Job</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Prints a job before others.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Purge-Jobs</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Cancels all jobs on the server or a printer or class
|
||||
and removes the job history information.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Release-Held-New-Jobs</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Releases jobs that were held because of the
|
||||
Hold-New-Jobs operation.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Deactivate-Printer</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Deactivates a printer or class.</TD>
|
||||
<TD NOWRAP><TT>Release-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Releases a print job for printing.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Activate-Printer</TT></TD>
|
||||
<TD NOWRAP><TT>Renew-Subscription</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Renews an event subscription that is about to expire.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Reprocess-Job</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Activates a printer or class.</TD>
|
||||
<TD>Reprints a job on a different printer or class; CUPS has the
|
||||
CUPS-Move-Job operation instead.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Restart-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Reprints a print job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Restart-Printer</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Restarts a printer or class, resuming print jobs as needed.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Resubmit-Job</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Reprints a job with new options.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Resume-Job</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Resumes printing of a stopped job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Resume-Printer</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Starts a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Schedule-Job-After</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Prints a job after others.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Send-Document</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Adds a file to a print job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Send-URI</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Adds a URI to a print job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Set-Printer-Attributes</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Sets printer or class information; CUPS uses
|
||||
CUPS-Add-Modify-Printer and CUPS-Add-Modify-Class
|
||||
for most attributes instead.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Set-Job-Attributes</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Changes job options.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Shutdown-Printer</TT></TD>
|
||||
<TD>No</TD>
|
||||
@@ -348,52 +379,47 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
|
||||
<TD>No</TD>
|
||||
<TD>Powers a printer or class on.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Reprocess-Job</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Reprints a job on a different printer or class; CUPS has the
|
||||
CUPS-Move-Job operation instead.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Cancel-Current-Job</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Cancels the current job on a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Suspend-Current-Job</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Stops the current job on a printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Resume-Job</TT></TD>
|
||||
<TD NOWRAP><TT>Validate-Document</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Resumes printing of a stopped job.</TD>
|
||||
<TD>Validates a document request before sending.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Promote-Job</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Prints a job before others.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>Schedule-Job-After</TT></TD>
|
||||
<TD>No</TD>
|
||||
<TD>Prints a job after others.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Get-Default</TT> *</TD>
|
||||
<TD NOWRAP><TT>Validate-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets the server/network default printer or class.</TD>
|
||||
<TD>Validates a print request before printing.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Get-Printers</TT> *</TD>
|
||||
<TD NOWRAP><TT>CUPS-Accept-Jobs</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets a list of printers and/or classes.</TD>
|
||||
<TD>Sets a printer's or class' printer-is-accepting-jobs
|
||||
attribute to true.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Add-Modify-Class</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Adds or modifies a class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Add-Modify-Printer</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Adds or modifies a printer.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Authenticate-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Authenticates a job for printing.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Delete-Class</TT> *</TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Removes a class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Delete-Printer</TT> *</TD>
|
||||
<TD>Yes</TD>
|
||||
@@ -405,20 +431,34 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
|
||||
<TD>Gets a list of classes.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Add-Modify-Class</TT></TD>
|
||||
<TD NOWRAP><TT>CUPS-Get-Default</TT> *</TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Adds or modifies a class.</TD>
|
||||
<TD>Gets the server/network default printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Delete-Class</TT> *</TD>
|
||||
<TD NOWRAP><TT>CUPS-Get-Devices</TT> *</TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Removes a class.</TD>
|
||||
<TD>Gets a list of printer devices.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Accept-Jobs</TT></TD>
|
||||
<TD NOWRAP><TT>CUPS-Get-Document</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Sets a printer's or class' printer-is-accepting-jobs
|
||||
attribute to true.</TD>
|
||||
<TD>Retrieves a document file from a job.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Get-PPDs</TT> *</TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets a list of printer drivers or manufacturers.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Get-Printers</TT> *</TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets a list of printers and/or classes.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Move-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Moves a job to a different printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Reject-Jobs</TT></TD>
|
||||
@@ -431,31 +471,6 @@ HREF="ref-cupsd-conf.html#LimitIPP"><TT>Limit</TT></A> subsections which list th
|
||||
<TD>Yes</TD>
|
||||
<TD>Sets the server/network default printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Get-Devices</TT> *</TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets a list of printer devices.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Get-PPDs</TT> *</TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Gets a list of printer drivers or manufacturers.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Move-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Moves a job to a different printer or class.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Authenticate-Job</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Authenticates a job for printing.</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD NOWRAP><TT>CUPS-Get-Document</TT></TD>
|
||||
<TD>Yes</TD>
|
||||
<TD>Retrieves a document file from a job.</TD>
|
||||
</TR>
|
||||
</TBODY>
|
||||
</TABLE></DIV>
|
||||
|
||||
|
||||
@@ -19,10 +19,7 @@ server.</P>
|
||||
|
||||
<H2 CLASS="title"><A NAME="AUTHENTICATION">Authentication Issues</A></H2>
|
||||
|
||||
<P>When you enable remote administration, the server will use
|
||||
Basic authentication for administration tasks. The current CUPS
|
||||
server supports Basic, Digest, Kerberos, and local certificate
|
||||
authentication:</P>
|
||||
<P>When you enable remote administration, the server will use Basic authentication for administration tasks. The current CUPS server supports Basic, Kerberos, and local certificate authentication:</P>
|
||||
|
||||
<OL>
|
||||
|
||||
@@ -120,7 +117,7 @@ variety of denial of service attacks:</P>
|
||||
|
||||
<H2 CLASS="title"><A NAME="ENCRYPTION">Encryption Issues</A></H2>
|
||||
|
||||
<P>CUPS supports 128-bit TLS encryption of network connections via the GNU TLS library, OS X Security framework, and Windows SSPI APIs. Secure deployment of TLS depends on proper certificate management and software maintenance.</P>
|
||||
<P>CUPS supports 128-bit TLS encryption of network connections via the GNU TLS library, OS X Security framework, and Windows Schannel APIs. Secure deployment of TLS depends on proper certificate management and software maintenance.</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+4
-4
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: raster.c 11594 2014-02-14 20:09:01Z msweet $"
|
||||
* "$Id: raster.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* Raster file routines for CUPS.
|
||||
*
|
||||
@@ -378,7 +378,7 @@ cupsRasterReadPixels(cups_raster_t *r, /* I - Raster stream */
|
||||
if (!cups_raster_read(r, &byte, 1))
|
||||
return (0);
|
||||
|
||||
r->count = byte + 1;
|
||||
r->count = (unsigned)byte + 1;
|
||||
|
||||
if (r->count > 1)
|
||||
ptr = r->pixels;
|
||||
@@ -418,7 +418,7 @@ cupsRasterReadPixels(cups_raster_t *r, /* I - Raster stream */
|
||||
* Repeat the next N bytes...
|
||||
*/
|
||||
|
||||
count = (byte + 1) * r->bpp;
|
||||
count = ((unsigned)byte + 1) * r->bpp;
|
||||
if (count > (unsigned)bytes)
|
||||
count = (unsigned)bytes;
|
||||
|
||||
@@ -1448,5 +1448,5 @@ cups_write_fd(void *ctx, /* I - File descriptor pointer */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: raster.c 11594 2014-02-14 20:09:01Z msweet $".
|
||||
* End of "$Id: raster.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+14
-14
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: rastertoepson.c 11594 2014-02-14 20:09:01Z msweet $"
|
||||
* "$Id: rastertoepson.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* EPSON ESC/P and ESC/P2 filter for CUPS.
|
||||
*
|
||||
@@ -201,14 +201,14 @@ StartPage(
|
||||
if (Model < EPSON_ICOLOR)
|
||||
{
|
||||
pwrite("\033(U\001\000", 5); /* Resolution/units */
|
||||
putchar(3600 / header->HWResolution[1]);
|
||||
putchar((int)(3600 / header->HWResolution[1]));
|
||||
}
|
||||
else
|
||||
{
|
||||
pwrite("\033(U\005\000", 5);
|
||||
putchar(1440 / header->HWResolution[1]);
|
||||
putchar(1440 / header->HWResolution[1]);
|
||||
putchar(1440 / header->HWResolution[0]);
|
||||
putchar((int)(1440 / header->HWResolution[1]));
|
||||
putchar((int)(1440 / header->HWResolution[1]));
|
||||
putchar((int)(1440 / header->HWResolution[0]));
|
||||
putchar(0xa0); /* n/1440ths... */
|
||||
putchar(0x05);
|
||||
}
|
||||
@@ -811,8 +811,8 @@ OutputRows(
|
||||
{
|
||||
putchar(0x1b);
|
||||
putchar('$');
|
||||
putchar(i & 255);
|
||||
putchar(i >> 8);
|
||||
putchar((int)(i & 255));
|
||||
putchar((int)(i >> 8));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -853,8 +853,8 @@ OutputRows(
|
||||
}
|
||||
|
||||
n = dot_count / DotBytes;
|
||||
putchar(n & 255);
|
||||
putchar(n / 256);
|
||||
putchar((int)(n & 255));
|
||||
putchar((int)(n / 256));
|
||||
|
||||
/*
|
||||
* Write the graphics data...
|
||||
@@ -883,8 +883,8 @@ OutputRows(
|
||||
{
|
||||
putchar(0x1b);
|
||||
putchar('$');
|
||||
putchar(i & 255);
|
||||
putchar(i >> 8);
|
||||
putchar((int)(i & 255));
|
||||
putchar((int)(i >> 8));
|
||||
}
|
||||
|
||||
if (header->HWResolution[0] == 120)
|
||||
@@ -893,8 +893,8 @@ OutputRows(
|
||||
printf("\033*\003"); /* Select bit image */
|
||||
|
||||
n = (unsigned)dot_count / DotBytes;
|
||||
putchar(n & 255);
|
||||
putchar(n / 256);
|
||||
putchar((int)(n & 255));
|
||||
putchar((int)(n / 256));
|
||||
|
||||
for (n = dot_count / 2, ptr = dot_ptr + 1; n > 0; n --, ptr += 2)
|
||||
{
|
||||
@@ -1138,5 +1138,5 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: rastertoepson.c 11594 2014-02-14 20:09:01Z msweet $".
|
||||
* End of "$Id: rastertoepson.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+533
-528
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -189,6 +189,7 @@
|
||||
" --domain regex Match domain to regular expression." = " --domain regex Match domain to regular expression.";
|
||||
" --exec utility [argument ...] ;\n Execute program if true." = " --exec utility [argument ...] ;\n Execute program if true.";
|
||||
" --false Always false." = " --false Always false.";
|
||||
" --help Show help." = " --help Show help.";
|
||||
" --help Show this help." = " --help Show this help.";
|
||||
" --host regex Match hostname to regular expression." = " --host regex Match hostname to regular expression.";
|
||||
" --lf End lines with LF (UNIX/Linux/OS X)." = " --lf End lines with LF (UNIX/Linux/OS X).";
|
||||
@@ -203,11 +204,13 @@
|
||||
" --print-name Print service name if true." = " --print-name Print service name if true.";
|
||||
" --quiet Quietly report match via exit code." = " --quiet Quietly report match via exit code.";
|
||||
" --remote True if service is remote." = " --remote True if service is remote.";
|
||||
" --stop-after-include-error\n Stop tests after a failed INCLUDE." = " --stop-after-include-error\n Stop tests after a failed INCLUDE.";
|
||||
" --true Always true." = " --true Always true.";
|
||||
" --txt key True if the TXT record contains the key." = " --txt key True if the TXT record contains the key.";
|
||||
" --txt-* regex Match TXT record key to regular expression." = " --txt-* regex Match TXT record key to regular expression.";
|
||||
" --uri regex Match URI to regular expression." = " --uri regex Match URI to regular expression.";
|
||||
" --version Show program version." = " --version Show program version.";
|
||||
" --version Show version." = " --version Show version.";
|
||||
" -4 Connect using IPv4." = " -4 Connect using IPv4.";
|
||||
" -6 Connect using IPv6." = " -6 Connect using IPv6.";
|
||||
" -C Send requests using chunking (default)." = " -C Send requests using chunking (default).";
|
||||
@@ -221,6 +224,7 @@
|
||||
" -I include-dir Add include directory to search path." = " -I include-dir Add include directory to search path.";
|
||||
" -I {filename,filters,none,profiles}" = " -I {filename,filters,none,profiles}";
|
||||
" -L Send requests using content-length." = " -L Send requests using content-length.";
|
||||
" -P filename.plist Produce XML plist to a file and test report to standard output." = " -P filename.plist Produce XML plist to a file and test report to standard output.";
|
||||
" -P filename.ppd Set PPD file." = " -P filename.ppd Set PPD file.";
|
||||
" -P number[-number] Match port to number or range." = " -P number[-number] Match port to number or range.";
|
||||
" -R root-directory Set alternate root." = " -R root-directory Set alternate root.";
|
||||
@@ -233,6 +237,7 @@
|
||||
" -X Produce XML plist instead of plain text." = " -X Produce XML plist instead of plain text.";
|
||||
" -a Browse for all services." = " -a Browse for all services.";
|
||||
" -a Export all printers." = " -a Export all printers.";
|
||||
" -c Produce CSV output." = " -c Produce CSV output.";
|
||||
" -c catalog.po Load the specified message catalog." = " -c catalog.po Load the specified message catalog.";
|
||||
" -c cups-files.conf Set cups-files.conf file to use." = " -c cups-files.conf Set cups-files.conf file to use.";
|
||||
" -c cupsd.conf Set cupsd.conf file to use." = " -c cupsd.conf Set cupsd.conf file to use.";
|
||||
@@ -251,6 +256,7 @@
|
||||
" -i seconds Repeat the last file with the given time interval." = " -i seconds Repeat the last file with the given time interval.";
|
||||
" -j job-id[,N] Filter file N from the specified job (default is file 1)." = " -j job-id[,N] Filter file N from the specified job (default is file 1).";
|
||||
" -l List attributes." = " -l List attributes.";
|
||||
" -l Produce plain text output." = " -l Produce plain text output.";
|
||||
" -l Run cupsd on demand." = " -l Run cupsd on demand.";
|
||||
" -l lang[,lang,...] Specify the output language(s) (locale)." = " -l lang[,lang,...] Specify the output language(s) (locale).";
|
||||
" -m Use the ModelName value as the filename." = " -m Use the ModelName value as the filename.";
|
||||
@@ -602,7 +608,6 @@
|
||||
"7 inches/sec." = "7 inches/sec.";
|
||||
"7 x 9" = "7 x 9";
|
||||
"70" = "70";
|
||||
"720dpi" = "720dpi";
|
||||
"75" = "75";
|
||||
"8" = "8";
|
||||
"8 inches/sec." = "8 inches/sec.";
|
||||
@@ -1008,8 +1013,6 @@
|
||||
"Name OID uses indefinite length" = "Name OID uses indefinite length";
|
||||
"Nested classes are not allowed." = "Nested classes are not allowed.";
|
||||
"Never" = "Never";
|
||||
"New Stylus Color Series" = "New Stylus Color Series";
|
||||
"New Stylus Photo Series" = "New Stylus Photo Series";
|
||||
"No" = "No";
|
||||
"No Content" = "No Content";
|
||||
"No PPD name" = "No PPD name";
|
||||
@@ -1164,8 +1167,6 @@
|
||||
"Starting Banner" = "Starting Banner";
|
||||
"Starting page %d." = "Starting page %d.";
|
||||
"Statement" = "Statement";
|
||||
"Stylus Color Series" = "Stylus Color Series";
|
||||
"Stylus Photo Series" = "Stylus Photo Series";
|
||||
"Subscription #%d does not exist." = "Subscription #%d does not exist.";
|
||||
"Substitutions:" = "Substitutions:";
|
||||
"Super A" = "Super A";
|
||||
|
||||
+38
-16
@@ -32,7 +32,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: CUPS 1.4.6\n"
|
||||
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
|
||||
"POT-Creation-Date: 2014-06-26 14:29-0400\n"
|
||||
"POT-Creation-Date: 2014-08-29 22:25-0400\n"
|
||||
"PO-Revision-Date: 2012-09-29 11:21+0200\n"
|
||||
"Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n"
|
||||
"Language-Team: Catalan <ca@dodds.net>\n"
|
||||
@@ -973,6 +973,9 @@ msgstr ""
|
||||
msgid " --false Always false."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show help."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show this help."
|
||||
msgstr ""
|
||||
|
||||
@@ -1015,6 +1018,11 @@ msgstr ""
|
||||
msgid " --remote True if service is remote."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
" --stop-after-include-error\n"
|
||||
" Stop tests after a failed INCLUDE."
|
||||
msgstr ""
|
||||
|
||||
msgid " --true Always true."
|
||||
msgstr ""
|
||||
|
||||
@@ -1030,6 +1038,9 @@ msgstr ""
|
||||
msgid " --version Show program version."
|
||||
msgstr ""
|
||||
|
||||
msgid " --version Show version."
|
||||
msgstr ""
|
||||
|
||||
msgid " -4 Connect using IPv4."
|
||||
msgstr " -4 Connecta fent servir IPv4."
|
||||
|
||||
@@ -1075,6 +1086,11 @@ msgid " -L Send requests using content-length."
|
||||
msgstr ""
|
||||
" -L Envia les peticions fent servir content-length."
|
||||
|
||||
msgid ""
|
||||
" -P filename.plist Produce XML plist to a file and test report to "
|
||||
"standard output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -P filename.ppd Set PPD file."
|
||||
msgstr " -P nomfitxer.ppd Estableix el fitxer PPD."
|
||||
|
||||
@@ -1118,6 +1134,9 @@ msgstr ""
|
||||
msgid " -a Export all printers."
|
||||
msgstr " -a Exporta totes les impressores."
|
||||
|
||||
msgid " -c Produce CSV output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -c catalog.po Load the specified message catalog."
|
||||
msgstr " -c catàleg.po Carrega el catàleg de missatges indicat."
|
||||
|
||||
@@ -1183,6 +1202,9 @@ msgstr ""
|
||||
msgid " -l List attributes."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Produce plain text output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Run cupsd on demand."
|
||||
msgstr ""
|
||||
|
||||
@@ -2422,9 +2444,6 @@ msgstr "7 x 9"
|
||||
msgid "70"
|
||||
msgstr "70"
|
||||
|
||||
msgid "720dpi"
|
||||
msgstr "720ppp"
|
||||
|
||||
msgid "75"
|
||||
msgstr "75"
|
||||
|
||||
@@ -3734,12 +3753,6 @@ msgstr "No es permeten les classes imbricades."
|
||||
msgid "Never"
|
||||
msgstr "Mai"
|
||||
|
||||
msgid "New Stylus Color Series"
|
||||
msgstr "Sèrie New Stylus Color"
|
||||
|
||||
msgid "New Stylus Photo Series"
|
||||
msgstr "Sèrie New Stylus Photo"
|
||||
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
@@ -4217,12 +4230,6 @@ msgstr "S'està començant la pàgina %d."
|
||||
msgid "Statement"
|
||||
msgstr "Declaració"
|
||||
|
||||
msgid "Stylus Color Series"
|
||||
msgstr "Sèrie Stylus Color"
|
||||
|
||||
msgid "Stylus Photo Series"
|
||||
msgstr "Sèrie Stylus Photo"
|
||||
|
||||
#, c-format
|
||||
msgid "Subscription #%d does not exist."
|
||||
msgstr "La subscripció #%d no existeix."
|
||||
@@ -6080,6 +6087,9 @@ msgstr "La variable-bindings fa servir una longitud indefinida"
|
||||
#~ msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
|
||||
#~ msgstr "Disc de 3.5 - 2 1/8 x 2 3/4\""
|
||||
|
||||
#~ msgid "720dpi"
|
||||
#~ msgstr "720ppp"
|
||||
|
||||
#~ msgid "Address - 1 1/8 x 3 1/2\""
|
||||
#~ msgstr "Adreça - 1 1/8 x 3 1/2\""
|
||||
|
||||
@@ -6117,6 +6127,12 @@ msgstr "La variable-bindings fa servir una longitud indefinida"
|
||||
#~ msgid "Large Address - 1 4/10 x 3 1/2\""
|
||||
#~ msgstr "Adreça gran - 1 4/10 x 3 1/2\""
|
||||
|
||||
#~ msgid "New Stylus Color Series"
|
||||
#~ msgstr "Sèrie New Stylus Color"
|
||||
|
||||
#~ msgid "New Stylus Photo Series"
|
||||
#~ msgstr "Sèrie New Stylus Photo"
|
||||
|
||||
#~ msgid "Output for printer %s is sent to %s"
|
||||
#~ msgstr "La sortida de la impressora %s s'envia a %s"
|
||||
|
||||
@@ -6181,6 +6197,12 @@ msgstr "La variable-bindings fa servir una longitud indefinida"
|
||||
#~ msgid "Shipping Address - 2 5/16 x 4\""
|
||||
#~ msgstr "Adreça de lliurament - 2 5/16 x 4\""
|
||||
|
||||
#~ msgid "Stylus Color Series"
|
||||
#~ msgstr "Sèrie Stylus Color"
|
||||
|
||||
#~ msgid "Stylus Photo Series"
|
||||
#~ msgstr "Sèrie Stylus Photo"
|
||||
|
||||
#~ msgid "The output bin is almost full."
|
||||
#~ msgstr "La safata de sortida és gairebé plena."
|
||||
|
||||
|
||||
+38
-16
@@ -29,7 +29,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: CUPS 1.6\n"
|
||||
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
|
||||
"POT-Creation-Date: 2014-06-26 14:29-0400\n"
|
||||
"POT-Creation-Date: 2014-08-29 22:25-0400\n"
|
||||
"PO-Revision-Date: 2012-09-14 10:26+0100\n"
|
||||
"Last-Translator: Jan Bartos <jan.bartos@madeta.cz>\n"
|
||||
"Language-Team: Czech\n"
|
||||
@@ -826,6 +826,9 @@ msgstr ""
|
||||
msgid " --false Always false."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show help."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show this help."
|
||||
msgstr ""
|
||||
|
||||
@@ -868,6 +871,11 @@ msgstr ""
|
||||
msgid " --remote True if service is remote."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
" --stop-after-include-error\n"
|
||||
" Stop tests after a failed INCLUDE."
|
||||
msgstr ""
|
||||
|
||||
msgid " --true Always true."
|
||||
msgstr ""
|
||||
|
||||
@@ -883,6 +891,9 @@ msgstr ""
|
||||
msgid " --version Show program version."
|
||||
msgstr ""
|
||||
|
||||
msgid " --version Show version."
|
||||
msgstr ""
|
||||
|
||||
msgid " -4 Connect using IPv4."
|
||||
msgstr ""
|
||||
|
||||
@@ -923,6 +934,11 @@ msgstr ""
|
||||
msgid " -L Send requests using content-length."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
" -P filename.plist Produce XML plist to a file and test report to "
|
||||
"standard output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -P filename.ppd Set PPD file."
|
||||
msgstr ""
|
||||
|
||||
@@ -961,6 +977,9 @@ msgstr ""
|
||||
msgid " -a Export all printers."
|
||||
msgstr ""
|
||||
|
||||
msgid " -c Produce CSV output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -c catalog.po Load the specified message catalog."
|
||||
msgstr ""
|
||||
|
||||
@@ -1018,6 +1037,9 @@ msgstr ""
|
||||
msgid " -l List attributes."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Produce plain text output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Run cupsd on demand."
|
||||
msgstr ""
|
||||
|
||||
@@ -2234,9 +2256,6 @@ msgstr ""
|
||||
msgid "70"
|
||||
msgstr "70"
|
||||
|
||||
msgid "720dpi"
|
||||
msgstr "720 dpi"
|
||||
|
||||
msgid "75"
|
||||
msgstr "75"
|
||||
|
||||
@@ -3524,12 +3543,6 @@ msgstr ""
|
||||
msgid "Never"
|
||||
msgstr "Nikdy"
|
||||
|
||||
msgid "New Stylus Color Series"
|
||||
msgstr "New Stylus Color Series"
|
||||
|
||||
msgid "New Stylus Photo Series"
|
||||
msgstr "New Stylus Photo Series"
|
||||
|
||||
msgid "No"
|
||||
msgstr "Ne"
|
||||
|
||||
@@ -4003,12 +4016,6 @@ msgstr ""
|
||||
msgid "Statement"
|
||||
msgstr "Prohlášení"
|
||||
|
||||
msgid "Stylus Color Series"
|
||||
msgstr "Stylus Color Series"
|
||||
|
||||
msgid "Stylus Photo Series"
|
||||
msgstr "Stylus Photo Series"
|
||||
|
||||
#, c-format
|
||||
msgid "Subscription #%d does not exist."
|
||||
msgstr ""
|
||||
@@ -5675,6 +5682,9 @@ msgstr "nepojmenovaný"
|
||||
msgid "variable-bindings uses indefinite length"
|
||||
msgstr "\"variable-bindings\" má neomezenou délku"
|
||||
|
||||
#~ msgid "720dpi"
|
||||
#~ msgstr "720 dpi"
|
||||
|
||||
#~ msgid "Enter old password:"
|
||||
#~ msgstr "Zadejte původní heslo:"
|
||||
|
||||
@@ -5684,5 +5694,17 @@ msgstr "\"variable-bindings\" má neomezenou délku"
|
||||
#~ msgid "Enter password:"
|
||||
#~ msgstr "Zadejte heslo:"
|
||||
|
||||
#~ msgid "New Stylus Color Series"
|
||||
#~ msgstr "New Stylus Color Series"
|
||||
|
||||
#~ msgid "New Stylus Photo Series"
|
||||
#~ msgstr "New Stylus Photo Series"
|
||||
|
||||
#~ msgid "Purge Jobs"
|
||||
#~ msgstr "Výmaz úloh"
|
||||
|
||||
#~ msgid "Stylus Color Series"
|
||||
#~ msgstr "Stylus Color Series"
|
||||
|
||||
#~ msgid "Stylus Photo Series"
|
||||
#~ msgstr "Stylus Photo Series"
|
||||
|
||||
+2145
-418
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
+38
-16
@@ -29,7 +29,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: CUPS 1.6\n"
|
||||
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
|
||||
"POT-Creation-Date: 2014-06-26 14:29-0400\n"
|
||||
"POT-Creation-Date: 2014-08-29 22:25-0400\n"
|
||||
"PO-Revision-Date: 2012-12-12 11:12+0100\n"
|
||||
"Last-Translator: denis meramdjougoma <dcmeram@libertysurf.fr>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -826,6 +826,9 @@ msgstr ""
|
||||
msgid " --false Always false."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show help."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show this help."
|
||||
msgstr ""
|
||||
|
||||
@@ -868,6 +871,11 @@ msgstr ""
|
||||
msgid " --remote True if service is remote."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
" --stop-after-include-error\n"
|
||||
" Stop tests after a failed INCLUDE."
|
||||
msgstr ""
|
||||
|
||||
msgid " --true Always true."
|
||||
msgstr ""
|
||||
|
||||
@@ -883,6 +891,9 @@ msgstr ""
|
||||
msgid " --version Show program version."
|
||||
msgstr ""
|
||||
|
||||
msgid " --version Show version."
|
||||
msgstr ""
|
||||
|
||||
msgid " -4 Connect using IPv4."
|
||||
msgstr ""
|
||||
|
||||
@@ -923,6 +934,11 @@ msgstr ""
|
||||
msgid " -L Send requests using content-length."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
" -P filename.plist Produce XML plist to a file and test report to "
|
||||
"standard output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -P filename.ppd Set PPD file."
|
||||
msgstr ""
|
||||
|
||||
@@ -961,6 +977,9 @@ msgstr ""
|
||||
msgid " -a Export all printers."
|
||||
msgstr ""
|
||||
|
||||
msgid " -c Produce CSV output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -c catalog.po Load the specified message catalog."
|
||||
msgstr ""
|
||||
|
||||
@@ -1018,6 +1037,9 @@ msgstr ""
|
||||
msgid " -l List attributes."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Produce plain text output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Run cupsd on demand."
|
||||
msgstr ""
|
||||
|
||||
@@ -2234,9 +2256,6 @@ msgstr ""
|
||||
msgid "70"
|
||||
msgstr "70"
|
||||
|
||||
msgid "720dpi"
|
||||
msgstr "720 ppp"
|
||||
|
||||
msgid "75"
|
||||
msgstr "75"
|
||||
|
||||
@@ -3521,12 +3540,6 @@ msgstr ""
|
||||
msgid "Never"
|
||||
msgstr "Jamais"
|
||||
|
||||
msgid "New Stylus Color Series"
|
||||
msgstr "Nouvelles série Stylus Color"
|
||||
|
||||
msgid "New Stylus Photo Series"
|
||||
msgstr "Nouvelles série Stylus Photo"
|
||||
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
@@ -4000,12 +4013,6 @@ msgstr ""
|
||||
msgid "Statement"
|
||||
msgstr "Déclaration"
|
||||
|
||||
msgid "Stylus Color Series"
|
||||
msgstr "Série Stylus Color"
|
||||
|
||||
msgid "Stylus Photo Series"
|
||||
msgstr "Série Stylus Photo"
|
||||
|
||||
#, c-format
|
||||
msgid "Subscription #%d does not exist."
|
||||
msgstr ""
|
||||
@@ -5677,6 +5684,9 @@ msgstr "sans titre"
|
||||
msgid "variable-bindings uses indefinite length"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "720dpi"
|
||||
#~ msgstr "720 ppp"
|
||||
|
||||
#~ msgid "Enter old password:"
|
||||
#~ msgstr "Ancien mot de passe :"
|
||||
|
||||
@@ -5686,5 +5696,17 @@ msgstr ""
|
||||
#~ msgid "Enter password:"
|
||||
#~ msgstr "Entrez le nouveau mot de passe :"
|
||||
|
||||
#~ msgid "New Stylus Color Series"
|
||||
#~ msgstr "Nouvelles série Stylus Color"
|
||||
|
||||
#~ msgid "New Stylus Photo Series"
|
||||
#~ msgstr "Nouvelles série Stylus Photo"
|
||||
|
||||
#~ msgid "Purge Jobs"
|
||||
#~ msgstr "Purger les tâches"
|
||||
|
||||
#~ msgid "Stylus Color Series"
|
||||
#~ msgstr "Série Stylus Color"
|
||||
|
||||
#~ msgid "Stylus Photo Series"
|
||||
#~ msgstr "Série Stylus Photo"
|
||||
|
||||
+38
-16
@@ -29,7 +29,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: CUPS 1.6\n"
|
||||
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
|
||||
"POT-Creation-Date: 2014-06-26 14:29-0400\n"
|
||||
"POT-Creation-Date: 2014-08-29 22:25-0400\n"
|
||||
"PO-Revision-Date: 2013-07-14 12:00+0200\n"
|
||||
"Last-Translator: Giovanni Scafora <giovanni@archlinux.org>\n"
|
||||
"Language-Team: Arch Linux Italian Team <giovanni@archlinux.org>\n"
|
||||
@@ -974,6 +974,9 @@ msgstr ""
|
||||
msgid " --false Always false."
|
||||
msgstr " --false Sempre falso."
|
||||
|
||||
msgid " --help Show help."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show this help."
|
||||
msgstr " --help Mostra questo aiuto."
|
||||
|
||||
@@ -1026,6 +1029,11 @@ msgstr ""
|
||||
msgid " --remote True if service is remote."
|
||||
msgstr " --remote Vero se il servizio è remoto."
|
||||
|
||||
msgid ""
|
||||
" --stop-after-include-error\n"
|
||||
" Stop tests after a failed INCLUDE."
|
||||
msgstr ""
|
||||
|
||||
msgid " --true Always true."
|
||||
msgstr " --true Sempre vero."
|
||||
|
||||
@@ -1044,6 +1052,9 @@ msgstr ""
|
||||
msgid " --version Show program version."
|
||||
msgstr " --version Mostra la versione del programma."
|
||||
|
||||
msgid " --version Show version."
|
||||
msgstr ""
|
||||
|
||||
msgid " -4 Connect using IPv4."
|
||||
msgstr " -4 Connetti utilizzando IPv4."
|
||||
|
||||
@@ -1089,6 +1100,11 @@ msgstr " -I {file,filtri,nessuno,profili}"
|
||||
msgid " -L Send requests using content-length."
|
||||
msgstr " -L Invia richieste utilizzando content-length."
|
||||
|
||||
msgid ""
|
||||
" -P filename.plist Produce XML plist to a file and test report to "
|
||||
"standard output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -P filename.ppd Set PPD file."
|
||||
msgstr " -P filename.ppd Imposta il file PPD."
|
||||
|
||||
@@ -1134,6 +1150,9 @@ msgstr " -a Mostra tutti i servizi."
|
||||
msgid " -a Export all printers."
|
||||
msgstr " -a Esporta tutte le stampanti."
|
||||
|
||||
msgid " -c Produce CSV output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -c catalog.po Load the specified message catalog."
|
||||
msgstr ""
|
||||
" -c catalog.po Carica il catalogo del messaggio specificato."
|
||||
@@ -1202,6 +1221,9 @@ msgstr ""
|
||||
msgid " -l List attributes."
|
||||
msgstr " -l Elenca gli attributi."
|
||||
|
||||
msgid " -l Produce plain text output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Run cupsd on demand."
|
||||
msgstr ""
|
||||
|
||||
@@ -2500,9 +2522,6 @@ msgstr "7 x 9"
|
||||
msgid "70"
|
||||
msgstr "70"
|
||||
|
||||
msgid "720dpi"
|
||||
msgstr "720dpi"
|
||||
|
||||
msgid "75"
|
||||
msgstr "75"
|
||||
|
||||
@@ -3808,12 +3827,6 @@ msgstr "Le classi nidificate non sono consentite."
|
||||
msgid "Never"
|
||||
msgstr "Mai"
|
||||
|
||||
msgid "New Stylus Color Series"
|
||||
msgstr "Nuova Stylus Color Series"
|
||||
|
||||
msgid "New Stylus Photo Series"
|
||||
msgstr "Nuova Stylus Photo Series"
|
||||
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
@@ -4291,12 +4304,6 @@ msgstr "Pagina iniziale %d."
|
||||
msgid "Statement"
|
||||
msgstr "Rapporto"
|
||||
|
||||
msgid "Stylus Color Series"
|
||||
msgstr "Stylus Color Series"
|
||||
|
||||
msgid "Stylus Photo Series"
|
||||
msgstr "Stylus Photo Series"
|
||||
|
||||
#, c-format
|
||||
msgid "Subscription #%d does not exist."
|
||||
msgstr "La sottoscrizione #%d non esiste."
|
||||
@@ -6066,6 +6073,9 @@ msgstr "variable-bindings utilizza una lunghezza indefinita"
|
||||
#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
|
||||
#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f byte"
|
||||
|
||||
#~ msgid "720dpi"
|
||||
#~ msgstr "720dpi"
|
||||
|
||||
#~ msgid "Bad printer URI."
|
||||
#~ msgstr "L'URI della stampante non è valido."
|
||||
|
||||
@@ -6078,6 +6088,12 @@ msgstr "variable-bindings utilizza una lunghezza indefinita"
|
||||
#~ msgid "Enter password:"
|
||||
#~ msgstr "Digitare la password:"
|
||||
|
||||
#~ msgid "New Stylus Color Series"
|
||||
#~ msgstr "Nuova Stylus Color Series"
|
||||
|
||||
#~ msgid "New Stylus Photo Series"
|
||||
#~ msgstr "Nuova Stylus Photo Series"
|
||||
|
||||
#~ msgid "Output for printer %s is sent to %s"
|
||||
#~ msgstr "L'output della stampante %s è stato inviato a %s"
|
||||
|
||||
@@ -6104,6 +6120,12 @@ msgstr "variable-bindings utilizza una lunghezza indefinita"
|
||||
#~ msgstr ""
|
||||
#~ "Rank Owner Pri Job Files Total Size"
|
||||
|
||||
#~ msgid "Stylus Color Series"
|
||||
#~ msgstr "Stylus Color Series"
|
||||
|
||||
#~ msgid "Stylus Photo Series"
|
||||
#~ msgstr "Stylus Photo Series"
|
||||
|
||||
#~ msgid "The output bin is almost full."
|
||||
#~ msgstr "Il raccoglitore di uscita è quasi pieno."
|
||||
|
||||
|
||||
+38
-16
@@ -28,7 +28,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: CUPS 1.7\n"
|
||||
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
|
||||
"POT-Creation-Date: 2014-06-26 14:29-0400\n"
|
||||
"POT-Creation-Date: 2014-08-29 22:25-0400\n"
|
||||
"PO-Revision-Date: 2013-08-19 11:51+0900\n"
|
||||
"Last-Translator: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
|
||||
"Language-Team: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
|
||||
@@ -972,6 +972,9 @@ msgstr ""
|
||||
msgid " --false Always false."
|
||||
msgstr " --false 常に失敗。"
|
||||
|
||||
msgid " --help Show help."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show this help."
|
||||
msgstr " --help このヘルプを表示する。"
|
||||
|
||||
@@ -1016,6 +1019,11 @@ msgstr ""
|
||||
msgid " --remote True if service is remote."
|
||||
msgstr " --remote サービスがリモートなら真。"
|
||||
|
||||
msgid ""
|
||||
" --stop-after-include-error\n"
|
||||
" Stop tests after a failed INCLUDE."
|
||||
msgstr ""
|
||||
|
||||
msgid " --true Always true."
|
||||
msgstr " --true 常に真。"
|
||||
|
||||
@@ -1032,6 +1040,9 @@ msgstr " --uri <正規表現> URI が正規表現とマッチするか
|
||||
msgid " --version Show program version."
|
||||
msgstr " --version プログラムのバージョンを表示。"
|
||||
|
||||
msgid " --version Show version."
|
||||
msgstr ""
|
||||
|
||||
msgid " -4 Connect using IPv4."
|
||||
msgstr " -4 IPv4 で接続する。"
|
||||
|
||||
@@ -1078,6 +1089,11 @@ msgstr " -I {filename,filters,none,profiles}"
|
||||
msgid " -L Send requests using content-length."
|
||||
msgstr " -L content-length を用いてリクエストを送る。"
|
||||
|
||||
msgid ""
|
||||
" -P filename.plist Produce XML plist to a file and test report to "
|
||||
"standard output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -P filename.ppd Set PPD file."
|
||||
msgstr " -P filename.ppd PPD ファイルを指定する。"
|
||||
|
||||
@@ -1119,6 +1135,9 @@ msgstr " -a すべてのサービスをブラウズする
|
||||
msgid " -a Export all printers."
|
||||
msgstr " -a すべてのプリンターをエクスポートする。"
|
||||
|
||||
msgid " -c Produce CSV output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -c catalog.po Load the specified message catalog."
|
||||
msgstr " -c catalog.po 指定したメッセージカタログをロードする。"
|
||||
|
||||
@@ -1183,6 +1202,9 @@ msgstr ""
|
||||
msgid " -l List attributes."
|
||||
msgstr " -l 属性の一覧を表示する。"
|
||||
|
||||
msgid " -l Produce plain text output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Run cupsd on demand."
|
||||
msgstr ""
|
||||
|
||||
@@ -2454,9 +2476,6 @@ msgstr "7 x 9 インチ"
|
||||
msgid "70"
|
||||
msgstr "70"
|
||||
|
||||
msgid "720dpi"
|
||||
msgstr "720dpi"
|
||||
|
||||
msgid "75"
|
||||
msgstr "75"
|
||||
|
||||
@@ -3766,12 +3785,6 @@ msgstr "入れ子になったクラスは許可されていません。"
|
||||
msgid "Never"
|
||||
msgstr "Never"
|
||||
|
||||
msgid "New Stylus Color Series"
|
||||
msgstr "New Stylus Color シリーズ"
|
||||
|
||||
msgid "New Stylus Photo Series"
|
||||
msgstr "New Stylus Photo シリーズ"
|
||||
|
||||
msgid "No"
|
||||
msgstr "いいえ"
|
||||
|
||||
@@ -4247,12 +4260,6 @@ msgstr "ページ %d を開始しています。"
|
||||
msgid "Statement"
|
||||
msgstr "記述"
|
||||
|
||||
msgid "Stylus Color Series"
|
||||
msgstr "Stylus Color シリーズ"
|
||||
|
||||
msgid "Stylus Photo Series"
|
||||
msgstr "Stylus Photo シリーズ"
|
||||
|
||||
#, c-format
|
||||
msgid "Subscription #%d does not exist."
|
||||
msgstr "サブスクリプション番号 %d は存在しません。"
|
||||
@@ -6051,6 +6058,9 @@ msgstr "variable-bindings の長さが不定"
|
||||
#~ msgid "%s: Error - expected destination after \"-b\" option."
|
||||
#~ msgstr "%s: エラー - \"-b\" オプションのあとに宛先が必要です。"
|
||||
|
||||
#~ msgid "720dpi"
|
||||
#~ msgstr "720dpi"
|
||||
|
||||
#~ msgid "Bad printer URI."
|
||||
#~ msgstr "不正なプリンター URI です。"
|
||||
|
||||
@@ -6063,6 +6073,12 @@ msgstr "variable-bindings の長さが不定"
|
||||
#~ msgid "Enter password:"
|
||||
#~ msgstr "パスワードを入力:"
|
||||
|
||||
#~ msgid "New Stylus Color Series"
|
||||
#~ msgstr "New Stylus Color シリーズ"
|
||||
|
||||
#~ msgid "New Stylus Photo Series"
|
||||
#~ msgstr "New Stylus Photo シリーズ"
|
||||
|
||||
#~ msgid "Output for printer %s is sent to %s"
|
||||
#~ msgstr "プリンター %s の出力は %s に送られます"
|
||||
|
||||
@@ -6096,6 +6112,12 @@ msgstr "variable-bindings の長さが不定"
|
||||
#~ msgstr ""
|
||||
#~ "ランク 所有者 優先 ジョブ ファイル 合計サイズ"
|
||||
|
||||
#~ msgid "Stylus Color Series"
|
||||
#~ msgstr "Stylus Color シリーズ"
|
||||
|
||||
#~ msgid "Stylus Photo Series"
|
||||
#~ msgstr "Stylus Photo シリーズ"
|
||||
|
||||
#~ msgid "The output bin is almost full."
|
||||
#~ msgstr "排紙トレイがほとんど一杯です。"
|
||||
|
||||
|
||||
+38
-16
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: CUPS 1.4\n"
|
||||
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
|
||||
"POT-Creation-Date: 2014-06-26 14:29-0400\n"
|
||||
"POT-Creation-Date: 2014-08-29 22:25-0400\n"
|
||||
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
|
||||
"Last-Translator: Apple Inc.\n"
|
||||
"Language-Team: Apple Inc.\n"
|
||||
@@ -799,6 +799,9 @@ msgstr ""
|
||||
msgid " --false Always false."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show help."
|
||||
msgstr ""
|
||||
|
||||
msgid " --help Show this help."
|
||||
msgstr ""
|
||||
|
||||
@@ -841,6 +844,11 @@ msgstr ""
|
||||
msgid " --remote True if service is remote."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
" --stop-after-include-error\n"
|
||||
" Stop tests after a failed INCLUDE."
|
||||
msgstr ""
|
||||
|
||||
msgid " --true Always true."
|
||||
msgstr ""
|
||||
|
||||
@@ -856,6 +864,9 @@ msgstr ""
|
||||
msgid " --version Show program version."
|
||||
msgstr ""
|
||||
|
||||
msgid " --version Show version."
|
||||
msgstr ""
|
||||
|
||||
msgid " -4 Connect using IPv4."
|
||||
msgstr ""
|
||||
|
||||
@@ -896,6 +907,11 @@ msgstr ""
|
||||
msgid " -L Send requests using content-length."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
" -P filename.plist Produce XML plist to a file and test report to "
|
||||
"standard output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -P filename.ppd Set PPD file."
|
||||
msgstr ""
|
||||
|
||||
@@ -934,6 +950,9 @@ msgstr ""
|
||||
msgid " -a Export all printers."
|
||||
msgstr ""
|
||||
|
||||
msgid " -c Produce CSV output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -c catalog.po Load the specified message catalog."
|
||||
msgstr ""
|
||||
|
||||
@@ -991,6 +1010,9 @@ msgstr ""
|
||||
msgid " -l List attributes."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Produce plain text output."
|
||||
msgstr ""
|
||||
|
||||
msgid " -l Run cupsd on demand."
|
||||
msgstr ""
|
||||
|
||||
@@ -2207,9 +2229,6 @@ msgstr ""
|
||||
msgid "70"
|
||||
msgstr "70"
|
||||
|
||||
msgid "720dpi"
|
||||
msgstr "720dpi"
|
||||
|
||||
msgid "75"
|
||||
msgstr "75"
|
||||
|
||||
@@ -3497,12 +3516,6 @@ msgstr ""
|
||||
msgid "Never"
|
||||
msgstr "Никогда"
|
||||
|
||||
msgid "New Stylus Color Series"
|
||||
msgstr "Серия Stylus Color нового поколения"
|
||||
|
||||
msgid "New Stylus Photo Series"
|
||||
msgstr "Серия Stylus Photo нового поколения"
|
||||
|
||||
msgid "No"
|
||||
msgstr "Нет"
|
||||
|
||||
@@ -3976,12 +3989,6 @@ msgstr ""
|
||||
msgid "Statement"
|
||||
msgstr "Оператор"
|
||||
|
||||
msgid "Stylus Color Series"
|
||||
msgstr "Серия Stylus Color"
|
||||
|
||||
msgid "Stylus Photo Series"
|
||||
msgstr "Серия Stylus Photo"
|
||||
|
||||
#, c-format
|
||||
msgid "Subscription #%d does not exist."
|
||||
msgstr ""
|
||||
@@ -7276,6 +7283,9 @@ msgstr "Для variable-bindings длина не установлена"
|
||||
#~ msgid "7 x 9\""
|
||||
#~ msgstr "7 x 9\""
|
||||
|
||||
#~ msgid "720dpi"
|
||||
#~ msgstr "720dpi"
|
||||
|
||||
#~ msgid "8 x 10\""
|
||||
#~ msgstr "8 x 10\""
|
||||
|
||||
@@ -8562,6 +8572,12 @@ msgstr "Для variable-bindings длина не установлена"
|
||||
#~ msgid "Nested classes are not allowed"
|
||||
#~ msgstr "Вложенные группы не допускаются"
|
||||
|
||||
#~ msgid "New Stylus Color Series"
|
||||
#~ msgstr "Серия Stylus Color нового поколения"
|
||||
|
||||
#~ msgid "New Stylus Photo Series"
|
||||
#~ msgstr "Серия Stylus Photo нового поколения"
|
||||
|
||||
#~ msgid "No PPD name!"
|
||||
#~ msgstr "Нет имени PPD!"
|
||||
|
||||
@@ -8738,6 +8754,12 @@ msgstr "Для variable-bindings длина не установлена"
|
||||
#~ msgid "Shipping Address - 2 5/16 x 4\""
|
||||
#~ msgstr "Адрес доставки - 2 5/16 x 4\""
|
||||
|
||||
#~ msgid "Stylus Color Series"
|
||||
#~ msgstr "Серия Stylus Color"
|
||||
|
||||
#~ msgid "Stylus Photo Series"
|
||||
#~ msgstr "Серия Stylus Photo"
|
||||
|
||||
#~ msgid "Tabloid (Oversize)"
|
||||
#~ msgstr "Tabloid (расширенный)"
|
||||
|
||||
|
||||
+25
-12
@@ -1,5 +1,5 @@
|
||||
.\"
|
||||
.\" "$Id: ipptool.man 11880 2014-05-16 06:14:11Z msweet $"
|
||||
.\" "$Id: ipptool.man 12140 2014-08-30 01:51:22Z msweet $"
|
||||
.\"
|
||||
.\" ipptool man page for CUPS.
|
||||
.\"
|
||||
@@ -11,7 +11,7 @@
|
||||
.\" 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 ipptool 1 "CUPS" "15 May 2014" "Apple Inc."
|
||||
.TH ipptool 1 "CUPS" "29 August 2014" "Apple Inc."
|
||||
.SH NAME
|
||||
ipptool \- perform internet printing protocol requests
|
||||
.SH SYNOPSIS
|
||||
@@ -76,9 +76,12 @@ ipptool \- perform internet printing protocol requests
|
||||
.B ipptool
|
||||
sends IPP requests to the specified
|
||||
.I printer-uri
|
||||
and tests and/or displays the results. Each named
|
||||
and tests and/or displays the results.
|
||||
Each named
|
||||
.I testfile
|
||||
defines one or more requests, including the expected response status, attributes, and values. Output is either a plain text, formatted text, CSV, or XML report on the standard output, with a non-zero exit status indicating that one or more tests have failed. The
|
||||
defines one or more requests, including the expected response status, attributes, and values.
|
||||
Output is either a plain text, formatted text, CSV, or XML report on the standard output, with a non-zero exit status indicating that one or more tests have failed.
|
||||
The
|
||||
.I testfile
|
||||
format is described in
|
||||
.BR ipptoolfile (5).
|
||||
@@ -112,7 +115,8 @@ Specifies that
|
||||
must connect to the printer or server using IPv6.
|
||||
.TP 5
|
||||
.B \-C
|
||||
Specifies that requests should be sent using the HTTP/1.1 "Transfer\-Encoding: chunked" header, which is required for conformance by all versions of IPP. The default is to use "Transfer\-Encoding: chunked" for requests with attached files and "Content\-Length:" for requests without attached files.
|
||||
Specifies that requests should be sent using the HTTP/1.1 "Transfer\-Encoding: chunked" header, which is required for conformance by all versions of IPP.
|
||||
The default is to use "Transfer\-Encoding: chunked" for requests with attached files and "Content\-Length:" for requests without attached files.
|
||||
.TP 5
|
||||
.B \-E
|
||||
Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header.
|
||||
@@ -123,10 +127,12 @@ Specifies that
|
||||
will continue past errors.
|
||||
.TP 5
|
||||
.B \-L
|
||||
Specifies that requests should be sent using the HTTP/1.0 "Content\-Length:" header, which is required for conformance by all versions of IPP. The default is to use "Transfer\-Encoding: chunked" for requests with attached files and "Content\-Length:" for requests without attached files.
|
||||
Specifies that requests should be sent using the HTTP/1.0 "Content\-Length:" header, which is required for conformance by all versions of IPP.
|
||||
The default is to use "Transfer\-Encoding: chunked" for requests with attached files and "Content\-Length:" for requests without attached files.
|
||||
.TP 5
|
||||
.BI \-P \ filename.plist
|
||||
Specifies that the test results should be written to the named XML (Apple plist) file in addition to the plain text report. This option is incompatible with the \fB\-i\fR (interval) and \fB\-n\fR (repeat\-count) options.
|
||||
Specifies that the test results should be written to the named XML (Apple plist) file in addition to the regular test report (\fB\-t\fR).
|
||||
This option is incompatible with the \fB\-i\fR (interval) and \fB\-n\fR (repeat\-count) options.
|
||||
.TP 5
|
||||
.B \-S
|
||||
Forces (dedicated) TLS encryption when connecting to the server.
|
||||
@@ -138,7 +144,8 @@ Specifies a timeout for IPP requests in seconds.
|
||||
Specifies the default IPP version to use: 1.0, 1.1, 2.0, 2.1, or 2.2. If not specified, version 1.1 is used.
|
||||
.TP 5
|
||||
.B \-X
|
||||
Specifies that XML (Apple plist) output is desired instead of the plain text report. This option is incompatible with the \fB\-i\fR (interval) and \fB\-n\fR (repeat\-count) options.
|
||||
Specifies that XML (Apple plist) output is desired instead of the plain text report.
|
||||
This option is incompatible with the \fB\-i\fR (interval) and \fB\-n\fR (repeat\-count) options.
|
||||
.TP 5
|
||||
.B \-c
|
||||
Specifies that CSV (comma\-separated values) output is desired instead of the plain text output.
|
||||
@@ -152,7 +159,8 @@ Defines the default request filename for tests.
|
||||
.BI \-i \ seconds
|
||||
Specifies that the (last)
|
||||
.I testfile
|
||||
should be repeated at the specified interval. This option is incompatible with the \fB\-X\fR (XML plist output) option.
|
||||
should be repeated at the specified interval.
|
||||
This option is incompatible with the \fB\-X\fR (XML plist output) option.
|
||||
.TP 5
|
||||
.B \-l
|
||||
Specifies that plain text output is desired.
|
||||
@@ -160,13 +168,18 @@ Specifies that plain text output is desired.
|
||||
.BI \-n \ repeat\-count
|
||||
Specifies that the (last)
|
||||
.I testfile
|
||||
should be repeated the specified number of times. This option is incompatible with the \fI\-X\fR (XML plist output) option.
|
||||
should be repeated the specified number of times.
|
||||
This option is incompatible with the \fI\-X\fR (XML plist output) option.
|
||||
.TP 5
|
||||
.B \-q
|
||||
Be quiet and produce no output.
|
||||
.TP 5
|
||||
.B \-t
|
||||
Specifies that CUPS test report output is desired instead of the plain text output.
|
||||
.TP 5
|
||||
.B \-v
|
||||
Specifies that all request and response attributes should be output in CUPS test mode (\fB\-t\fR). This is the default for XML output.
|
||||
Specifies that all request and response attributes should be output in CUPS test mode (\fB\-t\fR).
|
||||
This is the default for XML output.
|
||||
.SH EXIT STATUS
|
||||
The
|
||||
.B ipptool
|
||||
@@ -231,5 +244,5 @@ RFC 2911 (http://tools.ietf.org/html/rfc2911),
|
||||
.SH COPYRIGHT
|
||||
Copyright \[co] 2007-2014 by Apple Inc.
|
||||
.\"
|
||||
.\" End of "$Id: ipptool.man 11880 2014-05-16 06:14:11Z msweet $".
|
||||
.\" End of "$Id: ipptool.man 12140 2014-08-30 01:51:22Z msweet $".
|
||||
.\"
|
||||
|
||||
+13
-21
@@ -1,27 +1,16 @@
|
||||
/*
|
||||
* "$Id: rss.c 10996 2013-05-29 11:51:34Z msweet $"
|
||||
* "$Id: rss.c 12128 2014-08-28 19:23:23Z msweet $"
|
||||
*
|
||||
* RSS notifier for CUPS.
|
||||
* RSS notifier for CUPS.
|
||||
*
|
||||
* Copyright 2007-2012 by Apple Inc.
|
||||
* Copyright 2007 by Easy Software Products.
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* 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/".
|
||||
*
|
||||
* Contents:
|
||||
*
|
||||
* main() - Main entry for the test notifier.
|
||||
* compare_rss() - Compare two messages.
|
||||
* delete_message() - Free all memory used by a message.
|
||||
* load_rss() - Load an existing RSS feed file.
|
||||
* new_message() - Create a new RSS message.
|
||||
* password_cb() - Return the cached password.
|
||||
* save_rss() - Save messages to a RSS file.
|
||||
* xml_escape() - Copy a string, escaping &, <, and > as needed.
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* 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/".
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -29,6 +18,7 @@
|
||||
*/
|
||||
|
||||
#include <cups/cups.h>
|
||||
#include <sys/stat.h>
|
||||
#include <cups/language.h>
|
||||
#include <cups/string-private.h>
|
||||
#include <cups/array.h>
|
||||
@@ -629,6 +619,8 @@ save_rss(cups_array_t *rss, /* I - RSS messages */
|
||||
return (0);
|
||||
}
|
||||
|
||||
fchmod(fileno(fp), 0644);
|
||||
|
||||
fputs("<?xml version=\"1.0\"?>\n", fp);
|
||||
fputs("<rss version=\"2.0\">\n", fp);
|
||||
fputs(" <channel>\n", fp);
|
||||
@@ -737,5 +729,5 @@ xml_escape(const char *s) /* I - String to escape */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: rss.c 10996 2013-05-29 11:51:34Z msweet $".
|
||||
* End of "$Id: rss.c 12128 2014-08-28 19:23:23Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -44,12 +44,12 @@
|
||||
|
||||
Summary: CUPS
|
||||
Name: cups
|
||||
Version: 2.0b1
|
||||
Version: 2.0.0
|
||||
Release: 1
|
||||
Epoch: 1
|
||||
License: GPL
|
||||
Group: System Environment/Daemons
|
||||
Source: http://www.cups.org/software/2.0b1/cups-2.0b1-source.tar.bz2
|
||||
Source: http://www.cups.org/software/2.0.0/cups-2.0.0-source.tar.bz2
|
||||
Url: http://www.cups.org
|
||||
Packager: Anonymous <anonymous@foo.com>
|
||||
Vendor: Apple Inc.
|
||||
|
||||
+2
-86
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// "$Id: sample.drv 11800 2014-04-08 19:53:57Z msweet $"
|
||||
// "$Id: sample.drv 12105 2014-08-20 15:27:43Z msweet $"
|
||||
//
|
||||
// Driver info file for CUPS-supplied PPDs.
|
||||
//
|
||||
@@ -217,90 +217,6 @@ Version "2.0"
|
||||
*Resolution k 1 8 0 0 120x72dpi
|
||||
Resolution k 1 8 0 0 240x72dpi
|
||||
}
|
||||
|
||||
// Epson Stylus Color Series
|
||||
{
|
||||
ModelName "Stylus Color Series"
|
||||
Attribute NickName "" "Epson Stylus Color Series"
|
||||
PCFileName "stcolor.ppd"
|
||||
ModelNumber $EPSON_COLOR
|
||||
ColorDevice Yes
|
||||
|
||||
HWMargins 8.6 39.6 8.6 25.51
|
||||
*MediaSize Letter
|
||||
MediaSize Legal
|
||||
MediaSize A4
|
||||
|
||||
Resolution - 1 0 0 0 180dpi
|
||||
*Resolution - 1 0 0 0 360dpi
|
||||
Resolution - 1 0 0 0 720dpi
|
||||
|
||||
*ColorModel CMYK cmyk banded 1
|
||||
ColorModel Gray/Grayscale k chunky 1
|
||||
}
|
||||
|
||||
// Epson New Stylus Color Series
|
||||
{
|
||||
ModelName "New Stylus Color Series"
|
||||
Attribute NickName "" "Epson New Stylus Color Series"
|
||||
PCFileName "stcolor2.ppd"
|
||||
ModelNumber $EPSON_ICOLOR
|
||||
ColorDevice Yes
|
||||
|
||||
HWMargins 8.6 39.6 8.6 25.51
|
||||
*MediaSize Letter
|
||||
MediaSize Legal
|
||||
MediaSize A4
|
||||
|
||||
Resolution - 1 0 0 0 180dpi
|
||||
*Resolution - 1 0 0 0 360dpi
|
||||
Resolution - 1 0 0 0 720dpi
|
||||
|
||||
*ColorModel CMYK cmyk banded 1
|
||||
ColorModel Gray/Grayscale k chunky 1
|
||||
}
|
||||
|
||||
// Epson Stylus Color Series
|
||||
{
|
||||
ModelName "Stylus Photo Series"
|
||||
Attribute NickName "" "Epson Stylus Photo Series"
|
||||
PCFileName "stphoto.ppd"
|
||||
ModelNumber $EPSON_PHOTO
|
||||
ColorDevice Yes
|
||||
|
||||
HWMargins 8.6 39.6 8.6 25.51
|
||||
*MediaSize Letter
|
||||
MediaSize Legal
|
||||
MediaSize A4
|
||||
|
||||
Resolution - 1 0 0 0 180dpi
|
||||
*Resolution - 1 0 0 0 360dpi
|
||||
Resolution - 1 0 0 0 720dpi
|
||||
|
||||
*ColorModel CMYK cmykcm banded 1
|
||||
ColorModel Gray/Grayscale k chunky 1
|
||||
}
|
||||
|
||||
// Epson New Stylus Color Series
|
||||
{
|
||||
ModelName "New Stylus Photo Series"
|
||||
Attribute NickName "" "Epson New Stylus Photo Series"
|
||||
PCFileName "stphoto2.ppd"
|
||||
ModelNumber $EPSON_IPHOTO
|
||||
ColorDevice Yes
|
||||
|
||||
HWMargins 8.6 39.6 8.6 25.51
|
||||
*MediaSize Letter
|
||||
MediaSize Legal
|
||||
MediaSize A4
|
||||
|
||||
Resolution - 1 0 0 0 180dpi
|
||||
*Resolution - 1 0 0 0 360dpi
|
||||
Resolution - 1 0 0 0 720dpi
|
||||
|
||||
*ColorModel CMYK cmykcm banded 1
|
||||
ColorModel Gray/Grayscale k chunky 1
|
||||
}
|
||||
}
|
||||
|
||||
// Generic drivers
|
||||
@@ -1252,5 +1168,5 @@ Version "2.0"
|
||||
}
|
||||
|
||||
//
|
||||
// End of "$Id: sample.drv 11800 2014-04-08 19:53:57Z msweet $".
|
||||
// End of "$Id: sample.drv 12105 2014-08-20 15:27:43Z msweet $".
|
||||
//
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: Makefile 11718 2014-03-21 18:04:48Z msweet $"
|
||||
# "$Id: Makefile 12132 2014-08-29 11:27:18Z msweet $"
|
||||
#
|
||||
# Scheduler Makefile for CUPS.
|
||||
#
|
||||
@@ -171,7 +171,7 @@ install-data:
|
||||
echo Creating $(REQUESTS)/tmp...
|
||||
$(INSTALL_DIR) -m 1770 -g $(CUPS_GROUP) $(REQUESTS)/tmp
|
||||
echo Creating $(CACHEDIR)...
|
||||
$(INSTALL_DIR) -m 775 -g $(CUPS_GROUP) $(CACHEDIR)
|
||||
$(INSTALL_DIR) -m 770 -g $(CUPS_GROUP) $(CACHEDIR)
|
||||
if test "x$(INITDIR)" != x; then \
|
||||
echo Installing init scripts...; \
|
||||
$(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/init.d; \
|
||||
@@ -547,5 +547,5 @@ include Dependencies
|
||||
|
||||
|
||||
#
|
||||
# End of "$Id: Makefile 11718 2014-03-21 18:04:48Z msweet $".
|
||||
# End of "$Id: Makefile 12132 2014-08-29 11:27:18Z msweet $".
|
||||
#
|
||||
|
||||
+7
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: auth.c 11776 2014-03-28 19:16:05Z msweet $"
|
||||
* "$Id: auth.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* Authorization routines for the CUPS scheduler.
|
||||
*
|
||||
@@ -2171,23 +2171,23 @@ cups_crypt(const char *pw, /* I - Password string */
|
||||
* Copy the final sum to the result string and return...
|
||||
*/
|
||||
|
||||
memcpy(result, salt, salt_end - salt);
|
||||
memcpy(result, salt, (size_t)(salt_end - salt));
|
||||
ptr = result + (salt_end - salt);
|
||||
*ptr++ = '$';
|
||||
|
||||
for (i = 0; i < 5; i ++, ptr += 4)
|
||||
{
|
||||
n = (((digest[i] << 8) | digest[i + 6]) << 8);
|
||||
n = ((((unsigned)digest[i] << 8) | (unsigned)digest[i + 6]) << 8);
|
||||
|
||||
if (i < 4)
|
||||
n |= digest[i + 12];
|
||||
n |= (unsigned)digest[i + 12];
|
||||
else
|
||||
n |= digest[5];
|
||||
n |= (unsigned)digest[5];
|
||||
|
||||
to64(ptr, n, 4);
|
||||
}
|
||||
|
||||
to64(ptr, digest[11], 2);
|
||||
to64(ptr, (unsigned)digest[11], 2);
|
||||
ptr += 2;
|
||||
*ptr = '\0';
|
||||
|
||||
@@ -2327,5 +2327,5 @@ to64(char *s, /* O - Output string */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: auth.c 11776 2014-03-28 19:16:05Z msweet $".
|
||||
* End of "$Id: auth.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+22
-9
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: client.c 12056 2014-07-22 14:02:56Z msweet $"
|
||||
* "$Id: client.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* Client routines for the CUPS scheduler.
|
||||
*
|
||||
@@ -934,7 +934,7 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (!cupsdSendError(con, HTTP_NOT_IMPLEMENTED, CUPSD_AUTH_NONE))
|
||||
if (!cupsdSendError(con, HTTP_STATUS_NOT_IMPLEMENTED, CUPSD_AUTH_NONE))
|
||||
{
|
||||
cupsdCloseClient(con);
|
||||
return;
|
||||
@@ -993,7 +993,7 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (!cupsdSendError(con, HTTP_NOT_IMPLEMENTED, CUPSD_AUTH_NONE))
|
||||
if (!cupsdSendError(con, HTTP_STATUS_NOT_IMPLEMENTED, CUPSD_AUTH_NONE))
|
||||
{
|
||||
cupsdCloseClient(con);
|
||||
return;
|
||||
@@ -1891,7 +1891,7 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
|
||||
con->request->request.op.version[1],
|
||||
ippOpString(con->request->request.op.operation_id),
|
||||
con->request->request.op.request_id);
|
||||
con->bytes += ippLength(con->request);
|
||||
con->bytes += (off_t)ippLength(con->request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2912,6 +2912,7 @@ get_file(cupsd_client_t *con, /* I - Client connection */
|
||||
char *ptr; /* Pointer info filename */
|
||||
size_t plen; /* Remaining length after pointer */
|
||||
char language[7]; /* Language subdirectory, if any */
|
||||
int perm_check = 1; /* Do permissions check? */
|
||||
|
||||
|
||||
/*
|
||||
@@ -2921,17 +2922,27 @@ get_file(cupsd_client_t *con, /* I - Client connection */
|
||||
language[0] = '\0';
|
||||
|
||||
if (!strncmp(con->uri, "/ppd/", 5) && !strchr(con->uri + 5, '/'))
|
||||
{
|
||||
snprintf(filename, len, "%s%s", ServerRoot, con->uri);
|
||||
|
||||
perm_check = 0;
|
||||
}
|
||||
else if (!strncmp(con->uri, "/icons/", 7) && !strchr(con->uri + 7, '/'))
|
||||
{
|
||||
snprintf(filename, len, "%s/%s", CacheDir, con->uri + 7);
|
||||
if (access(filename, F_OK) < 0)
|
||||
snprintf(filename, len, "%s/images/generic.png", DocumentRoot);
|
||||
|
||||
perm_check = 0;
|
||||
}
|
||||
else if (!strncmp(con->uri, "/rss/", 5) && !strchr(con->uri + 5, '/'))
|
||||
snprintf(filename, len, "%s/rss/%s", CacheDir, con->uri + 5);
|
||||
else if (!strncmp(con->uri, "/admin/conf/", 12))
|
||||
snprintf(filename, len, "%s%s", ServerRoot, con->uri + 11);
|
||||
else if (!strcmp(con->uri, "/admin/conf/cupsd.conf"))
|
||||
{
|
||||
strlcpy(filename, ConfigurationFile, len);
|
||||
|
||||
perm_check = 0;
|
||||
}
|
||||
else if (!strncmp(con->uri, "/admin/log/", 11))
|
||||
{
|
||||
if (!strncmp(con->uri + 11, "access_log", 10) && AccessLog[0] == '/')
|
||||
@@ -2942,6 +2953,8 @@ get_file(cupsd_client_t *con, /* I - Client connection */
|
||||
strlcpy(filename, PageLog, len);
|
||||
else
|
||||
return (NULL);
|
||||
|
||||
perm_check = 0;
|
||||
}
|
||||
else if (con->language)
|
||||
{
|
||||
@@ -3007,7 +3020,7 @@ get_file(cupsd_client_t *con, /* I - Client connection */
|
||||
* not allow access...
|
||||
*/
|
||||
|
||||
if (!status && !(filestats->st_mode & S_IROTH))
|
||||
if (!status && perm_check && !(filestats->st_mode & S_IROTH))
|
||||
{
|
||||
cupsdLogClient(con, CUPSD_LOG_INFO, "Files/directories such as \"%s\" must be world-readable.", filename);
|
||||
return (NULL);
|
||||
@@ -3115,7 +3128,7 @@ get_file(cupsd_client_t *con, /* I - Client connection */
|
||||
* not allow access...
|
||||
*/
|
||||
|
||||
if (!status && !(filestats->st_mode & S_IROTH))
|
||||
if (!status && perm_check && !(filestats->st_mode & S_IROTH))
|
||||
{
|
||||
cupsdLogClient(con, CUPSD_LOG_INFO, "Files/directories such as \"%s\" must be world-readable.", filename);
|
||||
return (NULL);
|
||||
@@ -4042,5 +4055,5 @@ write_pipe(cupsd_client_t *con) /* I - Client connection */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: client.c 12056 2014-07-22 14:02:56Z msweet $".
|
||||
* End of "$Id: client.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+12
-6
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: conf.c 11931 2014-06-16 16:10:58Z msweet $"
|
||||
* "$Id: conf.c 12178 2014-09-30 18:56:48Z msweet $"
|
||||
*
|
||||
* Configuration routines for the CUPS scheduler.
|
||||
*
|
||||
@@ -1076,7 +1076,7 @@ cupsdReadConfiguration(void)
|
||||
|
||||
if ((cupsdCheckPermissions(RequestRoot, NULL, 0710, RunUser,
|
||||
Group, 1, 1) < 0 ||
|
||||
cupsdCheckPermissions(CacheDir, NULL, 0775, RunUser,
|
||||
cupsdCheckPermissions(CacheDir, NULL, 0770, RunUser,
|
||||
Group, 1, 1) < 0 ||
|
||||
cupsdCheckPermissions(temp, NULL, 0775, RunUser,
|
||||
Group, 1, 1) < 0 ||
|
||||
@@ -2974,9 +2974,15 @@ read_cupsd_conf(cups_file_t *fp) /* I - File to read from */
|
||||
|
||||
if (lis)
|
||||
{
|
||||
httpAddrString(&lis->address, temp, sizeof(temp));
|
||||
cupsdLogMessage(CUPSD_LOG_WARN,
|
||||
"Duplicate listen address \"%s\" ignored.", temp);
|
||||
#if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD)
|
||||
if (!lis->on_demand)
|
||||
#endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */
|
||||
{
|
||||
httpAddrString(&lis->address, temp, sizeof(temp));
|
||||
cupsdLogMessage(CUPSD_LOG_WARN,
|
||||
"Duplicate listen address \"%s\" ignored.", temp);
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -4087,5 +4093,5 @@ set_policy_defaults(cupsd_policy_t *pol)/* I - Policy */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: conf.c 11931 2014-06-16 16:10:58Z msweet $".
|
||||
* End of "$Id: conf.c 12178 2014-09-30 18:56:48Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: cups-driverd.cxx 11558 2014-02-06 18:33:34Z msweet $"
|
||||
* "$Id: cups-driverd.cxx 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* PPD/driver support for CUPS.
|
||||
*
|
||||
@@ -1321,7 +1321,7 @@ list_ppds(int request_id, /* I - Request ID */
|
||||
|
||||
if (device_id_re &&
|
||||
!regexec(device_id_re, ppd->record.device_id,
|
||||
(int)(sizeof(re_matches) / sizeof(re_matches[0])),
|
||||
(size_t)(sizeof(re_matches) / sizeof(re_matches[0])),
|
||||
re_matches, 0))
|
||||
{
|
||||
/*
|
||||
@@ -1351,7 +1351,7 @@ list_ppds(int request_id, /* I - Request ID */
|
||||
|
||||
if (make_and_model_re &&
|
||||
!regexec(make_and_model_re, ppd->record.make_and_model,
|
||||
(int)(sizeof(re_matches) / sizeof(re_matches[0])),
|
||||
(size_t)(sizeof(re_matches) / sizeof(re_matches[0])),
|
||||
re_matches, 0))
|
||||
{
|
||||
// See how much of the make-and-model string we matched...
|
||||
@@ -2903,5 +2903,5 @@ regex_string(const char *s) /* I - String to compare */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: cups-driverd.cxx 11558 2014-02-06 18:33:34Z msweet $".
|
||||
* End of "$Id: cups-driverd.cxx 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+10
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: ipp.c 12067 2014-07-31 00:02:30Z msweet $"
|
||||
* "$Id: ipp.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* IPP routines for the CUPS scheduler.
|
||||
*
|
||||
@@ -2715,7 +2715,6 @@ add_printer(cupsd_client_t *con, /* I - Client connection */
|
||||
|
||||
cupsdLogMessage(CUPSD_LOG_DEBUG,
|
||||
"Copied PPD file successfully");
|
||||
chmod(dstfile, 0644);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4623,7 +4622,7 @@ copy_model(cupsd_client_t *con, /* I - Client connection */
|
||||
* Open the destination file for a copy...
|
||||
*/
|
||||
|
||||
if ((dst = cupsFileOpen(to, "wb")) == NULL)
|
||||
if ((dst = cupsdCreateConfFile(to, ConfigFilePerm)) == NULL)
|
||||
{
|
||||
cupsFreeOptions(num_defaults, defaults);
|
||||
cupsFileClose(src);
|
||||
@@ -4678,7 +4677,7 @@ copy_model(cupsd_client_t *con, /* I - Client connection */
|
||||
|
||||
unlink(tempfile);
|
||||
|
||||
return (cupsFileClose(dst));
|
||||
return (cupsdCloseCreatedConfFile(dst, to));
|
||||
}
|
||||
|
||||
|
||||
@@ -10824,8 +10823,10 @@ validate_job(cupsd_client_t *con, /* I - Client connection */
|
||||
ipp_attribute_t *uri) /* I - Printer URI */
|
||||
{
|
||||
http_status_t status; /* Policy status */
|
||||
ipp_attribute_t *attr, /* Current attribute */
|
||||
*auth_info; /* auth-info attribute */
|
||||
ipp_attribute_t *attr; /* Current attribute */
|
||||
#ifdef HAVE_SSL
|
||||
ipp_attribute_t *auth_info; /* auth-info attribute */
|
||||
#endif /* HAVE_SSL */
|
||||
ipp_attribute_t *format, /* Document-format attribute */
|
||||
*name; /* Job-name attribute */
|
||||
cups_ptype_t dtype; /* Destination type (printer/class) */
|
||||
@@ -10991,7 +10992,9 @@ validate_job(cupsd_client_t *con, /* I - Client connection */
|
||||
* Check policy...
|
||||
*/
|
||||
|
||||
#ifdef HAVE_SSL
|
||||
auth_info = ippFindAttribute(con->request, "auth-info", IPP_TAG_TEXT);
|
||||
#endif /* HAVE_SSL */
|
||||
|
||||
if ((status = cupsdCheckPolicy(printer->op_policy_ptr, con, NULL)) != HTTP_OK)
|
||||
{
|
||||
@@ -11093,5 +11096,5 @@ validate_user(cupsd_job_t *job, /* I - Job */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: ipp.c 12067 2014-07-31 00:02:30Z msweet $".
|
||||
* End of "$Id: ipp.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
+4
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: job.c 12067 2014-07-31 00:02:30Z msweet $"
|
||||
* "$Id: job.c 12140 2014-08-30 01:51:22Z msweet $"
|
||||
*
|
||||
* Job management routines for the CUPS scheduler.
|
||||
*
|
||||
@@ -235,10 +235,7 @@ cupsdCheckJobs(void)
|
||||
|
||||
curtime = time(NULL);
|
||||
|
||||
cupsdLogMessage(CUPSD_LOG_DEBUG2,
|
||||
"cupsdCheckJobs: %d active jobs, sleeping=%d, reload=%d, "
|
||||
"curtime=%ld", cupsArrayCount(ActiveJobs), Sleeping,
|
||||
NeedReload, (long)curtime);
|
||||
cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdCheckJobs: %d active jobs, sleeping=%d, ac-power=%d, reload=%d, curtime=%ld", cupsArrayCount(ActiveJobs), Sleeping, ACPower, NeedReload, (long)curtime);
|
||||
|
||||
for (job = (cupsd_job_t *)cupsArrayFirst(ActiveJobs);
|
||||
job;
|
||||
@@ -332,7 +329,7 @@ cupsdCheckJobs(void)
|
||||
*/
|
||||
|
||||
if (job->state_value == IPP_JOB_PENDING && !NeedReload &&
|
||||
!Sleeping && !DoingShutdown && !job->printer)
|
||||
(!Sleeping || ACPower) && !DoingShutdown && !job->printer)
|
||||
{
|
||||
printer = cupsdFindDest(job->dest);
|
||||
pclass = NULL;
|
||||
@@ -5289,5 +5286,5 @@ update_job_attrs(cupsd_job_t *job, /* I - Job to update */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: job.c 12067 2014-07-31 00:02:30Z msweet $".
|
||||
* End of "$Id: job.c 12140 2014-08-30 01:51:22Z msweet $".
|
||||
*/
|
||||
|
||||
+22
-18
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: listen.c 11717 2014-03-21 16:42:53Z msweet $"
|
||||
* "$Id: listen.c 12178 2014-09-30 18:56:48Z msweet $"
|
||||
*
|
||||
* Server listening routines for the CUPS scheduler.
|
||||
*
|
||||
@@ -43,10 +43,19 @@ cupsdDeleteAllListeners(void)
|
||||
for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
|
||||
lis;
|
||||
lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
|
||||
free(lis);
|
||||
#if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD)
|
||||
if (!lis->on_demand)
|
||||
#endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */
|
||||
{
|
||||
cupsArrayRemove(Listeners, lis);
|
||||
free(lis);
|
||||
}
|
||||
|
||||
cupsArrayDelete(Listeners);
|
||||
Listeners = NULL;
|
||||
if (cupsArrayCount(Listeners) == 0)
|
||||
{
|
||||
cupsArrayDelete(Listeners);
|
||||
Listeners = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -274,29 +283,24 @@ cupsdStopListening(void)
|
||||
lis;
|
||||
lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
|
||||
{
|
||||
#ifdef HAVE_SYSTEMD
|
||||
if (lis->fd != -1 && !lis->on_demand)
|
||||
httpAddrClose(&(lis->address), lis->fd);
|
||||
|
||||
#elif defined(HAVE_LAUNCHD)
|
||||
if (lis->fd != -1)
|
||||
#if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD)
|
||||
if (!lis->on_demand && lis->fd != -1)
|
||||
{
|
||||
if (lis->on_demand)
|
||||
httpAddrClose(NULL, lis->fd);
|
||||
else
|
||||
httpAddrClose(&(lis->address), lis->fd);
|
||||
httpAddrClose(&(lis->address), lis->fd);
|
||||
lis->fd = -1;
|
||||
}
|
||||
|
||||
#else
|
||||
if (lis->fd != -1)
|
||||
{
|
||||
httpAddrClose(&(lis->address), lis->fd);
|
||||
#endif /* HAVE_SYSTEMD */
|
||||
|
||||
lis->fd = -1;
|
||||
lis->fd = -1;
|
||||
}
|
||||
#endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: listen.c 11717 2014-03-21 16:42:53Z msweet $".
|
||||
* End of "$Id: listen.c 12178 2014-09-30 18:56:48Z msweet $".
|
||||
*/
|
||||
|
||||
+6
-18
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: main.c 11722 2014-03-21 18:28:30Z msweet $"
|
||||
* "$Id: main.c 12140 2014-08-30 01:51:22Z msweet $"
|
||||
*
|
||||
* Main loop for the CUPS scheduler.
|
||||
*
|
||||
@@ -119,8 +119,7 @@ main(int argc, /* I - Number of command-line args */
|
||||
int run_as_child = 0;
|
||||
/* Needed for background fork/exec */
|
||||
#ifdef __APPLE__
|
||||
int use_sysman = !getuid();
|
||||
/* Use system management functions? */
|
||||
int use_sysman = 1; /* Use system management functions? */
|
||||
#else
|
||||
time_t netif_time = 0; /* Time since last network update */
|
||||
#endif /* __APPLE__ */
|
||||
@@ -137,7 +136,7 @@ main(int argc, /* I - Number of command-line args */
|
||||
|
||||
if (getuid() != geteuid())
|
||||
{
|
||||
fputs("cupsd: Cannot run as a setuid program\n", stderr);
|
||||
fputs("cupsd: Cannot run as a setuid program.\n", stderr);
|
||||
return (1);
|
||||
}
|
||||
#endif /* HAVE_GETEUID */
|
||||
@@ -726,19 +725,6 @@ main(int argc, /* I - Number of command-line args */
|
||||
break;
|
||||
}
|
||||
|
||||
#if defined(HAVE_LAUNCHD) || defined(HAVE_SYSTEMD)
|
||||
if (OnDemand)
|
||||
{
|
||||
/*
|
||||
* If we were started by launchd or systemd, get the listen socket file
|
||||
* descriptors...
|
||||
*/
|
||||
|
||||
service_checkin();
|
||||
service_checkout();
|
||||
}
|
||||
#endif /* HAVE_LAUNCHD || HAVE_SYSTEMD */
|
||||
|
||||
/*
|
||||
* Startup the server...
|
||||
*/
|
||||
@@ -1885,6 +1871,8 @@ service_checkin(void)
|
||||
# endif /* HAVE_SSL */
|
||||
}
|
||||
|
||||
free(ld_sockets);
|
||||
|
||||
# elif defined(HAVE_LAUNCHD)
|
||||
size_t i, /* Looping var */
|
||||
count; /* Number of listeners */
|
||||
@@ -2170,5 +2158,5 @@ usage(int status) /* O - Exit status */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: main.c 11722 2014-03-21 18:28:30Z msweet $".
|
||||
* End of "$Id: main.c 12140 2014-08-30 01:51:22Z msweet $".
|
||||
*/
|
||||
|
||||
+49
-50
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: printers.c 11798 2014-04-07 15:18:44Z msweet $"
|
||||
* "$Id: printers.c 12170 2014-09-30 16:12:03Z msweet $"
|
||||
*
|
||||
* Printer routines for the CUPS scheduler.
|
||||
*
|
||||
@@ -180,54 +180,53 @@ cupsdCreateCommonData(void)
|
||||
};
|
||||
static const int ops[] = /* operations-supported values */
|
||||
{
|
||||
IPP_PRINT_JOB,
|
||||
IPP_VALIDATE_JOB,
|
||||
IPP_CREATE_JOB,
|
||||
IPP_SEND_DOCUMENT,
|
||||
IPP_CANCEL_JOB,
|
||||
IPP_GET_JOB_ATTRIBUTES,
|
||||
IPP_GET_JOBS,
|
||||
IPP_GET_PRINTER_ATTRIBUTES,
|
||||
IPP_HOLD_JOB,
|
||||
IPP_RELEASE_JOB,
|
||||
IPP_RESTART_JOB,
|
||||
IPP_PAUSE_PRINTER,
|
||||
IPP_RESUME_PRINTER,
|
||||
IPP_PURGE_JOBS,
|
||||
IPP_SET_PRINTER_ATTRIBUTES,
|
||||
IPP_SET_JOB_ATTRIBUTES,
|
||||
IPP_GET_PRINTER_SUPPORTED_VALUES,
|
||||
IPP_CREATE_PRINTER_SUBSCRIPTION,
|
||||
IPP_CREATE_JOB_SUBSCRIPTION,
|
||||
IPP_GET_SUBSCRIPTION_ATTRIBUTES,
|
||||
IPP_GET_SUBSCRIPTIONS,
|
||||
IPP_RENEW_SUBSCRIPTION,
|
||||
IPP_CANCEL_SUBSCRIPTION,
|
||||
IPP_GET_NOTIFICATIONS,
|
||||
IPP_ENABLE_PRINTER,
|
||||
IPP_DISABLE_PRINTER,
|
||||
IPP_HOLD_NEW_JOBS,
|
||||
IPP_RELEASE_HELD_NEW_JOBS,
|
||||
IPP_CANCEL_JOBS,
|
||||
IPP_CANCEL_MY_JOBS,
|
||||
IPP_CLOSE_JOB,
|
||||
CUPS_GET_DEFAULT,
|
||||
CUPS_GET_PRINTERS,
|
||||
CUPS_ADD_PRINTER,
|
||||
CUPS_DELETE_PRINTER,
|
||||
CUPS_GET_CLASSES,
|
||||
CUPS_ADD_CLASS,
|
||||
CUPS_DELETE_CLASS,
|
||||
CUPS_ACCEPT_JOBS,
|
||||
CUPS_REJECT_JOBS,
|
||||
CUPS_SET_DEFAULT,
|
||||
CUPS_GET_DEVICES,
|
||||
CUPS_GET_PPDS,
|
||||
CUPS_MOVE_JOB,
|
||||
CUPS_AUTHENTICATE_JOB,
|
||||
CUPS_GET_PPD,
|
||||
CUPS_GET_DOCUMENT,
|
||||
IPP_RESTART_JOB
|
||||
IPP_OP_PRINT_JOB,
|
||||
IPP_OP_VALIDATE_JOB,
|
||||
IPP_OP_CREATE_JOB,
|
||||
IPP_OP_SEND_DOCUMENT,
|
||||
IPP_OP_CANCEL_JOB,
|
||||
IPP_OP_GET_JOB_ATTRIBUTES,
|
||||
IPP_OP_GET_JOBS,
|
||||
IPP_OP_GET_PRINTER_ATTRIBUTES,
|
||||
IPP_OP_HOLD_JOB,
|
||||
IPP_OP_RELEASE_JOB,
|
||||
IPP_OP_PAUSE_PRINTER,
|
||||
IPP_OP_RESUME_PRINTER,
|
||||
IPP_OP_PURGE_JOBS,
|
||||
IPP_OP_SET_PRINTER_ATTRIBUTES,
|
||||
IPP_OP_SET_JOB_ATTRIBUTES,
|
||||
IPP_OP_GET_PRINTER_SUPPORTED_VALUES,
|
||||
IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS,
|
||||
IPP_OP_CREATE_JOB_SUBSCRIPTIONS,
|
||||
IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES,
|
||||
IPP_OP_GET_SUBSCRIPTIONS,
|
||||
IPP_OP_RENEW_SUBSCRIPTION,
|
||||
IPP_OP_CANCEL_SUBSCRIPTION,
|
||||
IPP_OP_GET_NOTIFICATIONS,
|
||||
IPP_OP_ENABLE_PRINTER,
|
||||
IPP_OP_DISABLE_PRINTER,
|
||||
IPP_OP_HOLD_NEW_JOBS,
|
||||
IPP_OP_RELEASE_HELD_NEW_JOBS,
|
||||
IPP_OP_CANCEL_JOBS,
|
||||
IPP_OP_CANCEL_MY_JOBS,
|
||||
IPP_OP_CLOSE_JOB,
|
||||
IPP_OP_CUPS_GET_DEFAULT,
|
||||
IPP_OP_CUPS_GET_PRINTERS,
|
||||
IPP_OP_CUPS_ADD_MODIFY_PRINTER,
|
||||
IPP_OP_CUPS_DELETE_PRINTER,
|
||||
IPP_OP_CUPS_GET_CLASSES,
|
||||
IPP_OP_CUPS_ADD_MODIFY_CLASS,
|
||||
IPP_OP_CUPS_DELETE_CLASS,
|
||||
IPP_OP_CUPS_ACCEPT_JOBS,
|
||||
IPP_OP_CUPS_REJECT_JOBS,
|
||||
IPP_OP_CUPS_SET_DEFAULT,
|
||||
IPP_OP_CUPS_GET_DEVICES,
|
||||
IPP_OP_CUPS_GET_PPDS,
|
||||
IPP_OP_CUPS_MOVE_JOB,
|
||||
IPP_OP_CUPS_AUTHENTICATE_JOB,
|
||||
IPP_OP_CUPS_GET_PPD,
|
||||
IPP_OP_CUPS_GET_DOCUMENT,
|
||||
IPP_OP_RESTART_JOB
|
||||
};
|
||||
static const char * const charsets[] =/* charset-supported values */
|
||||
{
|
||||
@@ -4937,5 +4936,5 @@ write_xml_string(cups_file_t *fp, /* I - File to write to */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: printers.c 11798 2014-04-07 15:18:44Z msweet $".
|
||||
* End of "$Id: printers.c 12170 2014-09-30 16:12:03Z msweet $".
|
||||
*/
|
||||
|
||||
+10
-24
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: process.c 12034 2014-07-16 19:37:34Z msweet $"
|
||||
* "$Id: process.c 12102 2014-08-20 15:19:09Z msweet $"
|
||||
*
|
||||
* Process management routines for the CUPS scheduler.
|
||||
*
|
||||
@@ -215,6 +215,8 @@ cupsdCreateProfile(int job_id, /* I - Job ID or 0 for none */
|
||||
" #\"^/private/var/mysql$\""
|
||||
" #\"^/private/var/run$\""
|
||||
" #\"^/private/var/spool$\""
|
||||
" #\"^/private/var/tmp$\""
|
||||
" #\"^/private/var/tmp/\""
|
||||
" #\"^/usr/bin$\"" /* /usr/bin */
|
||||
" #\"^/usr/bin/\"" /* /usr/bin/... */
|
||||
" #\"^/usr/libexec/cups$\"" /* /usr/libexec/cups */
|
||||
@@ -223,27 +225,10 @@ cupsdCreateProfile(int job_id, /* I - Job ID or 0 for none */
|
||||
" #\"^/usr/libexec/fax/\"" /* /usr/libexec/fax/... */
|
||||
" #\"^/usr/sbin$\"" /* /usr/sbin */
|
||||
" #\"^/usr/sbin/\"" /* /usr/sbin/... */
|
||||
" #\"^/Library/Application Support$\""
|
||||
" #\"^/Library/Application Support/\""
|
||||
" #\"^/Library/Caches$\""
|
||||
" #\"^/Library/ColorSync$\""
|
||||
" #\"^/Library/ColorSync/Profiles$\""
|
||||
" #\"^/Library/ColorSync/Profiles/\""
|
||||
" #\"^/Library/Fonts$\""
|
||||
" #\"^/Library/Fonts/\""
|
||||
" #\"^/Library/Frameworks$\""
|
||||
" #\"^/Library/Frameworks/\""
|
||||
" #\"^/Library/Keychains$\""
|
||||
" #\"^/Library/Keychains/\""
|
||||
" #\"^/Library/Logs$\""
|
||||
" #\"^/Library/Printers$\""
|
||||
" #\"^/Library/Printers/\""
|
||||
" #\"^/Library/Security$\""
|
||||
" #\"^/Library/Security/\""
|
||||
" #\"^/Library/WebServer$\""
|
||||
" #\"^/System/Library/ColorSync$\""
|
||||
" #\"^/System/Library/ColorSync/Profiles$\""
|
||||
" #\"^/System/Library/ColorSync/Profiles/\""
|
||||
" #\"^/Library$\"" /* /Library */
|
||||
" #\"^/Library/\"" /* /Library/... */
|
||||
" #\"^/System$\"" /* /System */
|
||||
" #\"^/System/\"" /* /System/... */
|
||||
" #\"^%s/Library$\"" /* RequestRoot/Library */
|
||||
" #\"^%s/Library/\"" /* RequestRoot/Library/... */
|
||||
" #\"^%s$\"" /* ServerBin */
|
||||
@@ -292,6 +277,7 @@ cupsdCreateProfile(int job_id, /* I - Job ID or 0 for none */
|
||||
" #\"^%s/\"" /* CUPS_TESTROOT/... */
|
||||
"))\n",
|
||||
testroot);
|
||||
cupsFilePrintf(fp, "(allow sysctl*)\n");
|
||||
}
|
||||
if (job_id)
|
||||
{
|
||||
@@ -314,7 +300,7 @@ cupsdCreateProfile(int job_id, /* I - Job ID or 0 for none */
|
||||
cupsFilePuts(fp, "(allow distributed-notification-post)\n");
|
||||
/* Allow outbound networking to local services */
|
||||
cupsFilePuts(fp, "(allow network-outbound"
|
||||
"\n (regex #\"^/private/var/run/\" #\"^/private/tmp/\")");
|
||||
"\n (regex #\"^/private/var/run/\" #\"^/private/tmp/\" #\"^/private/var/tmp/\")");
|
||||
for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
|
||||
lis;
|
||||
lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
|
||||
@@ -884,5 +870,5 @@ cupsd_requote(char *dst, /* I - Destination buffer */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: process.c 12034 2014-07-16 19:37:34Z msweet $".
|
||||
* End of "$Id: process.c 12102 2014-08-20 15:19:09Z msweet $".
|
||||
*/
|
||||
|
||||
+53
-16
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* "$Id: sysman.c 11406 2013-11-07 12:47:57Z msweet $"
|
||||
* "$Id: sysman.c 12140 2014-08-30 01:51:22Z msweet $"
|
||||
*
|
||||
* System management functions for the CUPS scheduler.
|
||||
*
|
||||
* Copyright 2007-2013 by Apple Inc.
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
@@ -19,31 +19,29 @@
|
||||
*/
|
||||
|
||||
#include "cupsd.h"
|
||||
#ifdef HAVE_VPROC_TRANSACTION_BEGIN
|
||||
# include <vproc.h>
|
||||
#endif /* HAVE_VPROC_TRANSACTION_BEGIN */
|
||||
#ifdef __APPLE__
|
||||
# include <vproc.h>
|
||||
# include <IOKit/pwr_mgt/IOPMLib.h>
|
||||
#endif /* __APPLE__ */
|
||||
|
||||
|
||||
/*
|
||||
* The system management functions cover disk and power management which
|
||||
* are primarily used on portable computers.
|
||||
* are primarily used for portable computers.
|
||||
*
|
||||
* Disk management involves delaying the write of certain configuration
|
||||
* and state files to minimize the number of times the disk has to spin
|
||||
* up.
|
||||
* up or flash to be written to.
|
||||
*
|
||||
* Power management support is currently only implemented on OS X, but
|
||||
* essentially we use four functions to let the OS know when it is OK to
|
||||
* put the system to sleep, typically when we are not in the middle of
|
||||
* printing a job.
|
||||
*
|
||||
* Once put to sleep, we invalidate all remote printers since it is common
|
||||
* to wake up in a new location/on a new wireless network.
|
||||
* printing a job. And on OS X we can also "sleep print" - basically the
|
||||
* system only wakes up long enough to service network requests and process
|
||||
* print jobs.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* 'cupsdCleanDirty()' - Write dirty config and state files.
|
||||
*/
|
||||
@@ -132,9 +130,10 @@ cupsdSetBusyState(void)
|
||||
"Active clients and printing jobs",
|
||||
"Active clients, printing jobs, and dirty files"
|
||||
};
|
||||
#ifdef HAVE_VPROC_TRANSACTION_BEGIN
|
||||
#ifdef __APPLE__
|
||||
static vproc_transaction_t vtran = 0; /* Current busy transaction */
|
||||
#endif /* HAVE_VPROC_TRANSACTION_BEGIN */
|
||||
static IOPMAssertionID keep_awake = 0;/* Keep the system awake while printing */
|
||||
#endif /* __APPLE__ */
|
||||
|
||||
|
||||
/*
|
||||
@@ -174,7 +173,7 @@ cupsdSetBusyState(void)
|
||||
{
|
||||
busy = newbusy;
|
||||
|
||||
#ifdef HAVE_VPROC_TRANSACTION_BEGIN
|
||||
#ifdef __APPLE__
|
||||
if (busy && !vtran)
|
||||
vtran = vproc_transaction_begin(NULL);
|
||||
else if (!busy && vtran)
|
||||
@@ -182,8 +181,25 @@ cupsdSetBusyState(void)
|
||||
vproc_transaction_end(NULL, vtran);
|
||||
vtran = 0;
|
||||
}
|
||||
#endif /* HAVE_VPROC_TRANSACTION_BEGIN */
|
||||
#endif /* __APPLE__ */
|
||||
}
|
||||
|
||||
#ifdef __APPLE__
|
||||
if (cupsArrayCount(PrintingJobs) > 0 && !keep_awake)
|
||||
{
|
||||
cupsdLogMessage(CUPSD_LOG_DEBUG, "Asserting NetworkClientActive.");
|
||||
|
||||
IOPMAssertionCreateWithName(kIOPMAssertNetworkClientActive,
|
||||
kIOPMAssertionLevelOn,
|
||||
CFSTR("org.cups.cupsd"), &keep_awake);
|
||||
}
|
||||
else if (cupsArrayCount(PrintingJobs) == 0 && keep_awake)
|
||||
{
|
||||
cupsdLogMessage(CUPSD_LOG_DEBUG, "Releasing power assertion.");
|
||||
IOPMAssertionRelease(keep_awake);
|
||||
keep_awake = 0;
|
||||
}
|
||||
#endif /* __APPLE__ */
|
||||
}
|
||||
|
||||
|
||||
@@ -198,8 +214,10 @@ cupsdSetBusyState(void)
|
||||
* Include MacOS-specific headers...
|
||||
*/
|
||||
|
||||
# include <notify.h>
|
||||
# include <IOKit/IOKitLib.h>
|
||||
# include <IOKit/IOMessage.h>
|
||||
# include <IOKit/ps/IOPowerSources.h>
|
||||
# include <IOKit/pwr_mgt/IOPMLib.h>
|
||||
# include <SystemConfiguration/SystemConfiguration.h>
|
||||
# include <pthread.h>
|
||||
@@ -265,6 +283,7 @@ static CFStringRef ComputerNameKey = NULL,
|
||||
/* Netowrk interface key */
|
||||
static cupsd_sysevent_t LastSysEvent; /* Last system event (for delayed sleep) */
|
||||
static int NameChanged = 0;/* Did we get a 'name changed' event during sleep? */
|
||||
static int PSToken = 0; /* Power source notifications */
|
||||
|
||||
|
||||
/*
|
||||
@@ -308,6 +327,8 @@ cupsdStartSystemMonitor(void)
|
||||
int flags; /* fcntl flags on pipe */
|
||||
|
||||
|
||||
cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdStartSystemMonitor()");
|
||||
|
||||
if (cupsdOpenPipe(SysEventPipes))
|
||||
{
|
||||
cupsdLogMessage(CUPSD_LOG_ERROR, "System event monitor pipe() failed - %s!",
|
||||
@@ -332,6 +353,14 @@ cupsdStartSystemMonitor(void)
|
||||
pthread_mutex_init(&SysEventThreadMutex, NULL);
|
||||
pthread_cond_init(&SysEventThreadCond, NULL);
|
||||
pthread_create(&SysEventThread, NULL, (void *(*)())sysEventThreadEntry, NULL);
|
||||
|
||||
/*
|
||||
* Monitor for power source changes via dispatch queue...
|
||||
*/
|
||||
|
||||
cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdStartSystemMonitor: IOPSGetTimeRemainingEstimate=%f", IOPSGetTimeRemainingEstimate());
|
||||
ACPower = IOPSGetTimeRemainingEstimate() == kIOPSTimeRemainingUnlimited;
|
||||
notify_register_dispatch(kIOPSNotifyPowerSource, &PSToken, dispatch_get_main_queue(), ^(int t) { ACPower = IOPSGetTimeRemainingEstimate() == kIOPSTimeRemainingUnlimited; });
|
||||
}
|
||||
|
||||
|
||||
@@ -345,6 +374,8 @@ cupsdStopSystemMonitor(void)
|
||||
CFRunLoopRef rl; /* The event handler runloop */
|
||||
|
||||
|
||||
cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdStopSystemMonitor()");
|
||||
|
||||
if (SysEventThread)
|
||||
{
|
||||
/*
|
||||
@@ -375,6 +406,12 @@ cupsdStopSystemMonitor(void)
|
||||
cupsdRemoveSelect(SysEventPipes[0]);
|
||||
cupsdClosePipe(SysEventPipes);
|
||||
}
|
||||
|
||||
if (PSToken != 0)
|
||||
{
|
||||
notify_cancel(PSToken);
|
||||
PSToken = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1034,5 +1071,5 @@ sysUpdateNames(void)
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: sysman.c 11406 2013-11-07 12:47:57Z msweet $".
|
||||
* End of "$Id: sysman.c 12140 2014-08-30 01:51:22Z msweet $".
|
||||
*/
|
||||
|
||||
+13
-11
@@ -1,16 +1,16 @@
|
||||
/*
|
||||
* "$Id: sysman.h 10996 2013-05-29 11:51:34Z msweet $"
|
||||
* "$Id: sysman.h 12140 2014-08-30 01:51:22Z msweet $"
|
||||
*
|
||||
* System management definitions for the CUPS scheduler.
|
||||
* System management definitions for the CUPS scheduler.
|
||||
*
|
||||
* Copyright 2007-2011 by Apple Inc.
|
||||
* Copyright 2006 by Easy Software Products.
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* 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/".
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* 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/".
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -35,7 +35,9 @@ VAR int DirtyFiles VALUE(CUPSD_DIRTY_NONE),
|
||||
/* How often do we write dirty files? */
|
||||
VAR time_t DirtyCleanTime VALUE(0);
|
||||
/* When to clean dirty files next */
|
||||
VAR int Sleeping VALUE(0);
|
||||
VAR int ACPower VALUE(-1),
|
||||
/* Is the system on AC power? */
|
||||
Sleeping VALUE(0);
|
||||
/* Non-zero if machine is entering or *
|
||||
* in a sleep state... */
|
||||
VAR time_t SleepJobs VALUE(0);
|
||||
@@ -60,5 +62,5 @@ extern void cupsdStopSystemMonitor(void);
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: sysman.h 10996 2013-05-29 11:51:34Z msweet $".
|
||||
* End of "$Id: sysman.h 12140 2014-08-30 01:51:22Z msweet $".
|
||||
*/
|
||||
|
||||
+2
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: lpstat.c 12066 2014-07-30 18:30:44Z msweet $"
|
||||
* "$Id: lpstat.c 12124 2014-08-28 15:37:22Z msweet $"
|
||||
*
|
||||
* "lpstat" command for CUPS.
|
||||
*
|
||||
@@ -1270,7 +1270,6 @@ show_jobs(const char *dests, /* I - Destinations */
|
||||
*reasons; /* Job state reasons attribute */
|
||||
const char *dest, /* Pointer into job-printer-uri */
|
||||
*username, /* Pointer to job-originating-user-name */
|
||||
*title, /* Pointer to job-name */
|
||||
*message, /* Pointer to job-printer-state-message */
|
||||
*time_at; /* time-at-xxx attribute name to use */
|
||||
int rank, /* Rank in queue */
|
||||
@@ -1385,7 +1384,6 @@ show_jobs(const char *dests, /* I - Destinations */
|
||||
username = NULL;
|
||||
dest = NULL;
|
||||
jobtime = 0;
|
||||
title = "no title";
|
||||
message = NULL;
|
||||
reasons = NULL;
|
||||
|
||||
@@ -1411,9 +1409,6 @@ show_jobs(const char *dests, /* I - Destinations */
|
||||
else if (!strcmp(attr->name, "job-originating-user-name") &&
|
||||
attr->value_tag == IPP_TAG_NAME)
|
||||
username = attr->values[0].string.text;
|
||||
else if (!strcmp(attr->name, "job-name") &&
|
||||
attr->value_tag == IPP_TAG_NAME)
|
||||
title = attr->values[0].string.text;
|
||||
else if (!strcmp(attr->name, "job-state-reasons") &&
|
||||
attr->value_tag == IPP_TAG_KEYWORD)
|
||||
reasons = attr;
|
||||
@@ -2039,5 +2034,5 @@ show_scheduler(void)
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: lpstat.c 12066 2014-07-30 18:30:44Z msweet $".
|
||||
* End of "$Id: lpstat.c 12124 2014-08-28 15:37:22Z msweet $".
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
<H2 CLASS="title">Añadir clase</H2>
|
||||
|
||||
<FORM METHOD="POST" ACTION="/admin">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
|
||||
|
||||
<TABLE>
|
||||
<TR>
|
||||
<TH CLASS="label">Nombre:</TH>
|
||||
<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
|
||||
<SMALL>(Puede contener cualquier carácter imprimible excepto "/", "#", y espacio)</SMALL></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Descripción:</TH>
|
||||
<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
|
||||
<SMALL>(Descripción fácilmente leíble tal como "HP LaserJet de doble cara")</SMALL></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Ubicación:</TH>
|
||||
<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
|
||||
<SMALL>(Ubicación fácilmente leíble tal como "Lab 1")</SMALL></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Miembros:</TH>
|
||||
<TD>
|
||||
<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
|
||||
{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
|
||||
</SELECT>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD><INPUT TYPE="SUBMIT" VALUE="Añadir clase"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
</FORM>
|
||||
@@ -0,0 +1,44 @@
|
||||
<H2 CLASS="title">Añadir impresora</H2>
|
||||
|
||||
<FORM METHOD="POST" ACTION="/admin">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
|
||||
<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
|
||||
<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
|
||||
<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
|
||||
<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
|
||||
{?current_make!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE" VALUE="{current_make}">:}
|
||||
{?current_make_and_model!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{current_make_and_model}">:}
|
||||
|
||||
<TABLE>
|
||||
<TR>
|
||||
<TH CLASS="label">Nombre:</TH>
|
||||
<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
|
||||
<SMALL>(Puede contener cualquier carácter imprimible excepto "/", "#", y espacio)</SMALL></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Descripción:</TH>
|
||||
<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
|
||||
<SMALL>(Descripción fácilmente leíble tal como "HP LaserJet de doble cara")</SMALL></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Ubicación:</TH>
|
||||
<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
|
||||
<SMALL>(Ubicación fácilmente leíble tal como "Lab 1")</SMALL></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Conexión:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Compartición:</TH>
|
||||
<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
|
||||
Compartir esta impresora</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
</FORM>
|
||||
@@ -0,0 +1,44 @@
|
||||
<FORM METHOD="POST" ACTION="/admin">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
|
||||
|
||||
<H2 CLASS="title">Añadir subscripción RSS</H2>
|
||||
|
||||
<TABLE SUMMARY="Add RSS Subscription form">
|
||||
<TR>
|
||||
<TH CLASS="label">Nombre:</TH>
|
||||
<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
|
||||
<SMALL>(Puede contener cualquier carácter imprimible excepto espacio, "/", "?", y "#"))</SMALL></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Cola:</TH>
|
||||
<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Todas las colas</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
|
||||
</TR>
|
||||
<TR VALIGN="TOP">
|
||||
<TH CLASS="label">Eventos:</TH>
|
||||
<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Trabajo creado<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Trabajo completado<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Trabajo parado<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Opciones de trabajo cambiadas</TD>
|
||||
<TD> </TD>
|
||||
<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Cola parada<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Cola añadida<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Cola modificada<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Cola borrada</TD>
|
||||
<TD> </TD>
|
||||
<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Servidor iniciado<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Servidor parado<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Servidor reiniciado<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Auditoría de seguridad del servidor</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Número máximo de eventos del canal:</TH>
|
||||
<TD COLSPAN="5"><INPUT TYPE="NUMBER" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="Añadir subscripción RSS"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
</FORM>
|
||||
@@ -0,0 +1,97 @@
|
||||
<div class="row">
|
||||
<div class="halves">
|
||||
<H2 CLASS="title">Impresoras</H2>
|
||||
|
||||
<P>
|
||||
<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Añadir impresora"></FORM>
|
||||
<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Encontrar nuevas impresoras"></FORM>
|
||||
<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Administrar impresoras"></FORM>
|
||||
{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Exportar impresoras a Samba"></FORM>:}
|
||||
</P>
|
||||
|
||||
<H2 CLASS="title">Clases</H2>
|
||||
|
||||
<P>
|
||||
<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Añadir clase"></FORM>
|
||||
<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Administrar clases"></FORM>
|
||||
</P>
|
||||
|
||||
<H2 CLASS="title">Trabajos</H2>
|
||||
|
||||
<P>
|
||||
<FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Administrar trabajos"></FORM>
|
||||
</P>
|
||||
</div>
|
||||
<div class="halves">
|
||||
<H2 CLASS="title">Servidor</H2>
|
||||
|
||||
<P>
|
||||
<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Editar archivo configuración"></FORM>
|
||||
<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ver archivo de registro de accesos"></FORM>
|
||||
<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ver archivo de registro de errores"></FORM>
|
||||
<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ver archivo de registro de páginas"></FORM>
|
||||
</P>
|
||||
|
||||
{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
|
||||
<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
|
||||
|
||||
<FORM METHOD="POST" ACTION="/admin">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
|
||||
{ADVANCEDSETTINGS?<P><B>Configuración del servidor\:</B></P>
|
||||
|
||||
<P><A HREF="/admin/">Avanzada <SMALL>▼</SMALL></A><BR>
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
|
||||
<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
|
||||
<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Compartir impresoras conectadas a este sistema<BR>
|
||||
Número máximo de clientes\:
|
||||
<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permitir la impresión desde Internet<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Anunciar la interfaz web<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permitir administración remota<BR>
|
||||
{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Usar autentificación Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
|
||||
<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Permitir a los usuarios cancelar cualquier trabajo (no sólo los suyos propios)<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Preservar el historial de trabajos<BR>
|
||||
Número máximo de trabajos (0 sin límite)\:
|
||||
<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
|
||||
Retener metadatos\:
|
||||
<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
|
||||
Retener documentos\:
|
||||
<INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Guardar información de depuración para búsqueda de problemas<BR>
|
||||
Tamaño máximo del archivo de registro\:
|
||||
<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
|
||||
|
||||
:<P><B>Configuración del servidor:</B></P>
|
||||
|
||||
<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Avanzada <SMALL>▶</SMALL></A><BR>
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
|
||||
<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Compartir impresoras conectadas a este sistema<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permitir la impresión desde Internet<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permitir administración remota<BR>
|
||||
{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Usar autentificación Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
|
||||
<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Permitir a los usuarios cancelar cualquier trabajo (no sólo los suyos propios)<BR>
|
||||
<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Guardar información de depuración para búsqueda de problemas</P>
|
||||
|
||||
}
|
||||
<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Cambiar configuración"></P>
|
||||
|
||||
</FORM>}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<H2 CLASS="title">Subscripciones RSS</H2>
|
||||
|
||||
<P>
|
||||
<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Añadir subscripción RSS"></FORM>
|
||||
</P>
|
||||
|
||||
{notify_subscription_id?<TABLE CLASS="list" SUMMARY="Subscripciones RSS">
|
||||
<THEAD><TR><TH>Nombre</TH><TH>Eventos</TH><TH>Nombre de la cola</TH></TR></THEAD>
|
||||
<TBODY>{[notify_subscription_id]
|
||||
<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
|
||||
<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Cancelar subscripción RSS"></FORM> </TD><TD>{notify_events}</TD><TD NOWRAP> {notify_printer_name?{notify_printer_name}:Todas las colas}</TD></TR>}
|
||||
</TBODY>
|
||||
</TABLE>:}
|
||||
</div>
|
||||
@@ -0,0 +1,52 @@
|
||||
<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Añadir impresora}</H2>
|
||||
|
||||
{CUPS_GET_DEVICES_DONE?:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
|
||||
ALT="Busy Indicator"> Buscando impresoras...</P>}
|
||||
|
||||
<FORM METHOD="POST" ACTION="/admin">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
|
||||
{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
|
||||
|
||||
<TABLE>
|
||||
{op=add-printer?:<TR>
|
||||
<TH CLASS="label">Conexión actual:</TH>
|
||||
<TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
|
||||
{current_device_uri}</TD>
|
||||
</TR>}
|
||||
<TR>
|
||||
<TH CLASS="label">Impresoras locales:</TH>
|
||||
<TD>
|
||||
{[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
|
||||
VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
|
||||
{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
|
||||
:}}
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Impresoras en red descubiertas:</TH>
|
||||
<TD>
|
||||
{[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
|
||||
VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
|
||||
{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
|
||||
:}:}}
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Otras impresoras en red:</TH>
|
||||
<TD>
|
||||
{[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
|
||||
VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
|
||||
{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
|
||||
}:}}
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
</FORM>:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
|
||||
ALT="Indicador de ocupado"> Buscando impresoras...</P>}
|
||||
@@ -0,0 +1,61 @@
|
||||
<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Añadir impresora}</H2>
|
||||
|
||||
<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
|
||||
{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
|
||||
<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
|
||||
<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
|
||||
<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
|
||||
<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
|
||||
|
||||
<TABLE>
|
||||
{op=modify-printer?:<TR>
|
||||
<TH CLASS="label">Nombre:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
|
||||
</TR>}
|
||||
<TR>
|
||||
<TH CLASS="label">Descripción:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Ubicación:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Conexión:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Compartición:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
|
||||
{?printer_is_shared=?No:{?printer_is_shared=0?No:}} compartir esta impresora</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Marca:</TH>
|
||||
<TD>
|
||||
<SELECT NAME="PPD_MAKE" SIZE="10">
|
||||
{[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
|
||||
</SELECT>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">O proporcione un archivo PPD:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
|
||||
TYPE="FILE" NAME="PPD_FILE"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Añadir impresora:Modificar impresora}"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
</FORM>
|
||||
@@ -0,0 +1,57 @@
|
||||
<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Añadir impresora}</H2>
|
||||
|
||||
<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
|
||||
{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
|
||||
<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
|
||||
<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
|
||||
<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
|
||||
<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
|
||||
<TABLE>
|
||||
{op=modify-printer?:<TR>
|
||||
<TH CLASS="label">Nombre:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
|
||||
</TR>}
|
||||
<TR>
|
||||
<TH CLASS="label">Descripción:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Ubicación:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Conexión:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Compartición:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
|
||||
{?printer_is_shared=?No:{?printer_is_shared=0?No:}} compartir esta impresora</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Marca:</TH>
|
||||
<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Seleccione otra marca/fabricante"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Modelo:</TH>
|
||||
<TD>
|
||||
<SELECT NAME="PPD_NAME" SIZE="10">
|
||||
{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Controlador actual - {current_make_and_model}</OPTION>:}
|
||||
{[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
|
||||
}</SELECT>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">O proporcione un archivo PPD:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
|
||||
TYPE="FILE" NAME="PPD_FILE"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?Añadir impresora:Modificar impresora}"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
</FORM>
|
||||
@@ -0,0 +1,49 @@
|
||||
<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Añadir impresora}</H2>
|
||||
|
||||
<FORM METHOD="POST" ACTION="/admin">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
|
||||
{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
|
||||
|
||||
<TABLE>
|
||||
<TR>
|
||||
<TH CLASS="label">Conexión:</TH>
|
||||
<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Baudios:</TH>
|
||||
<TD><SELECT NAME="BAUDRATE">
|
||||
{[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
|
||||
</SELECT></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Paridad:</TH>
|
||||
<TD><SELECT NAME="PARITY">
|
||||
<OPTION VALUE="none" {?parity=none?SELECTED:}>Sin paridad
|
||||
<OPTION VALUE="even" {?parity=even?SELECTED:}>Par
|
||||
<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Impar
|
||||
</SELECT></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Bits de datos:</TH>
|
||||
<TD><SELECT NAME="BITS">
|
||||
<OPTION {?bits=8?SELECTED:}>8
|
||||
<OPTION {?bits=7?SELECTED:}>7
|
||||
</SELECT></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TH CLASS="label">Control de flujo:</TH>
|
||||
<TD><SELECT NAME="FLOW">
|
||||
<OPTION VALUE="none" {?flow=none?SELECTED:}>Ninguno
|
||||
<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Software)
|
||||
<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (Hardware)
|
||||
<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (Hardware)
|
||||
</SELECT></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
</FORM>
|
||||
@@ -0,0 +1,41 @@
|
||||
<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Añadir impresora}</H2>
|
||||
|
||||
<FORM METHOD="POST" ACTION="/admin">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
|
||||
{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
|
||||
<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{?current_make_and_model}">
|
||||
|
||||
<TABLE>
|
||||
<TR>
|
||||
<TH CLASS="label">Conexión:</TH>
|
||||
<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD>Ejemplos:
|
||||
<PRE>
|
||||
http://nombre_ordenador:631/ipp/
|
||||
http://nombre_ordenador:631/ipp/puerto1
|
||||
|
||||
ipp://nombre_ordenador/ipp/
|
||||
ipp://nombre_ordenador/ipp/puerto1
|
||||
|
||||
lpd://nombre_ordenador/cola
|
||||
|
||||
socket://nombre_ordenador
|
||||
socket://nombre_ordenador:9100
|
||||
</PRE>
|
||||
|
||||
<P>Vea <A HREF="/help/network.html" TARGET="_blank">"Impresoras
|
||||
en red"</A> para escoger el URI adecuado a usar con su impresora.</P>
|
||||
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD></TD>
|
||||
<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
</FORM>
|
||||
@@ -0,0 +1,4 @@
|
||||
<H2 CLASS="title">Añadir clase</H2>
|
||||
|
||||
<P>Se ha añadido con éxito la clase <A HREF="/classes/{printer_name}">{printer_name}</A>.
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<H2 CLASS="title">Borrar clase {printer_name}</H2>
|
||||
|
||||
<P><B>Advertencia:</B> ¿Está seguro de querer borrar la clase
|
||||
{printer_name}?</P>
|
||||
|
||||
<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Borrar clase"></FORM></P>
|
||||
@@ -0,0 +1,3 @@
|
||||
<H2 CLASS="title">Borrar clase {printer_name}</H2>
|
||||
|
||||
<P>Se ha borrado con éxito la clase {printer_name}.
|
||||
@@ -0,0 +1 @@
|
||||
<H3 CLASS="title">Trabajos</H3>
|
||||
@@ -0,0 +1,3 @@
|
||||
<H2 CLASS="title">Modificar clase {printer_name}</H2>
|
||||
|
||||
<P>Se ha modificado con éxito la clase <A HREF="/classes/{printer_name}">{printer_name}</A>.
|
||||
@@ -0,0 +1,41 @@
|
||||
<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
|
||||
({printer_state=3?inactiva:{printer_state=4?procesando:en pausa}},
|
||||
{printer_is_accepting_jobs=0?rechazando trabajos:aceptando trabajos},
|
||||
{server_is_sharing_printers=0?no:{printer_is_shared=0?no:}} compartida{default_name={printer_name}?, predeterminada del servidor:})</H2>
|
||||
|
||||
<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
|
||||
<OPTION VALUE="">Mantenimiento</OPTION>
|
||||
<OPTION VALUE="print-test-page">Imprimir página de prueba</OPTION>
|
||||
{printer_state=5?<OPTION VALUE="start-class">Reanudar impresora</OPTION>:<OPTION VALUE="stop-class">Pausar impresora</OPTION>}
|
||||
{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Aceptar trabajos</OPTION>:<OPTION VALUE="reject-jobs">Rechazar trabajos</OPTION>}
|
||||
<OPTION VALUE="move-jobs">Mover todos los trabajos</OPTION>
|
||||
<OPTION VALUE="purge-jobs">Cancelar todos los trabajos</OPTION>
|
||||
</SELECT>
|
||||
<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
|
||||
</FORM>
|
||||
|
||||
<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
|
||||
<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
|
||||
<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
|
||||
<OPTION VALUE="">Administración</OPTION>
|
||||
<OPTION VALUE="modify-class">Modificar clase</OPTION>
|
||||
<OPTION VALUE="delete-class">Borrar clase</OPTION>
|
||||
<OPTION VALUE="set-class-options">Establecer opciones predeterminadas</OPTION>
|
||||
<OPTION VALUE="set-as-default">Poner como predeterminada del servidor</OPTION>
|
||||
<OPTION VALUE="set-allowed-users">Establecer usuarios permitidos</OPTION>
|
||||
</SELECT>
|
||||
<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
|
||||
</FORM>
|
||||
|
||||
<TABLE SUMMARY="{printer_name}">
|
||||
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Descripción:</TH><TD>{printer_info}</TD></TR>
|
||||
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ubicación:</TH><TD>{printer_location}</TD></TR>
|
||||
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Miembros:</TH><TD>{?member_uris=?Ninguno:{member_uris}}</TD></TR>
|
||||
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Opciones predeterminadas:</TH><TD>job-sheets={job_sheets_default}
|
||||
media={media_default?{media_default}:desconocido}
|
||||
{sides_default?sides={sides_default}:}</TD></TR>
|
||||
</TABLE>
|
||||
@@ -0,0 +1 @@
|
||||
<P ALIGN="CENTER">{total=0?No hay clases:Mostrando {#printer_name} de {total} clase{total=1?:s}}.</P>
|
||||
@@ -0,0 +1,11 @@
|
||||
{#printer_name=0?:
|
||||
<TABLE CLASS="list" SUMMARY="Lista de clases">
|
||||
<THEAD>
|
||||
<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Nombre de la cola <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Nombre de la cola <SMALL>▼</SMALL>}</A></TH><TH>Descripción</TH><TH>Ubicación</TH><TH>Miembros</TH><TH>Estado</TH></TR>
|
||||
</THEAD>
|
||||
<TBODY>
|
||||
{[printer_name]
|
||||
<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Ninguna:{member_uris}}</TD><TD>{printer_state=3?Inactiva:{printer_state=4?Procesando:En pausa}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
|
||||
}
|
||||
</TBODY>
|
||||
</TABLE></DIV>}
|
||||
@@ -0,0 +1,8 @@
|
||||
<H2 CLASS="title">{title} en {printer_name}</H2>
|
||||
|
||||
<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
|
||||
ALIGN="ABSMIDDLE" ALT="Indicador de ocupado"> }Trabajo de comando de impresora
|
||||
{job_state=3?pendiente:{job_state=4?retenido:
|
||||
{job_state=5?procesando:{job_state=6?parado:
|
||||
{job_state=7?cancelado:{job_state=8?interrumpido:completado}}}}}}{job_state=9?:{job_printer_state_message?,
|
||||
<EM>"{job_printer_state_message}"</EM>:}}</P>
|
||||
@@ -0,0 +1,20 @@
|
||||
<SCRIPT TYPE="text/javascript">
|
||||
function reset_config()
|
||||
{
|
||||
document.cups.CUPSDCONF.value = "{?cupsdconf_default}";
|
||||
}
|
||||
</SCRIPT>
|
||||
|
||||
<H2 CLASS="title">Editar archivo de configuración</H2>
|
||||
|
||||
<FORM NAME="cups" METHOD="POST" ACTION="/admin/">
|
||||
<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
|
||||
<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
|
||||
|
||||
<TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
|
||||
|
||||
<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Guardar cambios">
|
||||
<INPUT TYPE="BUTTON" VALUE="Usar archivo de configuración predeterminado"
|
||||
onClick="reset_config();"></P>
|
||||
|
||||
</FORM>
|
||||
@@ -0,0 +1,5 @@
|
||||
<H2 CLASS="title">Error en {?printer_name}: {?title}</H2>
|
||||
|
||||
<P>Error:</P>
|
||||
|
||||
<BLOCKQUOTE>Operación desconocida "{op}".</BLOCKQUOTE>
|
||||
@@ -0,0 +1,5 @@
|
||||
<H2 CLASS="title">Error en {?printer_name}: {?title}</H2>
|
||||
|
||||
<P>{?message?{message}:Error}:</P>
|
||||
|
||||
<BLOCKQUOTE>{error}</BLOCKQUOTE>
|
||||
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="/cups.css" type="text/css">
|
||||
<link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
{refresh_page?<meta http-equiv="refresh" content="{refresh_page}">:}
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<script type="text/javascript"><!--
|
||||
/* Show an error if cookies are disabled */
|
||||
function check_cookies() {
|
||||
if (!navigator.cookieEnabled) {
|
||||
document.getElementById('body').innerHTML = 'Esta página usa cookies para prevenir ataques comunes de sitios. Por favor, active las cookies en su navegador.';
|
||||
}
|
||||
}
|
||||
--></SCRIPT>
|
||||
<title>{title} - CUPS @CUPS_VERSION@@CUPS_REVISION@</title>
|
||||
</head>
|
||||
<body onload="check_cookies();">
|
||||
<div class="header">
|
||||
<ul>
|
||||
<li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
|
||||
<li><a href="/">Inicio</a></li>
|
||||
<li><a {SECTION=admin?class="active" :}href="/admin">Administración</a></li>
|
||||
<li><a {SECTION=classes?class="active" :}href="/classes/">Clases</a></li>
|
||||
<li><a {SECTION=help?class="active" :}href="/help/">Ayuda</a></li>
|
||||
<li><a {SECTION=jobs?class="active" :}href="/jobs/">Trabajos</a></li>
|
||||
<li><a {SECTION=printers?class="active" :}href="/printers/">Impresoras</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="row">
|
||||
<h1>{title}</h1>
|
||||
@@ -0,0 +1,41 @@
|
||||
<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
|
||||
{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
|
||||
|
||||
<P ALIGN="CENTER"><B>Buscar en
|
||||
{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:todos los documentos}}:</B> <INPUT
|
||||
TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
|
||||
AUTOSAVE="org.cups.help" RESULTS="20">
|
||||
<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Buscar">
|
||||
<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Borrar"></P>
|
||||
|
||||
</FORM>
|
||||
|
||||
<!-- Bookmarks -->
|
||||
<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Contenidos">
|
||||
<TR><TD>
|
||||
|
||||
<H3 CLASS="title">Documentos de ayuda en línea</H3>
|
||||
|
||||
<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Todos los documentos</A></P>
|
||||
<HR>
|
||||
|
||||
{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
|
||||
}
|
||||
</TD></TR>
|
||||
</TABLE></DIV>
|
||||
|
||||
{QUERY?<P>Buscar resultados en {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:todos los documentos}}\:</P>
|
||||
{QTEXT?<UL>
|
||||
{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
|
||||
{QTEXT?</UL>:}
|
||||
:<P>No hay coincidencias.</P>}
|
||||
<HR NOSHADE>:}
|
||||
{HELPTITLE?<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Ver versión imprimible"></FORM>:
|
||||
|
||||
<H1>Ayuda en línea</H1>
|
||||
|
||||
<P>Esta es la interfaz de ayuda en línea de CUPS. Introduzca las palabras a buscar aquí encima o haga clic en cualquiera de los enlaces de la documentación para visualizar la información de ayuda en línea.</P>
|
||||
|
||||
<P>Si es nuevo en CUPS, lea la página "<a href="/help/overview.html">Información general de CUPS</a>".</P>
|
||||
|
||||
<P>La <A HREF="http://www.cups.org/">página de inicio de CUPS</A> también proporciona muchos recursos, incluyendo foros de discusión de usuarios, respuestas a preguntas frecuentes, y un formulario para el envío de informes de errores y peticiones de mejoras.</P>}
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
|
||||
<TITLE>{HELPTITLE}</TITLE>
|
||||
<LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups-printable.css">
|
||||
<LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais
Referência em uma Nova Issue
Bloquear um usuário