From 49d8745278805ede5c41bae3c299e14ba40457bf Mon Sep 17 00:00:00 2001
From: msweet
Date: Wed, 10 Sep 2008 22:30:50 +0000
Subject: [PATCH] Merge changes from CUPS 1.4svn-r7932.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@957 a1ca3aef-8c08-0410-bb20-df032aa958be
---
CHANGES-1.3.txt | 7 +
CHANGES.txt | 12 +-
Makefile | 8 +
backend/Dependencies | 22 +--
backend/Makefile | 4 +
config-scripts/cups-defaults.m4 | 8 +
config-scripts/cups-network.m4 | 6 +-
config-scripts/cups-scripting.m4 | 11 +-
config.h.in | 21 +++
cups/Dependencies | 18 ++-
cups/globals.h | 1 +
cups/http-addr.c | 51 ++++++-
cups/http-addrlist.c | 36 ++++-
desktop/cups.desktop.in | 58 +++----
doc/Makefile | 2 +-
doc/help/ref-cupsd-conf.html.in | 81 +++++++++-
locale/translate.c | 12 +-
man/Makefile | 8 +-
man/{accept.man => cupsaccept.man} | 4 +-
man/cupsd.conf.man.in | 20 ++-
man/lpstat.man | 12 +-
notifier/Dependencies | 3 +
notifier/Makefile | 12 +-
notifier/dbus.c | 6 +-
packaging/cups.list.in | 12 +-
scheduler/client.c | 10 +-
scheduler/conf.c | 238 ++++++++++++++++++++++-------
scheduler/conf.h | 19 ++-
scheduler/cupsd.h | 2 +-
scheduler/dirsvc.c | 100 +++++++-----
scheduler/ipp.c | 9 +-
scheduler/listen.c | 41 ++++-
scheduler/log.c | 22 ++-
scheduler/main.c | 35 ++++-
scheduler/server.c | 7 +-
scheduler/sysman.c | 33 ++--
scheduler/sysman.h | 2 +-
systemv/Makefile | 13 +-
systemv/accept.c | 4 +-
systemv/lpstat.c | 9 +-
40 files changed, 752 insertions(+), 227 deletions(-)
rename man/{accept.man => cupsaccept.man} (94%)
diff --git a/CHANGES-1.3.txt b/CHANGES-1.3.txt
index c03e5fba2..cb1f5832b 100644
--- a/CHANGES-1.3.txt
+++ b/CHANGES-1.3.txt
@@ -4,6 +4,13 @@ CHANGES-1.3.txt
CHANGES IN CUPS V1.3.9
- Documentation updates (STR #2904)
+ - The scheduler did not send the server-started,
+ server-restarted, or server-stopped events (STR #2927)
+ - The scheduler no longer enforces configuration file
+ permissions on symlinked files (STR #2937)
+ - CUPS now reinitializes the DNS resolver on failures
+ (STR #2920)
+ - The CUPS desktop menu item was broken (STR #2924)
- The PPD parser was too strict about missing keyword
values in "relaxed" mode.
- The PostScript filter incorrectly mirrored landscape
diff --git a/CHANGES.txt b/CHANGES.txt
index 789220f8f..5a8431195 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,8 +1,18 @@
-CHANGES.txt - 2008-09-03
+CHANGES.txt - 2008-09-10
------------------------
CHANGES IN CUPS V1.4b1
+ - Renamed the accept and reject commands to cupsaccept and
+ cupsreject; the old names are still available (STR #2936)
+ - The locale/translate utility needed an update to work with
+ Google (STR #2882)
+ - The lpstat command now supports a -H option to display the
+ default server (STR #2833)
+ - The scheduler now supports a FatalErrors directive to control
+ which errors should cause the scheduler to exit (STR #2536)
+ - The scheduler now uses the php-cgi program if it is available
+ (STR #2923)
- The scheduler now supports a DefaultPaperSize directive
(STR #2848)
- The scheduler now passes the job-originating-host-name
diff --git a/Makefile b/Makefile
index 8cdcb4d28..8fe7685b9 100644
--- a/Makefile
+++ b/Makefile
@@ -15,6 +15,14 @@
include Makedefs
+
+#
+# Don't run top-level build targets in parallel...
+#
+
+.NOTPARALLEL:
+
+
#
# Directories to make...
#
diff --git a/backend/Dependencies b/backend/Dependencies
index ecd5b130f..9051be05c 100644
--- a/backend/Dependencies
+++ b/backend/Dependencies
@@ -12,12 +12,12 @@ lpd.o: ../cups/backend.h ../cups/sidechannel.h ../cups/ppd-private.h
lpd.o: ../cups/cups.h ../cups/ppd.h ../cups/array.h ../cups/file.h
lpd.o: ../cups/language.h ../cups/debug.h ../cups/i18n.h ../cups/transcode.h
lpd.o: ../cups/snmp-private.h ../cups/string.h
-mdns.o: backend-private.h ../cups/backend.h ../cups/versioning.h
-mdns.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-mdns.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
-mdns.o: ../cups/file.h ../cups/language.h ../cups/debug.h ../cups/i18n.h
-mdns.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string.h
-mdns.o: ../config.h ../cups/array.h
+dnssd.o: backend-private.h ../cups/backend.h ../cups/versioning.h
+dnssd.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
+dnssd.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
+dnssd.o: ../cups/file.h ../cups/language.h ../cups/debug.h ../cups/i18n.h
+dnssd.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string.h
+dnssd.o: ../config.h ../cups/array.h
pap.o: ../config.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
pap.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
pap.o: ../cups/language.h ../cups/backend.h ../cups/sidechannel.h
@@ -68,7 +68,9 @@ testsupplies.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
testsupplies.o: ../cups/file.h ../cups/language.h ../cups/debug.h
testsupplies.o: ../cups/i18n.h ../cups/transcode.h ../cups/snmp-private.h
testsupplies.o: ../cups/string.h ../config.h
-usb.o: ../cups/backend.h ../cups/versioning.h ../cups/cups.h ../cups/ipp.h
-usb.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-usb.o: ../cups/language.h ../cups/string.h ../config.h ../cups/i18n.h
-usb.o: ../cups/transcode.h
+usb.o: backend-private.h ../cups/backend.h ../cups/versioning.h
+usb.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
+usb.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
+usb.o: ../cups/file.h ../cups/language.h ../cups/debug.h ../cups/i18n.h
+usb.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string.h
+usb.o: ../config.h
diff --git a/backend/Makefile b/backend/Makefile
index 79868f83b..11ebdbd48 100644
--- a/backend/Makefile
+++ b/backend/Makefile
@@ -91,6 +91,10 @@ install-exec:
done
$(RM) $(SERVERBIN)/backend/http
$(LN) ipp $(SERVERBIN)/backend/http
+ if test "x$(DNSSD_BACKEND)" != x; then \
+ $(RM) $(SERVERBIN)/backend/mdns; \
+ $(LN) $(DNSSD_BACKEND) $(SERVERBIN)/backend/mdns; \
+ fi
if test "x$(SYMROOT)" != "x"; then \
$(INSTALL_DIR) $(SYMROOT); \
for file in $(TARGETS); do \
diff --git a/config-scripts/cups-defaults.m4 b/config-scripts/cups-defaults.m4
index bdc22ebb0..b3ce77047 100644
--- a/config-scripts/cups-defaults.m4
+++ b/config-scripts/cups-defaults.m4
@@ -39,6 +39,14 @@ AC_ARG_WITH(log_file_perm, [ --with-log-file-perm set default LogFilePerm va
AC_SUBST(CUPS_LOG_FILE_PERM)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_FILE_PERM, 0$CUPS_LOG_FILE_PERM)
+dnl Default FatalErrors
+AC_ARG_WITH(fatal_errors, [ --with-fatal-errors set default FatalErrors value, default=config],
+ CUPS_FATAL_ERRORS="$withval",
+ CUPS_FATAL_ERRORS="config")
+AC_SUBST(CUPS_FATAL_ERRORS)
+AC_DEFINE_UNQUOTED(CUPS_DEFAULT_FATAL_ERRORS, "$CUPS_FATAL_ERRORS")
+
+
dnl Default LogLevel
AC_ARG_WITH(log_level, [ --with-log-level set default LogLevel value, default=warn],
CUPS_LOG_LEVEL="$withval",
diff --git a/config-scripts/cups-network.m4 b/config-scripts/cups-network.m4
index f36318575..9a88aa8f0 100644
--- a/config-scripts/cups-network.m4
+++ b/config-scripts/cups-network.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-network.m4 7127 2007-12-17 18:05:32Z mike $"
dnl
dnl Networking stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007 by Apple Inc.
+dnl Copyright 2007-2008 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -13,11 +13,15 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
+AC_CHECK_HEADER(resolv.h,AC_DEFINE(HAVE_RESOLV_H))
AC_SEARCH_LIBS(socket, socket)
AC_SEARCH_LIBS(gethostbyaddr, nsl)
AC_SEARCH_LIBS(getifaddrs, nsl, AC_DEFINE(HAVE_GETIFADDRS))
AC_SEARCH_LIBS(hstrerror, nsl socket resolv, AC_DEFINE(HAVE_HSTRERROR))
AC_SEARCH_LIBS(rresvport_af, nsl, AC_DEFINE(HAVE_RRESVPORT_AF))
+AC_SEARCH_LIBS(__res_init, resolv bind, AC_DEFINE(HAVE_RES_INIT),
+ AC_SEARCH_LIBS(res_9_init, resolv bind, AC_DEFINE(HAVE_RES_INIT),
+ AC_SEARCH_LIBS(res_init, resolv bind, AC_DEFINE(HAVE_RES_INIT))))
# Tru64 5.1b leaks file descriptors with these functions; disable until
# we can come up with a test for this...
diff --git a/config-scripts/cups-scripting.m4 b/config-scripts/cups-scripting.m4
index 71a6707e9..f514221e2 100644
--- a/config-scripts/cups-scripting.m4
+++ b/config-scripts/cups-scripting.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-scripting.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl Scripting configuration stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007 by Apple Inc.
+dnl Copyright 2007-2008 by Apple Inc.
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -51,8 +51,13 @@ AC_ARG_WITH(php, [ --with-php set PHP interpreter for web interfac
CUPS_PHP="")
if test "x$CUPS_PHP" = x; then
- AC_PATH_PROG(PHP,php)
- CUPS_PHP="$PHP"
+ AC_PATH_PROG(PHPCGI,php-cgi)
+ if test "x$PHPCGI" = x; then
+ AC_PATH_PROG(PHP,php)
+ CUPS_PHP="$PHP"
+ else
+ CUPS_PHP="$PHPCGI"
+ fi
fi
AC_DEFINE_UNQUOTED(CUPS_PHP, "$CUPS_PHP")
diff --git a/config.h.in b/config.h.in
index 39a8d63f3..5199ee4f3 100644
--- a/config.h.in
+++ b/config.h.in
@@ -50,6 +50,13 @@
#define CUPS_DEFAULT_ACCESS_LOG_LEVEL "actions"
+/*
+ * Default fatal error settings...
+ */
+
+#define CUPS_DEFAULT_FATAL_ERRORS "config"
+
+
/*
* Default browsing settings...
*/
@@ -393,6 +400,20 @@
#undef HAVE_HSTRERROR
+/*
+ * Do we have res_init()?
+ */
+
+#undef HAVE_RES_INIT
+
+
+/*
+ * Do we have
+ */
+
+#undef HAVE_RESOLV_H
+
+
/*
* Do we have the header file?
*/
diff --git a/cups/Dependencies b/cups/Dependencies
index 7a32226fb..b1336d501 100644
--- a/cups/Dependencies
+++ b/cups/Dependencies
@@ -46,8 +46,8 @@ globals.o: i18n.h transcode.h
http.o: http-private.h ../config.h http.h versioning.h md5.h ipp-private.h
http.o: ipp.h globals.h string.h cups.h ppd.h array.h file.h language.h
http.o: i18n.h transcode.h debug.h
-http-addr.o: globals.h string.h ../config.h http-private.h http.h
-http-addr.o: versioning.h md5.h ipp-private.h ipp.h cups.h ppd.h array.h
+http-addr.o: http-private.h ../config.h http.h versioning.h md5.h
+http-addr.o: ipp-private.h ipp.h globals.h string.h cups.h ppd.h array.h
http-addr.o: file.h language.h i18n.h transcode.h debug.h
http-addrlist.o: http-private.h ../config.h http.h versioning.h md5.h
http-addrlist.o: ipp-private.h ipp.h globals.h string.h cups.h ppd.h array.h
@@ -109,6 +109,8 @@ testadmin.o: adminutil.h cups.h ipp.h http.h versioning.h ppd.h array.h
testadmin.o: file.h language.h string.h ../config.h
testarray.o: ../cups/string.h ../config.h string.h array.h versioning.h dir.h
testarray.o: debug.h
+testconflicts.o: cups.h ipp.h http.h versioning.h ppd.h array.h file.h
+testconflicts.o: language.h string.h ../config.h
testcups.o: cups.h ipp.h http.h versioning.h ppd.h array.h file.h language.h
testfile.o: string.h ../config.h file.h versioning.h debug.h
testhttp.o: http-private.h ../config.h http.h versioning.h md5.h
@@ -172,8 +174,8 @@ globals.32.o: globals.c i18n.h transcode.h
http.32.o: http.c http-private.h ../config.h http.h versioning.h md5.h ipp-private.h
http.32.o: http.c ipp.h globals.h string.h cups.h ppd.h array.h file.h language.h
http.32.o: http.c i18n.h transcode.h debug.h
-http-addr.32.o: http-addr.c globals.h string.h ../config.h http-private.h http.h
-http-addr.32.o: http-addr.c versioning.h md5.h ipp-private.h ipp.h cups.h ppd.h array.h
+http-addr.32.o: http-addr.c http-private.h ../config.h http.h versioning.h md5.h
+http-addr.32.o: http-addr.c ipp-private.h ipp.h globals.h string.h cups.h ppd.h array.h
http-addr.32.o: http-addr.c file.h language.h i18n.h transcode.h debug.h
http-addrlist.32.o: http-addrlist.c http-private.h ../config.h http.h versioning.h md5.h
http-addrlist.32.o: http-addrlist.c ipp-private.h ipp.h globals.h string.h cups.h ppd.h array.h
@@ -235,6 +237,8 @@ testadmin.32.o: testadmin.c adminutil.h cups.h ipp.h http.h versioning.h ppd.h
testadmin.32.o: testadmin.c file.h language.h string.h ../config.h
testarray.32.o: testarray.c ../cups/string.h ../config.h string.h array.h versioning.h dir.h
testarray.32.o: testarray.c debug.h
+testconflicts.32.o: testconflicts.c cups.h ipp.h http.h versioning.h ppd.h array.h file.h
+testconflicts.32.o: testconflicts.c language.h string.h ../config.h
testcups.32.o: testcups.c cups.h ipp.h http.h versioning.h ppd.h array.h file.h language.h
testfile.32.o: testfile.c string.h ../config.h file.h versioning.h debug.h
testhttp.32.o: testhttp.c http-private.h ../config.h http.h versioning.h md5.h
@@ -298,8 +302,8 @@ globals.64.o: globals.c i18n.h transcode.h
http.64.o: http.c http-private.h ../config.h http.h versioning.h md5.h ipp-private.h
http.64.o: http.c ipp.h globals.h string.h cups.h ppd.h array.h file.h language.h
http.64.o: http.c i18n.h transcode.h debug.h
-http-addr.64.o: http-addr.c globals.h string.h ../config.h http-private.h http.h
-http-addr.64.o: http-addr.c versioning.h md5.h ipp-private.h ipp.h cups.h ppd.h array.h
+http-addr.64.o: http-addr.c http-private.h ../config.h http.h versioning.h md5.h
+http-addr.64.o: http-addr.c ipp-private.h ipp.h globals.h string.h cups.h ppd.h array.h
http-addr.64.o: http-addr.c file.h language.h i18n.h transcode.h debug.h
http-addrlist.64.o: http-addrlist.c http-private.h ../config.h http.h versioning.h md5.h
http-addrlist.64.o: http-addrlist.c ipp-private.h ipp.h globals.h string.h cups.h ppd.h array.h
@@ -361,6 +365,8 @@ testadmin.64.o: testadmin.c adminutil.h cups.h ipp.h http.h versioning.h ppd.h
testadmin.64.o: testadmin.c file.h language.h string.h ../config.h
testarray.64.o: testarray.c ../cups/string.h ../config.h string.h array.h versioning.h dir.h
testarray.64.o: testarray.c debug.h
+testconflicts.64.o: testconflicts.c cups.h ipp.h http.h versioning.h ppd.h array.h file.h
+testconflicts.64.o: testconflicts.c language.h string.h ../config.h
testcups.64.o: testcups.c cups.h ipp.h http.h versioning.h ppd.h array.h file.h language.h
testfile.64.o: testfile.c string.h ../config.h file.h versioning.h debug.h
testhttp.64.o: testhttp.c http-private.h ../config.h http.h versioning.h md5.h
diff --git a/cups/globals.h b/cups/globals.h
index f2ae63b97..d58099548 100644
--- a/cups/globals.h
+++ b/cups/globals.h
@@ -81,6 +81,7 @@ typedef struct _cups_globals_s /**** CUPS global state data ****/
# ifdef HAVE_GETADDRINFO
char hostname[1024]; /* Hostname */
# endif /* HAVE_GETADDRINFO */
+ int need_res_init; /* Need to reinitialize resolver? */
/* ipp.c */
ipp_uchar_t ipp_date[11]; /* RFC-1903 date/time data */
diff --git a/cups/http-addr.c b/cups/http-addr.c
index 0bc71f6fa..55d701d64 100644
--- a/cups/http-addr.c
+++ b/cups/http-addr.c
@@ -29,10 +29,14 @@
* Include necessary headers...
*/
+#include "http-private.h"
#include "globals.h"
#include "debug.h"
#include
#include
+#ifdef HAVE_RESOLV_H
+# include
+#endif /* HAVE_RESOLV_H */
/*
@@ -176,6 +180,10 @@ httpAddrLookup(
char *name, /* I - Host name buffer */
int namelen) /* I - Size of name buffer */
{
+ _cups_globals_t *cg = _cupsGlobals();
+ /* Global data */
+
+
DEBUG_printf(("httpAddrLookup(addr=%p, name=%p, namelen=%d)\n",
addr, name, namelen));
@@ -193,9 +201,33 @@ httpAddrLookup(
#ifdef AF_LOCAL
if (addr->addr.sa_family == AF_LOCAL)
+ {
strlcpy(name, addr->un.sun_path, namelen);
- else
+ return (name);
+ }
#endif /* AF_LOCAL */
+
+#ifdef HAVE_RES_INIT
+ /*
+ * STR #2920: Initialize resolver after failure in cups-polld
+ *
+ * If the previous lookup failed, re-initialize the resolver to prevent
+ * temporary network errors from persisting. This *should* be handled by
+ * the resolver libraries, but apparently the glibc folks do not agree.
+ *
+ * We set a flag at the end of this function if we encounter an error that
+ * requires reinitialization of the resolver functions. We then call
+ * res_init() if the flag is set on the next call here or in httpAddrLookup().
+ */
+
+ if (cg->need_res_init)
+ {
+ res_init();
+
+ cg->need_res_init = 0;
+ }
+#endif /* HAVE_RES_INIT */
+
#ifdef HAVE_GETNAMEINFO
{
/*
@@ -206,9 +238,16 @@ httpAddrLookup(
* do...
*/
- if (getnameinfo(&addr->addr, httpAddrLength(addr), name, namelen,
- NULL, 0, 0))
+ int error = getnameinfo(&addr->addr, httpAddrLength(addr), name, namelen,
+ NULL, 0, 0);
+
+ if (error)
+ {
+ if (error == EAI_FAIL)
+ cg->need_res_init = 1;
+
return (httpAddrString(addr, name, namelen));
+ }
}
#else
{
@@ -230,8 +269,10 @@ httpAddrLookup(
* No hostname, so return the raw address...
*/
- httpAddrString(addr, name, namelen);
- return (NULL);
+ if (h_errno == NO_RECOVERY)
+ cg->need_res_init = 1;
+
+ return (httpAddrString(addr, name, namelen));
}
strlcpy(name, host->h_name, namelen);
diff --git a/cups/http-addrlist.c b/cups/http-addrlist.c
index d5685312e..52b5aeca9 100644
--- a/cups/http-addrlist.c
+++ b/cups/http-addrlist.c
@@ -28,6 +28,9 @@
#include "debug.h"
#include
#include
+#ifdef HAVE_RESOLV_H
+# include
+#endif /* HAVE_RESOLV_H */
/*
@@ -201,6 +204,8 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p
http_addrlist_t *first, /* First address in list */
*addr, /* Current address in list */
*temp; /* New address */
+ _cups_globals_t *cg = _cupsGlobals();
+ /* Global data */
#ifdef DEBUG
@@ -217,6 +222,28 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p
family == AF_INET ? "INET" : "???", service);
#endif /* DEBUG */
+#ifdef HAVE_RES_INIT
+ /*
+ * STR #2920: Initialize resolver after failure in cups-polld
+ *
+ * If the previous lookup failed, re-initialize the resolver to prevent
+ * temporary network errors from persisting. This *should* be handled by
+ * the resolver libraries, but apparently the glibc folks do not agree.
+ *
+ * We set a flag at the end of this function if we encounter an error that
+ * requires reinitialization of the resolver functions. We then call
+ * res_init() if the flag is set on the next call here or in httpAddrLookup().
+ */
+
+ if (cg->need_res_init)
+ {
+ res_init();
+
+ cg->need_res_init = 0;
+ }
+#endif /* HAVE_RES_INIT */
+
+
/*
* Lookup the address the best way we can...
*/
@@ -246,6 +273,8 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p
char ipv6[1024], /* IPv6 address */
*ipv6zone; /* Pointer to zone separator */
int ipv6len; /* Length of IPv6 address */
+ int error; /* getaddrinfo() error */
+
/*
* Lookup the address as needed...
@@ -297,7 +326,7 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p
}
}
- if (!getaddrinfo(hostname, service, &hints, &results))
+ if ((error = getaddrinfo(hostname, service, &hints, &results)) == 0)
{
/*
* Copy the results to our own address list structure...
@@ -343,6 +372,9 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p
freeaddrinfo(results);
}
+ else if (error == EAI_FAIL)
+ cg->need_res_init = 1;
+
#else
if (hostname)
{
@@ -459,6 +491,8 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p
addr = temp;
}
}
+ else if (h_errno == NO_RECOVERY)
+ cg->need_res_init = 1;
}
#endif /* HAVE_GETADDRINFO */
}
diff --git a/desktop/cups.desktop.in b/desktop/cups.desktop.in
index d5e2612f7..c92a8a0af 100644
--- a/desktop/cups.desktop.in
+++ b/desktop/cups.desktop.in
@@ -1,41 +1,33 @@
[Desktop Entry]
-Categories=Application;System;X-Red-Hat-Base;
-Encoding=UTF-8
+Categories=System;Printing;HardwareSettings;X-Red-Hat-Base;
Exec=@CUPS_HTMLVIEW@ http://localhost:631/
-GenericName=
Icon=cups
-MimeType=
-Path=
StartupNotify=false
Terminal=false
-TerminalOptions=
Type=Application
-X-DCOP-ServiceType=
-X-KDE-SubstituteUID=false
-X-KDE-Username=
Name=Manage Printing
Comment=CUPS Web Interface
-Name[de]=Druckerverwaltung
-Comment[de]=CUPS Webinterface
-Name[en_US]=Manage Printing
-Comment[en_US]=CUPS Web Interface
-Name[es]=Administrar impresión
-Comment[es]=Interfaz Web de CUPS
-Name[et]=Trükkimise haldur
-Comment[et]=CUPS-i veebiliides
-Name[fr]=Gestionnaire d'impression
-Comment[fr]=Interface Web de CUPS
-Name[he]=× ×× ××פס×ת
-Comment[he]=××שק ×פ××¤× ×©× CUPS
-Name[id]=Manajemen Pencetakan
-Comment[id]=Antarmuka Web CUPS
-Name[it]=Gestione stampa
-Comment[it]=Interfaccia web di CUPS
-Name[ja]=å°å·ã®ç®¡ç
-Comment[ja]=CUPS Web ã¤ã³ã¿ãã§ã¼ã¹
-Name[pl]=ZarzÄ
dzanie drukowaniem
-Comment[pl]=Interfejs WWW CUPS
-Name[zh]=æå°æºç®¡ç
-Comment[zh]=CUPSç½é¡µçé¢
-Name[zh_TW]=å°è¡¨ç®¡ç
-Comment[zh_TW]=CUPS 網é ä»é¢
+Name[de.UTF-8]=Druckerverwaltung
+Comment[de.UTF-8]=CUPS Webinterface
+Name[en_US.UTF-8]=Manage Printing
+Comment[en_US.UTF-8]=CUPS Web Interface
+Name[es.UTF-8]=Administrar impresión
+Comment[es.UTF-8]=Interfaz Web de CUPS
+Name[et.UTF-8]=Trükkimise haldur
+Comment[et.UTF-8]=CUPS-i veebiliides
+Name[fr.UTF-8]=Gestionnaire d'impression
+Comment[fr.UTF-8]=Interface Web de CUPS
+Name[he.UTF-8]=× ×× ××פס×ת
+Comment[he.UTF-8]=××שק ×פ××¤× ×©× CUPS
+Name[id.UTF-8]=Manajemen Pencetakan
+Comment[id.UTF-8]=Antarmuka Web CUPS
+Name[it.UTF-8]=Gestione stampa
+Comment[it.UTF-8]=Interfaccia web di CUPS
+Name[ja.UTF-8]=å°å·ã®ç®¡ç
+Comment[ja.UTF-8]=CUPS Web ã¤ã³ã¿ãã§ã¼ã¹
+Name[pl.UTF-8]=ZarzÄ
dzanie drukowaniem
+Comment[pl.UTF-8]=Interfejs WWW CUPS
+Name[zh.UTF-8]=æå°æºç®¡ç
+Comment[zh.UTF-8]=CUPSç½é¡µçé¢
+Name[zh_TW.UTF-8]=å°è¡¨ç®¡ç
+Comment[zh_TW.UTF-8]=CUPS 網é ä»é¢
diff --git a/doc/Makefile b/doc/Makefile
index 4c461f75f..25b10104f 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -59,7 +59,7 @@ HELPFILES = \
help/glossary.html \
help/kerberos.html \
help/license.html \
- help/man-accept.html \
+ help/man-cupsaccept.html \
help/man-backend.html \
help/man-cancel.html \
help/man-classes.conf.html \
diff --git a/doc/help/ref-cupsd-conf.html.in b/doc/help/ref-cupsd-conf.html.in
index 9d5ca0e5b..1020744a7 100644
--- a/doc/help/ref-cupsd-conf.html.in
+++ b/doc/help/ref-cupsd-conf.html.in
@@ -975,6 +975,26 @@ language localization file exists for it. The default language
is "en" for English.
+
+
+Examples
+
+
+DefaultPaperSize Letter
+DefaultPaperSize A4
+DefaultPaperSize Auto
+DefaultPaperSize None
+
+
+Description
+
+The DefaultPaperSize
directive specifies the default paper
+size to use when creating new printers. The default is Auto
+which uses a paper size appropriate for the system default locale. A value
+of None
tells the scheduler to not set the default paper
+size.
+
+
Examples
@@ -1058,7 +1078,7 @@ HREF="#Limit">Limit
section.
Examples
-DirtyCleanInterval 60
+DirtyCleanInterval 30
DirtyCleanInterval 0
@@ -1066,7 +1086,7 @@ DirtyCleanInterval 0
The DirtyCleanInterval
directive specifies the number of
seconds to wait before updating configuration and state files for printers,
-classes, subscriptions, and jobs. The default is 60 seconds.
+classes, subscriptions, and jobs. The default is 30 seconds.
@@ -1177,6 +1197,57 @@ printer.
+
+
+
+Examples
+
+
+FatalErrors none
+FatalErrors all
+FatalErrors browse
+FatalErrors config
+FatalErrors listen
+FatalErrors log
+FatalErrors permissions
+FatalErrors all -permissions
+FatalErrors config permissions log
+
+
+Description
+
+The FatalErrors
directive determines whether certain kinds of
+errors are fatal. The following kinds of errors are currently recognized:
+
+
+
+ none
- No errors are fatal
+
+ all
- All of the errors below are fatal
+
+ browse
- Browsing initialization errors are fatal,
+ for example failed binding to the CUPS browse port or failed connections
+ to LDAP servers
+
+ config
- Configuration file syntax errors are
+ fatal
+
+ listen
- Listen or Port errors are fatal, except for
+ IPv6 failures on the loopback or "any" addresses
+
+ log
- Log file creation or write errors are fatal
+
+ permissions
- Bad startup file permissions are
+ fatal, for example shared SSL certificate and key files with world-
+ read permissions
+
+
+
+Multiple errors can be listed, and the form "-kind" can be used with
+all
to remove specific kinds of errors. The default setting is
+@CUPS_FATAL_ERRORS@
.
+
+
Examples
@@ -1473,7 +1544,7 @@ KeepAliveTimeout 30
The KeepAliveTimeout
directive controls how long
a persistent HTTP connection will remain open after the last
-request. The default is 60 seconds.
+request. The default is 30 seconds.
@@ -2414,14 +2485,14 @@ There is no default program.
ReloadTimeout 0
-ReloadTimeout 60
+ReloadTimeout 30
Description
The ReloadTimeout
directive specifies the number
of seconds the scheduler will wait for active jobs to complete
-before doing a restart. The default is 60 seconds.
+before doing a restart. The default is 30 seconds.
diff --git a/locale/translate.c b/locale/translate.c
index 6cd767e01..74a5153dc 100644
--- a/locale/translate.c
+++ b/locale/translate.c
@@ -293,16 +293,16 @@ translate_messages(cups_array_t *cat, /* I - Message catalog */
*bufptr = '\0';
/*
- * Find the first textarea element - that will have the translation data...
+ * Find the div containing translation
*/
- if ((bufptr = strstr(buffer, "