summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES-1.5.txt8
-rw-r--r--CHANGES.txt3
-rw-r--r--Makefile6
-rw-r--r--backend/Dependencies83
-rw-r--r--backend/dnssd.c4
-rw-r--r--backend/ipp.c6
-rw-r--r--backend/testbackend.c4
-rw-r--r--berkeley/Dependencies40
-rw-r--r--berkeley/lpq.c2
-rw-r--r--cgi-bin/Dependencies55
-rw-r--r--cgi-bin/help-index.c57
-rw-r--r--cgi-bin/var.c10
-rw-r--r--config-scripts/cups-compiler.m47
-rw-r--r--cups/Dependencies930
-rw-r--r--cups/auth.c1
-rw-r--r--cups/cups.h12
-rw-r--r--cups/debug-private.h13
-rw-r--r--cups/file.c18
-rw-r--r--cups/file.h26
-rw-r--r--cups/http-private.h49
-rw-r--r--cups/http-support.c2
-rw-r--r--cups/http.c299
-rw-r--r--cups/http.h5
-rw-r--r--cups/language-private.h10
-rw-r--r--cups/raster-private.h6
-rw-r--r--cups/request.c32
-rw-r--r--cups/string-private.h5
-rw-r--r--cups/testsnmp.c4
-rw-r--r--cups/usersys.c10
-rw-r--r--cups/versioning.h15
-rw-r--r--filter/Dependencies129
-rw-r--r--filter/interpret.c2
-rw-r--r--filter/pstops.c10
-rw-r--r--locale/Dependencies32
-rw-r--r--man/client.conf.man.in6
-rw-r--r--monitor/Dependencies20
-rw-r--r--notifier/Dependencies21
-rw-r--r--ppdc/Dependencies229
-rw-r--r--scheduler/Dependencies355
-rw-r--r--scheduler/auth.c4
-rw-r--r--scheduler/client.c900
-rw-r--r--scheduler/conf.h12
-rw-r--r--scheduler/cups.sh.in4
-rw-r--r--scheduler/cupsd.h10
-rw-r--r--scheduler/cupsfilter.c3
-rw-r--r--scheduler/ipp.c7
-rw-r--r--scheduler/job.c7
-rw-r--r--scheduler/job.h6
-rw-r--r--scheduler/log.c2
-rw-r--r--scheduler/main.c4
-rw-r--r--scheduler/mime-private.h5
-rw-r--r--scheduler/testdirsvc.c2
-rw-r--r--scheduler/testlpd.c2
-rw-r--r--scheduler/testspeed.c2
-rw-r--r--scheduler/testsub.c2
-rw-r--r--systemv/Dependencies137
-rw-r--r--systemv/Makefile2
-rw-r--r--systemv/cupsaddsmb.c2
-rw-r--r--systemv/cupsctl.c2
-rw-r--r--systemv/cupstestdsc.c2
-rw-r--r--systemv/cupstestppd.c7
-rw-r--r--systemv/lpoptions.c2
-rw-r--r--systemv/lppasswd.c8
-rw-r--r--test/Dependencies23
-rw-r--r--test/ippserver.c14
-rw-r--r--test/ipptool.c162
-rwxr-xr-xtest/run-stp-tests.sh42
67 files changed, 2129 insertions, 1772 deletions
diff --git a/CHANGES-1.5.txt b/CHANGES-1.5.txt
index 100312bab..b2808cf0e 100644
--- a/CHANGES-1.5.txt
+++ b/CHANGES-1.5.txt
@@ -4,6 +4,14 @@ CHANGES-1.5.txt
CHANGES IN CUPS V1.5.1
- Documentation updates (STR #3885)
+ - The client.conf Server directive is no longer supported on Mac OS X
+ 10.7 and later.
+ - The IPP backend sent the wrong margins in media-col.
+ - The scheduler did not save or restore large Kerberos credentials for
+ jobs.
+ - The dnssd backend did not properly browse for secure IPP printers.
+ - httpAssembleURI* did not properly escape all special characters in the
+ username/password field.
- The scheduler now logs config file errors to stderr (STR #3936)
- The configure script incorrectly used bundle-based localizations on
Linux (STR #3938)
diff --git a/CHANGES.txt b/CHANGES.txt
index 58b9973db..8bca37893 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,8 +1,9 @@
-CHANGES.txt - 1.6b1 - 2011-08-27
+CHANGES.txt - 1.6b1 - 2011-08-30
--------------------------------
CHANGES IN CUPS V1.6b1
+ - The scheduler will no longer run programs with group write permission.
- The PHP module has been removed (STR #3932)
- The bannertops, commandtoescpx, commandtopclx, imagetops,
imagetoraster, pdftops, rastertoescpx, rastertopclx, and texttops
diff --git a/Makefile b/Makefile
index 96c73aba8..b7b21698c 100644
--- a/Makefile
+++ b/Makefile
@@ -234,7 +234,11 @@ test: all unittests
check: all unittests
echo Running CUPS test suite with defaults...
- cd test; ./run-stp-tests.sh 1 0 n
+ cd test; ./run-stp-tests.sh 1 0 n n
+
+debugcheck: all unittests
+ echo Running CUPS test suite with debug printfs...
+ cd test; ./run-stp-tests.sh 1 0 n y
#
diff --git a/backend/Dependencies b/backend/Dependencies
index 291418160..a738f9f97 100644
--- a/backend/Dependencies
+++ b/backend/Dependencies
@@ -3,59 +3,62 @@
ipp.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ipp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
ipp.o: ../cups/language.h ../cups/string-private.h ../config.h
-ipp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ipp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ipp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ipp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ipp.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-ipp.o: ../cups/sidechannel.h ../cups/array-private.h
+ipp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+ipp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+ipp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+ipp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+ipp.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
+ipp.o: ../cups/backend.h ../cups/sidechannel.h ../cups/array-private.h
lpd.o: ../cups/http-private.h ../config.h ../cups/http.h
lpd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
lpd.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpd.o: ../cups/language.h ../cups/string-private.h ../cups/debug-private.h
-lpd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-lpd.o: ../cups/pwg-private.h ../cups/http-private.h
+lpd.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+lpd.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
lpd.o: ../cups/language-private.h ../cups/transcode.h
lpd.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
lpd.o: ../cups/sidechannel.h
dnssd.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
dnssd.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
dnssd.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-dnssd.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-dnssd.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-dnssd.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-dnssd.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-dnssd.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
-dnssd.o: ../cups/backend.h ../cups/sidechannel.h ../cups/array.h
+dnssd.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+dnssd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+dnssd.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+dnssd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+dnssd.o: ../cups/language-private.h ../cups/transcode.h
+dnssd.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
+dnssd.o: ../cups/sidechannel.h ../cups/array.h
snmp.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
snmp.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
snmp.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-snmp.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-snmp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-snmp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-snmp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-snmp.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
-snmp.o: ../cups/backend.h ../cups/sidechannel.h ../cups/array.h
-snmp.o: ../cups/file.h ../cups/http-private.h
+snmp.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+snmp.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+snmp.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+snmp.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+snmp.o: ../cups/language-private.h ../cups/transcode.h
+snmp.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
+snmp.o: ../cups/sidechannel.h ../cups/array.h ../cups/file.h
+snmp.o: ../cups/http-private.h
socket.o: ../cups/http-private.h ../config.h ../cups/http.h
socket.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
socket.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
socket.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
socket.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-socket.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-socket.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-socket.o: ../cups/language-private.h ../cups/transcode.h
-socket.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-socket.o: ../cups/sidechannel.h
+socket.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+socket.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+socket.o: ../cups/http-private.h ../cups/language-private.h
+socket.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
+socket.o: ../cups/backend.h ../cups/sidechannel.h
test1284.o: ../cups/string-private.h ../config.h ieee1284.c backend-private.h
test1284.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
test1284.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
test1284.o: ../cups/language.h ../cups/string-private.h
-test1284.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-test1284.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-test1284.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-test1284.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+test1284.o: ../cups/debug-private.h ../cups/versioning.h
+test1284.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+test1284.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+test1284.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+test1284.o: ../cups/language-private.h ../cups/transcode.h
test1284.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
test1284.o: ../cups/sidechannel.h
testbackend.o: ../cups/string-private.h ../config.h ../cups/cups.h
@@ -66,18 +69,18 @@ testsupplies.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
testsupplies.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
testsupplies.o: ../cups/http.h ../cups/array.h ../cups/language.h
testsupplies.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-testsupplies.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-testsupplies.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-testsupplies.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-testsupplies.o: ../cups/language-private.h ../cups/transcode.h
+testsupplies.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+testsupplies.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+testsupplies.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+testsupplies.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
testsupplies.o: ../cups/thread-private.h ../cups/snmp-private.h
testsupplies.o: ../cups/backend.h ../cups/sidechannel.h
usb.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
usb.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
usb.o: ../cups/language.h ../cups/string-private.h ../config.h
-usb.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-usb.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-usb.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-usb.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-usb.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-usb.o: ../cups/sidechannel.h
+usb.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+usb.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+usb.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+usb.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+usb.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
+usb.o: ../cups/backend.h ../cups/sidechannel.h
diff --git a/backend/dnssd.c b/backend/dnssd.c
index d1392ed2a..e8de61c25 100644
--- a/backend/dnssd.c
+++ b/backend/dnssd.c
@@ -219,7 +219,7 @@ main(int argc, /* I - Number of command-line args */
"_ipp-tls._tcp", NULL, browse_callback, devices);
ipps_ref = main_ref;
- DNSServiceBrowse(&ipp_ref, kDNSServiceFlagsShareConnection, 0,
+ DNSServiceBrowse(&ipps_ref, kDNSServiceFlagsShareConnection, 0,
"_ipps._tcp", NULL, browse_callback, devices);
local_fax_ipp_ref = main_ref;
@@ -238,7 +238,7 @@ main(int argc, /* I - Number of command-line args */
"_ipp-tls._tcp", NULL, browse_local_callback, devices);
local_ipps_ref = main_ref;
- DNSServiceBrowse(&local_ipp_ref, kDNSServiceFlagsShareConnection,
+ DNSServiceBrowse(&local_ipps_ref, kDNSServiceFlagsShareConnection,
kDNSServiceInterfaceIndexLocalOnly,
"_ipps._tcp", NULL, browse_local_callback, devices);
diff --git a/backend/ipp.c b/backend/ipp.c
index 67d05cfd9..f8337bc88 100644
--- a/backend/ipp.c
+++ b/backend/ipp.c
@@ -2194,15 +2194,15 @@ new_request(
else if (!strcmp(media_col_sup->values[i].string.text,
"media-bottom-margin"))
ippAddInteger(media_col, IPP_TAG_ZERO, IPP_TAG_INTEGER,
- "media-bottom-margin", size->left);
+ "media-bottom-margin", size->bottom);
else if (!strcmp(media_col_sup->values[i].string.text,
"media-right-margin"))
ippAddInteger(media_col, IPP_TAG_ZERO, IPP_TAG_INTEGER,
- "media-right-margin", size->left);
+ "media-right-margin", size->right);
else if (!strcmp(media_col_sup->values[i].string.text,
"media-top-margin"))
ippAddInteger(media_col, IPP_TAG_ZERO, IPP_TAG_INTEGER,
- "media-top-margin", size->left);
+ "media-top-margin", size->top);
else if (!strcmp(media_col_sup->values[i].string.text,
"media-source") && media_source)
ippAddString(media_col, IPP_TAG_ZERO, IPP_TAG_KEYWORD,
diff --git a/backend/testbackend.c b/backend/testbackend.c
index 2c2d5beaf..cdb9a6695 100644
--- a/backend/testbackend.c
+++ b/backend/testbackend.c
@@ -47,7 +47,7 @@ static int job_canceled = 0;
*/
static void sigterm_handler(int sig);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
static void walk_cb(const char *oid, const char *data, int datalen,
void *context);
@@ -569,7 +569,7 @@ main(int argc, /* I - Number of command-line args */
kill(data_pid, SIGTERM);
kill(back_pid, SIGTERM);
}
-
+
while ((pid = wait(&status)) > 0)
{
if (status)
diff --git a/berkeley/Dependencies b/berkeley/Dependencies
index de9ba9799..9d43ccaf8 100644
--- a/berkeley/Dependencies
+++ b/berkeley/Dependencies
@@ -3,32 +3,32 @@
lpc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpc.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpc.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lpc.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lpc.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lpc.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lpc.o: ../cups/thread-private.h
+lpc.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+lpc.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpc.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpc.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpc.o: ../cups/transcode.h ../cups/thread-private.h
lpq.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpq.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpq.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpq.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lpq.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lpq.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lpq.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lpq.o: ../cups/thread-private.h
+lpq.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+lpq.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpq.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpq.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpq.o: ../cups/transcode.h ../cups/thread-private.h
lpr.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpr.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpr.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpr.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lpr.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lpr.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lpr.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lpr.o: ../cups/thread-private.h
+lpr.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+lpr.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpr.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpr.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpr.o: ../cups/transcode.h ../cups/thread-private.h
lprm.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lprm.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lprm.o: ../cups/language.h ../cups/string-private.h ../config.h
-lprm.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lprm.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lprm.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lprm.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lprm.o: ../cups/thread-private.h
+lprm.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+lprm.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lprm.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lprm.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lprm.o: ../cups/transcode.h ../cups/thread-private.h
diff --git a/berkeley/lpq.c b/berkeley/lpq.c
index 24e49e423..e798cf8c6 100644
--- a/berkeley/lpq.c
+++ b/berkeley/lpq.c
@@ -39,7 +39,7 @@ static http_t *connect_server(const char *, http_t *);
static int show_jobs(const char *, http_t *, const char *,
const char *, const int, const int);
static void show_printer(const char *, http_t *, const char *);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
/*
diff --git a/cgi-bin/Dependencies b/cgi-bin/Dependencies
index 9a5f11d57..9b7f87e8e 100644
--- a/cgi-bin/Dependencies
+++ b/cgi-bin/Dependencies
@@ -3,64 +3,73 @@
help-index.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
help-index.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
help-index.o: ../cups/array.h ../cups/language.h ../cups/array.h help-index.h
-help-index.o: ../cups/debug-private.h ../cups/language-private.h
-help-index.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-help-index.o: ../cups/dir.h
+help-index.o: ../cups/debug-private.h ../cups/versioning.h
+help-index.o: ../cups/language-private.h ../cups/transcode.h
+help-index.o: ../cups/string-private.h ../config.h ../cups/dir.h
html.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
html.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
html.o: ../cups/language.h ../cups/array.h help-index.h
-html.o: ../cups/debug-private.h ../cups/language-private.h
-html.o: ../cups/transcode.h ../cups/string-private.h ../config.h
+html.o: ../cups/debug-private.h ../cups/versioning.h
+html.o: ../cups/language-private.h ../cups/transcode.h
+html.o: ../cups/string-private.h ../config.h
ipp-var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
ipp-var.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
ipp-var.o: ../cups/language.h ../cups/array.h help-index.h
-ipp-var.o: ../cups/debug-private.h ../cups/language-private.h
-ipp-var.o: ../cups/transcode.h ../cups/string-private.h ../config.h
+ipp-var.o: ../cups/debug-private.h ../cups/versioning.h
+ipp-var.o: ../cups/language-private.h ../cups/transcode.h
+ipp-var.o: ../cups/string-private.h ../config.h
search.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
search.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
search.o: ../cups/language.h ../cups/array.h help-index.h
-search.o: ../cups/debug-private.h ../cups/language-private.h
-search.o: ../cups/transcode.h ../cups/string-private.h ../config.h
+search.o: ../cups/debug-private.h ../cups/versioning.h
+search.o: ../cups/language-private.h ../cups/transcode.h
+search.o: ../cups/string-private.h ../config.h
template.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
template.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
template.o: ../cups/language.h ../cups/array.h help-index.h
-template.o: ../cups/debug-private.h ../cups/language-private.h
-template.o: ../cups/transcode.h ../cups/string-private.h ../config.h
+template.o: ../cups/debug-private.h ../cups/versioning.h
+template.o: ../cups/language-private.h ../cups/transcode.h
+template.o: ../cups/string-private.h ../config.h
var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
var.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
var.o: ../cups/array.h help-index.h ../cups/debug-private.h
-var.o: ../cups/language-private.h ../cups/transcode.h
+var.o: ../cups/versioning.h ../cups/language-private.h ../cups/transcode.h
var.o: ../cups/string-private.h ../config.h ../cups/http.h
var.o: ../cups/md5-private.h
admin.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
admin.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
admin.o: ../cups/language.h ../cups/array.h help-index.h
-admin.o: ../cups/debug-private.h ../cups/language-private.h
-admin.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-admin.o: ../cups/adminutil.h ../cups/cups.h ../cups/ppd.h
+admin.o: ../cups/debug-private.h ../cups/versioning.h
+admin.o: ../cups/language-private.h ../cups/transcode.h
+admin.o: ../cups/string-private.h ../config.h ../cups/adminutil.h
+admin.o: ../cups/cups.h ../cups/ppd.h
classes.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
classes.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
classes.o: ../cups/language.h ../cups/array.h help-index.h
-classes.o: ../cups/debug-private.h ../cups/language-private.h
-classes.o: ../cups/transcode.h ../cups/string-private.h ../config.h
+classes.o: ../cups/debug-private.h ../cups/versioning.h
+classes.o: ../cups/language-private.h ../cups/transcode.h
+classes.o: ../cups/string-private.h ../config.h
help.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
help.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
help.o: ../cups/language.h ../cups/array.h help-index.h
-help.o: ../cups/debug-private.h ../cups/language-private.h
-help.o: ../cups/transcode.h ../cups/string-private.h ../config.h
+help.o: ../cups/debug-private.h ../cups/versioning.h
+help.o: ../cups/language-private.h ../cups/transcode.h
+help.o: ../cups/string-private.h ../config.h
jobs.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
jobs.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
jobs.o: ../cups/language.h ../cups/array.h help-index.h
-jobs.o: ../cups/debug-private.h ../cups/language-private.h
-jobs.o: ../cups/transcode.h ../cups/string-private.h ../config.h
+jobs.o: ../cups/debug-private.h ../cups/versioning.h
+jobs.o: ../cups/language-private.h ../cups/transcode.h
+jobs.o: ../cups/string-private.h ../config.h
makedocset.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
makedocset.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
makedocset.o: ../cups/array.h help-index.h
printers.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
printers.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
printers.o: ../cups/language.h ../cups/array.h help-index.h
-printers.o: ../cups/debug-private.h ../cups/language-private.h
-printers.o: ../cups/transcode.h ../cups/string-private.h ../config.h
+printers.o: ../cups/debug-private.h ../cups/versioning.h
+printers.o: ../cups/language-private.h ../cups/transcode.h
+printers.o: ../cups/string-private.h ../config.h
testcgi.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
testcgi.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
testcgi.o: ../cups/array.h help-index.h
diff --git a/cgi-bin/help-index.c b/cgi-bin/help-index.c
index 5cfbefb2e..c48ffeb4d 100644
--- a/cgi-bin/help-index.c
+++ b/cgi-bin/help-index.c
@@ -161,7 +161,8 @@ static int help_load_file(help_index_t *hi,
static help_node_t *help_new_node(const char *filename, const char *anchor,
const char *section, const char *text,
time_t mtime, off_t offset,
- size_t length);
+ size_t length)
+ __attribute__((nonnull(1,3,4)));
static int help_sort_by_name(help_node_t *p1, help_node_t *p2);
static int help_sort_by_score(help_node_t *p1, help_node_t *p2);
static int help_sort_words(help_word_t *w1, help_word_t *w2);
@@ -177,7 +178,7 @@ helpDeleteIndex(help_index_t *hi) /* I - Help index */
help_node_t *node; /* Current node */
- DEBUG_printf(("helpDeleteIndex(hi=%p)\n", hi));
+ DEBUG_printf(("helpDeleteIndex(hi=%p)", hi));
if (!hi)
return;
@@ -209,8 +210,8 @@ helpFindNode(help_index_t *hi, /* I - Index */
help_node_t key; /* Search key */
- DEBUG_printf(("helpFindNode(hi=%p, filename=\"%s\", anchor=\"%s\")\n",
- hi, filename ? filename : "(nil)", anchor ? anchor : "(nil)"));
+ DEBUG_printf(("helpFindNode(hi=%p, filename=\"%s\", anchor=\"%s\")",
+ hi, filename, anchor));
/*
* Range check input...
@@ -259,7 +260,7 @@ helpLoadIndex(const char *hifile, /* I - Index filename */
help_word_t *word; /* Current word */
- DEBUG_printf(("helpLoadIndex(hifile=\"%s\", directory=\"%s\")\n",
+ DEBUG_printf(("helpLoadIndex(hifile=\"%s\", directory=\"%s\")",
hifile, directory));
/*
@@ -464,7 +465,7 @@ helpSaveIndex(help_index_t *hi, /* I - Index */
help_word_t *word; /* Current word */
- DEBUG_printf(("helpSaveIndex(hi=%p, hifile=\"%s\")\n", hi, hifile));
+ DEBUG_printf(("helpSaveIndex(hi=%p, hifile=\"%s\")", hi, hifile));
/*
* Try creating a new index file...
@@ -545,9 +546,8 @@ helpSearchIndex(help_index_t *hi, /* I - Index */
int matches; /* Number of matches */
- DEBUG_printf(("helpSearchIndex(hi=%p, query=\"%s\", filename=\"%s\")\n",
- hi, query ? query : "(nil)",
- filename ? filename : "(nil)"));
+ DEBUG_printf(("helpSearchIndex(hi=%p, query=\"%s\", filename=\"%s\")",
+ hi, query, filename));
/*
* Range check...
@@ -670,7 +670,7 @@ help_add_word(help_node_t *n, /* I - Node */
key; /* Search key */
- DEBUG_printf(("help_add_word(n=%p, text=\"%s\")\n", n, text));
+ DEBUG_printf(("2help_add_word(n=%p, text=\"%s\")", n, text));
/*
* Create the words array as needed...
@@ -723,7 +723,7 @@ help_delete_node(help_node_t *n) /* I - Node */
help_word_t *w; /* Current word */
- DEBUG_printf(("help_delete_node(n=%p)\n", n));
+ DEBUG_printf(("2help_delete_node(n=%p)", n));
if (!n)
return;
@@ -758,7 +758,7 @@ help_delete_node(help_node_t *n) /* I - Node */
static void
help_delete_word(help_word_t *w) /* I - Word */
{
- DEBUG_printf(("help_delete_word(w=%p)\n", w));
+ DEBUG_printf(("2help_delete_word(w=%p)", w));
if (!w)
return;
@@ -789,8 +789,8 @@ help_load_directory(
help_node_t *node; /* Current node */
- DEBUG_printf(("help_load_directory(hi=%p, directory=\"%s\", relative=\"%s\")\n",
- hi, directory ? directory : "(nil)", relative ? relative : "(nil)"));
+ DEBUG_printf(("2help_load_directory(hi=%p, directory=\"%s\", relative=\"%s\")",
+ hi, directory, relative));
/*
* Open the directory and scan it...
@@ -901,9 +901,8 @@ help_load_file(
int wordlen; /* Length of word */
- DEBUG_printf(("help_load_file(hi=%p, filename=\"%s\", relative=\"%s\", mtime=%ld)\n",
- hi, filename ? filename : "(nil)",
- relative ? relative : "(nil)", mtime));
+ DEBUG_printf(("2help_load_file(hi=%p, filename=\"%s\", relative=\"%s\", "
+ "mtime=%ld)", hi, filename, relative, mtime));
if ((fp = cupsFileOpen(filename, "r")) == NULL)
return (-1);
@@ -1229,11 +1228,9 @@ help_new_node(const char *filename, /* I - Filename */
help_node_t *n; /* Node */
- DEBUG_printf(("help_new_node(filename=\"%s\", anchor=\"%s\", text=\"%s\", "
- "mtime=%ld, offset=%ld, length=%ld)\n",
- filename ? filename : "(nil)", anchor ? anchor : "(nil)",
- text ? text : "(nil)", (long)mtime, (long)offset,
- (long)length));
+ DEBUG_printf(("2help_new_node(filename=\"%s\", anchor=\"%s\", text=\"%s\", "
+ "mtime=%ld, offset=%ld, length=%ld)", filename, anchor, text,
+ (long)mtime, (long)offset, (long)length));
n = (help_node_t *)calloc(1, sizeof(help_node_t));
if (!n)
@@ -1262,9 +1259,9 @@ help_sort_by_name(help_node_t *n1, /* I - First node */
int diff; /* Difference */
- DEBUG_printf(("help_sort_by_name(n1=%p(%s#%s), n2=%p(%s#%s)\n",
- n1, n1->filename, n1->anchor ? n1->anchor : "",
- n2, n2->filename, n2->anchor ? n2->anchor : ""));
+ DEBUG_printf(("2help_sort_by_name(n1=%p(%s#%s), n2=%p(%s#%s)",
+ n1, n1->filename, n1->anchor,
+ n2, n2->filename, n2->anchor));
if ((diff = strcmp(n1->filename, n2->filename)) != 0)
return (diff);
@@ -1291,10 +1288,10 @@ help_sort_by_score(help_node_t *n1, /* I - First node */
int diff; /* Difference */
- DEBUG_printf(("help_sort_by_score(n1=%p(%d \"%s\" \"%s\"), "
- "n2=%p(%d \"%s\" \"%s\")\n",
- n1, n1->score, n1->section ? n1->section : "", n1->text,
- n2, n2->score, n2->section ? n2->section : "", n2->text));
+ DEBUG_printf(("2help_sort_by_score(n1=%p(%d \"%s\" \"%s\"), "
+ "n2=%p(%d \"%s\" \"%s\")",
+ n1, n1->score, n1->section, n1->text,
+ n2, n2->score, n2->section, n2->text));
if (n1->score != n2->score)
return (n2->score - n1->score);
@@ -1319,7 +1316,7 @@ static int /* O - Difference */
help_sort_words(help_word_t *w1, /* I - Second word */
help_word_t *w2) /* I - Second word */
{
- DEBUG_printf(("help_sort_words(w1=%p(\"%s\"), w2=%p(\"%s\"))\n",
+ DEBUG_printf(("2help_sort_words(w1=%p(\"%s\"), w2=%p(\"%s\"))",
w1, w1->text, w2, w2->text));
return (_cups_strcasecmp(w1->text, w2->text));
diff --git a/cgi-bin/var.c b/cgi-bin/var.c
index f199c4cc8..d5e58eb1e 100644
--- a/cgi-bin/var.c
+++ b/cgi-bin/var.c
@@ -452,19 +452,19 @@ cgiSetCookie(const char *name, /* I - Name */
printf("Set-Cookie: %s=%s;", name, value);
if (path)
- printf("; path=%s", path);
+ printf(" path=%s;", path);
if (domain)
- printf("; domain=%s", domain);
+ printf(" domain=%s;", domain);
if (expires)
{
char date[256]; /* Date string */
- printf("; expires=%s", httpGetDateString2(expires, date, sizeof(date)));
+ printf(" expires=%s;", httpGetDateString2(expires, date, sizeof(date)));
}
if (secure)
- puts("; secure;");
+ puts(" secure;");
else
- puts(";");
+ putchar('\n');
}
diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4
index 8699f6e55..b00b05571 100644
--- a/config-scripts/cups-compiler.m4
+++ b/config-scripts/cups-compiler.m4
@@ -100,9 +100,6 @@ AC_SUBST(PIEFLAGS)
RELROFLAGS=""
AC_SUBST(RELROFLAGS)
-PHPOPTIONS=""
-AC_SUBST(PHPOPTIONS)
-
if test -n "$GCC"; then
# Add GCC-specific compiler options...
if test -z "$OPTIM"; then
@@ -156,9 +153,7 @@ if test -n "$GCC"; then
# Additional warning options for development testing...
if test -d .svn; then
- OPTIM="-Wshadow $OPTIM"
- CFLAGS="-Werror-implicit-function-declaration $CFLAGS"
- PHPOPTIONS="-Wno-shadow"
+ OPTIM="-Wshadow -Werror $OPTIM"
else
AC_MSG_CHECKING(if GCC supports -Wno-tautological-compare)
OLDCFLAGS="$CFLAGS"
diff --git a/cups/Dependencies b/cups/Dependencies
index 5e6359f7d..a1042de8a 100644
--- a/cups/Dependencies
+++ b/cups/Dependencies
@@ -2,213 +2,237 @@
adminutil.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
adminutil.o: array.h language.h string-private.h ../config.h debug-private.h
-adminutil.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-adminutil.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-adminutil.o: language-private.h ../cups/transcode.h thread-private.h
-adminutil.o: adminutil.h
-array.o: string-private.h ../config.h debug-private.h array-private.h array.h
-array.o: versioning.h
+adminutil.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+adminutil.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+adminutil.o: ipp-private.h ../cups/ipp.h language-private.h
+adminutil.o: ../cups/transcode.h thread-private.h adminutil.h
+array.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
+array.o: array-private.h array.h versioning.h
attr.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
attr.o: array.h language.h string-private.h ../config.h debug-private.h
-attr.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-attr.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-attr.o: language-private.h ../cups/transcode.h thread-private.h
+attr.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+attr.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+attr.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
auth.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
auth.o: array.h language.h string-private.h ../config.h debug-private.h
-auth.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-auth.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-auth.o: language-private.h ../cups/transcode.h thread-private.h
+auth.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+auth.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+auth.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
backchannel.o: cups.h
backend.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
backend.o: array.h language.h string-private.h ../config.h debug-private.h
-backend.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-backend.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-backend.o: language-private.h ../cups/transcode.h thread-private.h backend.h
+backend.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+backend.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+backend.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+backend.o: thread-private.h backend.h
conflicts.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
conflicts.o: array.h language.h string-private.h ../config.h debug-private.h
-conflicts.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-conflicts.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-conflicts.o: language-private.h ../cups/transcode.h thread-private.h
+conflicts.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+conflicts.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+conflicts.o: ipp-private.h ../cups/ipp.h language-private.h
+conflicts.o: ../cups/transcode.h thread-private.h
custom.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
custom.o: array.h language.h string-private.h ../config.h debug-private.h
-custom.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-custom.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-custom.o: language-private.h ../cups/transcode.h thread-private.h
+custom.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+custom.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+custom.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+custom.o: thread-private.h
debug.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
debug.o: array.h language.h string-private.h ../config.h debug-private.h
-debug.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-debug.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-debug.o: language-private.h ../cups/transcode.h thread-private.h
+debug.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+debug.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+debug.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+debug.o: thread-private.h
dest.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
dest.o: array.h language.h string-private.h ../config.h debug-private.h
-dest.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-dest.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-dest.o: language-private.h ../cups/transcode.h thread-private.h
-dir.o: string-private.h ../config.h debug-private.h dir.h versioning.h
+dest.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+dest.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+dest.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
+dir.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
+dir.o: dir.h versioning.h
emit.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
emit.o: array.h language.h string-private.h ../config.h debug-private.h
-emit.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-emit.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-emit.o: language-private.h ../cups/transcode.h thread-private.h
+emit.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+emit.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+emit.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
encode.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
encode.o: array.h language.h string-private.h ../config.h debug-private.h
-encode.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-encode.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-encode.o: language-private.h ../cups/transcode.h thread-private.h
+encode.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+encode.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+encode.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+encode.o: thread-private.h
file.o: file-private.h cups-private.h ../cups/cups.h file.h versioning.h
file.o: ipp.h http.h array.h language.h string-private.h ../config.h
-file.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-file.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-file.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
+file.o: debug-private.h ../cups/versioning.h ppd-private.h ../cups/ppd.h
+file.o: cups.h pwg-private.h http-private.h ../cups/http.h md5-private.h
+file.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+file.o: thread-private.h
getdevices.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
getdevices.o: array.h language.h string-private.h ../config.h debug-private.h
-getdevices.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-getdevices.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-getdevices.o: language-private.h ../cups/transcode.h thread-private.h
+getdevices.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+getdevices.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+getdevices.o: ipp-private.h ../cups/ipp.h language-private.h
+getdevices.o: ../cups/transcode.h thread-private.h
getifaddrs.o: http-private.h ../config.h ../cups/http.h md5-private.h
getifaddrs.o: ipp-private.h ../cups/ipp.h
getputfile.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
getputfile.o: array.h language.h string-private.h ../config.h debug-private.h
-getputfile.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-getputfile.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-getputfile.o: language-private.h ../cups/transcode.h thread-private.h
+getputfile.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+getputfile.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+getputfile.o: ipp-private.h ../cups/ipp.h language-private.h
+getputfile.o: ../cups/transcode.h thread-private.h
globals.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
globals.o: array.h language.h string-private.h ../config.h debug-private.h
-globals.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-globals.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-globals.o: language-private.h ../cups/transcode.h thread-private.h
+globals.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+globals.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+globals.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+globals.o: thread-private.h
http.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
http.o: array.h language.h string-private.h ../config.h debug-private.h
-http.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-http.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http.o: language-private.h ../cups/transcode.h thread-private.h
+http.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+http.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+http.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
http-addr.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
http-addr.o: array.h language.h string-private.h ../config.h debug-private.h
-http-addr.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-http-addr.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http-addr.o: language-private.h ../cups/transcode.h thread-private.h
+http-addr.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+http-addr.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+http-addr.o: ipp-private.h ../cups/ipp.h language-private.h
+http-addr.o: ../cups/transcode.h thread-private.h
http-addrlist.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h
http-addrlist.o: http.h array.h language.h string-private.h ../config.h
-http-addrlist.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h
-http-addrlist.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-http-addrlist.o: ipp-private.h ../cups/ipp.h language-private.h
-http-addrlist.o: ../cups/transcode.h thread-private.h
+http-addrlist.o: debug-private.h ../cups/versioning.h ppd-private.h
+http-addrlist.o: ../cups/ppd.h cups.h pwg-private.h http-private.h
+http-addrlist.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http-addrlist.o: language-private.h ../cups/transcode.h thread-private.h
http-support.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h
http-support.o: http.h array.h language.h string-private.h ../config.h
-http-support.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h
-http-support.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-http-support.o: ipp-private.h ../cups/ipp.h language-private.h
-http-support.o: ../cups/transcode.h thread-private.h
+http-support.o: debug-private.h ../cups/versioning.h ppd-private.h
+http-support.o: ../cups/ppd.h cups.h pwg-private.h http-private.h
+http-support.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http-support.o: language-private.h ../cups/transcode.h thread-private.h
ipp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ipp.o: language.h string-private.h ../config.h debug-private.h ppd-private.h
-ipp.o: ../cups/ppd.h cups.h pwg-private.h http-private.h ../cups/http.h
-ipp.o: md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-ipp.o: ../cups/transcode.h thread-private.h
+ipp.o: language.h string-private.h ../config.h debug-private.h
+ipp.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+ipp.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+ipp.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
ipp-support.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
ipp-support.o: array.h language.h string-private.h ../config.h
-ipp-support.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h
-ipp-support.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-ipp-support.o: ipp-private.h ../cups/ipp.h language-private.h
-ipp-support.o: ../cups/transcode.h thread-private.h
+ipp-support.o: debug-private.h ../cups/versioning.h ppd-private.h
+ipp-support.o: ../cups/ppd.h cups.h pwg-private.h http-private.h
+ipp-support.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+ipp-support.o: language-private.h ../cups/transcode.h thread-private.h
langprintf.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
langprintf.o: array.h language.h string-private.h ../config.h debug-private.h
-langprintf.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-langprintf.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-langprintf.o: language-private.h ../cups/transcode.h thread-private.h
+langprintf.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+langprintf.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+langprintf.o: ipp-private.h ../cups/ipp.h language-private.h
+langprintf.o: ../cups/transcode.h thread-private.h
language.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
language.o: array.h language.h string-private.h ../config.h debug-private.h
-language.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-language.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-language.o: language-private.h ../cups/transcode.h thread-private.h
+language.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+language.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+language.o: ipp-private.h ../cups/ipp.h language-private.h
+language.o: ../cups/transcode.h thread-private.h
localize.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
localize.o: array.h language.h string-private.h ../config.h debug-private.h
-localize.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-localize.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-localize.o: language-private.h ../cups/transcode.h thread-private.h
+localize.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+localize.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+localize.o: ipp-private.h ../cups/ipp.h language-private.h
+localize.o: ../cups/transcode.h thread-private.h
mark.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
mark.o: array.h language.h string-private.h ../config.h debug-private.h
-mark.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-mark.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-mark.o: language-private.h ../cups/transcode.h thread-private.h
+mark.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+mark.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+mark.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
md5.o: md5-private.h string-private.h ../config.h
md5passwd.o: http-private.h ../config.h ../cups/http.h md5-private.h
md5passwd.o: ipp-private.h ../cups/ipp.h string-private.h
notify.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
notify.o: array.h language.h string-private.h ../config.h debug-private.h
-notify.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-notify.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-notify.o: language-private.h ../cups/transcode.h thread-private.h
+notify.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+notify.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+notify.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+notify.o: thread-private.h
options.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
options.o: array.h language.h string-private.h ../config.h debug-private.h
-options.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-options.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-options.o: language-private.h ../cups/transcode.h thread-private.h
-page.o: string-private.h ../config.h debug-private.h ppd.h cups.h array.h
-page.o: versioning.h file.h
+options.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+options.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+options.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+options.o: thread-private.h
+page.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
+page.o: ppd.h cups.h array.h versioning.h file.h
ppd.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ppd.o: language.h string-private.h ../config.h debug-private.h ppd-private.h
-ppd.o: ../cups/ppd.h cups.h pwg-private.h http-private.h ../cups/http.h
-ppd.o: md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-ppd.o: ../cups/transcode.h thread-private.h
+ppd.o: language.h string-private.h ../config.h debug-private.h
+ppd.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+ppd.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+ppd.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
ppd-cache.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
ppd-cache.o: array.h language.h string-private.h ../config.h debug-private.h
-ppd-cache.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-ppd-cache.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-ppd-cache.o: language-private.h ../cups/transcode.h thread-private.h
+ppd-cache.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+ppd-cache.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+ppd-cache.o: ipp-private.h ../cups/ipp.h language-private.h
+ppd-cache.o: ../cups/transcode.h thread-private.h
pwg-media.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
pwg-media.o: array.h language.h string-private.h ../config.h debug-private.h
-pwg-media.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-pwg-media.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-pwg-media.o: language-private.h ../cups/transcode.h thread-private.h
+pwg-media.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+pwg-media.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+pwg-media.o: ipp-private.h ../cups/ipp.h language-private.h
+pwg-media.o: ../cups/transcode.h thread-private.h
request.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
request.o: array.h language.h string-private.h ../config.h debug-private.h
-request.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-request.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-request.o: language-private.h ../cups/transcode.h thread-private.h
+request.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+request.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+request.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+request.o: thread-private.h
sidechannel.o: sidechannel.h versioning.h string-private.h ../config.h
-sidechannel.o: debug-private.h
+sidechannel.o: debug-private.h ../cups/versioning.h
snmp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
snmp.o: array.h language.h string-private.h ../config.h debug-private.h
-snmp.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-snmp.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-snmp.o: language-private.h ../cups/transcode.h thread-private.h
+snmp.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+snmp.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+snmp.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
snmp.o: snmp-private.h
snprintf.o: string-private.h ../config.h
-string.o: string-private.h ../config.h debug-private.h thread-private.h
-string.o: array.h versioning.h
+string.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
+string.o: thread-private.h array.h versioning.h
tempfile.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
tempfile.o: array.h language.h string-private.h ../config.h debug-private.h
-tempfile.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-tempfile.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-tempfile.o: language-private.h ../cups/transcode.h thread-private.h
+tempfile.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+tempfile.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+tempfile.o: ipp-private.h ../cups/ipp.h language-private.h
+tempfile.o: ../cups/transcode.h thread-private.h
thread.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
thread.o: array.h language.h string-private.h ../config.h debug-private.h
-thread.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-thread.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-thread.o: language-private.h ../cups/transcode.h thread-private.h
+thread.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+thread.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+thread.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+thread.o: thread-private.h
transcode.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
transcode.o: array.h language.h string-private.h ../config.h debug-private.h
-transcode.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-transcode.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-transcode.o: language-private.h ../cups/transcode.h thread-private.h
+transcode.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+transcode.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+transcode.o: ipp-private.h ../cups/ipp.h language-private.h
+transcode.o: ../cups/transcode.h thread-private.h
usersys.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
usersys.o: array.h language.h string-private.h ../config.h debug-private.h
-usersys.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-usersys.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-usersys.o: language-private.h ../cups/transcode.h thread-private.h
+usersys.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+usersys.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+usersys.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+usersys.o: thread-private.h
util.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
util.o: array.h language.h string-private.h ../config.h debug-private.h
-util.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-util.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-util.o: language-private.h ../cups/transcode.h thread-private.h
+util.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+util.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+util.o: ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
testadmin.o: adminutil.h cups.h string-private.h ../config.h
-testarray.o: string-private.h ../config.h debug-private.h array.h
-testarray.o: versioning.h dir.h
+testarray.o: string-private.h ../config.h debug-private.h
+testarray.o: ../cups/versioning.h array.h versioning.h dir.h
testconflicts.o: cups.h ppd.h array.h versioning.h file.h string-private.h
testconflicts.o: ../config.h
testcups.o: string-private.h ../config.h cups.h ppd.h array.h versioning.h
testcups.o: file.h
-testfile.o: string-private.h ../config.h debug-private.h file.h versioning.h
+testfile.o: string-private.h ../config.h debug-private.h ../cups/versioning.h
+testfile.o: file.h versioning.h
testhttp.o: string-private.h ../config.h http-private.h ../cups/http.h
testhttp.o: md5-private.h ipp-private.h ../cups/ipp.h
testi18n.o: string-private.h ../config.h language-private.h
@@ -217,243 +241,269 @@ testipp.o: file.h versioning.h string-private.h ../config.h ipp-private.h
testipp.o: ../cups/ipp.h
testoptions.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testoptions.o: array.h language.h string-private.h ../config.h
-testoptions.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h
-testoptions.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
-testoptions.o: ipp-private.h ../cups/ipp.h language-private.h
-testoptions.o: ../cups/transcode.h thread-private.h
+testoptions.o: debug-private.h ../cups/versioning.h ppd-private.h
+testoptions.o: ../cups/ppd.h cups.h pwg-private.h http-private.h
+testoptions.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testoptions.o: language-private.h ../cups/transcode.h thread-private.h
testlang.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testlang.o: array.h language.h string-private.h ../config.h debug-private.h
-testlang.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-testlang.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testlang.o: language-private.h ../cups/transcode.h thread-private.h
+testlang.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+testlang.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+testlang.o: ipp-private.h ../cups/ipp.h language-private.h
+testlang.o: ../cups/transcode.h thread-private.h
testppd.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testppd.o: array.h language.h string-private.h ../config.h debug-private.h
-testppd.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-testppd.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testppd.o: language-private.h ../cups/transcode.h thread-private.h
+testppd.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+testppd.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+testppd.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+testppd.o: thread-private.h
testpwg.o: ppd-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testpwg.o: array.h language.h ../cups/ppd.h cups.h pwg-private.h
testpwg.o: file-private.h cups-private.h string-private.h ../config.h
-testpwg.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-testpwg.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-testpwg.o: thread-private.h
+testpwg.o: debug-private.h ../cups/versioning.h http-private.h ../cups/http.h
+testpwg.o: md5-private.h ipp-private.h ../cups/ipp.h language-private.h
+testpwg.o: ../cups/transcode.h thread-private.h
testsnmp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testsnmp.o: array.h language.h string-private.h ../config.h debug-private.h
-testsnmp.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-testsnmp.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testsnmp.o: language-private.h ../cups/transcode.h thread-private.h
-testsnmp.o: snmp-private.h
+testsnmp.o: ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+testsnmp.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
+testsnmp.o: ipp-private.h ../cups/ipp.h language-private.h
+testsnmp.o: ../cups/transcode.h thread-private.h snmp-private.h
# DO NOT DELETE
adminutil.32.o: adminutil.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
adminutil.32.o: adminutil.c array.h language.h string-private.h ../config.h debug-private.h
-adminutil.32.o: adminutil.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-adminutil.32.o: adminutil.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-adminutil.32.o: adminutil.c language-private.h ../cups/transcode.h thread-private.h
-adminutil.32.o: adminutil.c adminutil.h
-array.32.o: array.c string-private.h ../config.h debug-private.h array-private.h array.h
-array.32.o: array.c versioning.h
+adminutil.32.o: adminutil.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+adminutil.32.o: adminutil.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+adminutil.32.o: adminutil.c ipp-private.h ../cups/ipp.h language-private.h
+adminutil.32.o: adminutil.c ../cups/transcode.h thread-private.h adminutil.h
+array.32.o: array.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+array.32.o: array.c array-private.h array.h versioning.h
attr.32.o: attr.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
attr.32.o: attr.c array.h language.h string-private.h ../config.h debug-private.h
-attr.32.o: attr.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-attr.32.o: attr.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-attr.32.o: attr.c language-private.h ../cups/transcode.h thread-private.h
+attr.32.o: attr.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+attr.32.o: attr.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+attr.32.o: attr.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
auth.32.o: auth.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
auth.32.o: auth.c array.h language.h string-private.h ../config.h debug-private.h
-auth.32.o: auth.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-auth.32.o: auth.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-auth.32.o: auth.c language-private.h ../cups/transcode.h thread-private.h
+auth.32.o: auth.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+auth.32.o: auth.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+auth.32.o: auth.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
backchannel.32.o: backchannel.c cups.h
backend.32.o: backend.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
backend.32.o: backend.c array.h language.h string-private.h ../config.h debug-private.h
-backend.32.o: backend.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-backend.32.o: backend.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-backend.32.o: backend.c language-private.h ../cups/transcode.h thread-private.h backend.h
+backend.32.o: backend.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+backend.32.o: backend.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+backend.32.o: backend.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+backend.32.o: backend.c thread-private.h backend.h
conflicts.32.o: conflicts.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
conflicts.32.o: conflicts.c array.h language.h string-private.h ../config.h debug-private.h
-conflicts.32.o: conflicts.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-conflicts.32.o: conflicts.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-conflicts.32.o: conflicts.c language-private.h ../cups/transcode.h thread-private.h
+conflicts.32.o: conflicts.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+conflicts.32.o: conflicts.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+conflicts.32.o: conflicts.c ipp-private.h ../cups/ipp.h language-private.h
+conflicts.32.o: conflicts.c ../cups/transcode.h thread-private.h
custom.32.o: custom.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
custom.32.o: custom.c array.h language.h string-private.h ../config.h debug-private.h
-custom.32.o: custom.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-custom.32.o: custom.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-custom.32.o: custom.c language-private.h ../cups/transcode.h thread-private.h
+custom.32.o: custom.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+custom.32.o: custom.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+custom.32.o: custom.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+custom.32.o: custom.c thread-private.h
debug.32.o: debug.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
debug.32.o: debug.c array.h language.h string-private.h ../config.h debug-private.h
-debug.32.o: debug.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-debug.32.o: debug.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-debug.32.o: debug.c language-private.h ../cups/transcode.h thread-private.h
+debug.32.o: debug.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+debug.32.o: debug.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+debug.32.o: debug.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+debug.32.o: debug.c thread-private.h
dest.32.o: dest.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
dest.32.o: dest.c array.h language.h string-private.h ../config.h debug-private.h
-dest.32.o: dest.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-dest.32.o: dest.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-dest.32.o: dest.c language-private.h ../cups/transcode.h thread-private.h
-dir.32.o: dir.c string-private.h ../config.h debug-private.h dir.h versioning.h
+dest.32.o: dest.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+dest.32.o: dest.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+dest.32.o: dest.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
+dir.32.o: dir.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+dir.32.o: dir.c dir.h versioning.h
emit.32.o: emit.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
emit.32.o: emit.c array.h language.h string-private.h ../config.h debug-private.h
-emit.32.o: emit.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-emit.32.o: emit.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-emit.32.o: emit.c language-private.h ../cups/transcode.h thread-private.h
+emit.32.o: emit.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+emit.32.o: emit.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+emit.32.o: emit.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
encode.32.o: encode.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
encode.32.o: encode.c array.h language.h string-private.h ../config.h debug-private.h
-encode.32.o: encode.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-encode.32.o: encode.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-encode.32.o: encode.c language-private.h ../cups/transcode.h thread-private.h
+encode.32.o: encode.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+encode.32.o: encode.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+encode.32.o: encode.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+encode.32.o: encode.c thread-private.h
file.32.o: file.c file-private.h cups-private.h ../cups/cups.h file.h versioning.h
file.32.o: file.c ipp.h http.h array.h language.h string-private.h ../config.h
-file.32.o: file.c debug-private.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-file.32.o: file.c http-private.h ../cups/http.h md5-private.h ipp-private.h
-file.32.o: file.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
+file.32.o: file.c debug-private.h ../cups/versioning.h ppd-private.h ../cups/ppd.h
+file.32.o: file.c cups.h pwg-private.h http-private.h ../cups/http.h md5-private.h
+file.32.o: file.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+file.32.o: file.c thread-private.h
getdevices.32.o: getdevices.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
getdevices.32.o: getdevices.c array.h language.h string-private.h ../config.h debug-private.h
-getdevices.32.o: getdevices.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-getdevices.32.o: getdevices.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-getdevices.32.o: getdevices.c language-private.h ../cups/transcode.h thread-private.h
+getdevices.32.o: getdevices.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+getdevices.32.o: getdevices.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+getdevices.32.o: getdevices.c ipp-private.h ../cups/ipp.h language-private.h
+getdevices.32.o: getdevices.c ../cups/transcode.h thread-private.h
getifaddrs.32.o: getifaddrs.c http-private.h ../config.h ../cups/http.h md5-private.h
getifaddrs.32.o: getifaddrs.c ipp-private.h ../cups/ipp.h
getputfile.32.o: getputfile.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
getputfile.32.o: getputfile.c array.h language.h string-private.h ../config.h debug-private.h
-getputfile.32.o: getputfile.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-getputfile.32.o: getputfile.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-getputfile.32.o: getputfile.c language-private.h ../cups/transcode.h thread-private.h
+getputfile.32.o: getputfile.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+getputfile.32.o: getputfile.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+getputfile.32.o: getputfile.c ipp-private.h ../cups/ipp.h language-private.h
+getputfile.32.o: getputfile.c ../cups/transcode.h thread-private.h
globals.32.o: globals.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
globals.32.o: globals.c array.h language.h string-private.h ../config.h debug-private.h
-globals.32.o: globals.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-globals.32.o: globals.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-globals.32.o: globals.c language-private.h ../cups/transcode.h thread-private.h
+globals.32.o: globals.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+globals.32.o: globals.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+globals.32.o: globals.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+globals.32.o: globals.c thread-private.h
http.32.o: http.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
http.32.o: http.c array.h language.h string-private.h ../config.h debug-private.h
-http.32.o: http.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-http.32.o: http.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http.32.o: http.c language-private.h ../cups/transcode.h thread-private.h
+http.32.o: http.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+http.32.o: http.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+http.32.o: http.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
http-addr.32.o: http-addr.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
http-addr.32.o: http-addr.c array.h language.h string-private.h ../config.h debug-private.h
-http-addr.32.o: http-addr.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-http-addr.32.o: http-addr.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http-addr.32.o: http-addr.c language-private.h ../cups/transcode.h thread-private.h
+http-addr.32.o: http-addr.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+http-addr.32.o: http-addr.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+http-addr.32.o: http-addr.c ipp-private.h ../cups/ipp.h language-private.h
+http-addr.32.o: http-addr.c ../cups/transcode.h thread-private.h
http-addrlist.32.o: http-addrlist.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h
http-addrlist.32.o: http-addrlist.c http.h array.h language.h string-private.h ../config.h
-http-addrlist.32.o: http-addrlist.c debug-private.h ppd-private.h ../cups/ppd.h cups.h
-http-addrlist.32.o: http-addrlist.c pwg-private.h http-private.h ../cups/http.h md5-private.h
-http-addrlist.32.o: http-addrlist.c ipp-private.h ../cups/ipp.h language-private.h
-http-addrlist.32.o: http-addrlist.c ../cups/transcode.h thread-private.h
+http-addrlist.32.o: http-addrlist.c debug-private.h ../cups/versioning.h ppd-private.h
+http-addrlist.32.o: http-addrlist.c ../cups/ppd.h cups.h pwg-private.h http-private.h
+http-addrlist.32.o: http-addrlist.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http-addrlist.32.o: http-addrlist.c language-private.h ../cups/transcode.h thread-private.h
http-support.32.o: http-support.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h
http-support.32.o: http-support.c http.h array.h language.h string-private.h ../config.h
-http-support.32.o: http-support.c debug-private.h ppd-private.h ../cups/ppd.h cups.h
-http-support.32.o: http-support.c pwg-private.h http-private.h ../cups/http.h md5-private.h
-http-support.32.o: http-support.c ipp-private.h ../cups/ipp.h language-private.h
-http-support.32.o: http-support.c ../cups/transcode.h thread-private.h
+http-support.32.o: http-support.c debug-private.h ../cups/versioning.h ppd-private.h
+http-support.32.o: http-support.c ../cups/ppd.h cups.h pwg-private.h http-private.h
+http-support.32.o: http-support.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http-support.32.o: http-support.c language-private.h ../cups/transcode.h thread-private.h
ipp.32.o: ipp.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ipp.32.o: ipp.c language.h string-private.h ../config.h debug-private.h ppd-private.h
-ipp.32.o: ipp.c ../cups/ppd.h cups.h pwg-private.h http-private.h ../cups/http.h
-ipp.32.o: ipp.c md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-ipp.32.o: ipp.c ../cups/transcode.h thread-private.h
+ipp.32.o: ipp.c language.h string-private.h ../config.h debug-private.h
+ipp.32.o: ipp.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+ipp.32.o: ipp.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+ipp.32.o: ipp.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
ipp-support.32.o: ipp-support.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
ipp-support.32.o: ipp-support.c array.h language.h string-private.h ../config.h
-ipp-support.32.o: ipp-support.c debug-private.h ppd-private.h ../cups/ppd.h cups.h
-ipp-support.32.o: ipp-support.c pwg-private.h http-private.h ../cups/http.h md5-private.h
-ipp-support.32.o: ipp-support.c ipp-private.h ../cups/ipp.h language-private.h
-ipp-support.32.o: ipp-support.c ../cups/transcode.h thread-private.h
+ipp-support.32.o: ipp-support.c debug-private.h ../cups/versioning.h ppd-private.h
+ipp-support.32.o: ipp-support.c ../cups/ppd.h cups.h pwg-private.h http-private.h
+ipp-support.32.o: ipp-support.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+ipp-support.32.o: ipp-support.c language-private.h ../cups/transcode.h thread-private.h
langprintf.32.o: langprintf.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
langprintf.32.o: langprintf.c array.h language.h string-private.h ../config.h debug-private.h
-langprintf.32.o: langprintf.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-langprintf.32.o: langprintf.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-langprintf.32.o: langprintf.c language-private.h ../cups/transcode.h thread-private.h
+langprintf.32.o: langprintf.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+langprintf.32.o: langprintf.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+langprintf.32.o: langprintf.c ipp-private.h ../cups/ipp.h language-private.h
+langprintf.32.o: langprintf.c ../cups/transcode.h thread-private.h
language.32.o: language.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
language.32.o: language.c array.h language.h string-private.h ../config.h debug-private.h
-language.32.o: language.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-language.32.o: language.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-language.32.o: language.c language-private.h ../cups/transcode.h thread-private.h
+language.32.o: language.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+language.32.o: language.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+language.32.o: language.c ipp-private.h ../cups/ipp.h language-private.h
+language.32.o: language.c ../cups/transcode.h thread-private.h
localize.32.o: localize.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
localize.32.o: localize.c array.h language.h string-private.h ../config.h debug-private.h
-localize.32.o: localize.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-localize.32.o: localize.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-localize.32.o: localize.c language-private.h ../cups/transcode.h thread-private.h
+localize.32.o: localize.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+localize.32.o: localize.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+localize.32.o: localize.c ipp-private.h ../cups/ipp.h language-private.h
+localize.32.o: localize.c ../cups/transcode.h thread-private.h
mark.32.o: mark.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
mark.32.o: mark.c array.h language.h string-private.h ../config.h debug-private.h
-mark.32.o: mark.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-mark.32.o: mark.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-mark.32.o: mark.c language-private.h ../cups/transcode.h thread-private.h
+mark.32.o: mark.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+mark.32.o: mark.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+mark.32.o: mark.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
md5.32.o: md5.c md5-private.h string-private.h ../config.h
md5passwd.32.o: md5passwd.c http-private.h ../config.h ../cups/http.h md5-private.h
md5passwd.32.o: md5passwd.c ipp-private.h ../cups/ipp.h string-private.h
notify.32.o: notify.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
notify.32.o: notify.c array.h language.h string-private.h ../config.h debug-private.h
-notify.32.o: notify.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-notify.32.o: notify.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-notify.32.o: notify.c language-private.h ../cups/transcode.h thread-private.h
+notify.32.o: notify.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+notify.32.o: notify.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+notify.32.o: notify.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+notify.32.o: notify.c thread-private.h
options.32.o: options.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
options.32.o: options.c array.h language.h string-private.h ../config.h debug-private.h
-options.32.o: options.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-options.32.o: options.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-options.32.o: options.c language-private.h ../cups/transcode.h thread-private.h
-page.32.o: page.c string-private.h ../config.h debug-private.h ppd.h cups.h array.h
-page.32.o: page.c versioning.h file.h
+options.32.o: options.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+options.32.o: options.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+options.32.o: options.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+options.32.o: options.c thread-private.h
+page.32.o: page.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+page.32.o: page.c ppd.h cups.h array.h versioning.h file.h
ppd.32.o: ppd.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ppd.32.o: ppd.c language.h string-private.h ../config.h debug-private.h ppd-private.h
-ppd.32.o: ppd.c ../cups/ppd.h cups.h pwg-private.h http-private.h ../cups/http.h
-ppd.32.o: ppd.c md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-ppd.32.o: ppd.c ../cups/transcode.h thread-private.h
+ppd.32.o: ppd.c language.h string-private.h ../config.h debug-private.h
+ppd.32.o: ppd.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+ppd.32.o: ppd.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+ppd.32.o: ppd.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
ppd-cache.32.o: ppd-cache.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
ppd-cache.32.o: ppd-cache.c array.h language.h string-private.h ../config.h debug-private.h
-ppd-cache.32.o: ppd-cache.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-ppd-cache.32.o: ppd-cache.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-ppd-cache.32.o: ppd-cache.c language-private.h ../cups/transcode.h thread-private.h
+ppd-cache.32.o: ppd-cache.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+ppd-cache.32.o: ppd-cache.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+ppd-cache.32.o: ppd-cache.c ipp-private.h ../cups/ipp.h language-private.h
+ppd-cache.32.o: ppd-cache.c ../cups/transcode.h thread-private.h
pwg-media.32.o: pwg-media.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
pwg-media.32.o: pwg-media.c array.h language.h string-private.h ../config.h debug-private.h
-pwg-media.32.o: pwg-media.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-pwg-media.32.o: pwg-media.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-pwg-media.32.o: pwg-media.c language-private.h ../cups/transcode.h thread-private.h
+pwg-media.32.o: pwg-media.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+pwg-media.32.o: pwg-media.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+pwg-media.32.o: pwg-media.c ipp-private.h ../cups/ipp.h language-private.h
+pwg-media.32.o: pwg-media.c ../cups/transcode.h thread-private.h
request.32.o: request.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
request.32.o: request.c array.h language.h string-private.h ../config.h debug-private.h
-request.32.o: request.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-request.32.o: request.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-request.32.o: request.c language-private.h ../cups/transcode.h thread-private.h
+request.32.o: request.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+request.32.o: request.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+request.32.o: request.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+request.32.o: request.c thread-private.h
sidechannel.32.o: sidechannel.c sidechannel.h versioning.h string-private.h ../config.h
-sidechannel.32.o: sidechannel.c debug-private.h
+sidechannel.32.o: sidechannel.c debug-private.h ../cups/versioning.h
snmp.32.o: snmp.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
snmp.32.o: snmp.c array.h language.h string-private.h ../config.h debug-private.h
-snmp.32.o: snmp.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-snmp.32.o: snmp.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-snmp.32.o: snmp.c language-private.h ../cups/transcode.h thread-private.h
+snmp.32.o: snmp.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+snmp.32.o: snmp.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+snmp.32.o: snmp.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
snmp.32.o: snmp.c snmp-private.h
snprintf.32.o: snprintf.c string-private.h ../config.h
-string.32.o: string.c string-private.h ../config.h debug-private.h thread-private.h
-string.32.o: string.c array.h versioning.h
+string.32.o: string.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+string.32.o: string.c thread-private.h array.h versioning.h
tempfile.32.o: tempfile.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
tempfile.32.o: tempfile.c array.h language.h string-private.h ../config.h debug-private.h
-tempfile.32.o: tempfile.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-tempfile.32.o: tempfile.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-tempfile.32.o: tempfile.c language-private.h ../cups/transcode.h thread-private.h
+tempfile.32.o: tempfile.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+tempfile.32.o: tempfile.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+tempfile.32.o: tempfile.c ipp-private.h ../cups/ipp.h language-private.h
+tempfile.32.o: tempfile.c ../cups/transcode.h thread-private.h
thread.32.o: thread.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
thread.32.o: thread.c array.h language.h string-private.h ../config.h debug-private.h
-thread.32.o: thread.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-thread.32.o: thread.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-thread.32.o: thread.c language-private.h ../cups/transcode.h thread-private.h
+thread.32.o: thread.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+thread.32.o: thread.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+thread.32.o: thread.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+thread.32.o: thread.c thread-private.h
transcode.32.o: transcode.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
transcode.32.o: transcode.c array.h language.h string-private.h ../config.h debug-private.h
-transcode.32.o: transcode.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-transcode.32.o: transcode.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-transcode.32.o: transcode.c language-private.h ../cups/transcode.h thread-private.h
+transcode.32.o: transcode.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+transcode.32.o: transcode.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+transcode.32.o: transcode.c ipp-private.h ../cups/ipp.h language-private.h
+transcode.32.o: transcode.c ../cups/transcode.h thread-private.h
usersys.32.o: usersys.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
usersys.32.o: usersys.c array.h language.h string-private.h ../config.h debug-private.h
-usersys.32.o: usersys.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-usersys.32.o: usersys.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-usersys.32.o: usersys.c language-private.h ../cups/transcode.h thread-private.h
+usersys.32.o: usersys.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+usersys.32.o: usersys.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+usersys.32.o: usersys.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+usersys.32.o: usersys.c thread-private.h
util.32.o: util.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
util.32.o: util.c array.h language.h string-private.h ../config.h debug-private.h
-util.32.o: util.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-util.32.o: util.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-util.32.o: util.c language-private.h ../cups/transcode.h thread-private.h
+util.32.o: util.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+util.32.o: util.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+util.32.o: util.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
testadmin.32.o: testadmin.c adminutil.h cups.h string-private.h ../config.h
-testarray.32.o: testarray.c string-private.h ../config.h debug-private.h array.h
-testarray.32.o: testarray.c versioning.h dir.h
+testarray.32.o: testarray.c string-private.h ../config.h debug-private.h
+testarray.32.o: testarray.c ../cups/versioning.h array.h versioning.h dir.h
testconflicts.32.o: testconflicts.c cups.h ppd.h array.h versioning.h file.h string-private.h
testconflicts.32.o: testconflicts.c ../config.h
testcups.32.o: testcups.c string-private.h ../config.h cups.h ppd.h array.h versioning.h
testcups.32.o: testcups.c file.h
-testfile.32.o: testfile.c string-private.h ../config.h debug-private.h file.h versioning.h
+testfile.32.o: testfile.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+testfile.32.o: testfile.c file.h versioning.h
testhttp.32.o: testhttp.c string-private.h ../config.h http-private.h ../cups/http.h
testhttp.32.o: testhttp.c md5-private.h ipp-private.h ../cups/ipp.h
testi18n.32.o: testi18n.c string-private.h ../config.h language-private.h
@@ -462,243 +512,269 @@ testipp.32.o: testipp.c file.h versioning.h string-private.h ../config.h ipp-pr
testipp.32.o: testipp.c ../cups/ipp.h
testoptions.32.o: testoptions.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testoptions.32.o: testoptions.c array.h language.h string-private.h ../config.h
-testoptions.32.o: testoptions.c debug-private.h ppd-private.h ../cups/ppd.h cups.h
-testoptions.32.o: testoptions.c pwg-private.h http-private.h ../cups/http.h md5-private.h
-testoptions.32.o: testoptions.c ipp-private.h ../cups/ipp.h language-private.h
-testoptions.32.o: testoptions.c ../cups/transcode.h thread-private.h
+testoptions.32.o: testoptions.c debug-private.h ../cups/versioning.h ppd-private.h
+testoptions.32.o: testoptions.c ../cups/ppd.h cups.h pwg-private.h http-private.h
+testoptions.32.o: testoptions.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testoptions.32.o: testoptions.c language-private.h ../cups/transcode.h thread-private.h
testlang.32.o: testlang.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testlang.32.o: testlang.c array.h language.h string-private.h ../config.h debug-private.h
-testlang.32.o: testlang.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-testlang.32.o: testlang.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testlang.32.o: testlang.c language-private.h ../cups/transcode.h thread-private.h
+testlang.32.o: testlang.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+testlang.32.o: testlang.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+testlang.32.o: testlang.c ipp-private.h ../cups/ipp.h language-private.h
+testlang.32.o: testlang.c ../cups/transcode.h thread-private.h
testppd.32.o: testppd.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testppd.32.o: testppd.c array.h language.h string-private.h ../config.h debug-private.h
-testppd.32.o: testppd.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-testppd.32.o: testppd.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testppd.32.o: testppd.c language-private.h ../cups/transcode.h thread-private.h
+testppd.32.o: testppd.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+testppd.32.o: testppd.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+testppd.32.o: testppd.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+testppd.32.o: testppd.c thread-private.h
testpwg.32.o: testpwg.c ppd-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testpwg.32.o: testpwg.c array.h language.h ../cups/ppd.h cups.h pwg-private.h
testpwg.32.o: testpwg.c file-private.h cups-private.h string-private.h ../config.h
-testpwg.32.o: testpwg.c debug-private.h http-private.h ../cups/http.h md5-private.h
-testpwg.32.o: testpwg.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-testpwg.32.o: testpwg.c thread-private.h
+testpwg.32.o: testpwg.c debug-private.h ../cups/versioning.h http-private.h ../cups/http.h
+testpwg.32.o: testpwg.c md5-private.h ipp-private.h ../cups/ipp.h language-private.h
+testpwg.32.o: testpwg.c ../cups/transcode.h thread-private.h
testsnmp.32.o: testsnmp.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testsnmp.32.o: testsnmp.c array.h language.h string-private.h ../config.h debug-private.h
-testsnmp.32.o: testsnmp.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-testsnmp.32.o: testsnmp.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testsnmp.32.o: testsnmp.c language-private.h ../cups/transcode.h thread-private.h
-testsnmp.32.o: testsnmp.c snmp-private.h
+testsnmp.32.o: testsnmp.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+testsnmp.32.o: testsnmp.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+testsnmp.32.o: testsnmp.c ipp-private.h ../cups/ipp.h language-private.h
+testsnmp.32.o: testsnmp.c ../cups/transcode.h thread-private.h snmp-private.h
# DO NOT DELETE
adminutil.64.o: adminutil.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
adminutil.64.o: adminutil.c array.h language.h string-private.h ../config.h debug-private.h
-adminutil.64.o: adminutil.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-adminutil.64.o: adminutil.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-adminutil.64.o: adminutil.c language-private.h ../cups/transcode.h thread-private.h
-adminutil.64.o: adminutil.c adminutil.h
-array.64.o: array.c string-private.h ../config.h debug-private.h array-private.h array.h
-array.64.o: array.c versioning.h
+adminutil.64.o: adminutil.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+adminutil.64.o: adminutil.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+adminutil.64.o: adminutil.c ipp-private.h ../cups/ipp.h language-private.h
+adminutil.64.o: adminutil.c ../cups/transcode.h thread-private.h adminutil.h
+array.64.o: array.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+array.64.o: array.c array-private.h array.h versioning.h
attr.64.o: attr.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
attr.64.o: attr.c array.h language.h string-private.h ../config.h debug-private.h
-attr.64.o: attr.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-attr.64.o: attr.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-attr.64.o: attr.c language-private.h ../cups/transcode.h thread-private.h
+attr.64.o: attr.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+attr.64.o: attr.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+attr.64.o: attr.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
auth.64.o: auth.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
auth.64.o: auth.c array.h language.h string-private.h ../config.h debug-private.h
-auth.64.o: auth.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-auth.64.o: auth.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-auth.64.o: auth.c language-private.h ../cups/transcode.h thread-private.h
+auth.64.o: auth.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+auth.64.o: auth.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+auth.64.o: auth.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
backchannel.64.o: backchannel.c cups.h
backend.64.o: backend.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
backend.64.o: backend.c array.h language.h string-private.h ../config.h debug-private.h
-backend.64.o: backend.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-backend.64.o: backend.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-backend.64.o: backend.c language-private.h ../cups/transcode.h thread-private.h backend.h
+backend.64.o: backend.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+backend.64.o: backend.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+backend.64.o: backend.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+backend.64.o: backend.c thread-private.h backend.h
conflicts.64.o: conflicts.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
conflicts.64.o: conflicts.c array.h language.h string-private.h ../config.h debug-private.h
-conflicts.64.o: conflicts.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-conflicts.64.o: conflicts.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-conflicts.64.o: conflicts.c language-private.h ../cups/transcode.h thread-private.h
+conflicts.64.o: conflicts.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+conflicts.64.o: conflicts.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+conflicts.64.o: conflicts.c ipp-private.h ../cups/ipp.h language-private.h
+conflicts.64.o: conflicts.c ../cups/transcode.h thread-private.h
custom.64.o: custom.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
custom.64.o: custom.c array.h language.h string-private.h ../config.h debug-private.h
-custom.64.o: custom.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-custom.64.o: custom.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-custom.64.o: custom.c language-private.h ../cups/transcode.h thread-private.h
+custom.64.o: custom.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+custom.64.o: custom.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+custom.64.o: custom.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+custom.64.o: custom.c thread-private.h
debug.64.o: debug.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
debug.64.o: debug.c array.h language.h string-private.h ../config.h debug-private.h
-debug.64.o: debug.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-debug.64.o: debug.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-debug.64.o: debug.c language-private.h ../cups/transcode.h thread-private.h
+debug.64.o: debug.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+debug.64.o: debug.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+debug.64.o: debug.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+debug.64.o: debug.c thread-private.h
dest.64.o: dest.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
dest.64.o: dest.c array.h language.h string-private.h ../config.h debug-private.h
-dest.64.o: dest.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-dest.64.o: dest.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-dest.64.o: dest.c language-private.h ../cups/transcode.h thread-private.h
-dir.64.o: dir.c string-private.h ../config.h debug-private.h dir.h versioning.h
+dest.64.o: dest.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+dest.64.o: dest.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+dest.64.o: dest.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
+dir.64.o: dir.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+dir.64.o: dir.c dir.h versioning.h
emit.64.o: emit.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
emit.64.o: emit.c array.h language.h string-private.h ../config.h debug-private.h
-emit.64.o: emit.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-emit.64.o: emit.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-emit.64.o: emit.c language-private.h ../cups/transcode.h thread-private.h
+emit.64.o: emit.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+emit.64.o: emit.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+emit.64.o: emit.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
encode.64.o: encode.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
encode.64.o: encode.c array.h language.h string-private.h ../config.h debug-private.h
-encode.64.o: encode.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-encode.64.o: encode.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-encode.64.o: encode.c language-private.h ../cups/transcode.h thread-private.h
+encode.64.o: encode.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+encode.64.o: encode.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+encode.64.o: encode.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+encode.64.o: encode.c thread-private.h
file.64.o: file.c file-private.h cups-private.h ../cups/cups.h file.h versioning.h
file.64.o: file.c ipp.h http.h array.h language.h string-private.h ../config.h
-file.64.o: file.c debug-private.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
-file.64.o: file.c http-private.h ../cups/http.h md5-private.h ipp-private.h
-file.64.o: file.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
+file.64.o: file.c debug-private.h ../cups/versioning.h ppd-private.h ../cups/ppd.h
+file.64.o: file.c cups.h pwg-private.h http-private.h ../cups/http.h md5-private.h
+file.64.o: file.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+file.64.o: file.c thread-private.h
getdevices.64.o: getdevices.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
getdevices.64.o: getdevices.c array.h language.h string-private.h ../config.h debug-private.h
-getdevices.64.o: getdevices.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-getdevices.64.o: getdevices.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-getdevices.64.o: getdevices.c language-private.h ../cups/transcode.h thread-private.h
+getdevices.64.o: getdevices.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+getdevices.64.o: getdevices.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+getdevices.64.o: getdevices.c ipp-private.h ../cups/ipp.h language-private.h
+getdevices.64.o: getdevices.c ../cups/transcode.h thread-private.h
getifaddrs.64.o: getifaddrs.c http-private.h ../config.h ../cups/http.h md5-private.h
getifaddrs.64.o: getifaddrs.c ipp-private.h ../cups/ipp.h
getputfile.64.o: getputfile.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
getputfile.64.o: getputfile.c array.h language.h string-private.h ../config.h debug-private.h
-getputfile.64.o: getputfile.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-getputfile.64.o: getputfile.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-getputfile.64.o: getputfile.c language-private.h ../cups/transcode.h thread-private.h
+getputfile.64.o: getputfile.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+getputfile.64.o: getputfile.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+getputfile.64.o: getputfile.c ipp-private.h ../cups/ipp.h language-private.h
+getputfile.64.o: getputfile.c ../cups/transcode.h thread-private.h
globals.64.o: globals.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
globals.64.o: globals.c array.h language.h string-private.h ../config.h debug-private.h
-globals.64.o: globals.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-globals.64.o: globals.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-globals.64.o: globals.c language-private.h ../cups/transcode.h thread-private.h
+globals.64.o: globals.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+globals.64.o: globals.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+globals.64.o: globals.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+globals.64.o: globals.c thread-private.h
http.64.o: http.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
http.64.o: http.c array.h language.h string-private.h ../config.h debug-private.h
-http.64.o: http.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-http.64.o: http.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http.64.o: http.c language-private.h ../cups/transcode.h thread-private.h
+http.64.o: http.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+http.64.o: http.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+http.64.o: http.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
http-addr.64.o: http-addr.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
http-addr.64.o: http-addr.c array.h language.h string-private.h ../config.h debug-private.h
-http-addr.64.o: http-addr.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-http-addr.64.o: http-addr.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-http-addr.64.o: http-addr.c language-private.h ../cups/transcode.h thread-private.h
+http-addr.64.o: http-addr.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+http-addr.64.o: http-addr.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+http-addr.64.o: http-addr.c ipp-private.h ../cups/ipp.h language-private.h
+http-addr.64.o: http-addr.c ../cups/transcode.h thread-private.h
http-addrlist.64.o: http-addrlist.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h
http-addrlist.64.o: http-addrlist.c http.h array.h language.h string-private.h ../config.h
-http-addrlist.64.o: http-addrlist.c debug-private.h ppd-private.h ../cups/ppd.h cups.h
-http-addrlist.64.o: http-addrlist.c pwg-private.h http-private.h ../cups/http.h md5-private.h
-http-addrlist.64.o: http-addrlist.c ipp-private.h ../cups/ipp.h language-private.h
-http-addrlist.64.o: http-addrlist.c ../cups/transcode.h thread-private.h
+http-addrlist.64.o: http-addrlist.c debug-private.h ../cups/versioning.h ppd-private.h
+http-addrlist.64.o: http-addrlist.c ../cups/ppd.h cups.h pwg-private.h http-private.h
+http-addrlist.64.o: http-addrlist.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http-addrlist.64.o: http-addrlist.c language-private.h ../cups/transcode.h thread-private.h
http-support.64.o: http-support.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h
http-support.64.o: http-support.c http.h array.h language.h string-private.h ../config.h
-http-support.64.o: http-support.c debug-private.h ppd-private.h ../cups/ppd.h cups.h
-http-support.64.o: http-support.c pwg-private.h http-private.h ../cups/http.h md5-private.h
-http-support.64.o: http-support.c ipp-private.h ../cups/ipp.h language-private.h
-http-support.64.o: http-support.c ../cups/transcode.h thread-private.h
+http-support.64.o: http-support.c debug-private.h ../cups/versioning.h ppd-private.h
+http-support.64.o: http-support.c ../cups/ppd.h cups.h pwg-private.h http-private.h
+http-support.64.o: http-support.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http-support.64.o: http-support.c language-private.h ../cups/transcode.h thread-private.h
ipp.64.o: ipp.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ipp.64.o: ipp.c language.h string-private.h ../config.h debug-private.h ppd-private.h
-ipp.64.o: ipp.c ../cups/ppd.h cups.h pwg-private.h http-private.h ../cups/http.h
-ipp.64.o: ipp.c md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-ipp.64.o: ipp.c ../cups/transcode.h thread-private.h
+ipp.64.o: ipp.c language.h string-private.h ../config.h debug-private.h
+ipp.64.o: ipp.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+ipp.64.o: ipp.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+ipp.64.o: ipp.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
ipp-support.64.o: ipp-support.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
ipp-support.64.o: ipp-support.c array.h language.h string-private.h ../config.h
-ipp-support.64.o: ipp-support.c debug-private.h ppd-private.h ../cups/ppd.h cups.h
-ipp-support.64.o: ipp-support.c pwg-private.h http-private.h ../cups/http.h md5-private.h
-ipp-support.64.o: ipp-support.c ipp-private.h ../cups/ipp.h language-private.h
-ipp-support.64.o: ipp-support.c ../cups/transcode.h thread-private.h
+ipp-support.64.o: ipp-support.c debug-private.h ../cups/versioning.h ppd-private.h
+ipp-support.64.o: ipp-support.c ../cups/ppd.h cups.h pwg-private.h http-private.h
+ipp-support.64.o: ipp-support.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+ipp-support.64.o: ipp-support.c language-private.h ../cups/transcode.h thread-private.h
langprintf.64.o: langprintf.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
langprintf.64.o: langprintf.c array.h language.h string-private.h ../config.h debug-private.h
-langprintf.64.o: langprintf.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-langprintf.64.o: langprintf.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-langprintf.64.o: langprintf.c language-private.h ../cups/transcode.h thread-private.h
+langprintf.64.o: langprintf.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+langprintf.64.o: langprintf.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+langprintf.64.o: langprintf.c ipp-private.h ../cups/ipp.h language-private.h
+langprintf.64.o: langprintf.c ../cups/transcode.h thread-private.h
language.64.o: language.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
language.64.o: language.c array.h language.h string-private.h ../config.h debug-private.h
-language.64.o: language.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-language.64.o: language.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-language.64.o: language.c language-private.h ../cups/transcode.h thread-private.h
+language.64.o: language.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+language.64.o: language.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+language.64.o: language.c ipp-private.h ../cups/ipp.h language-private.h
+language.64.o: language.c ../cups/transcode.h thread-private.h
localize.64.o: localize.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
localize.64.o: localize.c array.h language.h string-private.h ../config.h debug-private.h
-localize.64.o: localize.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-localize.64.o: localize.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-localize.64.o: localize.c language-private.h ../cups/transcode.h thread-private.h
+localize.64.o: localize.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+localize.64.o: localize.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+localize.64.o: localize.c ipp-private.h ../cups/ipp.h language-private.h
+localize.64.o: localize.c ../cups/transcode.h thread-private.h
mark.64.o: mark.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
mark.64.o: mark.c array.h language.h string-private.h ../config.h debug-private.h
-mark.64.o: mark.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-mark.64.o: mark.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-mark.64.o: mark.c language-private.h ../cups/transcode.h thread-private.h
+mark.64.o: mark.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+mark.64.o: mark.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+mark.64.o: mark.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
md5.64.o: md5.c md5-private.h string-private.h ../config.h
md5passwd.64.o: md5passwd.c http-private.h ../config.h ../cups/http.h md5-private.h
md5passwd.64.o: md5passwd.c ipp-private.h ../cups/ipp.h string-private.h
notify.64.o: notify.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
notify.64.o: notify.c array.h language.h string-private.h ../config.h debug-private.h
-notify.64.o: notify.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-notify.64.o: notify.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-notify.64.o: notify.c language-private.h ../cups/transcode.h thread-private.h
+notify.64.o: notify.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+notify.64.o: notify.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+notify.64.o: notify.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+notify.64.o: notify.c thread-private.h
options.64.o: options.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
options.64.o: options.c array.h language.h string-private.h ../config.h debug-private.h
-options.64.o: options.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-options.64.o: options.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-options.64.o: options.c language-private.h ../cups/transcode.h thread-private.h
-page.64.o: page.c string-private.h ../config.h debug-private.h ppd.h cups.h array.h
-page.64.o: page.c versioning.h file.h
+options.64.o: options.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+options.64.o: options.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+options.64.o: options.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+options.64.o: options.c thread-private.h
+page.64.o: page.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+page.64.o: page.c ppd.h cups.h array.h versioning.h file.h
ppd.64.o: ppd.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h array.h
-ppd.64.o: ppd.c language.h string-private.h ../config.h debug-private.h ppd-private.h
-ppd.64.o: ppd.c ../cups/ppd.h cups.h pwg-private.h http-private.h ../cups/http.h
-ppd.64.o: ppd.c md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-ppd.64.o: ppd.c ../cups/transcode.h thread-private.h
+ppd.64.o: ppd.c language.h string-private.h ../config.h debug-private.h
+ppd.64.o: ppd.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+ppd.64.o: ppd.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+ppd.64.o: ppd.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
ppd-cache.64.o: ppd-cache.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
ppd-cache.64.o: ppd-cache.c array.h language.h string-private.h ../config.h debug-private.h
-ppd-cache.64.o: ppd-cache.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-ppd-cache.64.o: ppd-cache.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-ppd-cache.64.o: ppd-cache.c language-private.h ../cups/transcode.h thread-private.h
+ppd-cache.64.o: ppd-cache.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+ppd-cache.64.o: ppd-cache.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+ppd-cache.64.o: ppd-cache.c ipp-private.h ../cups/ipp.h language-private.h
+ppd-cache.64.o: ppd-cache.c ../cups/transcode.h thread-private.h
pwg-media.64.o: pwg-media.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
pwg-media.64.o: pwg-media.c array.h language.h string-private.h ../config.h debug-private.h
-pwg-media.64.o: pwg-media.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-pwg-media.64.o: pwg-media.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-pwg-media.64.o: pwg-media.c language-private.h ../cups/transcode.h thread-private.h
+pwg-media.64.o: pwg-media.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+pwg-media.64.o: pwg-media.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+pwg-media.64.o: pwg-media.c ipp-private.h ../cups/ipp.h language-private.h
+pwg-media.64.o: pwg-media.c ../cups/transcode.h thread-private.h
request.64.o: request.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
request.64.o: request.c array.h language.h string-private.h ../config.h debug-private.h
-request.64.o: request.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-request.64.o: request.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-request.64.o: request.c language-private.h ../cups/transcode.h thread-private.h
+request.64.o: request.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+request.64.o: request.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+request.64.o: request.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+request.64.o: request.c thread-private.h
sidechannel.64.o: sidechannel.c sidechannel.h versioning.h string-private.h ../config.h
-sidechannel.64.o: sidechannel.c debug-private.h
+sidechannel.64.o: sidechannel.c debug-private.h ../cups/versioning.h
snmp.64.o: snmp.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
snmp.64.o: snmp.c array.h language.h string-private.h ../config.h debug-private.h
-snmp.64.o: snmp.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-snmp.64.o: snmp.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-snmp.64.o: snmp.c language-private.h ../cups/transcode.h thread-private.h
+snmp.64.o: snmp.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+snmp.64.o: snmp.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+snmp.64.o: snmp.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
snmp.64.o: snmp.c snmp-private.h
snprintf.64.o: snprintf.c string-private.h ../config.h
-string.64.o: string.c string-private.h ../config.h debug-private.h thread-private.h
-string.64.o: string.c array.h versioning.h
+string.64.o: string.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+string.64.o: string.c thread-private.h array.h versioning.h
tempfile.64.o: tempfile.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
tempfile.64.o: tempfile.c array.h language.h string-private.h ../config.h debug-private.h
-tempfile.64.o: tempfile.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-tempfile.64.o: tempfile.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-tempfile.64.o: tempfile.c language-private.h ../cups/transcode.h thread-private.h
+tempfile.64.o: tempfile.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+tempfile.64.o: tempfile.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+tempfile.64.o: tempfile.c ipp-private.h ../cups/ipp.h language-private.h
+tempfile.64.o: tempfile.c ../cups/transcode.h thread-private.h
thread.64.o: thread.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
thread.64.o: thread.c array.h language.h string-private.h ../config.h debug-private.h
-thread.64.o: thread.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-thread.64.o: thread.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-thread.64.o: thread.c language-private.h ../cups/transcode.h thread-private.h
+thread.64.o: thread.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+thread.64.o: thread.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+thread.64.o: thread.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+thread.64.o: thread.c thread-private.h
transcode.64.o: transcode.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
transcode.64.o: transcode.c array.h language.h string-private.h ../config.h debug-private.h
-transcode.64.o: transcode.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-transcode.64.o: transcode.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-transcode.64.o: transcode.c language-private.h ../cups/transcode.h thread-private.h
+transcode.64.o: transcode.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+transcode.64.o: transcode.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+transcode.64.o: transcode.c ipp-private.h ../cups/ipp.h language-private.h
+transcode.64.o: transcode.c ../cups/transcode.h thread-private.h
usersys.64.o: usersys.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
usersys.64.o: usersys.c array.h language.h string-private.h ../config.h debug-private.h
-usersys.64.o: usersys.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-usersys.64.o: usersys.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-usersys.64.o: usersys.c language-private.h ../cups/transcode.h thread-private.h
+usersys.64.o: usersys.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+usersys.64.o: usersys.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+usersys.64.o: usersys.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+usersys.64.o: usersys.c thread-private.h
util.64.o: util.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
util.64.o: util.c array.h language.h string-private.h ../config.h debug-private.h
-util.64.o: util.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-util.64.o: util.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-util.64.o: util.c language-private.h ../cups/transcode.h thread-private.h
+util.64.o: util.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+util.64.o: util.c http-private.h ../cups/http.h md5-private.h ipp-private.h
+util.64.o: util.c ../cups/ipp.h language-private.h ../cups/transcode.h thread-private.h
testadmin.64.o: testadmin.c adminutil.h cups.h string-private.h ../config.h
-testarray.64.o: testarray.c string-private.h ../config.h debug-private.h array.h
-testarray.64.o: testarray.c versioning.h dir.h
+testarray.64.o: testarray.c string-private.h ../config.h debug-private.h
+testarray.64.o: testarray.c ../cups/versioning.h array.h versioning.h dir.h
testconflicts.64.o: testconflicts.c cups.h ppd.h array.h versioning.h file.h string-private.h
testconflicts.64.o: testconflicts.c ../config.h
testcups.64.o: testcups.c string-private.h ../config.h cups.h ppd.h array.h versioning.h
testcups.64.o: testcups.c file.h
-testfile.64.o: testfile.c string-private.h ../config.h debug-private.h file.h versioning.h
+testfile.64.o: testfile.c string-private.h ../config.h debug-private.h ../cups/versioning.h
+testfile.64.o: testfile.c file.h versioning.h
testhttp.64.o: testhttp.c string-private.h ../config.h http-private.h ../cups/http.h
testhttp.64.o: testhttp.c md5-private.h ipp-private.h ../cups/ipp.h
testi18n.64.o: testi18n.c string-private.h ../config.h language-private.h
@@ -707,29 +783,31 @@ testipp.64.o: testipp.c file.h versioning.h string-private.h ../config.h ipp-pr
testipp.64.o: testipp.c ../cups/ipp.h
testoptions.64.o: testoptions.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testoptions.64.o: testoptions.c array.h language.h string-private.h ../config.h
-testoptions.64.o: testoptions.c debug-private.h ppd-private.h ../cups/ppd.h cups.h
-testoptions.64.o: testoptions.c pwg-private.h http-private.h ../cups/http.h md5-private.h
-testoptions.64.o: testoptions.c ipp-private.h ../cups/ipp.h language-private.h
-testoptions.64.o: testoptions.c ../cups/transcode.h thread-private.h
+testoptions.64.o: testoptions.c debug-private.h ../cups/versioning.h ppd-private.h
+testoptions.64.o: testoptions.c ../cups/ppd.h cups.h pwg-private.h http-private.h
+testoptions.64.o: testoptions.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testoptions.64.o: testoptions.c language-private.h ../cups/transcode.h thread-private.h
testlang.64.o: testlang.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testlang.64.o: testlang.c array.h language.h string-private.h ../config.h debug-private.h
-testlang.64.o: testlang.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-testlang.64.o: testlang.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testlang.64.o: testlang.c language-private.h ../cups/transcode.h thread-private.h
+testlang.64.o: testlang.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+testlang.64.o: testlang.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+testlang.64.o: testlang.c ipp-private.h ../cups/ipp.h language-private.h
+testlang.64.o: testlang.c ../cups/transcode.h thread-private.h
testppd.64.o: testppd.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testppd.64.o: testppd.c array.h language.h string-private.h ../config.h debug-private.h
-testppd.64.o: testppd.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-testppd.64.o: testppd.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testppd.64.o: testppd.c language-private.h ../cups/transcode.h thread-private.h
+testppd.64.o: testppd.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+testppd.64.o: testppd.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+testppd.64.o: testppd.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
+testppd.64.o: testppd.c thread-private.h
testpwg.64.o: testpwg.c ppd-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testpwg.64.o: testpwg.c array.h language.h ../cups/ppd.h cups.h pwg-private.h
testpwg.64.o: testpwg.c file-private.h cups-private.h string-private.h ../config.h
-testpwg.64.o: testpwg.c debug-private.h http-private.h ../cups/http.h md5-private.h
-testpwg.64.o: testpwg.c ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-testpwg.64.o: testpwg.c thread-private.h
+testpwg.64.o: testpwg.c debug-private.h ../cups/versioning.h http-private.h ../cups/http.h
+testpwg.64.o: testpwg.c md5-private.h ipp-private.h ../cups/ipp.h language-private.h
+testpwg.64.o: testpwg.c ../cups/transcode.h thread-private.h
testsnmp.64.o: testsnmp.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
testsnmp.64.o: testsnmp.c array.h language.h string-private.h ../config.h debug-private.h
-testsnmp.64.o: testsnmp.c ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
-testsnmp.64.o: testsnmp.c ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
-testsnmp.64.o: testsnmp.c language-private.h ../cups/transcode.h thread-private.h
-testsnmp.64.o: testsnmp.c snmp-private.h
+testsnmp.64.o: testsnmp.c ../cups/versioning.h ppd-private.h ../cups/ppd.h cups.h
+testsnmp.64.o: testsnmp.c pwg-private.h http-private.h ../cups/http.h md5-private.h
+testsnmp.64.o: testsnmp.c ipp-private.h ../cups/ipp.h language-private.h
+testsnmp.64.o: testsnmp.c ../cups/transcode.h thread-private.h snmp-private.h
diff --git a/cups/auth.c b/cups/auth.c
index 5a75d2b42..1351581e0 100644
--- a/cups/auth.c
+++ b/cups/auth.c
@@ -419,7 +419,6 @@ _cupsSetNegotiateAuthString(
}
}
}
- else
#endif /* HAVE_GSS_ACQUIRED_CRED_EX_F */
if (GSS_ERROR(major_status))
diff --git a/cups/cups.h b/cups/cups.h
index 857f17fbe..0a123c728 100644
--- a/cups/cups.h
+++ b/cups/cups.h
@@ -36,18 +36,6 @@ typedef off_t ssize_t; /* @private@ */
/*
- * With GCC 3.0 and higher, we can mark old APIs "deprecated" so you get
- * a warning at compile-time.
- */
-
-# if defined(__GNUC__) && __GNUC__ > 2
-# define _CUPS_DEPRECATED __attribute__ ((__deprecated__))
-# else
-# define _CUPS_DEPRECATED
-# endif /* __GNUC__ && __GNUC__ > 2 */
-
-
-/*
* C++ magic...
*/
diff --git a/cups/debug-private.h b/cups/debug-private.h
index c739fa68a..e40e58386 100644
--- a/cups/debug-private.h
+++ b/cups/debug-private.h
@@ -18,6 +18,14 @@
#ifndef _CUPS_DEBUG_PRIVATE_H_
# define _CUPS_DEBUG_PRIVATE_H_
+
+/*
+ * Include necessary headers...
+ */
+
+# include <cups/versioning.h>
+
+
/*
* C++ magic...
*/
@@ -88,10 +96,7 @@ extern "C" {
extern int _cups_debug_fd;
extern int _cups_debug_level;
extern void DLLExport _cups_debug_printf(const char *format, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 1, 2)))
-#endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 1, 2)));
extern void DLLExport _cups_debug_puts(const char *s);
extern void DLLExport _cups_debug_set(const char *logfile,
const char *level, const char *filter,
diff --git a/cups/file.c b/cups/file.c
index daa09da85..c6c1cfe56 100644
--- a/cups/file.c
+++ b/cups/file.c
@@ -167,19 +167,13 @@ _cupsFileCheck(
* Verify permission of the file itself:
*
* 1. Must be owned by root
- * 2. Must not be writable by group unless group is root/wheel/admin
+ * 2. Must not be writable by group
* 3. Must not be setuid
* 4. Must not be writable by others
*/
if (fileinfo.st_uid || /* 1. Must be owned by root */
-#ifdef __APPLE__
- ((fileinfo.st_mode & S_IWGRP) && fileinfo.st_gid &&
- fileinfo.st_gid != 80) || /* 2. Must not be writable by group */
-#else
- ((fileinfo.st_mode & S_IWGRP) && fileinfo.st_gid) ||
- /* 2. Must not be writable by group */
-#endif /* __APPLE__ */
+ (fileinfo.st_mode & S_IWGRP) || /* 2. Must not be writable by group */
(fileinfo.st_mode & S_ISUID) || /* 3. Must not be setuid */
(fileinfo.st_mode & S_IWOTH)) /* 4. Must not be writable by others */
{
@@ -218,13 +212,7 @@ _cupsFileCheck(
}
if (fileinfo.st_uid || /* 1. Must be owned by root */
-#ifdef __APPLE__
- ((fileinfo.st_mode & S_IWGRP) && fileinfo.st_gid &&
- fileinfo.st_gid != 80) || /* 2. Must not be writable by group */
-#else
- ((fileinfo.st_mode & S_IWGRP) && fileinfo.st_gid) ||
- /* 2. Must not be writable by group */
-#endif /* __APPLE__ */
+ (fileinfo.st_mode & S_IWGRP) || /* 2. Must not be writable by group */
(fileinfo.st_mode & S_ISUID) || /* 3. Must not be setuid */
(fileinfo.st_mode & S_IWOTH)) /* 4. Must not be writable by others */
{
diff --git a/cups/file.h b/cups/file.h
index 5f02b5c91..1428c576d 100644
--- a/cups/file.h
+++ b/cups/file.h
@@ -72,26 +72,29 @@ extern const char *cupsFileFind(const char *filename, const char *path,
int bufsize) _CUPS_API_1_2;
extern int cupsFileFlush(cups_file_t *fp) _CUPS_API_1_2;
extern int cupsFileGetChar(cups_file_t *fp) _CUPS_API_1_2;
-extern char *cupsFileGetConf(cups_file_t *fp, char *buf, size_t buflen,
- char **value, int *linenum) _CUPS_API_1_2;
+extern char *cupsFileGetConf(cups_file_t *fp, char *buf,
+ size_t buflen, char **value,
+ int *linenum) _CUPS_API_1_2;
extern size_t cupsFileGetLine(cups_file_t *fp, char *buf,
size_t buflen) _CUPS_API_1_2;
-extern char *cupsFileGets(cups_file_t *fp, char *buf, size_t buflen) _CUPS_API_1_2;
+extern char *cupsFileGets(cups_file_t *fp, char *buf, size_t buflen)
+ _CUPS_API_1_2;
extern int cupsFileLock(cups_file_t *fp, int block) _CUPS_API_1_2;
extern int cupsFileNumber(cups_file_t *fp) _CUPS_API_1_2;
-extern cups_file_t *cupsFileOpen(const char *filename, const char *mode) _CUPS_API_1_2;
+extern cups_file_t *cupsFileOpen(const char *filename, const char *mode)
+ _CUPS_API_1_2;
extern cups_file_t *cupsFileOpenFd(int fd, const char *mode) _CUPS_API_1_2;
extern int cupsFilePeekChar(cups_file_t *fp) _CUPS_API_1_2;
extern int cupsFilePrintf(cups_file_t *fp, const char *format, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-_CUPS_API_1_2;
+ __attribute__((__format__ (__printf__, 2, 3)))
+ _CUPS_API_1_2;
extern int cupsFilePutChar(cups_file_t *fp, int c) _CUPS_API_1_2;
extern ssize_t cupsFilePutConf(cups_file_t *fp, const char *directive,
const char *value) _CUPS_API_1_4;
-extern int cupsFilePuts(cups_file_t *fp, const char *s) _CUPS_API_1_2;
-extern ssize_t cupsFileRead(cups_file_t *fp, char *buf, size_t bytes) _CUPS_API_1_2;
+extern int cupsFilePuts(cups_file_t *fp, const char *s)
+ _CUPS_API_1_2;
+extern ssize_t cupsFileRead(cups_file_t *fp, char *buf, size_t bytes)
+ _CUPS_API_1_2;
extern off_t cupsFileRewind(cups_file_t *fp) _CUPS_API_1_2;
extern off_t cupsFileSeek(cups_file_t *fp, off_t pos) _CUPS_API_1_2;
extern cups_file_t *cupsFileStderr(void) _CUPS_API_1_2;
@@ -99,7 +102,8 @@ extern cups_file_t *cupsFileStdin(void) _CUPS_API_1_2;
extern cups_file_t *cupsFileStdout(void) _CUPS_API_1_2;
extern off_t cupsFileTell(cups_file_t *fp) _CUPS_API_1_2;
extern int cupsFileUnlock(cups_file_t *fp) _CUPS_API_1_2;
-extern ssize_t cupsFileWrite(cups_file_t *fp, const char *buf, size_t bytes) _CUPS_API_1_2;
+extern ssize_t cupsFileWrite(cups_file_t *fp, const char *buf,
+ size_t bytes) _CUPS_API_1_2;
# ifdef __cplusplus
diff --git a/cups/http-private.h b/cups/http-private.h
index 56a9b7282..ab98b5ab3 100644
--- a/cups/http-private.h
+++ b/cups/http-private.h
@@ -245,14 +245,14 @@ struct _http_s /**** HTTP connection structure. ****/
http_status_t status; /* Status of last request */
http_version_t version; /* Protocol version */
http_keepalive_t keep_alive; /* Keep-alive supported? */
- struct sockaddr_in _hostaddr; /* Address of connected host @deprecated@ */
+ struct sockaddr_in _hostaddr; /* Address of connected host (deprecated) */
char hostname[HTTP_MAX_HOST],
/* Name of connected host */
fields[HTTP_FIELD_MAX][HTTP_MAX_VALUE];
/* Field values */
char *data; /* Pointer to data buffer */
http_encoding_t data_encoding; /* Chunked or not */
- int _data_remaining;/* Number of bytes left @deprecated@ */
+ int _data_remaining;/* Number of bytes left (deprecated) */
int used; /* Number of bytes used in buffer */
char buffer[HTTP_MAX_BUFFER];
/* Buffer for incoming data */
@@ -264,40 +264,41 @@ struct _http_s /**** HTTP connection structure. ****/
http_tls_t tls; /* TLS state information */
http_encryption_t encryption; /* Encryption requirements */
/**** New in CUPS 1.1.19 ****/
- fd_set *input_set; /* select() set for httpWait() @deprecated@ */
- http_status_t expect; /* Expect: header @since CUPS 1.1.19@ */
- char *cookie; /* Cookie value(s) @since CUPS 1.1.19@ */
+ fd_set *input_set; /* select() set for httpWait() (deprecated) */
+ http_status_t expect; /* Expect: header */
+ char *cookie; /* Cookie value(s) */
/**** New in CUPS 1.1.20 ****/
char _authstring[HTTP_MAX_VALUE],
- /* Current Authentication value. @deprecated@ */
+ /* Current Authentication value (deprecated) */
userpass[HTTP_MAX_VALUE];
- /* Username:password string @since CUPS 1.1.20@ */
- int digest_tries; /* Number of tries for digest auth @since CUPS 1.1.20@ */
+ /* Username:password string */
+ int digest_tries; /* Number of tries for digest auth */
/**** New in CUPS 1.2 ****/
- off_t data_remaining; /* Number of bytes left @since CUPS 1.2@ */
- http_addr_t *hostaddr; /* Current host address and port @since CUPS 1.2@ */
- http_addrlist_t *addrlist; /* List of valid addresses @since CUPS 1.2@ */
+ off_t data_remaining; /* Number of bytes left */
+ http_addr_t *hostaddr; /* Current host address and port */
+ http_addrlist_t *addrlist; /* List of valid addresses */
char wbuffer[HTTP_MAX_BUFFER];
/* Buffer for outgoing data */
- int wused; /* Write buffer bytes used @since CUPS 1.2@ */
+ int wused; /* Write buffer bytes used */
/**** New in CUPS 1.3 ****/
char *field_authorization;
- /* Authorization field @since CUPS 1.3@ */
- char *authstring; /* Current authorization field @since CUPS 1.3 */
+ /* Authorization field */
+ char *authstring; /* Current authorization field */
# ifdef HAVE_GSSAPI
- gss_OID gssmech; /* Authentication mechanism @since CUPS 1.3@ */
- gss_ctx_id_t gssctx; /* Authentication context @since CUPS 1.3@ */
- gss_name_t gssname; /* Authentication server name @since CUPS 1.3@ */
+ gss_OID gssmech; /* Authentication mechanism */
+ gss_ctx_id_t gssctx; /* Authentication context */
+ gss_name_t gssname; /* Authentication server name */
# endif /* HAVE_GSSAPI */
# ifdef HAVE_AUTHORIZATION_H
- AuthorizationRef auth_ref; /* Authorization ref @since CUPS 1.3@ */
+ AuthorizationRef auth_ref; /* Authorization ref */
# endif /* HAVE_AUTHORIZATION_H */
/**** New in CUPS 1.5 ****/
http_tls_credentials_t tls_credentials;
- /* TLS credentials @since CUPS 1.5/Mac OS X 10.7@ */
- http_timeout_cb_t timeout_cb; /* Timeout callback @since CUPS 1.5/Mac OS X 10.7@ */
- void *timeout_data; /* User data pointer @since CUPS 1.5/Mac OS X 10.7@ */
- struct timeval timeout_value; /* Timeout in seconds */
+ /* TLS credentials */
+ http_timeout_cb_t timeout_cb; /* Timeout callback */
+ void *timeout_data; /* User data pointer */
+ double timeout_value; /* Timeout in seconds */
+ int wait_value; /* httpWait value for timeout */
# ifdef HAVE_GSSAPI
char gsshost[256]; /* Hostname for Kerberos */
# endif /* HAVE_GSSAPI */
@@ -371,12 +372,12 @@ extern void _httpAddrSetPort(http_addr_t *addr, int port);
extern char *_httpAssembleUUID(const char *server, int port,
const char *name, int number,
char *buffer, size_t bufsize);
-extern http_tls_credentials_t
- _httpConvertCredentials(cups_array_t *credentials);
extern http_t *_httpCreate(const char *host, int port,
http_addrlist_t *addrlist,
http_encryption_t encryption,
int family);
+extern http_tls_credentials_t
+ _httpCreateCredentials(cups_array_t *credentials);
extern char *_httpDecodeURI(char *dst, const char *src,
size_t dstsize);
extern void _httpDisconnect(http_t *http);
diff --git a/cups/http-support.c b/cups/http-support.c
index c6ca6c2a5..7c30f4d9f 100644
--- a/cups/http-support.c
+++ b/cups/http-support.c
@@ -216,7 +216,7 @@ httpAssembleURI(
* Add username@ first...
*/
- ptr = http_copy_encode(ptr, username, end, "/?@", NULL,
+ ptr = http_copy_encode(ptr, username, end, "/?#[]@", NULL,
encoding & HTTP_URI_CODING_USERNAME);
if (!ptr)
diff --git a/cups/http.c b/cups/http.c
index 8aab65a1d..c5489e71b 100644
--- a/cups/http.c
+++ b/cups/http.c
@@ -34,8 +34,8 @@
* httpConnectEncrypt() - Connect to a HTTP server using encryption.
* httpCopyCredentials() - Copy the credentials associated with an
* encrypted connection.
- * _httpConvertCredentials() - Convert credentials to the internal format.
* _httpCreate() - Create an unconnected HTTP connection.
+ * _httpCreateCredentials() - Create credentials in the internal format.
* httpDelete() - Send a DELETE request to the server.
* _httpDisconnect() - Disconnect a HTTP connection.
* httpEncryption() - Set the required encryption on the link.
@@ -107,6 +107,8 @@
* http_send() - Send a request with all fields and the trailing
* blank line.
* http_set_credentials() - Set the SSL/TLS credentials.
+ * http_set_timeout() - Set the socket timeout values.
+ * http_set_wait() - Set the default wait value for reads.
* http_setup_ssl() - Set up SSL/TLS support on a connection.
* http_shutdown_ssl() - Shut down SSL/TLS on a connection.
* http_threadid_cb() - Return the current thread ID.
@@ -164,6 +166,8 @@ static int http_read_ssl(http_t *http, char *buf, int len);
# if defined(HAVE_CDSASSL) && defined(HAVE_SECCERTIFICATECOPYDATA)
static int http_set_credentials(http_t *http);
# endif /* HAVE_CDSASSL ** HAVE_SECCERTIFICATECOPYDATA */
+static void http_set_timeout(int fd, double timeout);
+static void http_set_wait(http_t *http);
static int http_setup_ssl(http_t *http);
static void http_shutdown_ssl(http_t *http);
static int http_upgrade(http_t *http);
@@ -311,7 +315,10 @@ httpBlocking(http_t *http, /* I - Connection to server */
int b) /* I - 1 = blocking, 0 = non-blocking */
{
if (http)
+ {
http->blocking = b;
+ http_set_wait(http);
+ }
}
@@ -557,64 +564,6 @@ httpCopyCredentials(
/*
- * '_httpConvertCredentials()' - Convert credentials to the internal format.
- */
-
-http_tls_credentials_t /* O - Internal credentials */
-_httpConvertCredentials(
- cups_array_t *credentials) /* I - Array of credentials */
-{
- if (!credentials)
- return (NULL);
-
-# ifdef HAVE_LIBSSL
- return (NULL);
-
-# elif defined(HAVE_GNUTLS)
- return (NULL);
-
-# elif defined(HAVE_CDSASSL) && defined(HAVE_SECCERTIFICATECOPYDATA)
- CFMutableArrayRef peerCerts; /* Peer credentials reference */
- SecCertificateRef secCert; /* Certificate reference */
- CFDataRef data; /* Credential data reference */
- http_credential_t *credential; /* Credential data */
-
-
- if ((peerCerts = CFArrayCreateMutable(kCFAllocatorDefault,
- cupsArrayCount(credentials),
- &kCFTypeArrayCallBacks)) == NULL)
- return (NULL);
-
- for (credential = (http_credential_t *)cupsArrayFirst(credentials);
- credential;
- credential = (http_credential_t *)cupsArrayNext(credentials))
- {
- if ((data = CFDataCreate(kCFAllocatorDefault, credential->data,
- credential->datalen)))
- {
- if ((secCert = SecCertificateCreateWithData(kCFAllocatorDefault, data))
- != NULL)
- {
- CFArrayAppendValue(peerCerts, secCert);
- CFRelease(secCert);
- }
-
- CFRelease(data);
- }
- }
-
- return (peerCerts);
-
-# elif defined(HAVE_SSPISSL)
- return (NULL);
-
-# else
- return (NULL);
-# endif /* HAVE_LIBSSL */
-}
-
-
-/*
* '_httpCreate()' - Create an unconnected HTTP connection.
*/
@@ -679,6 +628,8 @@ _httpCreate(
else
http->encryption = encryption;
+ http_set_wait(http);
+
/*
* Return the new structure...
*/
@@ -688,6 +639,64 @@ _httpCreate(
/*
+ * '_httpCreateCredentials()' - Create credentials in the internal format.
+ */
+
+http_tls_credentials_t /* O - Internal credentials */
+_httpCreateCredentials(
+ cups_array_t *credentials) /* I - Array of credentials */
+{
+ if (!credentials)
+ return (NULL);
+
+# ifdef HAVE_LIBSSL
+ return (NULL);
+
+# elif defined(HAVE_GNUTLS)
+ return (NULL);
+
+# elif defined(HAVE_CDSASSL) && defined(HAVE_SECCERTIFICATECOPYDATA)
+ CFMutableArrayRef peerCerts; /* Peer credentials reference */
+ SecCertificateRef secCert; /* Certificate reference */
+ CFDataRef data; /* Credential data reference */
+ http_credential_t *credential; /* Credential data */
+
+
+ if ((peerCerts = CFArrayCreateMutable(kCFAllocatorDefault,
+ cupsArrayCount(credentials),
+ &kCFTypeArrayCallBacks)) == NULL)
+ return (NULL);
+
+ for (credential = (http_credential_t *)cupsArrayFirst(credentials);
+ credential;
+ credential = (http_credential_t *)cupsArrayNext(credentials))
+ {
+ if ((data = CFDataCreate(kCFAllocatorDefault, credential->data,
+ credential->datalen)))
+ {
+ if ((secCert = SecCertificateCreateWithData(kCFAllocatorDefault, data))
+ != NULL)
+ {
+ CFArrayAppendValue(peerCerts, secCert);
+ CFRelease(secCert);
+ }
+
+ CFRelease(data);
+ }
+ }
+
+ return (peerCerts);
+
+# elif defined(HAVE_SSPISSL)
+ return (NULL);
+
+# else
+ return (NULL);
+# endif /* HAVE_LIBSSL */
+}
+
+
+/*
* 'httpDelete()' - Send a DELETE request to the server.
*/
@@ -1314,7 +1323,7 @@ httpGets(char *line, /* I - Line to read into */
* No newline; see if there is more data to be read...
*/
- while (!_httpWait(http, http->blocking ? 30000 : 10000, 1))
+ while (!_httpWait(http, http->wait_value, 1))
{
if (http->timeout_cb && (*http->timeout_cb)(http, http->timeout_data))
continue;
@@ -1639,7 +1648,7 @@ _httpPeek(http_t *http, /* I - Connection to server */
if (!http->blocking)
{
- while (!httpWait(http, 10000))
+ while (!httpWait(http, http->wait_value))
{
if (http->timeout_cb && (*http->timeout_cb)(http, http->timeout_data))
continue;
@@ -1903,7 +1912,7 @@ httpRead2(http_t *http, /* I - Connection to server */
if (!http->blocking)
{
- while (!httpWait(http, 10000))
+ while (!httpWait(http, http->wait_value))
{
if (http->timeout_cb && (*http->timeout_cb)(http, http->timeout_data))
continue;
@@ -1999,7 +2008,7 @@ httpRead2(http_t *http, /* I - Connection to server */
{
if (!http->blocking)
{
- while (!httpWait(http, 10000))
+ while (!httpWait(http, http->wait_value))
{
if (http->timeout_cb && (*http->timeout_cb)(http, http->timeout_data))
continue;
@@ -2015,7 +2024,7 @@ httpRead2(http_t *http, /* I - Connection to server */
{
if (!http->blocking)
{
- while (!httpWait(http, 10000))
+ while (!httpWait(http, http->wait_value))
{
if (http->timeout_cb && (*http->timeout_cb)(http, http->timeout_data))
continue;
@@ -2132,7 +2141,7 @@ _httpReadCDSA(
* Make sure we have data before we read...
*/
- while (!_httpWait(http, 10000, 0))
+ while (!_httpWait(http, http->wait_value, 0))
{
if (http->timeout_cb && (*http->timeout_cb)(http, http->timeout_data))
continue;
@@ -2199,7 +2208,7 @@ _httpReadGNUTLS(
* Make sure we have data before we read...
*/
- while (!_httpWait(http, 10000, 0))
+ while (!_httpWait(http, http->wait_value, 0))
{
if (http->timeout_cb && (*http->timeout_cb)(http, http->timeout_data))
continue;
@@ -2292,24 +2301,8 @@ httpReconnect(http_t *http) /* I - Connection to server */
DEBUG_printf(("2httpReconnect: New socket=%d", http->fd));
- if (http->timeout_value.tv_sec > 0)
- {
-#ifdef WIN32
- DWORD timeout_value = http->timeout_value.tv_sec * 1000 +
- http->timeout_value.tv_usec / 1000;
- /* Timeout in milliseconds */
-
- setsockopt(http->fd, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout_value,
- sizeof(timeout_value));
- setsockopt(http->fd, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout_value,
- sizeof(timeout_value));
-#else
- setsockopt(http->fd, SOL_SOCKET, SO_RCVTIMEO, &(http->timeout_value),
- sizeof(http->timeout_value));
- setsockopt(http->fd, SOL_SOCKET, SO_SNDTIMEO, &(http->timeout_value),
- sizeof(http->timeout_value));
-#endif /* WIN32 */
- }
+ if (http->timeout_value > 0)
+ http_set_timeout(http->fd, http->timeout_value);
http->hostaddr = &(addr->addr);
http->error = 0;
@@ -2422,7 +2415,7 @@ httpSetCredentials(http_t *http, /* I - Connection to server */
_httpFreeCredentials(http->tls_credentials);
- http->tls_credentials = _httpConvertCredentials(credentials);
+ http->tls_credentials = _httpCreateCredentials(credentials);
return (http->tls_credentials ? 0 : -1);
}
@@ -2585,30 +2578,14 @@ httpSetTimeout(
if (!http || timeout <= 0.0)
return;
- http->timeout_cb = cb;
- http->timeout_data = user_data;
- http->timeout_value.tv_sec = (int)timeout;
- http->timeout_value.tv_usec = (int)(timeout * 1000000) % 1000000;
+ http->timeout_cb = cb;
+ http->timeout_data = user_data;
+ http->timeout_value = timeout;
if (http->fd >= 0)
- {
-#ifdef WIN32
- DWORD timeout_value = http->timeout_value.tv_sec * 1000 +
- http->timeout_value.tv_usec / 1000;
- /* Timeout in milliseconds */
+ http_set_timeout(http->fd, timeout);
- setsockopt(http->fd, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout_value,
- sizeof(timeout_value));
- setsockopt(http->fd, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout_value,
- sizeof(timeout_value));
-
-#else
- setsockopt(http->fd, SOL_SOCKET, SO_RCVTIMEO, &(http->timeout_value),
- sizeof(http->timeout_value));
- setsockopt(http->fd, SOL_SOCKET, SO_SNDTIMEO, &(http->timeout_value),
- sizeof(http->timeout_value));
-#endif /* WIN32 */
- }
+ http_set_wait(http);
}
@@ -3324,7 +3301,7 @@ http_bio_read(BIO *h, /* I - BIO data */
* Make sure we have data before we read...
*/
- while (!_httpWait(http, 10000, 0))
+ while (!_httpWait(http, http->wait_value, 0))
{
if (http->timeout_cb && (*http->timeout_cb)(http, http->timeout_data))
continue;
@@ -3771,6 +3748,52 @@ http_set_credentials(http_t *http) /* I - Connection to server */
/*
+ * 'http_set_timeout()' - Set the socket timeout values.
+ */
+
+static void
+http_set_timeout(int fd, /* I - File descriptor */
+ double timeout) /* I - Timeout in seconds */
+{
+#ifdef WIN32
+ DWORD tv = (DWORD)(timeout * 1000);
+ /* Timeout in milliseconds */
+
+ setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(tv));
+ setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, (char *)&tv, sizeof(tv));
+
+#else
+ struct timeval tv; /* Timeout in secs and usecs */
+
+ tv.tv_sec = (int)timeout;
+ tv.tv_usec = (int)(1000000 * fmod(timeout, 1.0));
+
+ setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));
+ setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
+#endif /* WIN32 */
+}
+
+
+/*
+ * 'http_set_wait()' - Set the default wait value for reads.
+ */
+
+static void
+http_set_wait(http_t *http) /* I - Connection to server */
+{
+ if (http->blocking)
+ {
+ http->wait_value = (int)(http->timeout_value * 1000);
+
+ if (http->wait_value <= 0)
+ http->wait_value = 60000;
+ }
+ else
+ http->wait_value = 10000;
+}
+
+
+/*
* 'http_setup_ssl()' - Set up SSL/TLS support on a connection.
*/
@@ -4014,7 +4037,7 @@ http_setup_ssl(http_t *http) /* I - Connection to server */
{
error = SSLHandshake(http->tls);
- DEBUG_printf(("4_httpWait: SSLHandshake returned %d.", (int)error));
+ DEBUG_printf(("4http_setup_ssl: SSLHandshake returned %d.", (int)error));
switch (error)
{
@@ -4039,7 +4062,7 @@ http_setup_ssl(http_t *http) /* I - Connection to server */
httpFreeCredentials(credentials);
}
- DEBUG_printf(("4_httpWait: Server certificate callback returned "
+ DEBUG_printf(("4http_setup_ssl: Server certificate callback returned "
"%d.", (int)error));
}
break;
@@ -4080,7 +4103,7 @@ http_setup_ssl(http_t *http) /* I - Connection to server */
error = (cg->client_cert_cb)(http, http->tls, names,
cg->client_cert_data);
- DEBUG_printf(("4_httpWait: Client certificate callback "
+ DEBUG_printf(("4http_setup_ssl: Client certificate callback "
"returned %d.", (int)error));
}
@@ -4361,6 +4384,62 @@ http_write(http_t *http, /* I - Connection to server */
while (length > 0)
{
+ if (http->timeout_cb)
+ {
+#ifdef HAVE_POLL
+ struct pollfd pfd; /* Polled file descriptor */
+#else
+ fd_set output_set; /* Output ready for write? */
+ struct timeval timeout; /* Timeout value */
+#endif /* HAVE_POLL */
+ int nfds; /* Result from select()/poll() */
+
+ do
+ {
+#ifdef HAVE_POLL
+ pfd.fd = http->fd;
+ pfd.events = POLLOUT;
+
+ while ((nfds = poll(&pfd, 1, http->wait_value)) < 0 &&
+ (errno == EINTR || errno == EAGAIN));
+
+#else
+ do
+ {
+ FD_ZERO(&output_set);
+ FD_SET(http->fd, &output_set);
+
+ timeout.tv_sec = http->wait_value / 1000;
+ timeout.tv_usec = 1000 * (http->wait_value % 1000);
+
+ nfds = select(http->fd + 1, NULL, &output_set, NULL, &timeout);
+ }
+# ifdef WIN32
+ while (nfds < 0 && (WSAGetLastError() == WSAEINTR ||
+ WSAGetLastError() == WSAEWOULDBLOCK));
+# else
+ while (nfds < 0 && (errno == EINTR || errno == EAGAIN));
+# endif /* WIN32 */
+#endif /* HAVE_POLL */
+
+ if (nfds < 0)
+ {
+ http->error = errno;
+ return (-1);
+ }
+ else if (nfds == 0 && !(*http->timeout_cb)(http, http->timeout_data))
+ {
+#ifdef WIN32
+ http->error = ESAEWOULDBLOCK;
+#else
+ http->error = EWOULDBLOCK;
+#endif /* WIN32 */
+ return (-1);
+ }
+ }
+ while (nfds <= 0);
+ }
+
#ifdef HAVE_SSL
if (http->tls)
bytes = http_write_ssl(http, buffer, length);
diff --git a/cups/http.h b/cups/http.h
index 7e4eeb4a2..5e3a42d3a 100644
--- a/cups/http.h
+++ b/cups/http.h
@@ -357,10 +357,7 @@ extern void httpInitialize(void);
extern int httpOptions(http_t *http, const char *uri);
extern int httpPost(http_t *http, const char *uri);
extern int httpPrintf(http_t *http, const char *format, ...)
-# ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-# endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 2, 3)));
extern int httpPut(http_t *http, const char *uri);
extern int httpRead(http_t *http, char *buffer, int length) _CUPS_DEPRECATED;
extern int httpReconnect(http_t *http);
diff --git a/cups/language-private.h b/cups/language-private.h
index 0c10ca54c..6a2a886b1 100644
--- a/cups/language-private.h
+++ b/cups/language-private.h
@@ -62,15 +62,9 @@ extern void _cupsLangPrintError(const char *prefix,
const char *message);
extern int _cupsLangPrintFilter(FILE *fp, const char *prefix,
const char *message, ...)
-# ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
-# endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 3, 4)));
extern int _cupsLangPrintf(FILE *fp, const char *message, ...)
-# ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-# endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 2, 3)));
extern int _cupsLangPuts(FILE *fp, const char *message);
extern const char *_cupsLangString(cups_lang_t *lang,
const char *message);
diff --git a/cups/raster-private.h b/cups/raster-private.h
index 0a1996c5c..169631e68 100644
--- a/cups/raster-private.h
+++ b/cups/raster-private.h
@@ -56,8 +56,10 @@
extern int _cupsRasterExecPS(cups_page_header2_t *h,
int *preferred_bits,
- const char *code);
-extern void _cupsRasterAddError(const char *f, ...);
+ const char *code)
+ __attribute__((nonnull(3)));
+extern void _cupsRasterAddError(const char *f, ...)
+ __attribute__((__format__(__printf__, 1, 2)));
extern void _cupsRasterClearError(void);
#endif /* !_CUPS_RASTER_PRIVATE_H_ */
diff --git a/cups/request.c b/cups/request.c
index e8b142512..a38ec1960 100644
--- a/cups/request.c
+++ b/cups/request.c
@@ -283,26 +283,24 @@ cupsDoIORequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP
break;
}
- if (response)
+ if (response && outfile >= 0)
{
- if (outfile >= 0)
- {
- /*
- * Write trailing data to file...
- */
+ /*
+ * Write trailing data to file...
+ */
- while ((bytes = (int)httpRead2(http, buffer, sizeof(buffer))) > 0)
- if (write(outfile, buffer, bytes) < bytes)
- break;
- }
- else
- {
- /*
- * Flush any remaining data...
- */
+ while ((bytes = (int)httpRead2(http, buffer, sizeof(buffer))) > 0)
+ if (write(outfile, buffer, bytes) < bytes)
+ break;
+ }
- httpFlush(http);
- }
+ if (http->state != HTTP_WAITING)
+ {
+ /*
+ * Flush any remaining data...
+ */
+
+ httpFlush(http);
}
}
diff --git a/cups/string-private.h b/cups/string-private.h
index e16d63b84..bef1aea80 100644
--- a/cups/string-private.h
+++ b/cups/string-private.h
@@ -155,10 +155,7 @@ extern size_t _cups_strlcpy(char *, const char *, size_t);
# ifndef HAVE_SNPRINTF
extern int _cups_snprintf(char *, size_t, const char *, ...)
-# ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
-# endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 3, 4)));
# define snprintf _cups_snprintf
# endif /* !HAVE_SNPRINTF */
diff --git a/cups/testsnmp.c b/cups/testsnmp.c
index 3a3eb9f70..f1498c834 100644
--- a/cups/testsnmp.c
+++ b/cups/testsnmp.c
@@ -36,7 +36,7 @@
static void print_packet(cups_snmp_t *packet, void *data);
static int show_oid(int fd, const char *community,
http_addr_t *addr, const char *s, int walk);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
/*
@@ -119,7 +119,7 @@ main(int argc, /* I - Number of command-line args */
".1.3.6.1.2.1.43.10.2.1.4.1.1", walk))
return (1);
}
-
+
return (0);
}
diff --git a/cups/usersys.c b/cups/usersys.c
index 879b31539..a8784d8a5 100644
--- a/cups/usersys.c
+++ b/cups/usersys.c
@@ -223,7 +223,7 @@ cupsSetCredentials(
return (-1);
_httpFreeCredentials(cg->tls_credentials);
- cg->tls_credentials = _httpConvertCredentials(credentials);
+ cg->tls_credentials = _httpCreateCredentials(credentials);
return (cg->tls_credentials ? 0 : -1);
}
@@ -636,7 +636,9 @@ cups_read_client_conf(
char line[1024], /* Line from file */
*value, /* Pointer into line */
encryption[1024], /* Encryption value */
+#ifndef __APPLE__
server_name[1024], /* ServerName value */
+#endif /* !__APPLE__ */
any_root[1024], /* AllowAnyRoot value */
expired_root[1024], /* AllowExpiredRoot value */
expired_certs[1024]; /* AllowExpiredCerts value */
@@ -658,12 +660,18 @@ cups_read_client_conf(
strlcpy(encryption, value, sizeof(encryption));
cups_encryption = encryption;
}
+#ifndef __APPLE__
+ /*
+ * The Server directive is not supported on Mac OS X due to app sandboxing
+ * restrictions, i.e. not all apps request network access.
+ */
else if (!cups_server && (!cg->server[0] || !cg->ipp_port) &&
!_cups_strcasecmp(line, "ServerName") && value)
{
strlcpy(server_name, value, sizeof(server_name));
cups_server = server_name;
}
+#endif /* !__APPLE__ */
else if (!cups_anyroot && !_cups_strcasecmp(line, "AllowAnyRoot") && value)
{
strlcpy(any_root, value, sizeof(any_root));
diff --git a/cups/versioning.h b/cups/versioning.h
index 92a0a52eb..719483dd7 100644
--- a/cups/versioning.h
+++ b/cups/versioning.h
@@ -3,7 +3,7 @@
*
* API versioning definitions for CUPS.
*
- * Copyright 2007-2010 by Apple Inc.
+ * Copyright 2007-2011 by Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
@@ -20,13 +20,15 @@
/*
* This header defines several constants - _CUPS_DEPRECATED,
* _CUPS_API_1_1, _CUPS_API_1_1_19, _CUPS_API_1_1_20, _CUPS_API_1_1_21,
- * _CUPS_API_1_2, _CUPS_API_1_3, _CUPS_API_1_4, _CUPS_API_1_5 - which add
- * compiler-specific attributes that flag functions that are deprecated or added
- * in particular releases.
+ * _CUPS_API_1_2, _CUPS_API_1_3, _CUPS_API_1_4, _CUPS_API_1_5, _CUPS_API_1_6 -
+ * which add compiler-specific attributes that flag functions that are
+ * deprecated or added in particular releases.
*
* On Mac OS X, the _CUPS_API_* constants are defined based on the values of
* the MAC_OS_X_VERSION_MIN_ALLOWED and MAC_OS_X_VERSION_MAX_ALLOWED constants
* provided by the compiler.
+ *
+ *
*/
# if defined(__APPLE__) && !defined(_CUPS_SOURCE)
@@ -46,6 +48,9 @@
# ifndef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
# define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER __attribute__((unavailable))
# endif /* !AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER */
+# ifndef AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
+# define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER __attribute__((unavailable))
+# endif /* !AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER */
# define _CUPS_API_1_1_19 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
# define _CUPS_API_1_1_20 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
# define _CUPS_API_1_1_21 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
@@ -53,6 +58,7 @@
# define _CUPS_API_1_3 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
# define _CUPS_API_1_4 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
# define _CUPS_API_1_5 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
+# define _CUPS_API_1_6 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
# else
# define _CUPS_API_1_1_19
# define _CUPS_API_1_1_20
@@ -61,6 +67,7 @@
# define _CUPS_API_1_3
# define _CUPS_API_1_4
# define _CUPS_API_1_5
+# define _CUPS_API_1_6
# endif /* __APPLE__ && !_CUPS_SOURCE */
/*
diff --git a/filter/Dependencies b/filter/Dependencies
index d51a06c8f..ff42a38fa 100644
--- a/filter/Dependencies
+++ b/filter/Dependencies
@@ -3,32 +3,35 @@
error.o: ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
error.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
error.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-error.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
+error.o: ../cups/debug-private.h ../cups/versioning.h
+error.o: ../cups/string-private.h ../config.h
interpret.o: ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
interpret.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
interpret.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-interpret.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
+interpret.o: ../cups/debug-private.h ../cups/versioning.h
+interpret.o: ../cups/string-private.h ../config.h
raster.o: ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
raster.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
raster.o: ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-raster.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
+raster.o: ../cups/debug-private.h ../cups/versioning.h
+raster.o: ../cups/string-private.h ../config.h
commandtops.o: ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-commandtops.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-commandtops.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h
-commandtops.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-commandtops.o: ../cups/array.h ../cups/language.h ../cups/pwg-private.h
-commandtops.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-commandtops.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-commandtops.o: ../cups/transcode.h ../cups/thread-private.h
-commandtops.o: ../cups/sidechannel.h
+commandtops.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+commandtops.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+commandtops.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+commandtops.o: ../cups/http.h ../cups/array.h ../cups/language.h
+commandtops.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+commandtops.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+commandtops.o: ../cups/language-private.h ../cups/transcode.h
+commandtops.o: ../cups/thread-private.h ../cups/sidechannel.h
gziptoany.o: ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-gziptoany.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-gziptoany.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-gziptoany.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-gziptoany.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-gziptoany.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-gziptoany.o: ../cups/language-private.h ../cups/transcode.h
-gziptoany.o: ../cups/thread-private.h
+gziptoany.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+gziptoany.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+gziptoany.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+gziptoany.o: ../cups/array.h ../cups/language.h ../cups/pwg-private.h
+gziptoany.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+gziptoany.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+gziptoany.o: ../cups/transcode.h ../cups/thread-private.h
common.o: common.h ../cups/string-private.h ../config.h ../cups/cups.h
common.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
common.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
@@ -63,39 +66,42 @@ rastertopwg.o: ../config.h
testraster.o: ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
testraster.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
testraster.o: ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-testraster.o: ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
-testraster.o: ../config.h
+testraster.o: ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
+testraster.o: ../cups/string-private.h ../config.h
# DO NOT DELETE
error.32.o: error.c ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
error.32.o: error.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
error.32.o: error.c ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-error.32.o: error.c ../cups/debug-private.h ../cups/string-private.h ../config.h
+error.32.o: error.c ../cups/debug-private.h ../cups/versioning.h
+error.32.o: error.c ../cups/string-private.h ../config.h
interpret.32.o: interpret.c ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
interpret.32.o: interpret.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
interpret.32.o: interpret.c ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-interpret.32.o: interpret.c ../cups/debug-private.h ../cups/string-private.h ../config.h
+interpret.32.o: interpret.c ../cups/debug-private.h ../cups/versioning.h
+interpret.32.o: interpret.c ../cups/string-private.h ../config.h
raster.32.o: raster.c ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
raster.32.o: raster.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
raster.32.o: raster.c ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-raster.32.o: raster.c ../cups/debug-private.h ../cups/string-private.h ../config.h
+raster.32.o: raster.c ../cups/debug-private.h ../cups/versioning.h
+raster.32.o: raster.c ../cups/string-private.h ../config.h
commandtops.32.o: commandtops.c ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-commandtops.32.o: commandtops.c ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-commandtops.32.o: commandtops.c ../cups/ppd.h ../cups/cups.h ../cups/file.h
-commandtops.32.o: commandtops.c ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-commandtops.32.o: commandtops.c ../cups/array.h ../cups/language.h ../cups/pwg-private.h
-commandtops.32.o: commandtops.c ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-commandtops.32.o: commandtops.c ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-commandtops.32.o: commandtops.c ../cups/transcode.h ../cups/thread-private.h
-commandtops.32.o: commandtops.c ../cups/sidechannel.h
+commandtops.32.o: commandtops.c ../config.h ../cups/debug-private.h ../cups/versioning.h
+commandtops.32.o: commandtops.c ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+commandtops.32.o: commandtops.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+commandtops.32.o: commandtops.c ../cups/http.h ../cups/array.h ../cups/language.h
+commandtops.32.o: commandtops.c ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+commandtops.32.o: commandtops.c ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+commandtops.32.o: commandtops.c ../cups/language-private.h ../cups/transcode.h
+commandtops.32.o: commandtops.c ../cups/thread-private.h ../cups/sidechannel.h
gziptoany.32.o: gziptoany.c ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-gziptoany.32.o: gziptoany.c ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-gziptoany.32.o: gziptoany.c ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-gziptoany.32.o: gziptoany.c ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-gziptoany.32.o: gziptoany.c ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-gziptoany.32.o: gziptoany.c ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-gziptoany.32.o: gziptoany.c ../cups/language-private.h ../cups/transcode.h
-gziptoany.32.o: gziptoany.c ../cups/thread-private.h
+gziptoany.32.o: gziptoany.c ../config.h ../cups/debug-private.h ../cups/versioning.h
+gziptoany.32.o: gziptoany.c ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+gziptoany.32.o: gziptoany.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+gziptoany.32.o: gziptoany.c ../cups/array.h ../cups/language.h ../cups/pwg-private.h
+gziptoany.32.o: gziptoany.c ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+gziptoany.32.o: gziptoany.c ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+gziptoany.32.o: gziptoany.c ../cups/transcode.h ../cups/thread-private.h
common.32.o: common.c common.h ../cups/string-private.h ../config.h ../cups/cups.h
common.32.o: common.c ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
common.32.o: common.c ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
@@ -130,39 +136,42 @@ rastertopwg.32.o: rastertopwg.c ../config.h
testraster.32.o: testraster.c ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
testraster.32.o: testraster.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h
testraster.32.o: testraster.c ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-testraster.32.o: testraster.c ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
-testraster.32.o: testraster.c ../config.h
+testraster.32.o: testraster.c ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
+testraster.32.o: testraster.c ../cups/string-private.h ../config.h
# DO NOT DELETE
error.64.o: error.c ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
error.64.o: error.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
error.64.o: error.c ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-error.64.o: error.c ../cups/debug-private.h ../cups/string-private.h ../config.h
+error.64.o: error.c ../cups/debug-private.h ../cups/versioning.h
+error.64.o: error.c ../cups/string-private.h ../config.h
interpret.64.o: interpret.c ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
interpret.64.o: interpret.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
interpret.64.o: interpret.c ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-interpret.64.o: interpret.c ../cups/debug-private.h ../cups/string-private.h ../config.h
+interpret.64.o: interpret.c ../cups/debug-private.h ../cups/versioning.h
+interpret.64.o: interpret.c ../cups/string-private.h ../config.h
raster.64.o: raster.c ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
raster.64.o: raster.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
raster.64.o: raster.c ../cups/array.h ../cups/language.h ../cups/ppd.h ../cups/cups.h
-raster.64.o: raster.c ../cups/debug-private.h ../cups/string-private.h ../config.h
+raster.64.o: raster.c ../cups/debug-private.h ../cups/versioning.h
+raster.64.o: raster.c ../cups/string-private.h ../config.h
commandtops.64.o: commandtops.c ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-commandtops.64.o: commandtops.c ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-commandtops.64.o: commandtops.c ../cups/ppd.h ../cups/cups.h ../cups/file.h
-commandtops.64.o: commandtops.c ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-commandtops.64.o: commandtops.c ../cups/array.h ../cups/language.h ../cups/pwg-private.h
-commandtops.64.o: commandtops.c ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-commandtops.64.o: commandtops.c ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-commandtops.64.o: commandtops.c ../cups/transcode.h ../cups/thread-private.h
-commandtops.64.o: commandtops.c ../cups/sidechannel.h
+commandtops.64.o: commandtops.c ../config.h ../cups/debug-private.h ../cups/versioning.h
+commandtops.64.o: commandtops.c ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+commandtops.64.o: commandtops.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+commandtops.64.o: commandtops.c ../cups/http.h ../cups/array.h ../cups/language.h
+commandtops.64.o: commandtops.c ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+commandtops.64.o: commandtops.c ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+commandtops.64.o: commandtops.c ../cups/language-private.h ../cups/transcode.h
+commandtops.64.o: commandtops.c ../cups/thread-private.h ../cups/sidechannel.h
gziptoany.64.o: gziptoany.c ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
-gziptoany.64.o: gziptoany.c ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-gziptoany.64.o: gziptoany.c ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
-gziptoany.64.o: gziptoany.c ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
-gziptoany.64.o: gziptoany.c ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-gziptoany.64.o: gziptoany.c ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-gziptoany.64.o: gziptoany.c ../cups/language-private.h ../cups/transcode.h
-gziptoany.64.o: gziptoany.c ../cups/thread-private.h
+gziptoany.64.o: gziptoany.c ../config.h ../cups/debug-private.h ../cups/versioning.h
+gziptoany.64.o: gziptoany.c ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+gziptoany.64.o: gziptoany.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+gziptoany.64.o: gziptoany.c ../cups/array.h ../cups/language.h ../cups/pwg-private.h
+gziptoany.64.o: gziptoany.c ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+gziptoany.64.o: gziptoany.c ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+gziptoany.64.o: gziptoany.c ../cups/transcode.h ../cups/thread-private.h
common.64.o: common.c common.h ../cups/string-private.h ../config.h ../cups/cups.h
common.64.o: common.c ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
common.64.o: common.c ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
@@ -197,5 +206,5 @@ rastertopwg.64.o: rastertopwg.c ../config.h
testraster.64.o: testraster.c ../cups/raster-private.h ../cups/raster.h ../cups/cups.h
testraster.64.o: testraster.c ../cups/file.h ../cups/versioning.h ../cups/ipp.h
testraster.64.o: testraster.c ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
-testraster.64.o: testraster.c ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
-testraster.64.o: testraster.c ../config.h
+testraster.64.o: testraster.c ../cups/cups.h ../cups/debug-private.h ../cups/versioning.h
+testraster.64.o: testraster.c ../cups/string-private.h ../config.h
diff --git a/filter/interpret.c b/filter/interpret.c
index 32e6821db..eed4432d8 100644
--- a/filter/interpret.c
+++ b/filter/interpret.c
@@ -820,7 +820,7 @@ error_stack(_cups_ps_stack_t *st, /* I - Stack */
_cups_ps_obj_t *obj; /* Current object on stack */
- _cupsRasterAddError(title);
+ _cupsRasterAddError("%s", title);
for (obj = st->objs, c = st->num_objs; c > 0; c --, obj ++)
error_object(obj);
diff --git a/filter/pstops.c b/filter/pstops.c
index c87ca2a78..8390a204f 100644
--- a/filter/pstops.c
+++ b/filter/pstops.c
@@ -200,10 +200,7 @@ static ssize_t copy_trailer(cups_file_t *fp, pstops_doc_t *doc,
static void do_prolog(pstops_doc_t *doc, ppd_file_t *ppd);
static void do_setup(pstops_doc_t *doc, ppd_file_t *ppd);
static void doc_printf(pstops_doc_t *doc, const char *format, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 2, 3)));
static void doc_puts(pstops_doc_t *doc, const char *s);
static void doc_write(pstops_doc_t *doc, const char *s, size_t len);
static void end_nup(pstops_doc_t *doc, int number);
@@ -1594,10 +1591,7 @@ copy_page(cups_file_t *fp, /* I - File to read from */
*/
if (linelen > 0 && !strncmp(line, "%%EndPageSetup", 14))
- {
- linelen = cupsFileGetLine(fp, line, linesize);
- has_page_setup = 0;
- }
+ linelen = cupsFileGetLine(fp, line, linesize);
}
if (first_page)
diff --git a/locale/Dependencies b/locale/Dependencies
index 45dd3faec..4543566ca 100644
--- a/locale/Dependencies
+++ b/locale/Dependencies
@@ -3,24 +3,26 @@
checkpo.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
checkpo.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
checkpo.o: ../cups/language.h ../cups/string-private.h ../config.h
-checkpo.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-checkpo.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-checkpo.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-checkpo.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-checkpo.o: ../cups/thread-private.h
+checkpo.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+checkpo.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+checkpo.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+checkpo.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+checkpo.o: ../cups/transcode.h ../cups/thread-private.h
po2strings.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
po2strings.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
po2strings.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-po2strings.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-po2strings.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-po2strings.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-po2strings.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-po2strings.o: ../cups/transcode.h ../cups/thread-private.h
+po2strings.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+po2strings.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+po2strings.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+po2strings.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+po2strings.o: ../cups/language-private.h ../cups/transcode.h
+po2strings.o: ../cups/thread-private.h
translate.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
translate.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
translate.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-translate.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-translate.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-translate.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-translate.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-translate.o: ../cups/transcode.h ../cups/thread-private.h
+translate.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+translate.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+translate.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+translate.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+translate.o: ../cups/language-private.h ../cups/transcode.h
+translate.o: ../cups/thread-private.h
diff --git a/man/client.conf.man.in b/man/client.conf.man.in
index 0f85f305f..ca659ff54 100644
--- a/man/client.conf.man.in
+++ b/man/client.conf.man.in
@@ -12,11 +12,11 @@
.\" 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 client.conf 5 "CUPS" "28 March 2011" "Apple Inc."
+.TH client.conf 5 "CUPS" "2 September 2011" "Apple Inc."
.SH NAME
client.conf \- client configuration file for cups
.SH DESCRIPTION
-The \fIclient.conf\fR file configures the CUPS client and is
+The \fIclient.conf\fR file configures the CUPS client and is
normally located in the \fI@CUPS_SERVERROOT@\fR or \fI~/.cups\fR
directory. Each line in the file can be a configuration
directive, a blank line, or a comment. Comment lines start with
@@ -45,7 +45,7 @@ ServerName hostname-or-ip-address[:port]
ServerName /domain/socket
.br
Specifies the address and optionally the port to use when connecting to the
-server.
+server. \fBNote: Not supported on Mac OS X 10.7 or later.\fR
.SH SEE ALSO
http://localhost:631/help
.SH COPYRIGHT
diff --git a/monitor/Dependencies b/monitor/Dependencies
index 005e3eb1e..451a95a32 100644
--- a/monitor/Dependencies
+++ b/monitor/Dependencies
@@ -3,16 +3,16 @@
bcp.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
bcp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
bcp.o: ../cups/language.h ../cups/string-private.h ../config.h
-bcp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-bcp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-bcp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-bcp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-bcp.o: ../cups/thread-private.h
+bcp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+bcp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+bcp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+bcp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+bcp.o: ../cups/transcode.h ../cups/thread-private.h
tbcp.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
tbcp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
tbcp.o: ../cups/language.h ../cups/string-private.h ../config.h
-tbcp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-tbcp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-tbcp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-tbcp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-tbcp.o: ../cups/thread-private.h
+tbcp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+tbcp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+tbcp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+tbcp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+tbcp.o: ../cups/transcode.h ../cups/thread-private.h
diff --git a/notifier/Dependencies b/notifier/Dependencies
index 5f48964f6..9e723214b 100644
--- a/notifier/Dependencies
+++ b/notifier/Dependencies
@@ -6,19 +6,20 @@ dbus.o: ../cups/string-private.h ../config.h
mailto.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
mailto.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
mailto.o: ../cups/language.h ../cups/string-private.h ../config.h
-mailto.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-mailto.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-mailto.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-mailto.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-mailto.o: ../cups/thread-private.h
+mailto.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+mailto.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+mailto.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+mailto.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+mailto.o: ../cups/transcode.h ../cups/thread-private.h
rss.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
rss.o: ../cups/http.h ../cups/array.h ../cups/language.h ../cups/language.h
rss.o: ../cups/string-private.h ../config.h ../cups/array.h
testnotify.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
testnotify.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
testnotify.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-testnotify.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-testnotify.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-testnotify.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-testnotify.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-testnotify.o: ../cups/transcode.h ../cups/thread-private.h
+testnotify.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+testnotify.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+testnotify.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+testnotify.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+testnotify.o: ../cups/language-private.h ../cups/transcode.h
+testnotify.o: ../cups/thread-private.h
diff --git a/ppdc/Dependencies b/ppdc/Dependencies
index ef9bd5a8e..28b289cf7 100644
--- a/ppdc/Dependencies
+++ b/ppdc/Dependencies
@@ -4,234 +4,249 @@ ppdc-array.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-array.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-array.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
ppdc-array.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-array.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-array.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-array.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-array.o: ../cups/language-private.h ../cups/transcode.h
+ppdc-array.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-array.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-array.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-array.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ppdc-array.o: ../cups/thread-private.h
ppdc-attr.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-attr.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-attr.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
ppdc-attr.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-attr.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-attr.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-attr.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-attr.o: ../cups/language-private.h ../cups/transcode.h
+ppdc-attr.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-attr.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-attr.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-attr.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ppdc-attr.o: ../cups/thread-private.h
ppdc-catalog.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-catalog.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-catalog.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-catalog.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-catalog.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-catalog.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-catalog.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-catalog.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-catalog.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-catalog.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-catalog.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-catalog.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-catalog.o: ../cups/language-private.h ../cups/transcode.h
ppdc-catalog.o: ../cups/thread-private.h
ppdc-choice.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-choice.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-choice.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-choice.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-choice.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-choice.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-choice.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-choice.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-choice.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-choice.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-choice.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-choice.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-choice.o: ../cups/language-private.h ../cups/transcode.h
ppdc-choice.o: ../cups/thread-private.h
ppdc-constraint.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-constraint.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-constraint.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-constraint.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-constraint.o: ../cups/debug-private.h ../cups/ppd-private.h
-ppdc-constraint.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-ppdc-constraint.o: ../cups/http-private.h ../cups/http.h
-ppdc-constraint.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-constraint.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-constraint.o: ../cups/thread-private.h
+ppdc-constraint.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-constraint.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-constraint.o: ../cups/pwg-private.h ../cups/http-private.h
+ppdc-constraint.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-constraint.o: ../cups/ipp.h ../cups/language-private.h
+ppdc-constraint.o: ../cups/transcode.h ../cups/thread-private.h
ppdc-driver.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-driver.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-driver.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-driver.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-driver.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-driver.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-driver.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-driver.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-driver.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-driver.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-driver.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-driver.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-driver.o: ../cups/language-private.h ../cups/transcode.h
ppdc-driver.o: ../cups/thread-private.h
ppdc-file.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-file.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-file.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
ppdc-file.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-file.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-file.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-file.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-file.o: ../cups/language-private.h ../cups/transcode.h
+ppdc-file.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-file.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-file.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-file.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ppdc-file.o: ../cups/thread-private.h
ppdc-filter.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-filter.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-filter.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-filter.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-filter.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-filter.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-filter.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-filter.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-filter.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-filter.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-filter.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-filter.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-filter.o: ../cups/language-private.h ../cups/transcode.h
ppdc-filter.o: ../cups/thread-private.h
ppdc-font.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-font.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-font.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
ppdc-font.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-font.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-font.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-font.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-font.o: ../cups/language-private.h ../cups/transcode.h
+ppdc-font.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-font.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-font.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-font.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ppdc-font.o: ../cups/thread-private.h
ppdc-group.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-group.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-group.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
ppdc-group.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc-group.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc-group.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc-group.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-group.o: ../cups/language-private.h ../cups/transcode.h
+ppdc-group.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-group.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-group.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-group.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ppdc-group.o: ../cups/thread-private.h
ppdc-import.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-import.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-import.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-import.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-import.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-import.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-import.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-import.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-import.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-import.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-import.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-import.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-import.o: ../cups/language-private.h ../cups/transcode.h
ppdc-import.o: ../cups/thread-private.h
ppdc-mediasize.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-mediasize.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-mediasize.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-mediasize.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-mediasize.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-mediasize.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-mediasize.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-mediasize.o: ../cups/ipp.h ../cups/language-private.h
-ppdc-mediasize.o: ../cups/transcode.h ../cups/thread-private.h
+ppdc-mediasize.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-mediasize.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-mediasize.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-mediasize.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-mediasize.o: ../cups/language-private.h ../cups/transcode.h
+ppdc-mediasize.o: ../cups/thread-private.h
ppdc-message.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-message.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-message.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-message.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-message.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-message.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-message.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-message.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-message.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-message.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-message.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-message.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-message.o: ../cups/language-private.h ../cups/transcode.h
ppdc-message.o: ../cups/thread-private.h
ppdc-option.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-option.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-option.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-option.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-option.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-option.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-option.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-option.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-option.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-option.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-option.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-option.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-option.o: ../cups/language-private.h ../cups/transcode.h
ppdc-option.o: ../cups/thread-private.h
ppdc-profile.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-profile.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-profile.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-profile.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-profile.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-profile.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-profile.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-profile.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-profile.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-profile.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-profile.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-profile.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-profile.o: ../cups/language-private.h ../cups/transcode.h
ppdc-profile.o: ../cups/thread-private.h
ppdc-shared.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-shared.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-shared.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-shared.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-shared.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-shared.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-shared.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-shared.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-shared.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-shared.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-shared.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-shared.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-shared.o: ../cups/language-private.h ../cups/transcode.h
ppdc-shared.o: ../cups/thread-private.h
ppdc-source.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-source.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-source.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-source.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-source.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-source.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-source.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-source.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-source.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-source.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-source.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-source.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-source.o: ../cups/language-private.h ../cups/transcode.h
ppdc-source.o: ../cups/thread-private.h ../cups/raster.h ../cups/ppd.h
ppdc-source.o: ../data/epson.h ../data/hp.h ../data/label.h
ppdc-string.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-string.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-string.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-string.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-string.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-string.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-string.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-string.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-string.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-string.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-string.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-string.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-string.o: ../cups/language-private.h ../cups/transcode.h
ppdc-string.o: ../cups/thread-private.h
ppdc-variable.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc-variable.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdc-variable.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
ppdc-variable.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-variable.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdc-variable.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdc-variable.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-variable.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-variable.o: ../cups/debug-private.h ../cups/versioning.h
+ppdc-variable.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-variable.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc-variable.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-variable.o: ../cups/language-private.h ../cups/transcode.h
ppdc-variable.o: ../cups/thread-private.h
genstrings.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
genstrings.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
genstrings.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
genstrings.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-genstrings.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-genstrings.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-genstrings.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-genstrings.o: ../cups/language-private.h ../cups/transcode.h
+genstrings.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+genstrings.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+genstrings.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+genstrings.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
genstrings.o: ../cups/thread-private.h
ppdc.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
ppdc.o: ../cups/http.h ../cups/array.h ../cups/language.h
ppdc.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdc.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdc.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc.o: ../cups/language-private.h ../cups/transcode.h
+ppdc.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ppdc.o: ../cups/thread-private.h
ppdhtml.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdhtml.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
ppdhtml.o: ../cups/http.h ../cups/array.h ../cups/language.h
ppdhtml.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdhtml.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdhtml.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdhtml.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdhtml.o: ../cups/language-private.h ../cups/transcode.h
+ppdhtml.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+ppdhtml.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdhtml.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdhtml.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ppdhtml.o: ../cups/thread-private.h
ppdi.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdi.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
ppdi.o: ../cups/http.h ../cups/array.h ../cups/language.h
ppdi.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdi.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdi.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdi.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdi.o: ../cups/language-private.h ../cups/transcode.h
+ppdi.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+ppdi.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdi.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdi.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ppdi.o: ../cups/thread-private.h
ppdmerge.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ppdmerge.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/array.h
ppdmerge.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdmerge.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ppdmerge.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ppdmerge.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdmerge.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdmerge.o: ../cups/debug-private.h ../cups/versioning.h
+ppdmerge.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdmerge.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdmerge.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdmerge.o: ../cups/language-private.h ../cups/transcode.h
ppdmerge.o: ../cups/thread-private.h ../cups/ppd-private.h ../cups/array.h
ppdpo.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
ppdpo.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
ppdpo.o: ../cups/http.h ../cups/array.h ../cups/language.h
ppdpo.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdpo.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-ppdpo.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
-ppdpo.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdpo.o: ../cups/language-private.h ../cups/transcode.h
+ppdpo.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+ppdpo.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdpo.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdpo.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ppdpo.o: ../cups/thread-private.h
testcatalog.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
testcatalog.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
testcatalog.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
testcatalog.o: ../cups/language.h ../cups/string-private.h ../config.h
-testcatalog.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-testcatalog.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-testcatalog.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-testcatalog.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+testcatalog.o: ../cups/debug-private.h ../cups/versioning.h
+testcatalog.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+testcatalog.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+testcatalog.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+testcatalog.o: ../cups/language-private.h ../cups/transcode.h
testcatalog.o: ../cups/thread-private.h
diff --git a/scheduler/Dependencies b/scheduler/Dependencies
index 1cbb24ae1..db0388aa1 100644
--- a/scheduler/Dependencies
+++ b/scheduler/Dependencies
@@ -3,11 +3,11 @@
auth.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
auth.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
auth.o: ../cups/language.h ../cups/string-private.h ../config.h
-auth.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-auth.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-auth.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-auth.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-auth.o: ../cups/thread-private.h ../cups/file-private.h
+auth.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+auth.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+auth.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+auth.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+auth.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
auth.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
auth.o: statbuf.h cert.h auth.h client.h policy.h printers.h
auth.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -15,23 +15,23 @@ auth.o: network.h subscriptions.h
banners.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
banners.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
banners.o: ../cups/language.h ../cups/string-private.h ../config.h
-banners.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-banners.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-banners.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-banners.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-banners.o: ../cups/thread-private.h ../cups/file-private.h
-banners.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-banners.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-banners.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-banners.o: network.h subscriptions.h ../cups/dir.h
+banners.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+banners.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+banners.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+banners.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+banners.o: ../cups/transcode.h ../cups/thread-private.h
+banners.o: ../cups/file-private.h ../cups/cups-private.h mime.h
+banners.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+banners.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+banners.o: conf.h banners.h dirsvc.h network.h subscriptions.h ../cups/dir.h
cert.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cert.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
cert.o: ../cups/language.h ../cups/string-private.h ../config.h
-cert.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-cert.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-cert.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-cert.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cert.o: ../cups/thread-private.h ../cups/file-private.h
+cert.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+cert.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+cert.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+cert.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+cert.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
cert.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
cert.o: statbuf.h cert.h auth.h client.h policy.h printers.h
cert.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -39,23 +39,23 @@ cert.o: network.h subscriptions.h
classes.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
classes.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
classes.o: ../cups/language.h ../cups/string-private.h ../config.h
-classes.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-classes.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-classes.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-classes.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-classes.o: ../cups/thread-private.h ../cups/file-private.h
-classes.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-classes.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-classes.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-classes.o: network.h subscriptions.h
+classes.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+classes.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+classes.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+classes.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+classes.o: ../cups/transcode.h ../cups/thread-private.h
+classes.o: ../cups/file-private.h ../cups/cups-private.h mime.h
+classes.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+classes.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+classes.o: conf.h banners.h dirsvc.h network.h subscriptions.h
client.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
client.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
client.o: ../cups/language.h ../cups/string-private.h ../config.h
-client.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-client.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-client.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-client.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-client.o: ../cups/thread-private.h ../cups/file-private.h
+client.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+client.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+client.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+client.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+client.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
client.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
client.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
client.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -63,11 +63,11 @@ client.o: network.h subscriptions.h
conf.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
conf.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
conf.o: ../cups/language.h ../cups/string-private.h ../config.h
-conf.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-conf.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-conf.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-conf.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-conf.o: ../cups/thread-private.h ../cups/file-private.h
+conf.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+conf.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+conf.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+conf.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+conf.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
conf.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
conf.o: statbuf.h cert.h auth.h client.h policy.h printers.h
conf.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -75,11 +75,11 @@ conf.o: network.h subscriptions.h
dirsvc.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
dirsvc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
dirsvc.o: ../cups/language.h ../cups/string-private.h ../config.h
-dirsvc.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-dirsvc.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-dirsvc.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-dirsvc.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-dirsvc.o: ../cups/thread-private.h ../cups/file-private.h
+dirsvc.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+dirsvc.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+dirsvc.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+dirsvc.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+dirsvc.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
dirsvc.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
dirsvc.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
dirsvc.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -87,22 +87,23 @@ dirsvc.o: network.h subscriptions.h
env.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
env.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
env.o: ../cups/language.h ../cups/string-private.h ../config.h
-env.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-env.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-env.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-env.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-env.o: ../cups/thread-private.h ../cups/file-private.h ../cups/cups-private.h
-env.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-env.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
-env.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+env.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+env.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+env.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+env.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+env.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
+env.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
+env.o: statbuf.h cert.h auth.h client.h policy.h printers.h
+env.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
+env.o: network.h subscriptions.h
file.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
file.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
file.o: ../cups/language.h ../cups/string-private.h ../config.h
-file.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-file.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-file.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-file.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-file.o: ../cups/thread-private.h ../cups/file-private.h
+file.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+file.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+file.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+file.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+file.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
file.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
file.o: statbuf.h cert.h auth.h client.h policy.h printers.h
file.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -110,11 +111,11 @@ file.o: network.h subscriptions.h ../cups/dir.h
main.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
main.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
main.o: ../cups/language.h ../cups/string-private.h ../config.h
-main.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-main.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-main.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-main.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-main.o: ../cups/thread-private.h ../cups/file-private.h
+main.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+main.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+main.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+main.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+main.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
main.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
main.o: statbuf.h cert.h auth.h client.h policy.h printers.h
main.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -122,23 +123,23 @@ main.o: network.h subscriptions.h
ipp.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ipp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
ipp.o: ../cups/language.h ../cups/string-private.h ../config.h
-ipp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ipp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ipp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ipp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ipp.o: ../cups/thread-private.h ../cups/file-private.h ../cups/cups-private.h
-ipp.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-ipp.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
-ipp.o: conf.h banners.h dirsvc.h network.h subscriptions.h
-ipp.o: ../cups/ppd-private.h
+ipp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+ipp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+ipp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+ipp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+ipp.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
+ipp.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
+ipp.o: statbuf.h cert.h auth.h client.h policy.h printers.h
+ipp.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
+ipp.o: network.h subscriptions.h ../cups/ppd-private.h
listen.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
listen.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
listen.o: ../cups/language.h ../cups/string-private.h ../config.h
-listen.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-listen.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-listen.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-listen.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-listen.o: ../cups/thread-private.h ../cups/file-private.h
+listen.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+listen.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+listen.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+listen.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+listen.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
listen.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
listen.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
listen.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -146,47 +147,48 @@ listen.o: network.h subscriptions.h
job.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
job.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
job.o: ../cups/language.h ../cups/string-private.h ../config.h
-job.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-job.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-job.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-job.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-job.o: ../cups/thread-private.h ../cups/file-private.h ../cups/cups-private.h
-job.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-job.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
-job.o: conf.h banners.h dirsvc.h network.h subscriptions.h ../cups/backend.h
-job.o: ../cups/dir.h
+job.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+job.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+job.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+job.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+job.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
+job.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
+job.o: statbuf.h cert.h auth.h client.h policy.h printers.h
+job.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
+job.o: network.h subscriptions.h ../cups/backend.h ../cups/dir.h
log.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
log.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
log.o: ../cups/language.h ../cups/string-private.h ../config.h
-log.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-log.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-log.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-log.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-log.o: ../cups/thread-private.h ../cups/file-private.h ../cups/cups-private.h
-log.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-log.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
-log.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+log.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+log.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+log.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+log.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+log.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
+log.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
+log.o: statbuf.h cert.h auth.h client.h policy.h printers.h
+log.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
+log.o: network.h subscriptions.h
network.o: ../cups/http-private.h ../config.h ../cups/http.h
network.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h cupsd.h
network.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
network.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
network.o: ../cups/language.h ../cups/string-private.h
-network.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-network.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-network.o: ../cups/language-private.h ../cups/transcode.h
-network.o: ../cups/thread-private.h ../cups/file-private.h
-network.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-network.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-network.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-network.o: network.h subscriptions.h
+network.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+network.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+network.o: ../cups/http-private.h ../cups/language-private.h
+network.o: ../cups/transcode.h ../cups/thread-private.h
+network.o: ../cups/file-private.h ../cups/cups-private.h mime.h
+network.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+network.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+network.o: conf.h banners.h dirsvc.h network.h subscriptions.h
policy.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
policy.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
policy.o: ../cups/language.h ../cups/string-private.h ../config.h
-policy.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-policy.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-policy.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-policy.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-policy.o: ../cups/thread-private.h ../cups/file-private.h
+policy.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+policy.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+policy.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+policy.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+policy.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
policy.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
policy.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
policy.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -194,10 +196,11 @@ policy.o: network.h subscriptions.h
printers.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
printers.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
printers.o: ../cups/language.h ../cups/string-private.h ../config.h
-printers.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-printers.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-printers.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-printers.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+printers.o: ../cups/debug-private.h ../cups/versioning.h
+printers.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+printers.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+printers.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+printers.o: ../cups/language-private.h ../cups/transcode.h
printers.o: ../cups/thread-private.h ../cups/file-private.h
printers.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
printers.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
@@ -206,23 +209,23 @@ printers.o: network.h subscriptions.h ../cups/dir.h
process.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
process.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
process.o: ../cups/language.h ../cups/string-private.h ../config.h
-process.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-process.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-process.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-process.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-process.o: ../cups/thread-private.h ../cups/file-private.h
-process.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-process.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-process.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-process.o: network.h subscriptions.h
+process.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+process.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+process.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+process.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+process.o: ../cups/transcode.h ../cups/thread-private.h
+process.o: ../cups/file-private.h ../cups/cups-private.h mime.h
+process.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+process.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+process.o: conf.h banners.h dirsvc.h network.h subscriptions.h
quotas.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
quotas.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
quotas.o: ../cups/language.h ../cups/string-private.h ../config.h
-quotas.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-quotas.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-quotas.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-quotas.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-quotas.o: ../cups/thread-private.h ../cups/file-private.h
+quotas.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+quotas.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+quotas.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+quotas.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+quotas.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
quotas.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
quotas.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
quotas.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -230,11 +233,11 @@ quotas.o: network.h subscriptions.h
select.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
select.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
select.o: ../cups/language.h ../cups/string-private.h ../config.h
-select.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-select.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-select.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-select.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-select.o: ../cups/thread-private.h ../cups/file-private.h
+select.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+select.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+select.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+select.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+select.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
select.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
select.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
select.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
@@ -244,8 +247,8 @@ server.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h cupsd.h
server.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
server.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
server.o: ../cups/language.h ../cups/string-private.h ../cups/debug-private.h
-server.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
-server.o: ../cups/pwg-private.h ../cups/http-private.h
+server.o: ../cups/versioning.h ../cups/ppd-private.h ../cups/ppd.h
+server.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
server.o: ../cups/language-private.h ../cups/transcode.h
server.o: ../cups/thread-private.h ../cups/file-private.h
server.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
@@ -255,22 +258,22 @@ server.o: network.h subscriptions.h
statbuf.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
statbuf.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
statbuf.o: ../cups/language.h ../cups/string-private.h ../config.h
-statbuf.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-statbuf.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-statbuf.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-statbuf.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-statbuf.o: ../cups/thread-private.h ../cups/file-private.h
-statbuf.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
-statbuf.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-statbuf.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-statbuf.o: network.h subscriptions.h
+statbuf.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+statbuf.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+statbuf.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+statbuf.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+statbuf.o: ../cups/transcode.h ../cups/thread-private.h
+statbuf.o: ../cups/file-private.h ../cups/cups-private.h mime.h
+statbuf.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+statbuf.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+statbuf.o: conf.h banners.h dirsvc.h network.h subscriptions.h
subscriptions.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
subscriptions.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
subscriptions.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-subscriptions.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-subscriptions.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-subscriptions.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-subscriptions.o: ../cups/ipp-private.h ../cups/ipp.h
+subscriptions.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+subscriptions.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+subscriptions.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+subscriptions.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
subscriptions.o: ../cups/language-private.h ../cups/transcode.h
subscriptions.o: ../cups/thread-private.h ../cups/file-private.h
subscriptions.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
@@ -280,32 +283,35 @@ subscriptions.o: banners.h dirsvc.h network.h subscriptions.h
sysman.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
sysman.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
sysman.o: ../cups/language.h ../cups/string-private.h ../config.h
-sysman.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-sysman.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-sysman.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-sysman.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-sysman.o: ../cups/thread-private.h ../cups/file-private.h
+sysman.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+sysman.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+sysman.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+sysman.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+sysman.o: ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h
sysman.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
sysman.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
sysman.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
sysman.o: network.h subscriptions.h
-filter.o: ../cups/string-private.h ../config.h ../cups/debug-private.h mime.h
-filter.o: ../cups/array.h ../cups/ipp.h ../cups/file.h
+filter.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+filter.o: ../cups/versioning.h mime.h ../cups/array.h ../cups/ipp.h
+filter.o: ../cups/file.h
mime.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-mime.o: ../cups/dir.h ../cups/versioning.h mime-private.h mime.h
-mime.o: ../cups/array.h ../cups/ipp.h ../cups/file.h
-type.o: ../cups/string-private.h ../config.h ../cups/debug-private.h mime.h
-type.o: ../cups/array.h ../cups/ipp.h ../cups/file.h
+mime.o: ../cups/versioning.h ../cups/dir.h ../cups/versioning.h
+mime.o: mime-private.h mime.h ../cups/array.h ../cups/ipp.h ../cups/file.h
+type.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+type.o: ../cups/versioning.h mime.h ../cups/array.h ../cups/ipp.h
+type.o: ../cups/file.h
cupsfilter.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cupsfilter.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
cupsfilter.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupsfilter.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-cupsfilter.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-cupsfilter.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-cupsfilter.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupsfilter.o: ../cups/transcode.h ../cups/thread-private.h
-cupsfilter.o: ../cups/file-private.h ../cups/cups-private.h
-cupsfilter.o: ../cups/ppd-private.h mime.h ../cups/array.h ../cups/file.h
+cupsfilter.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+cupsfilter.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+cupsfilter.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+cupsfilter.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+cupsfilter.o: ../cups/language-private.h ../cups/transcode.h
+cupsfilter.o: ../cups/thread-private.h ../cups/file-private.h
+cupsfilter.o: ../cups/cups-private.h ../cups/ppd-private.h mime.h
+cupsfilter.o: ../cups/array.h ../cups/file.h
cups-deviced.o: util.h ../cups/array-private.h ../cups/array.h
cups-deviced.o: ../cups/versioning.h ../cups/file-private.h
cups-deviced.o: ../cups/cups-private.h ../cups/array.h ../cups/dir.h
@@ -313,19 +319,21 @@ cups-exec.o: ../cups/string-private.h ../config.h
cups-lpd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cups-lpd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
cups-lpd.o: ../cups/language.h ../cups/string-private.h ../config.h
-cups-lpd.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-cups-lpd.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-cups-lpd.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-cups-lpd.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+cups-lpd.o: ../cups/debug-private.h ../cups/versioning.h
+cups-lpd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+cups-lpd.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+cups-lpd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+cups-lpd.o: ../cups/language-private.h ../cups/transcode.h
cups-lpd.o: ../cups/thread-private.h
cups-polld.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cups-polld.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
cups-polld.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cups-polld.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-cups-polld.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-cups-polld.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-cups-polld.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cups-polld.o: ../cups/transcode.h ../cups/thread-private.h
+cups-polld.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+cups-polld.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+cups-polld.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+cups-polld.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+cups-polld.o: ../cups/language-private.h ../cups/transcode.h
+cups-polld.o: ../cups/thread-private.h
testdirsvc.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
testdirsvc.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
testdirsvc.o: ../cups/string-private.h ../config.h
@@ -333,16 +341,17 @@ testlpd.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
testlpd.o: ../cups/http.h ../cups/array.h ../cups/language.h
testlpd.o: ../cups/string-private.h ../config.h
testmime.o: ../cups/string-private.h ../config.h ../cups/dir.h
-testmime.o: ../cups/versioning.h ../cups/debug-private.h
+testmime.o: ../cups/versioning.h ../cups/debug-private.h ../cups/versioning.h
testmime.o: ../cups/ppd-private.h mime.h ../cups/array.h ../cups/ipp.h
testmime.o: ../cups/file.h
testspeed.o: ../cups/string-private.h ../config.h ../cups/cups.h
testspeed.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
testspeed.o: ../cups/array.h ../cups/language.h ../cups/language.h
-testspeed.o: ../cups/debug-private.h
+testspeed.o: ../cups/debug-private.h ../cups/versioning.h
testsub.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
testsub.o: ../cups/http.h ../cups/array.h ../cups/language.h
-testsub.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
+testsub.o: ../cups/debug-private.h ../cups/versioning.h
+testsub.o: ../cups/string-private.h ../config.h
util.o: util.h ../cups/array-private.h ../cups/array.h ../cups/versioning.h
util.o: ../cups/file-private.h ../cups/cups-private.h
cups-driverd.o: util.h ../cups/array-private.h ../cups/array.h
diff --git a/scheduler/auth.c b/scheduler/auth.c
index 83f90e5e7..01f16634e 100644
--- a/scheduler/auth.c
+++ b/scheduler/auth.c
@@ -2078,7 +2078,7 @@ cupsdIsAuthorized(cupsd_client_t *con, /* I - Connection */
return (HTTP_OK);
}
- return (HTTP_FORBIDDEN);
+ return (con->username[0] ? HTTP_FORBIDDEN : HTTP_UNAUTHORIZED);
}
/*
@@ -2117,7 +2117,7 @@ cupsdIsAuthorized(cupsd_client_t *con, /* I - Connection */
cupsdLogMessage(CUPSD_LOG_DEBUG,
"cupsdIsAuthorized: User not in group(s)!");
- return (HTTP_FORBIDDEN);
+ return (con->username[0] ? HTTP_FORBIDDEN : HTTP_UNAUTHORIZED);
}
diff --git a/scheduler/client.c b/scheduler/client.c
index 9ee65ab74..c8995916a 100644
--- a/scheduler/client.c
+++ b/scheduler/client.c
@@ -17,33 +17,34 @@
*
* Contents:
*
- * cupsdAcceptClient() - Accept a new client.
- * cupsdCloseAllClients() - Close all remote clients immediately.
- * cupsdCloseClient() - Close a remote client.
- * cupsdFlushHeader() - Flush the header fields to the client.
- * cupsdReadClient() - Read data from a client.
- * cupsdSendCommand() - Send output from a command via HTTP.
- * cupsdSendError() - Send an error message via HTTP.
- * cupsdSendHeader() - Send an HTTP request.
- * cupsdUpdateCGI() - Read status messages from CGI scripts and
- * programs.
- * cupsdWriteClient() - Write data to a client as needed.
- * check_if_modified() - Decode an "If-Modified-Since" line.
- * compare_clients() - Compare two client connections.
- * data_ready() - Check whether data is available from a client.
- * encrypt_client() - Enable encryption for the client...
- * get_cdsa_certificate() - Get a SSL/TLS certificate from the System
- * keychain.
- * get_file() - Get a filename and state info.
- * install_conf_file() - Install a configuration file.
- * is_cgi() - Is the resource a CGI script/program?
- * is_path_absolute() - Is a path absolute and free of relative elements
- * (i.e. "..").
- * make_certificate() - Make a self-signed SSL/TLS certificate.
- * pipe_command() - Pipe the output of a command to the remote client.
- * valid_host() - Is the Host: field valid?
- * write_file() - Send a file via HTTP.
- * write_pipe() - Flag that data is available on the CGI pipe.
+ * cupsdAcceptClient() - Accept a new client.
+ * cupsdCloseAllClients() - Close all remote clients immediately.
+ * cupsdCloseClient() - Close a remote client.
+ * cupsdFlushHeader() - Flush the header fields to the client.
+ * cupsdReadClient() - Read data from a client.
+ * cupsdSendCommand() - Send output from a command via HTTP.
+ * cupsdSendError() - Send an error message via HTTP.
+ * cupsdSendHeader() - Send an HTTP request.
+ * cupsdUpdateCGI() - Read status messages from CGI scripts and
+ * programs.
+ * cupsdWriteClient() - Write data to a client as needed.
+ * check_if_modified() - Decode an "If-Modified-Since" line.
+ * compare_clients() - Compare two client connections.
+ * copy_cdsa_certificate() - Copy a SSL/TLS certificate from the System
+ * keychain.
+ * data_ready() - Check whether data is available from a client.
+ * encrypt_client() - Enable encryption for the client...
+ * get_file() - Get a filename and state info.
+ * install_conf_file() - Install a configuration file.
+ * is_cgi() - Is the resource a CGI script/program?
+ * is_path_absolute() - Is a path absolute and free of relative elements
+ * (i.e. "..").
+ * make_certificate() - Make a self-signed SSL/TLS certificate.
+ * pipe_command() - Pipe the output of a command to the remote
+ * client.
+ * valid_host() - Is the Host: field valid?
+ * write_file() - Send a file via HTTP.
+ * write_pipe() - Flag that data is available on the CGI pipe.
*/
/*
@@ -58,6 +59,36 @@
/*
+ * Local globals...
+ */
+
+static const char * const http_states[] =
+ { /* HTTP state strings */
+ "HTTP_WAITING",
+ "HTTP_OPTIONS",
+ "HTTP_GET",
+ "HTTP_GET_SEND",
+ "HTTP_HEAD",
+ "HTTP_POST",
+ "HTTP_POST_RECV",
+ "HTTP_POST_SEND",
+ "HTTP_PUT",
+ "HTTP_PUT_RECV",
+ "HTTP_DELETE",
+ "HTTP_TRACE",
+ "HTTP_CLOSE",
+ "HTTP_STATUS"
+ };
+static const char * const ipp_states[] =
+ { /* IPP state strings */
+ "IPP_IDLE",
+ "IPP_HEADER",
+ "IPP_ATTRIBUTE",
+ "IPP_DATA"
+ };
+
+
+/*
* Local functions...
*/
@@ -65,13 +96,13 @@ static int check_if_modified(cupsd_client_t *con,
struct stat *filestats);
static int compare_clients(cupsd_client_t *a, cupsd_client_t *b,
void *data);
+#ifdef HAVE_CDSASSL
+static CFArrayRef copy_cdsa_certificate(cupsd_client_t *con);
+#endif /* HAVE_CDSASSL */
static int data_ready(cupsd_client_t *con);
#ifdef HAVE_SSL
static int encrypt_client(cupsd_client_t *con);
#endif /* HAVE_SSL */
-#ifdef HAVE_CDSASSL
-static CFArrayRef get_cdsa_certificate(cupsd_client_t *con);
-#endif /* HAVE_CDSASSL */
static char *get_file(cupsd_client_t *con, struct stat *filestats,
char *filename, int len);
static http_status_t install_conf_file(cupsd_client_t *con);
@@ -156,9 +187,10 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */
return;
}
- con->http.activity = time(NULL);
- con->file = -1;
- con->http.hostaddr = &(con->clientaddr);
+ con->http.activity = time(NULL);
+ con->file = -1;
+ con->http.hostaddr = &(con->clientaddr);
+ con->http.wait_value = 10000;
/*
* Accept the client and get the remote address...
@@ -354,11 +386,11 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */
#ifdef AF_LOCAL
if (con->http.hostaddr->addr.sa_family == AF_LOCAL)
- cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAcceptClient: %d from %s (Domain)",
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Accepted from %s (Domain)",
con->http.fd, con->http.hostname);
else
#endif /* AF_LOCAL */
- cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAcceptClient: %d from %s:%d (IPv%d)",
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Accepted from %s:%d (IPv%d)",
con->http.fd, con->http.hostname,
_httpAddrPort(con->http.hostaddr),
_httpAddrFamily(con->http.hostaddr) == AF_INET ? 4 : 6);
@@ -487,7 +519,8 @@ cupsdCloseClient(cupsd_client_t *con) /* I - Client to close */
#endif /* HAVE_LIBSSL */
- cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdCloseClient: %d", con->http.fd);
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Closing connection.",
+ con->http.fd);
/*
* Flush pending writes before closing...
@@ -717,18 +750,22 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
status = HTTP_CONTINUE;
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "cupsdReadClient(con=%p(%d)) "
- "con->http.error=%d "
- "con->http.used=%d, "
- "con->http.state=%d "
- "con->data_encoding=HTTP_ENCODE_%s, "
- "con->data_remaining=" CUPS_LLFMT ", "
- "con->file=%d",
- con, con->http.fd, con->http.error, con->http.used,
- con->http.state,
+ "[Client %d] cupsdReadClient "
+ "error=%d, "
+ "used=%d, "
+ "state=%s, "
+ "data_encoding=HTTP_ENCODE_%s, "
+ "data_remaining=" CUPS_LLFMT ", "
+ "request=%p(%s), "
+ "file=%d",
+ con->http.fd, con->http.error, con->http.used,
+ http_states[con->http.state],
con->http.data_encoding == HTTP_ENCODE_CHUNKED ?
"CHUNKED" : "LENGTH",
- CUPS_LLCAST con->http.data_remaining, con->file);
+ CUPS_LLCAST con->http.data_remaining,
+ con->request,
+ con->request ? ipp_states[con->request->state] : "",
+ con->file);
#ifdef HAVE_SSL
if (con->auto_ssl)
@@ -747,8 +784,8 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
*/
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "cupsdReadClient: Saw first byte %02X, auto-negotiating "
- "SSL/TLS session...", buf[0] & 255);
+ "[Client %d] Saw first byte %02X, auto-negotiating "
+ "SSL/TLS session.", con->http.fd, buf[0] & 255);
if (!encrypt_client(con))
cupsdCloseClient(con);
@@ -769,12 +806,12 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
{
if (con->http.error && con->http.error != EPIPE)
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d WAITING Closing for error %d "
+ "[Client %d] HTTP_WAITING Closing for error %d "
"(%s)", con->http.fd, con->http.error,
strerror(con->http.error));
else
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d WAITING Closing on EOF",
+ "[Client %d] HTTP_WAITING Closing on EOF",
con->http.fd);
cupsdCloseClient(con);
@@ -846,7 +883,8 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if (line[0])
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "Bad request line \"%s\" from %s!",
+ "[Client %d] Bad request line \"%s\" from %s.",
+ con->http.fd,
_httpEncodeURI(buf, line, sizeof(buf)),
con->http.hostname);
cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
@@ -860,7 +898,8 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if (sscanf(version, "HTTP/%d.%d", &major, &minor) != 2)
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "Bad request line \"%s\" from %s!",
+ "[Client %d] Bad request line \"%s\" from %s.",
+ con->http.fd,
_httpEncodeURI(buf, line, sizeof(buf)),
con->http.hostname);
cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
@@ -879,7 +918,8 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
else
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "Unsupported request line \"%s\" from %s!",
+ "[Client %d] Unsupported request line \"%s\" "
+ "from %s.", con->http.fd,
_httpEncodeURI(buf, line, sizeof(buf)),
con->http.hostname);
cupsdSendError(con, HTTP_NOT_SUPPORTED, CUPSD_AUTH_NONE);
@@ -926,8 +966,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
* Nope, we don't do proxies...
*/
- cupsdLogMessage(CUPSD_LOG_ERROR, "Bad URI \"%s\" in request!",
- con->uri);
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "[Client %d] Bad URI \"%s\" in request.",
+ con->http.fd, con->uri);
cupsdSendError(con, HTTP_METHOD_NOT_ALLOWED, CUPSD_AUTH_NONE);
cupsdCloseClient(con);
return;
@@ -961,7 +1002,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
con->http.state = HTTP_HEAD;
else
{
- cupsdLogMessage(CUPSD_LOG_ERROR, "Bad operation \"%s\"!", operation);
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "[Client %d] Bad operation \"%s\".", con->http.fd,
+ operation);
cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
cupsdCloseClient(con);
return;
@@ -970,7 +1013,7 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
gettimeofday(&(con->start), NULL);
con->operation = con->http.state;
- cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdReadClient: %d %s %s HTTP/%d.%d",
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] %s %s HTTP/%d.%d",
con->http.fd, operation, con->uri,
con->http.version / 100, con->http.version % 100);
@@ -1001,13 +1044,14 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
{
if (con->http.error && con->http.error != EPIPE)
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d FIELDS Closing for error %d "
- "(%s)", con->http.fd, con->http.error,
+ "[Client %d] Closing for error %d (%s) while "
+ "reading headers.",
+ con->http.fd, con->http.error,
strerror(con->http.error));
else
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d FIELDS Closing on EOF",
- con->http.fd);
+ "[Client %d] Closing on EOF while reading headers.",
+ con->http.fd);
cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
cupsdCloseClient(con);
@@ -1023,7 +1067,7 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
*/
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d Closing on EOF", con->http.fd);
+ "[Client %d] Closing on EOF", con->http.fd);
cupsdCloseClient(con);
return;
}
@@ -1076,10 +1120,11 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
cupsdAuthorize(con);
- if (!_cups_strncasecmp(con->http.fields[HTTP_FIELD_CONNECTION], "Keep-Alive",
- 10) && KeepAlive)
+ if (!_cups_strncasecmp(con->http.fields[HTTP_FIELD_CONNECTION],
+ "Keep-Alive", 10) && KeepAlive)
con->http.keep_alive = HTTP_KEEPALIVE_ON;
- else if (!_cups_strncasecmp(con->http.fields[HTTP_FIELD_CONNECTION], "close", 5))
+ else if (!_cups_strncasecmp(con->http.fields[HTTP_FIELD_CONNECTION],
+ "close", 5))
con->http.keep_alive = HTTP_KEEPALIVE_OFF;
if (!con->http.fields[HTTP_FIELD_HOST][0] &&
@@ -1091,7 +1136,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if (!cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE))
{
- cupsdLogMessage(CUPSD_LOG_ERROR, "Missing Host: field in request!");
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "[Client %d] Missing Host: field in request.",
+ con->http.fd);
cupsdCloseClient(con);
return;
}
@@ -1104,8 +1151,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
*/
cupsdLogMessage(CUPSD_LOG_ERROR,
- "Request from \"%s\" using invalid Host: field \"%s\"",
- con->http.hostname, con->http.fields[HTTP_FIELD_HOST]);
+ "[Client %d] Request from \"%s\" using invalid Host: "
+ "field \"%s\"", con->http.fd, con->http.hostname,
+ con->http.fields[HTTP_FIELD_HOST]);
if (!cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE))
{
@@ -1190,7 +1238,8 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
*/
cupsdLogMessage(CUPSD_LOG_ERROR,
- "Request for non-absolute resource \"%s\"!", con->uri);
+ "[Client %d] Request for non-absolute resource \"%s\".",
+ con->http.fd, con->uri);
if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
{
@@ -1200,15 +1249,16 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
}
else
{
- if (!_cups_strcasecmp(con->http.fields[HTTP_FIELD_CONNECTION], "Upgrade") &&
- con->http.tls == NULL)
+ if (!_cups_strcasecmp(con->http.fields[HTTP_FIELD_CONNECTION],
+ "Upgrade") && con->http.tls == NULL)
{
#ifdef HAVE_SSL
/*
* Do encryption stuff...
*/
- if (!cupsdSendHeader(con, HTTP_SWITCHING_PROTOCOLS, NULL, CUPSD_AUTH_NONE))
+ if (!cupsdSendHeader(con, HTTP_SWITCHING_PROTOCOLS, NULL,
+ CUPSD_AUTH_NONE))
{
cupsdCloseClient(con);
return;
@@ -1693,7 +1743,8 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
*/
cupsdLogMessage(CUPSD_LOG_ERROR,
- "Request for subdirectory \"%s\"!", con->uri);
+ "[Client %d] Request for subdirectory \"%s\".",
+ con->http.fd, con->uri);
if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
{
@@ -1751,8 +1802,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if (con->file < 0)
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "Unable to create request file %s: %s",
- con->filename, strerror(errno));
+ "[Client %d] Unable to create request file "
+ "\"%s\": %s", con->http.fd, con->filename,
+ strerror(errno));
if (!cupsdSendError(con, HTTP_REQUEST_TOO_LARGE, CUPSD_AUTH_NONE))
{
@@ -1888,7 +1940,8 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
*/
cupsdLogMessage(CUPSD_LOG_ERROR,
- "Request for subdirectory \"%s\"!", con->uri);
+ "[Client %d] Request for subdirectory \"%s\".",
+ con->http.fd, con->uri);
if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
{
@@ -1989,12 +2042,12 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
{
if (con->http.error && con->http.error != EPIPE)
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d PUT_RECV Closing for error "
+ "[Client %d] HTTP_PUT_RECV Closing for error "
"%d (%s)", con->http.fd, con->http.error,
strerror(con->http.error));
else
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d PUT_RECV Closing on EOF",
+ "[Client %d] HTTP_PUT_RECV Closing on EOF",
con->http.fd);
cupsdCloseClient(con);
@@ -2007,8 +2060,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if (write(con->file, line, bytes) < bytes)
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "cupsdReadClient: Unable to write %d bytes to %s: %s",
- bytes, con->filename, strerror(errno));
+ "[Client %d] Unable to write %d bytes to "
+ "\"%s\": %s", con->http.fd, bytes, con->filename,
+ strerror(errno));
close(con->file);
con->file = -1;
@@ -2083,8 +2137,8 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if ((ipp_state = ippRead(&(con->http), con->request)) == IPP_ERROR)
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "cupsdReadClient: %d IPP Read Error!",
- con->http.fd);
+ "[Client %d] IPP read error: %s", con->http.fd,
+ cupsLastErrorString());
cupsdSendError(con, HTTP_BAD_REQUEST, CUPSD_AUTH_NONE);
cupsdCloseClient(con);
@@ -2103,7 +2157,7 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
}
else
{
- cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdReadClient: %d %d.%d %s %d",
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] %d.%d %s %d",
con->http.fd, con->request->request.op.version[0],
con->request->request.op.version[1],
ippOpString(con->request->request.op.operation_id),
@@ -2125,8 +2179,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if (con->file < 0)
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "Unable to create request file %s: %s",
- con->filename, strerror(errno));
+ "[Client %d] Unable to create request file "
+ "\"%s\": %s", con->http.fd, con->filename,
+ strerror(errno));
if (!cupsdSendError(con, HTTP_REQUEST_TOO_LARGE, CUPSD_AUTH_NONE))
{
@@ -2146,12 +2201,12 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
{
if (con->http.error && con->http.error != EPIPE)
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d POST_SEND Closing for "
+ "[Client %d] HTTP_POST_SEND Closing for "
"error %d (%s)", con->http.fd, con->http.error,
strerror(con->http.error));
else
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d POST_SEND Closing on EOF",
+ "[Client %d] HTTP_POST_SEND Closing on EOF",
con->http.fd);
cupsdCloseClient(con);
@@ -2164,9 +2219,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if (write(con->file, line, bytes) < bytes)
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "cupsdReadClient: Unable to write %d bytes to "
- "%s: %s", bytes, con->filename,
- strerror(errno));
+ "[Client %d] Unable to write %d bytes to "
+ "\"%s\": %s", con->http.fd, bytes,
+ con->filename, strerror(errno));
close(con->file);
con->file = -1;
@@ -2186,8 +2241,8 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
else if (con->http.state != HTTP_POST_SEND)
{
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d Closing on unknown HTTP "
- "state %d", con->http.fd, con->http.state);
+ "[Client %d] Closing on unexpected state %s.",
+ con->http.fd, http_states[con->http.state]);
cupsdCloseClient(con);
return;
}
@@ -2279,7 +2334,7 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
if (!con->http.keep_alive)
{
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdReadClient: %d Closing because Keep-Alive disabled",
+ "[Client %d] Closing because Keep-Alive disabled",
con->http.fd);
cupsdCloseClient(con);
}
@@ -2313,7 +2368,7 @@ cupsdSendCommand(
if (fd < 0)
{
cupsdLogMessage(CUPSD_LOG_ERROR,
- "cupsdSendCommand: %d Unable to open \"%s\" for reading: %s",
+ "[Client %d] Unable to open \"%s\" for reading: %s",
con->http.fd, con->filename ? con->filename : "/dev/null",
strerror(errno));
return (0);
@@ -2329,11 +2384,11 @@ cupsdSendCommand(
if (fd >= 0)
close(fd);
- cupsdLogMessage(CUPSD_LOG_INFO, "Started \"%s\" (pid=%d)", command,
- con->pipe_pid);
+ cupsdLogMessage(CUPSD_LOG_INFO, "[Client %d] Started \"%s\" (pid=%d)",
+ con->http.fd, command, con->pipe_pid);
- cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdSendCommand: %d file=%d",
- con->http.fd, con->file);
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] file=%d", con->http.fd,
+ con->file);
if (con->pipe_pid == 0)
return (0);
@@ -2361,7 +2416,7 @@ cupsdSendError(cupsd_client_t *con, /* I - Connection */
int auth_type)/* I - Authentication type */
{
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "cupsdSendError(con=%p(%d), code=%d, auth_type=%d", con,
+ "[Client %d] cupsdSendError code=%d, auth_type=%d",
con->http.fd, code, auth_type);
#ifdef HAVE_SSL
@@ -2517,10 +2572,6 @@ cupsdSendHeader(
int auth_type) /* I - Type of authentication */
{
char auth_str[1024]; /* Authorization string */
-#if 0 /* def HAVE_GSSAPI */
- static char *gss_buf = NULL; /* Kerberos auth data buffer */
- static int gss_bufsize = 0; /* Size of Kerberos auth data buffer */
-#endif /* HAVE_GSSAPI */
/*
@@ -2650,7 +2701,7 @@ cupsdSendHeader(
if (auth_str[0])
{
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdSendHeader: %d WWW-Authenticate: %s", con->http.fd,
+ "[Client %d] WWW-Authenticate: %s", con->http.fd,
auth_str);
if (httpPrintf(HTTP(con), "WWW-Authenticate: %s\r\n", auth_str) < 0)
@@ -2731,11 +2782,23 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "cupsdWriteClient(con=%p(%d)) response=%p(%d), file=%d "
- "pipe_pid=%d state=%d",
- con, con->http.fd, con->response,
- con->response ? con->response->state : -1,
- con->file, con->pipe_pid, con->http.state);
+ "[Client %d] cupsdWriteClient "
+ "error=%d, "
+ "used=%d, "
+ "state=%s, "
+ "data_encoding=HTTP_ENCODE_%s, "
+ "data_remaining=" CUPS_LLFMT ", "
+ "response=%p(%s), "
+ "pipe_pid=%d, "
+ "file=%d",
+ con->http.fd, con->http.error, con->http.used,
+ http_states[con->http.state],
+ con->http.data_encoding == HTTP_ENCODE_CHUNKED ?
+ "CHUNKED" : "LENGTH",
+ CUPS_LLCAST con->http.data_remaining,
+ con->response,
+ con->response ? ipp_states[con->response->state] : "",
+ con->pipe_pid, con->file);
if (con->http.state != HTTP_GET_SEND &&
con->http.state != HTTP_POST_SEND)
@@ -2746,8 +2809,8 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
*/
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdWriteClient: %d Closing on unknown HTTP state %d",
- con->http.fd, con->http.state);
+ "[Client %d] Closing on unexpected HTTP state %s.",
+ con->http.fd, http_states[con->http.state]);
cupsdCloseClient(con);
return;
}
@@ -2900,7 +2963,7 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
if (httpWrite2(HTTP(con), con->header, con->header_used) < 0)
{
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdWriteClient: %d Closing for error %d (%s)",
+ "[Client %d] Closing for error %d (%s)",
con->http.fd, con->http.error,
strerror(con->http.error));
cupsdCloseClient(con);
@@ -2937,7 +3000,7 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
if (httpWrite2(HTTP(con), "", 0) < 0)
{
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdWriteClient: %d Closing for error %d (%s)",
+ "[Client %d] Closing for error %d (%s)",
con->http.fd, con->http.error,
strerror(con->http.error));
cupsdCloseClient(con);
@@ -2987,7 +3050,7 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
if (!con->http.keep_alive)
{
cupsdLogMessage(CUPSD_LOG_DEBUG,
- "cupsdWriteClient: %d Closing because Keep-Alive disabled",
+ "[Client %d] Closing because Keep-Alive disabled.",
con->http.fd);
cupsdCloseClient(con);
return;
@@ -3025,9 +3088,9 @@ check_if_modified(
return (1);
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "check_if_modified(con=%p(%d), "
+ "[Client %d] check_if_modified "
"filestats=%p(" CUPS_LLFMT ", %d)) If-Modified-Since=\"%s\"",
- con, con->http.fd, filestats, CUPS_LLCAST filestats->st_size,
+ con->http.fd, filestats, CUPS_LLCAST filestats->st_size,
(int)filestats->st_mtime, ptr);
while (*ptr != '\0')
@@ -3079,6 +3142,274 @@ compare_clients(cupsd_client_t *a, /* I - First client */
}
+#ifdef HAVE_CDSASSL
+/*
+ * 'copy_cdsa_certificate()' - Copy a SSL/TLS certificate from the System
+ * keychain.
+ */
+
+static CFArrayRef /* O - Array of certificates */
+copy_cdsa_certificate(
+ cupsd_client_t *con) /* I - Client connection */
+{
+ OSStatus err; /* Error info */
+ SecKeychainRef keychain = NULL;/* Keychain reference */
+ SecIdentitySearchRef search = NULL; /* Search reference */
+ SecIdentityRef identity = NULL;/* Identity */
+ CFArrayRef certificates = NULL;
+ /* Certificate array */
+# if HAVE_SECPOLICYCREATESSL
+ SecPolicyRef policy = NULL; /* Policy ref */
+ CFStringRef servername = NULL;
+ /* Server name */
+ CFMutableDictionaryRef query = NULL; /* Query qualifiers */
+ char localname[1024];/* Local hostname */
+# elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
+ SecPolicyRef policy = NULL; /* Policy ref */
+ SecPolicySearchRef policy_search = NULL;
+ /* Policy search ref */
+ CSSM_DATA options; /* Policy options */
+ CSSM_APPLE_TP_SSL_OPTIONS
+ ssl_options; /* SSL Option for hostname */
+ char localname[1024];/* Local hostname */
+# endif /* HAVE_SECPOLICYCREATESSL */
+
+
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "copy_cdsa_certificate: Looking for certs for \"%s\"...",
+ con->servername);
+
+ if ((err = SecKeychainOpen(ServerCertificate, &keychain)))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot open keychain \"%s\" - %s (%d)",
+ ServerCertificate, cssmErrorString(err), (int)err);
+ goto cleanup;
+ }
+
+# if HAVE_SECPOLICYCREATESSL
+ servername = CFStringCreateWithCString(kCFAllocatorDefault, con->servername,
+ kCFStringEncodingUTF8);
+
+ policy = SecPolicyCreateSSL(1, servername);
+
+ if (servername)
+ CFRelease(servername);
+
+ if (!policy)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create ssl policy reference");
+ goto cleanup;
+ }
+
+ if (!(query = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
+ &kCFTypeDictionaryKeyCallBacks,
+ &kCFTypeDictionaryValueCallBacks)))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create query dictionary");
+ goto cleanup;
+ }
+
+ CFDictionaryAddValue(query, kSecClass, kSecClassIdentity);
+ CFDictionaryAddValue(query, kSecMatchPolicy, policy);
+ CFDictionaryAddValue(query, kSecReturnRef, kCFBooleanTrue);
+ CFDictionaryAddValue(query, kSecMatchLimit, kSecMatchLimitOne);
+
+ err = SecItemCopyMatching(query, (CFTypeRef *)&identity);
+
+ if (err && DNSSDHostName)
+ {
+ /*
+ * Search for the connection server name failed; try the DNS-SD .local
+ * hostname instead...
+ */
+
+ snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
+
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "copy_cdsa_certificate: Looking for certs for \"%s\"...",
+ localname);
+
+ servername = CFStringCreateWithCString(kCFAllocatorDefault, localname,
+ kCFStringEncodingUTF8);
+
+ CFRelease(policy);
+
+ policy = SecPolicyCreateSSL(1, servername);
+
+ if (servername)
+ CFRelease(servername);
+
+ if (!policy)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create ssl policy reference");
+ goto cleanup;
+ }
+
+ CFDictionarySetValue(query, kSecMatchPolicy, policy);
+
+ err = SecItemCopyMatching(query, (CFTypeRef *)&identity);
+ }
+
+ if (err)
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "Cannot find signing key in keychain \"%s\": %s (%d)",
+ ServerCertificate, cssmErrorString(err), (int)err);
+ goto cleanup;
+ }
+
+# elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
+ /*
+ * Use a policy to search for valid certificates whose common name matches the
+ * servername...
+ */
+
+ if (SecPolicySearchCreate(CSSM_CERT_X_509v3, &CSSMOID_APPLE_TP_SSL,
+ NULL, &policy_search))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create a policy search reference");
+ goto cleanup;
+ }
+
+ if (SecPolicySearchCopyNext(policy_search, &policy))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Cannot find a policy to use for searching");
+ goto cleanup;
+ }
+
+ memset(&ssl_options, 0, sizeof(ssl_options));
+ ssl_options.Version = CSSM_APPLE_TP_SSL_OPTS_VERSION;
+ ssl_options.ServerName = con->servername;
+ ssl_options.ServerNameLen = strlen(con->servername);
+
+ options.Data = (uint8 *)&ssl_options;
+ options.Length = sizeof(ssl_options);
+
+ if (SecPolicySetValue(policy, &options))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Cannot set policy value to use for searching");
+ goto cleanup;
+ }
+
+ if ((err = SecIdentitySearchCreateWithPolicy(policy, NULL, CSSM_KEYUSE_SIGN,
+ keychain, FALSE, &search)))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Cannot create identity search reference: %s (%d)",
+ cssmErrorString(err), (int)err);
+ goto cleanup;
+ }
+
+ err = SecIdentitySearchCopyNext(search, &identity);
+
+ if (err && DNSSDHostName)
+ {
+ /*
+ * Search for the connection server name failed; try the DNS-SD .local
+ * hostname instead...
+ */
+
+ snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
+
+ ssl_options.ServerName = localname;
+ ssl_options.ServerNameLen = strlen(localname);
+
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "copy_cdsa_certificate: Looking for certs for \"%s\"...",
+ localname);
+
+ if (SecPolicySetValue(policy, &options))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Cannot set policy value to use for searching");
+ goto cleanup;
+ }
+
+ CFRelease(search);
+ search = NULL;
+ if ((err = SecIdentitySearchCreateWithPolicy(policy, NULL, CSSM_KEYUSE_SIGN,
+ keychain, FALSE, &search)))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Cannot create identity search reference: %s (%d)",
+ cssmErrorString(err), (int)err);
+ goto cleanup;
+ }
+
+ err = SecIdentitySearchCopyNext(search, &identity);
+
+ }
+
+ if (err)
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "Cannot find signing key in keychain \"%s\": %s (%d)",
+ ServerCertificate, cssmErrorString(err), (int)err);
+ goto cleanup;
+ }
+
+# else
+ /*
+ * Assume there is exactly one SecIdentity in the keychain...
+ */
+
+ if ((err = SecIdentitySearchCreate(keychain, CSSM_KEYUSE_SIGN, &search)))
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "Cannot create identity search reference (%d)", (int)err);
+ goto cleanup;
+ }
+
+ if ((err = SecIdentitySearchCopyNext(search, &identity)))
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "Cannot find signing key in keychain \"%s\": %s (%d)",
+ ServerCertificate, cssmErrorString(err), (int)err);
+ goto cleanup;
+ }
+# endif /* HAVE_SECPOLICYCREATESSL */
+
+ if (CFGetTypeID(identity) != SecIdentityGetTypeID())
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "SecIdentity CFTypeID failure!");
+ goto cleanup;
+ }
+
+ if ((certificates = CFArrayCreate(NULL, (const void **)&identity,
+ 1, &kCFTypeArrayCallBacks)) == NULL)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create certificate array");
+ goto cleanup;
+ }
+
+ cleanup :
+
+ if (keychain)
+ CFRelease(keychain);
+ if (search)
+ CFRelease(search);
+ if (identity)
+ CFRelease(identity);
+
+# if HAVE_SECPOLICYCREATESSL
+ if (policy)
+ CFRelease(policy);
+ if (query)
+ CFRelease(query);
+# elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
+ if (policy)
+ CFRelease(policy);
+ if (policy_search)
+ CFRelease(policy_search);
+# endif /* HAVE_SECPOLICYCREATESSL */
+
+ return (certificates);
+}
+#endif /* HAVE_CDSASSL */
+
+
/*
* 'data_ready()' - Check whether data is available from a client.
*/
@@ -3124,7 +3455,7 @@ encrypt_client(cupsd_client_t *con) /* I - Client to encrypt */
unsigned long error; /* Error code */
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "encrypt_client(con=%p(%d))", con,
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Encrypting connection.",
con->http.fd);
/*
@@ -3185,7 +3516,7 @@ encrypt_client(cupsd_client_t *con) /* I - Client to encrypt */
const char *priority; /* Priority string */
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "encrypt_client(con=%p(%d))", con,
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Encrypting connection.",
con->http.fd);
/*
@@ -3271,10 +3602,10 @@ encrypt_client(cupsd_client_t *con) /* I - Client to encrypt */
CFArrayRef peerCerts; /* Peer certificates */
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "encrypt_client(con=%p(%d))", con,
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Encrypting connection.",
con->http.fd);
- con->http.tls_credentials = get_cdsa_certificate(con);
+ con->http.tls_credentials = copy_cdsa_certificate(con);
if (!con->http.tls_credentials)
{
@@ -3283,7 +3614,7 @@ encrypt_client(cupsd_client_t *con) /* I - Client to encrypt */
*/
if (make_certificate(con))
- con->http.tls_credentials = get_cdsa_certificate(con);
+ con->http.tls_credentials = copy_cdsa_certificate(con);
}
if (!con->http.tls_credentials)
@@ -3365,273 +3696,6 @@ encrypt_client(cupsd_client_t *con) /* I - Client to encrypt */
#endif /* HAVE_SSL */
-#ifdef HAVE_CDSASSL
-/*
- * 'get_cdsa_certificate()' - Get a SSL/TLS certificate from the System keychain.
- */
-
-static CFArrayRef /* O - Array of certificates */
-get_cdsa_certificate(
- cupsd_client_t *con) /* I - Client connection */
-{
- OSStatus err; /* Error info */
- SecKeychainRef keychain = NULL;/* Keychain reference */
- SecIdentitySearchRef search = NULL; /* Search reference */
- SecIdentityRef identity = NULL;/* Identity */
- CFArrayRef certificates = NULL;
- /* Certificate array */
-# if HAVE_SECPOLICYCREATESSL
- SecPolicyRef policy = NULL; /* Policy ref */
- CFStringRef servername = NULL;
- /* Server name */
- CFMutableDictionaryRef query = NULL; /* Query qualifiers */
- char localname[1024];/* Local hostname */
-# elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
- SecPolicyRef policy = NULL; /* Policy ref */
- SecPolicySearchRef policy_search = NULL;
- /* Policy search ref */
- CSSM_DATA options; /* Policy options */
- CSSM_APPLE_TP_SSL_OPTIONS
- ssl_options; /* SSL Option for hostname */
- char localname[1024];/* Local hostname */
-# endif /* HAVE_SECPOLICYCREATESSL */
-
-
- cupsdLogMessage(CUPSD_LOG_DEBUG,
- "get_cdsa_certificate: Looking for certs for \"%s\"...",
- con->servername);
-
- if ((err = SecKeychainOpen(ServerCertificate, &keychain)))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot open keychain \"%s\" - %s (%d)",
- ServerCertificate, cssmErrorString(err), (int)err);
- goto cleanup;
- }
-
-# if HAVE_SECPOLICYCREATESSL
- servername = CFStringCreateWithCString(kCFAllocatorDefault, con->servername,
- kCFStringEncodingUTF8);
-
- policy = SecPolicyCreateSSL(1, servername);
-
- if (servername)
- CFRelease(servername);
-
- if (!policy)
- {
- cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create ssl policy reference");
- goto cleanup;
- }
-
- if (!(query = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
- &kCFTypeDictionaryKeyCallBacks,
- &kCFTypeDictionaryValueCallBacks)))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create query dictionary");
- goto cleanup;
- }
-
- CFDictionaryAddValue(query, kSecClass, kSecClassIdentity);
- CFDictionaryAddValue(query, kSecMatchPolicy, policy);
- CFDictionaryAddValue(query, kSecReturnRef, kCFBooleanTrue);
- CFDictionaryAddValue(query, kSecMatchLimit, kSecMatchLimitOne);
-
- err = SecItemCopyMatching(query, (CFTypeRef *)&identity);
-
- if (err && DNSSDHostName)
- {
- /*
- * Search for the connection server name failed; try the DNS-SD .local
- * hostname instead...
- */
-
- snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
-
- cupsdLogMessage(CUPSD_LOG_DEBUG,
- "get_cdsa_certificate: Looking for certs for \"%s\"...",
- localname);
-
- servername = CFStringCreateWithCString(kCFAllocatorDefault, localname,
- kCFStringEncodingUTF8);
-
- CFRelease(policy);
-
- policy = SecPolicyCreateSSL(1, servername);
-
- if (servername)
- CFRelease(servername);
-
- if (!policy)
- {
- cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create ssl policy reference");
- goto cleanup;
- }
-
- CFDictionarySetValue(query, kSecMatchPolicy, policy);
-
- err = SecItemCopyMatching(query, (CFTypeRef *)&identity);
- }
-
- if (err)
- {
- cupsdLogMessage(CUPSD_LOG_DEBUG,
- "Cannot find signing key in keychain \"%s\": %s (%d)",
- ServerCertificate, cssmErrorString(err), (int)err);
- goto cleanup;
- }
-
-# elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
- /*
- * Use a policy to search for valid certificates whose common name matches the
- * servername...
- */
-
- if (SecPolicySearchCreate(CSSM_CERT_X_509v3, &CSSMOID_APPLE_TP_SSL,
- NULL, &policy_search))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create a policy search reference");
- goto cleanup;
- }
-
- if (SecPolicySearchCopyNext(policy_search, &policy))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR,
- "Cannot find a policy to use for searching");
- goto cleanup;
- }
-
- memset(&ssl_options, 0, sizeof(ssl_options));
- ssl_options.Version = CSSM_APPLE_TP_SSL_OPTS_VERSION;
- ssl_options.ServerName = con->servername;
- ssl_options.ServerNameLen = strlen(con->servername);
-
- options.Data = (uint8 *)&ssl_options;
- options.Length = sizeof(ssl_options);
-
- if (SecPolicySetValue(policy, &options))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR,
- "Cannot set policy value to use for searching");
- goto cleanup;
- }
-
- if ((err = SecIdentitySearchCreateWithPolicy(policy, NULL, CSSM_KEYUSE_SIGN,
- keychain, FALSE, &search)))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR,
- "Cannot create identity search reference: %s (%d)",
- cssmErrorString(err), (int)err);
- goto cleanup;
- }
-
- err = SecIdentitySearchCopyNext(search, &identity);
-
- if (err && DNSSDHostName)
- {
- /*
- * Search for the connection server name failed; try the DNS-SD .local
- * hostname instead...
- */
-
- snprintf(localname, sizeof(localname), "%s.local", DNSSDHostName);
-
- ssl_options.ServerName = localname;
- ssl_options.ServerNameLen = strlen(localname);
-
- cupsdLogMessage(CUPSD_LOG_DEBUG,
- "get_cdsa_certificate: Looking for certs for \"%s\"...",
- localname);
-
- if (SecPolicySetValue(policy, &options))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR,
- "Cannot set policy value to use for searching");
- goto cleanup;
- }
-
- CFRelease(search);
- search = NULL;
- if ((err = SecIdentitySearchCreateWithPolicy(policy, NULL, CSSM_KEYUSE_SIGN,
- keychain, FALSE, &search)))
- {
- cupsdLogMessage(CUPSD_LOG_ERROR,
- "Cannot create identity search reference: %s (%d)",
- cssmErrorString(err), (int)err);
- goto cleanup;
- }
-
- err = SecIdentitySearchCopyNext(search, &identity);
-
- }
-
- if (err)
- {
- cupsdLogMessage(CUPSD_LOG_DEBUG,
- "Cannot find signing key in keychain \"%s\": %s (%d)",
- ServerCertificate, cssmErrorString(err), (int)err);
- goto cleanup;
- }
-
-# else
- /*
- * Assume there is exactly one SecIdentity in the keychain...
- */
-
- if ((err = SecIdentitySearchCreate(keychain, CSSM_KEYUSE_SIGN, &search)))
- {
- cupsdLogMessage(CUPSD_LOG_DEBUG,
- "Cannot create identity search reference (%d)", (int)err);
- goto cleanup;
- }
-
- if ((err = SecIdentitySearchCopyNext(search, &identity)))
- {
- cupsdLogMessage(CUPSD_LOG_DEBUG,
- "Cannot find signing key in keychain \"%s\": %s (%d)",
- ServerCertificate, cssmErrorString(err), (int)err);
- goto cleanup;
- }
-# endif /* HAVE_SECPOLICYCREATESSL */
-
- if (CFGetTypeID(identity) != SecIdentityGetTypeID())
- {
- cupsdLogMessage(CUPSD_LOG_ERROR, "SecIdentity CFTypeID failure!");
- goto cleanup;
- }
-
- if ((certificates = CFArrayCreate(NULL, (const void **)&identity,
- 1, &kCFTypeArrayCallBacks)) == NULL)
- {
- cupsdLogMessage(CUPSD_LOG_ERROR, "Cannot create certificate array");
- goto cleanup;
- }
-
- cleanup :
-
- if (keychain)
- CFRelease(keychain);
- if (search)
- CFRelease(search);
- if (identity)
- CFRelease(identity);
-
-# if HAVE_SECPOLICYCREATESSL
- if (policy)
- CFRelease(policy);
- if (query)
- CFRelease(query);
-# elif defined(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
- if (policy)
- CFRelease(policy);
- if (policy_search)
- CFRelease(policy_search);
-# endif /* HAVE_SECPOLICYCREATESSL */
-
- return (certificates);
-}
-#endif /* HAVE_CDSASSL */
-
-
/*
* 'get_file()' - Get a filename and state info.
*/
@@ -3815,8 +3879,8 @@ get_file(cupsd_client_t *con, /* I - Client connection */
}
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "get_file(con=%p(%d), filestats=%p, filename=%p, len=%d) = "
- "%s", con, con->http.fd, filestats, filename, len,
+ "[Client %d] get_file filestats=%p, filename=%p, len=%d, "
+ "returning \"%s\".", con->http.fd, filestats, filename, len,
status ? "(null)" : filename);
if (status)
@@ -3955,9 +4019,9 @@ is_cgi(cupsd_client_t *con, /* I - Client connection */
if (!type || _cups_strcasecmp(type->super, "application"))
{
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
- "type=%s/%s) = 0", con, con->http.fd, filename, filestats,
- type ? type->super : "unknown",
+ "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+ "type=%s/%s, returning 0", con->http.fd, filename,
+ filestats, type ? type->super : "unknown",
type ? type->type : "unknown");
return (0);
}
@@ -3975,9 +4039,9 @@ is_cgi(cupsd_client_t *con, /* I - Client connection */
cupsdSetStringf(&con->options, " %s", options);
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
- "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
- type->super, type->type);
+ "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+ "type=%s/%s, returning 1", con->http.fd, filename,
+ filestats, type->super, type->type);
return (1);
}
#ifdef HAVE_JAVA
@@ -3995,9 +4059,9 @@ is_cgi(cupsd_client_t *con, /* I - Client connection */
cupsdSetStringf(&con->options, " %s", filename);
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
- "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
- type->super, type->type);
+ "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+ "type=%s/%s, returning 1", con->http.fd, filename,
+ filestats, type->super, type->type);
return (1);
}
#endif /* HAVE_JAVA */
@@ -4016,9 +4080,9 @@ is_cgi(cupsd_client_t *con, /* I - Client connection */
cupsdSetStringf(&con->options, " %s", filename);
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
- "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
- type->super, type->type);
+ "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+ "type=%s/%s, returning 1", con->http.fd, filename,
+ filestats, type->super, type->type);
return (1);
}
#endif /* HAVE_PERL */
@@ -4037,9 +4101,9 @@ is_cgi(cupsd_client_t *con, /* I - Client connection */
cupsdSetStringf(&con->options, " %s", filename);
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
- "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
- type->super, type->type);
+ "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+ "type=%s/%s, returning 1", con->http.fd, filename,
+ filestats, type->super, type->type);
return (1);
}
#endif /* HAVE_PHP */
@@ -4058,17 +4122,17 @@ is_cgi(cupsd_client_t *con, /* I - Client connection */
cupsdSetStringf(&con->options, " %s", filename);
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
- "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
- type->super, type->type);
+ "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+ "type=%s/%s, returning 1", con->http.fd, filename,
+ filestats, type->super, type->type);
return (1);
}
#endif /* HAVE_PYTHON */
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
- "type=%s/%s) = 0", con, con->http.fd, filename, filestats,
- type->super, type->type);
+ "[Client %d] is_cgi filename=\"%s\", filestats=%p, "
+ "type=%s/%s, returning 0", con->http.fd, filename,
+ filestats, type->super, type->type);
return (0);
}
@@ -4624,9 +4688,9 @@ pipe_command(cupsd_client_t *con, /* I - Client connection */
*/
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "pipe_command(con=%p(%d), infile=%d, outfile=%p, "
- "command=\"%s\", options=\"%s\", root=%d)",
- con, con->http.fd, infile, outfile, command,
+ "[Client %d] pipe_command infile=%d, outfile=%p, "
+ "command=\"%s\", options=\"%s\", root=%d",
+ con->http.fd, infile, outfile, command,
options ? options : "(null)", root);
argv[0] = command;
@@ -5139,8 +5203,8 @@ write_file(cupsd_client_t *con, /* I - Client connection */
con->file = open(filename, O_RDONLY);
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "write_file(con=%p(%d), code=%d, filename=\"%s\" (%d), "
- "type=\"%s\", filestats=%p)", con, con->http.fd,
+ "[Client %d] write_file code=%d, filename=\"%s\" (%d), "
+ "type=\"%s\", filestats=%p", con->http.fd,
code, filename, con->file, type ? type : "(null)", filestats);
if (con->file < 0)
@@ -5188,8 +5252,8 @@ static void
write_pipe(cupsd_client_t *con) /* I - Client connection */
{
cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "write_pipe(con=%p(%d)) CGI output on fd %d",
- con, con->http.fd, con->file);
+ "[Client %d] write_pipe CGI output on fd %d",
+ con->http.fd, con->file);
con->file_ready = 1;
diff --git a/scheduler/conf.h b/scheduler/conf.h
index 4d669027a..a68c31d3b 100644
--- a/scheduler/conf.h
+++ b/scheduler/conf.h
@@ -278,16 +278,10 @@ extern int cupsdLogGSSMessage(int level, int major_status,
int minor_status,
const char *message, ...);
#endif /* HAVE_GSSAPI */
-extern int cupsdLogJob(cupsd_job_t *job, int level, const char *message, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
-#endif /* __GNUC__ */
-;
+extern int cupsdLogJob(cupsd_job_t *job, int level, const char *message,
+ ...) __attribute__((__format__(__printf__, 3, 4)));
extern int cupsdLogMessage(int level, const char *message, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 2, 3)));
extern int cupsdLogPage(cupsd_job_t *job, const char *page);
extern int cupsdLogRequest(cupsd_client_t *con, http_status_t code);
extern int cupsdReadConfiguration(void);
diff --git a/scheduler/cups.sh.in b/scheduler/cups.sh.in
index 9215c6bef..e67762043 100644
--- a/scheduler/cups.sh.in
+++ b/scheduler/cups.sh.in
@@ -172,6 +172,10 @@ esac
case $1 in
start | restart | reload)
if $IS_ON cups; then
+ if test -x /sbin/portrelease; then
+ /sbin/portrelease cups
+ fi
+
if test "$pid" != ""; then
kill -HUP $pid
else
diff --git a/scheduler/cupsd.h b/scheduler/cupsd.h
index d742467a7..630285f3e 100644
--- a/scheduler/cupsd.h
+++ b/scheduler/cupsd.h
@@ -183,10 +183,7 @@ extern void cupsdInitEnv(void);
extern int cupsdLoadEnv(char *envp[], int envmax);
extern void cupsdSetEnv(const char *name, const char *value);
extern void cupsdSetEnvf(const char *name, const char *value, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 2, 3)));
extern void cupsdUpdateEnv(void);
/* file.c */
@@ -210,10 +207,7 @@ extern char *cupsdMakeUUID(const char *name, int number,
extern void cupsdReleaseSignals(void);
extern void cupsdSetString(char **s, const char *v);
extern void cupsdSetStringf(char **s, const char *f, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 2, 3)));
/* process.c */
extern void *cupsdCreateProfile(int job_id);
diff --git a/scheduler/cupsfilter.c b/scheduler/cupsfilter.c
index 2b0fadf5f..a33e0132c 100644
--- a/scheduler/cupsfilter.c
+++ b/scheduler/cupsfilter.c
@@ -102,7 +102,8 @@ static int open_pipe(int *fds);
static int read_cupsd_conf(const char *filename);
static void set_string(char **s, const char *val);
static void sighandler(int sig);
-static void usage(const char *command, const char *opt);
+static void usage(const char *command, const char *opt)
+ __attribute__((noreturn));
/*
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
index a2e2a13f7..ac5f8c2b9 100644
--- a/scheduler/ipp.c
+++ b/scheduler/ipp.c
@@ -228,10 +228,7 @@ static void send_http_error(cupsd_client_t *con, http_status_t status,
cupsd_printer_t *printer);
static void send_ipp_status(cupsd_client_t *con, ipp_status_t status,
const char *message, ...)
-# ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
-# endif /* __GNUC__ */
-;
+ __attribute__((__format__(__printf__, 3, 4)));
static void set_default(cupsd_client_t *con, ipp_attribute_t *uri);
static void set_job_attrs(cupsd_client_t *con, ipp_attribute_t *uri);
static void set_printer_attrs(cupsd_client_t *con, ipp_attribute_t *uri);
@@ -10311,7 +10308,7 @@ save_auth_info(
int i; /* Looping var */
char filename[1024]; /* Job authentication filename */
cups_file_t *fp; /* Job authentication file */
- char line[2048]; /* Line for file */
+ char line[65536]; /* Line for file */
cupsd_printer_t *dest; /* Destination printer/class */
diff --git a/scheduler/job.c b/scheduler/job.c
index fdd09f0a0..59e06dd55 100644
--- a/scheduler/job.c
+++ b/scheduler/job.c
@@ -1816,8 +1816,8 @@ cupsdLoadJob(cupsd_job_t *job) /* I - Job */
if ((fp = cupsFileOpen(jobfile, "r")) != NULL)
{
int bytes; /* Size of auth data */
- char line[255], /* Line from file */
- data[255]; /* Decoded data */
+ char line[65536], /* Line from file */
+ data[65536]; /* Decoded data */
for (i = 0;
@@ -3371,6 +3371,9 @@ get_options(cupsd_job_t *job, /* I - Job */
* Then allocate/reallocate the option buffer as needed...
*/
+ if (newlength == 0) /* This can never happen, but Clang */
+ newlength = 1; /* thinks it can... */
+
if (newlength > optlength || !options)
{
if (!options)
diff --git a/scheduler/job.h b/scheduler/job.h
index 3764478fd..4fa63c6b1 100644
--- a/scheduler/job.h
+++ b/scheduler/job.h
@@ -149,10 +149,8 @@ extern void cupsdSetJobState(cupsd_job_t *job,
ipp_jstate_t newstate,
cupsd_jobaction_t action,
const char *message, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 4, 5)))
-#endif /* __GNUC__ */
-;
+ __attribute__((__format__(__printf__,
+ 4, 5)));
extern void cupsdStopAllJobs(cupsd_jobaction_t action,
int kill_delay);
extern int cupsdTimeoutJob(cupsd_job_t *job);
diff --git a/scheduler/log.c b/scheduler/log.c
index c5dff9754..ecabb7f46 100644
--- a/scheduler/log.c
+++ b/scheduler/log.c
@@ -516,7 +516,7 @@ cupsdLogMessage(int level, /* I - Log level */
* See if we want to log this message...
*/
- if (TestConfigFile || (level <= LogLevel && !ErrorLog))
+ if ((TestConfigFile || !ErrorLog) && level <= CUPSD_LOG_WARN)
{
va_start(ap, message);
vfprintf(stderr, message, ap);
diff --git a/scheduler/main.c b/scheduler/main.c
index ec05b5b9a..0f4a711ea 100644
--- a/scheduler/main.c
+++ b/scheduler/main.c
@@ -84,7 +84,7 @@ static void sigchld_handler(int sig);
static void sighup_handler(int sig);
static void sigterm_handler(int sig);
static long select_timeout(int fds);
-static void usage(int status);
+static void usage(int status) __attribute__((noreturn));
/*
@@ -1514,7 +1514,7 @@ launchd_checkout(void)
if (cupsArrayCount(ActiveJobs) || NumPolled ||
(Browsing &&
- (BrowseRemoteProtocols ||
+ (BrowseRemoteProtocols ||
(BrowseLocalProtocols && cupsArrayCount(Printers)))))
{
cupsdLogMessage(CUPSD_LOG_DEBUG,
diff --git a/scheduler/mime-private.h b/scheduler/mime-private.h
index ffd769f12..c448e5ac8 100644
--- a/scheduler/mime-private.h
+++ b/scheduler/mime-private.h
@@ -32,10 +32,7 @@ extern "C" {
*/
extern void _mimeError(mime_t *mime, const char *format, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-#endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 2, 3)));
# ifdef __cplusplus
diff --git a/scheduler/testdirsvc.c b/scheduler/testdirsvc.c
index bf3030428..88046a95c 100644
--- a/scheduler/testdirsvc.c
+++ b/scheduler/testdirsvc.c
@@ -30,7 +30,7 @@
* Local functions...
*/
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
/*
diff --git a/scheduler/testlpd.c b/scheduler/testlpd.c
index 64ade1fd5..c534f593c 100644
--- a/scheduler/testlpd.c
+++ b/scheduler/testlpd.c
@@ -47,7 +47,7 @@ static int print_waiting(int outfd, int infd, char *dest);
static int remove_job(int outfd, int infd, char *dest, char **args);
static int status_long(int outfd, int infd, char *dest, char **args);
static int status_short(int outfd, int infd, char *dest, char **args);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
/*
diff --git a/scheduler/testspeed.c b/scheduler/testspeed.c
index 7048d2ac7..4aeaf2676 100644
--- a/scheduler/testspeed.c
+++ b/scheduler/testspeed.c
@@ -40,7 +40,7 @@
static int do_test(const char *server, int port,
http_encryption_t encryption, int requests,
int verbose);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
/*
diff --git a/scheduler/testsub.c b/scheduler/testsub.c
index 92f678855..8726774cb 100644
--- a/scheduler/testsub.c
+++ b/scheduler/testsub.c
@@ -43,7 +43,7 @@ static int terminate = 0;
static void print_attributes(ipp_t *ipp, int indent);
static void sigterm_handler(int sig);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
/*
diff --git a/systemv/Dependencies b/systemv/Dependencies
index a7aa88c31..f40f77b87 100644
--- a/systemv/Dependencies
+++ b/systemv/Dependencies
@@ -3,106 +3,111 @@
cancel.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cancel.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
cancel.o: ../cups/language.h ../cups/string-private.h ../config.h
-cancel.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-cancel.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-cancel.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-cancel.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cancel.o: ../cups/thread-private.h
+cancel.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+cancel.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+cancel.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+cancel.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+cancel.o: ../cups/transcode.h ../cups/thread-private.h
cupsaccept.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cupsaccept.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
cupsaccept.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupsaccept.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-cupsaccept.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-cupsaccept.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-cupsaccept.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupsaccept.o: ../cups/transcode.h ../cups/thread-private.h
+cupsaccept.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+cupsaccept.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+cupsaccept.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+cupsaccept.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+cupsaccept.o: ../cups/language-private.h ../cups/transcode.h
+cupsaccept.o: ../cups/thread-private.h
cupsaddsmb.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cupsaddsmb.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
cupsaddsmb.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupsaddsmb.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-cupsaddsmb.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-cupsaddsmb.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-cupsaddsmb.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupsaddsmb.o: ../cups/transcode.h ../cups/thread-private.h
-cupsaddsmb.o: ../cups/adminutil.h
+cupsaddsmb.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+cupsaddsmb.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+cupsaddsmb.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+cupsaddsmb.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+cupsaddsmb.o: ../cups/language-private.h ../cups/transcode.h
+cupsaddsmb.o: ../cups/thread-private.h ../cups/adminutil.h
cupsctl.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cupsctl.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
cupsctl.o: ../cups/language.h ../cups/string-private.h ../config.h
-cupsctl.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-cupsctl.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-cupsctl.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-cupsctl.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cupsctl.o: ../cups/thread-private.h ../cups/adminutil.h
+cupsctl.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+cupsctl.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+cupsctl.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+cupsctl.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+cupsctl.o: ../cups/transcode.h ../cups/thread-private.h ../cups/adminutil.h
cupstestdsc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cupstestdsc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
cupstestdsc.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupstestdsc.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-cupstestdsc.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-cupstestdsc.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-cupstestdsc.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupstestdsc.o: ../cups/transcode.h ../cups/thread-private.h
+cupstestdsc.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+cupstestdsc.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+cupstestdsc.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+cupstestdsc.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+cupstestdsc.o: ../cups/language-private.h ../cups/transcode.h
+cupstestdsc.o: ../cups/thread-private.h
cupstestppd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
cupstestppd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
cupstestppd.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-cupstestppd.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-cupstestppd.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-cupstestppd.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-cupstestppd.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupstestppd.o: ../cups/transcode.h ../cups/thread-private.h ../cups/dir.h
-cupstestppd.o: ../cups/ppd-private.h ../cups/raster.h ../cups/ppd.h
+cupstestppd.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+cupstestppd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+cupstestppd.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+cupstestppd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+cupstestppd.o: ../cups/language-private.h ../cups/transcode.h
+cupstestppd.o: ../cups/thread-private.h ../cups/dir.h ../cups/ppd-private.h
+cupstestppd.o: ../cups/raster.h ../cups/ppd.h
lp.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lp.o: ../cups/language.h ../cups/string-private.h ../config.h
-lp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lp.o: ../cups/thread-private.h
+lp.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+lp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lp.o: ../cups/transcode.h ../cups/thread-private.h
lpadmin.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpadmin.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpadmin.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpadmin.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lpadmin.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lpadmin.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lpadmin.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lpadmin.o: ../cups/thread-private.h
+lpadmin.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+lpadmin.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpadmin.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpadmin.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpadmin.o: ../cups/transcode.h ../cups/thread-private.h
lpinfo.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpinfo.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpinfo.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpinfo.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lpinfo.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lpinfo.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lpinfo.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lpinfo.o: ../cups/thread-private.h
+lpinfo.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+lpinfo.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpinfo.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpinfo.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpinfo.o: ../cups/transcode.h ../cups/thread-private.h
lpmove.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpmove.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpmove.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpmove.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lpmove.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lpmove.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lpmove.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lpmove.o: ../cups/thread-private.h
+lpmove.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+lpmove.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpmove.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpmove.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpmove.o: ../cups/transcode.h ../cups/thread-private.h
lpoptions.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpoptions.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
lpoptions.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-lpoptions.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-lpoptions.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-lpoptions.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-lpoptions.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lpoptions.o: ../cups/transcode.h ../cups/thread-private.h
+lpoptions.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+lpoptions.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+lpoptions.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+lpoptions.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+lpoptions.o: ../cups/language-private.h ../cups/transcode.h
+lpoptions.o: ../cups/thread-private.h
lppasswd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lppasswd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lppasswd.o: ../cups/language.h ../cups/string-private.h ../config.h
-lppasswd.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lppasswd.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lppasswd.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lppasswd.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+lppasswd.o: ../cups/debug-private.h ../cups/versioning.h
+lppasswd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+lppasswd.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+lppasswd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+lppasswd.o: ../cups/language-private.h ../cups/transcode.h
lppasswd.o: ../cups/thread-private.h ../cups/md5-private.h
lpstat.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpstat.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpstat.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpstat.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-lpstat.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-lpstat.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lpstat.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lpstat.o: ../cups/thread-private.h
+lpstat.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+lpstat.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpstat.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpstat.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpstat.o: ../cups/transcode.h ../cups/thread-private.h
diff --git a/systemv/Makefile b/systemv/Makefile
index ae5f5a063..e8df3deaf 100644
--- a/systemv/Makefile
+++ b/systemv/Makefile
@@ -210,7 +210,7 @@ cupstestdsc: cupstestdsc.o ../cups/$(LIBCUPS)
cupstestppd: cupstestppd.o ../cups/$(LIBCUPS) ../filter/$(LIBCUPSIMAGE)
echo Linking $@...
- $(CC) $(LDFLAGS) -o $@ cupstestppd.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS)
+ $(CC) $(LDFLAGS) -o $@ cupstestppd.o $(LINKCUPSIMAGE) $(IMGLIBS) $(LIBS) -lm
cupstestppd-static: cupstestppd.o ../cups/$(LIBCUPSSTATIC) ../filter/libcupsimage.a
echo Linking $@...
diff --git a/systemv/cupsaddsmb.c b/systemv/cupsaddsmb.c
index 18dc8df25..946c62080 100644
--- a/systemv/cupsaddsmb.c
+++ b/systemv/cupsaddsmb.c
@@ -45,7 +45,7 @@ const char *SAMBAUser,
*/
int export_dest(http_t *http, const char *dest);
-void usage(void);
+void usage(void) __attribute__((noreturn));
/*
diff --git a/systemv/cupsctl.c b/systemv/cupsctl.c
index eabc6e479..e53a71477 100644
--- a/systemv/cupsctl.c
+++ b/systemv/cupsctl.c
@@ -32,7 +32,7 @@
* Local functions...
*/
-static void usage(const char *opt);
+static void usage(const char *opt) __attribute__((noreturn));
/*
diff --git a/systemv/cupstestdsc.c b/systemv/cupstestdsc.c
index 6944b42c5..5ec01aee7 100644
--- a/systemv/cupstestdsc.c
+++ b/systemv/cupstestdsc.c
@@ -35,7 +35,7 @@
*/
static int check_file(const char *filename);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
/*
diff --git a/systemv/cupstestppd.c b/systemv/cupstestppd.c
index 3dfa7bf5f..3765f4754 100644
--- a/systemv/cupstestppd.c
+++ b/systemv/cupstestppd.c
@@ -129,7 +129,7 @@ static int check_translations(ppd_file_t *ppd, int errors, int verbose,
int warn);
static void show_conflicts(ppd_file_t *ppd, const char *prefix);
static int test_raster(ppd_file_t *ppd, int verbose);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
static int valid_path(const char *keyword, const char *path, int errors,
int verbose, int warn);
static int valid_utf8(const char *s);
@@ -2320,7 +2320,6 @@ check_filters(ppd_file_t *ppd, /* I - PPD file */
int verbose, /* I - Verbosity level */
int warn) /* I - Warnings only? */
{
- int i; /* Looping var */
ppd_attr_t *attr; /* PPD attribute */
const char *ptr; /* Pointer into string */
char super[16], /* Super-type for filter */
@@ -2368,7 +2367,7 @@ check_filters(ppd_file_t *ppd, /* I - PPD file */
if (verbose >= 0)
_cupsLangPrintf(stdout,
_(" %s Bad cupsFilter value \"%s\"."),
- prefix, ppd->filters[i]);
+ prefix, attr->value);
if (!warn)
errors ++;
@@ -2454,7 +2453,7 @@ check_filters(ppd_file_t *ppd, /* I - PPD file */
if (verbose >= 0)
_cupsLangPrintf(stdout,
_(" %s Bad cupsFilter2 value \"%s\"."),
- prefix, ppd->filters[i]);
+ prefix, attr->value);
if (!warn)
errors ++;
diff --git a/systemv/lpoptions.c b/systemv/lpoptions.c
index 0d81312d3..06a1762c6 100644
--- a/systemv/lpoptions.c
+++ b/systemv/lpoptions.c
@@ -33,7 +33,7 @@
static void list_group(ppd_file_t *ppd, ppd_group_t *group);
static void list_options(cups_dest_t *dest);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
/*
diff --git a/systemv/lppasswd.c b/systemv/lppasswd.c
index 7baa53a93..b9962ecfc 100644
--- a/systemv/lppasswd.c
+++ b/systemv/lppasswd.c
@@ -3,7 +3,7 @@
*
* MD5 password program for CUPS.
*
- * Copyright 2007-2010 by Apple Inc.
+ * Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -48,7 +48,7 @@
* Local functions...
*/
-static void usage(FILE *fp);
+static void usage(FILE *fp) __attribute__((noreturn));
/*
@@ -429,7 +429,7 @@ main(int argc, /* I - Number of command-line arguments */
if (error)
{
_cupsLangPuts(stderr, _("lppasswd: Password file not updated."));
-
+
unlink(passwdnew);
return (1);
@@ -475,7 +475,7 @@ usage(FILE *fp) /* I - File to send usage to */
if (getuid())
_cupsLangPuts(fp, _("Usage: lppasswd [-g groupname]"));
else
- _cupsLangPuts(fp,
+ _cupsLangPuts(fp,
_("Usage: lppasswd [-g groupname] [username]\n"
" lppasswd [-g groupname] -a [username]\n"
" lppasswd [-g groupname] -x [username]"));
diff --git a/test/Dependencies b/test/Dependencies
index 1c2966362..32891447e 100644
--- a/test/Dependencies
+++ b/test/Dependencies
@@ -3,17 +3,18 @@
ippserver.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ippserver.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
ippserver.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-ippserver.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-ippserver.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-ippserver.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-ippserver.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-ippserver.o: ../cups/transcode.h ../cups/thread-private.h
+ippserver.o: ../config.h ../cups/debug-private.h ../cups/versioning.h
+ippserver.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ippserver.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ippserver.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ippserver.o: ../cups/language-private.h ../cups/transcode.h
+ippserver.o: ../cups/thread-private.h
ipptool.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ipptool.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
ipptool.o: ../cups/language.h ../cups/string-private.h ../config.h
-ipptool.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-ipptool.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-ipptool.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ipptool.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ipptool.o: ../cups/thread-private.h ../cups/file-private.h
-ipptool.o: ../cups/cups-private.h
+ipptool.o: ../cups/debug-private.h ../cups/versioning.h ../cups/ppd-private.h
+ipptool.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+ipptool.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+ipptool.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+ipptool.o: ../cups/transcode.h ../cups/thread-private.h
+ipptool.o: ../cups/file-private.h ../cups/cups-private.h
diff --git a/test/ippserver.c b/test/ippserver.c
index 0a8495962..cf73f9039 100644
--- a/test/ippserver.c
+++ b/test/ippserver.c
@@ -285,11 +285,8 @@ static _ipp_job_t *find_job(_ipp_client_t *client);
static void html_escape(_ipp_client_t *client, const char *s,
size_t slen);
static void html_printf(_ipp_client_t *client, const char *format,
- ...)
-# ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 2, 3)))
-# endif /* __GNUC__ */
-;
+ ...) __attribute__((__format__(__printf__,
+ 2, 3)));
static void ipp_cancel_job(_ipp_client_t *client);
#if 0
static void ipp_create_job(_ipp_client_t *client);
@@ -317,12 +314,9 @@ static int respond_http(_ipp_client_t *client, http_status_t code,
const char *type, size_t length);
static void respond_ipp(_ipp_client_t *client, ipp_status_t status,
const char *message, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 3, 4)))
-#endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 3, 4)));
static void run_printer(_ipp_printer_t *printer);
-static void usage(int status);
+static void usage(int status) __attribute__((noreturn));
static int valid_job_attributes(_ipp_client_t *client);
diff --git a/test/ipptool.c b/test/ipptool.c
index 5fdcd09a7..ef3d86c76 100644
--- a/test/ipptool.c
+++ b/test/ipptool.c
@@ -38,6 +38,7 @@
* print_xml_string() - Print an XML string with escaping.
* print_xml_trailer() - Print the XML trailer with success/fail value.
* set_variable() - Set a variable value.
+ * sigterm_handler() - Handle SIGINT and SIGTERM.
* timeout_cb() - Handle HTTP timeouts.
* usage() - Show program usage.
* validate_attr() - Determine whether an attribute is valid.
@@ -51,6 +52,7 @@
#include <cups/cups-private.h>
#include <cups/file-private.h>
#include <regex.h>
+#include <sys/stat.h>
#ifndef O_BINARY
# define O_BINARY 0
@@ -132,7 +134,8 @@ _cups_transfer_t Transfer = _CUPS_TRANSFER_AUTO;
/* How to transfer requests */
_cups_output_t Output = _CUPS_OUTPUT_LIST;
/* Output mode */
-int IgnoreErrors = 0, /* Ignore errors? */
+int Cancel = 0, /* Cancel test? */
+ IgnoreErrors = 0, /* Ignore errors? */
Verbosity = 0, /* Show all attributes? */
Version = 11, /* Default IPP version */
XMLHeader = 0; /* 1 if header is written */
@@ -161,11 +164,7 @@ const char * const URIStatusStrings[] = /* URI status strings */
static int compare_vars(_cups_var_t *a, _cups_var_t *b);
static int do_tests(_cups_vars_t *vars, const char *testfile);
static void expand_variables(_cups_vars_t *vars, char *dst, const char *src,
- size_t dstsize)
-#ifdef __GNUC__
-__attribute((nonnull(1,2,3)))
-#endif /* __GNUC__ */
-;
+ size_t dstsize) __attribute((nonnull(1,2,3)));
static int expect_matches(_cups_expect_t *expect, ipp_tag_t value_tag);
static ipp_t *get_collection(_cups_vars_t *vars, FILE *fp, int *linenum);
static char *get_filename(const char *testfile, char *dst, const char *src,
@@ -180,24 +179,19 @@ static void print_col(ipp_t *col);
static void print_csv(ipp_attribute_t *attr, int num_displayed,
char **displayed, size_t *widths);
static void print_fatal_error(const char *s, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 1, 2)))
-#endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 1, 2)));
static void print_line(ipp_attribute_t *attr, int num_displayed,
char **displayed, size_t *widths);
static void print_test_error(const char *s, ...)
-#ifdef __GNUC__
-__attribute__ ((__format__ (__printf__, 1, 2)))
-#endif /* __GNUC__ */
-;
+ __attribute__ ((__format__ (__printf__, 1, 2)));
static void print_xml_header(void);
static void print_xml_string(const char *element, const char *s);
static void print_xml_trailer(int success, const char *message);
static void set_variable(_cups_vars_t *vars, const char *name,
const char *value);
+static void sigterm_handler(int sig);
static int timeout_cb(http_t *http, void *user_data);
-static void usage(void);
+static void usage(void) __attribute__((noreturn));
static int validate_attr(ipp_attribute_t *attr, int print);
static int with_value(char *value, int regex, ipp_attribute_t *attr,
int report);
@@ -227,6 +221,12 @@ main(int argc, /* I - Number of command-line args */
/* Global data */
+ /*
+ * Catch SIGINT and SIGTERM...
+ */
+
+ signal(SIGINT, sigterm_handler);
+ signal(SIGTERM, sigterm_handler);
/*
* Initialize the locale and variables...
@@ -613,9 +613,14 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
char resource[512], /* Resource for request */
token[1024], /* Token from file */
*tokenptr, /* Pointer into token */
- temp[1024]; /* Temporary string */
- ipp_t *request = NULL; /* IPP request */
- ipp_t *response = NULL; /* IPP response */
+ temp[1024], /* Temporary string */
+ buffer[8192]; /* Copy buffer */
+ ipp_t *request = NULL, /* IPP request */
+ *response = NULL; /* IPP response */
+ size_t length; /* Length of IPP request */
+ http_status_t status; /* HTTP status */
+ int fd; /* File to send */
+ ssize_t bytes; /* Bytes read/written */
char attr[128]; /* Attribute name */
ipp_op_t op; /* Operation */
ipp_tag_t group; /* Current group */
@@ -686,7 +691,7 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
linenum = 1;
request_id = (CUPS_RAND() % 1000) * 137 + 1;
- while (get_token(fp, token, sizeof(token), &linenum) != NULL)
+ while (!Cancel && get_token(fp, token, sizeof(token), &linenum) != NULL)
{
/*
* Expect an open brace...
@@ -2000,48 +2005,105 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
goto skip_error;
}
+ status = HTTP_OK;
+
if (transfer == _CUPS_TRANSFER_CHUNKED ||
(transfer == _CUPS_TRANSFER_AUTO && filename[0]))
{
/*
- * Send request using chunking...
+ * Send request using chunking - a 0 length means "chunk".
*/
- http_status_t status = cupsSendRequest(http, request, resource, 0);
+ length = 0;
+ }
+ else
+ {
+ /*
+ * Send request using content length...
+ */
+
+ length = ippLength(request);
- if (status == HTTP_CONTINUE && filename[0])
+ if (filename[0])
{
- int fd; /* File to send */
- char buffer[8192]; /* Copy buffer */
- ssize_t bytes; /* Bytes read/written */
+ struct stat fileinfo; /* File information */
- if ((fd = open(filename, O_RDONLY | O_BINARY)) >= 0)
+ if (stat(filename, &fileinfo))
{
- while ((bytes = read(fd, buffer, sizeof(buffer))) > 0)
- if ((status = cupsWriteRequestData(http, buffer,
- bytes)) != HTTP_CONTINUE)
- break;
- }
- else
- {
snprintf(buffer, sizeof(buffer), "%s: %s", filename, strerror(errno));
_cupsSetError(IPP_INTERNAL_ERROR, buffer, 0);
status = HTTP_ERROR;
- }
+ }
+ else
+ length += fileinfo.st_size;
}
+ }
- ippDelete(request);
+ /*
+ * Send the request...
+ */
- if (status == HTTP_CONTINUE)
- response = cupsGetResponse(http, resource);
- else
- response = NULL;
+ response = NULL;
+
+ if (status != HTTP_ERROR)
+ {
+ while (!response && !Cancel)
+ {
+ status = cupsSendRequest(http, request, resource, length);
+
+ if (!Cancel && status == HTTP_CONTINUE && request->state == IPP_DATA &&
+ filename[0])
+ {
+ if ((fd = open(filename, O_RDONLY | O_BINARY)) >= 0)
+ {
+ while (!Cancel && (bytes = read(fd, buffer, sizeof(buffer))) > 0)
+ if ((status = cupsWriteRequestData(http, buffer,
+ bytes)) != HTTP_CONTINUE)
+ break;
+ }
+ else
+ {
+ snprintf(buffer, sizeof(buffer), "%s: %s", filename,
+ strerror(errno));
+ _cupsSetError(IPP_INTERNAL_ERROR, buffer, 0);
+
+ status = HTTP_ERROR;
+ }
+ }
+
+ /*
+ * Get the server's response...
+ */
+
+ if (!Cancel && (status == HTTP_CONTINUE || status == HTTP_OK))
+ {
+ response = cupsGetResponse(http, resource);
+ status = http->status;
+ }
+ else
+ httpFlush(http);
+
+ if ((status == HTTP_ERROR && cupsLastError() != IPP_INTERNAL_ERROR) ||
+ (status >= HTTP_BAD_REQUEST && status != HTTP_UNAUTHORIZED &&
+ status != HTTP_UPGRADE_REQUIRED))
+ {
+ _cupsSetHTTPError(status);
+ break;
+ }
+
+ if (http->state != HTTP_WAITING)
+ {
+ /*
+ * Flush any remaining data...
+ */
+
+ httpFlush(http);
+ }
+ }
}
- else if (filename[0])
- response = cupsDoFileRequest(http, request, resource, filename);
- else
- response = cupsDoRequest(http, request, resource);
+
+ ippDelete(request);
request = NULL;
prev_pass = 1;
@@ -3957,6 +4019,19 @@ set_variable(_cups_vars_t *vars, /* I - Variables */
/*
+ * 'sigterm_handler()' - Handle SIGINT and SIGTERM.
+ */
+
+static void
+sigterm_handler(int sig) /* I - Signal number (unused) */
+{
+ (void)sig;
+
+ Cancel = 1;
+}
+
+
+/*
* 'timeout_cb()' - Handle HTTP timeouts.
*/
@@ -3967,6 +4042,7 @@ timeout_cb(http_t *http, /* I - Connection to server (unused) */
(void)http;
(void)user_data;
+ /* Always cancel on timeout */
return (0);
}
diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh
index fa943fc95..85aa9ce32 100755
--- a/test/run-stp-tests.sh
+++ b/test/run-stp-tests.sh
@@ -213,6 +213,43 @@ case "$usevalgrind" in
esac
#
+# See if we want to do debug logging of the libraries...
+#
+
+echo ""
+echo "If CUPS was built with the --enable-debug-printfs configure option, you"
+echo "can enable debug logging of the libraries."
+echo ""
+echo $ac_n "Enter Y or a number from 0 to 9 to enable debug logging or N to not: [N] $ac_c"
+
+if test $# -gt 0; then
+ usedebugprintfs=$1
+ shift
+else
+ read usedebugprintfs
+fi
+echo ""
+
+case "$usedebugprintfs" in
+ Y* | y*)
+ echo "Enabling debug printfs; log files can be found in /tmp/cups-$user/log..."
+ CUPS_DEBUG_LOG="/tmp/cups-$user/log/debug_printfs.%d"; export CUPS_DEBUG_LOG
+ CUPS_DEBUG_LEVEL=5; export CUPS_DEBUG_LEVEL
+ CUPS_DEBUG_FILTER='^(http|_http|ipp|_ipp|cups.*Request|cupsGetRespond|cupsSend).*$'; export CUPS_DEBUG_FILTER
+ ;;
+
+ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9)
+ echo "Enabling debug printfs; log files can be found in /tmp/cups-$user/log..."
+ CUPS_DEBUG_LOG="/tmp/cups-$user/log/debug_printfs.%d"; export CUPS_DEBUG_LOG
+ CUPS_DEBUG_LEVEL=$usedebugprintf; export CUPS_DEBUG_LEVEL
+ CUPS_DEBUG_FILTER='^(http|_http|ipp|_ipp|cups.*Request|cupsGetRespond|cupsSend).*$'; export CUPS_DEBUG_FILTER
+ ;;
+
+ *)
+ ;;
+esac
+
+#
# Start by creating temporary directories for the tests...
#
@@ -338,6 +375,7 @@ CacheDir /tmp/cups-$user/share
DataDir /tmp/cups-$user/share
FontPath /tmp/cups-$user/share/fonts
PassEnv LOCALEDIR
+PassEnv DYLD_INSERT_LIBRARIES
DocumentRoot $root/doc
RequestRoot /tmp/cups-$user/spool
TempDir /tmp/cups-$user/spool/temp
@@ -476,8 +514,8 @@ echo " $valgrind ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cu
echo ""
if test `uname` = Darwin -a "x$valgrind" = x; then
- DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib \
- $valgrind ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/log/debug_log 2>&1 &
+ DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib
+ ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/log/debug_log 2>&1 &
else
$valgrind ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/log/debug_log 2>&1 &
fi