--- /dev/null
+HTTP/2.0 Implementation Notes - 2013-11-07
+------------------------------------------
+
+OVERVIEW
+
+ HTTP/2.0 allows clients to send multiple, simultaneous requests over a
+ single connection, as well as supporting server-side push delivery of
+ content. In the context of IPP, this would allow a single connection to
+ support simultaneous job submission and monitoring.
+
+ This will require changes to the HTTP API used in CUPS, and to cupsd and
+ other CUPS-based servers. This branch tracks that development.
+
+
+DESIGN
+
+ http_t will be updated to be accessible from multiple threads and track the
+ HTTP state in a thread ID to stream ID/state table. Applications can
+ discover whether a Printer supports HTTP/2.0 with a new httpSupportsVersion
+ API and upgrade to HTTP/2.0 with httpUpgradeToVersion.
+
+ Calling httpPost in HTTP/1.1 mode will serialize requests between threads.
+ Calling httpPost in HTTP/2.0 mode will create a new stream ID and issue
+ requests in parallel.
+
+ Q: How to handle incoming 2.0 requests? New httpServerRunLoop with
+ callback that creates a new thread for all incoming requests and associates
+ the thread with the stream ID. httpWriteResponse is then tied to the stream
+ ID. For 1.1 mode the callback gets called on the current thread (no new
+ threads created).
+
+ Q: How to handle PUSH_PROMISE? New httpPushPromise API that creates a new
+ thread and stream ID?
+
+
+REFERENCES
+
+ HTTPbis WG web site: http://tools.ietf.org/wg/httpbis
+
+ Main spec: http://tools.ietf.org/html/draft-ietf-httpbis-http2
+
+ Header compression spec:
+ http://tools.ietf.org/html/draft-ietf-httpbis-header-compression
+
#
-# "$Id$"
+# "$Id: Makedefs.in 11984 2014-07-02 13:16:59Z msweet $"
#
# Common makefile definitions for CUPS.
#
#
-# End of "$Id$"
+# End of "$Id: Makedefs.in 11984 2014-07-02 13:16:59Z msweet $"
#
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Top-level Makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $"
#
# Backend makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: backend-private.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Backend support definitions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: backend-private.h 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: dnssd.c 13138 2016-03-15 14:59:54Z msweet $"
*
* DNS-SD discovery backend for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: dnssd.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ieee1284.c 13138 2016-03-15 14:59:54Z msweet $"
*
* IEEE-1284 support functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ieee1284.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lpd.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Line Printer Daemon backend for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lpd.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: network.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Common backend network APIs for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: network.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: runloop.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Common run loop APIs for CUPS backends.
*
/*
- * End of "$Id$".
+ * End of "$Id: runloop.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: snmp-supplies.c 13138 2016-03-15 14:59:54Z msweet $"
*
* SNMP supplies functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: snmp-supplies.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: snmp.c 11984 2014-07-02 13:16:59Z msweet $"
*
* SNMP discovery backend for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: snmp.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: socket.c 11984 2014-07-02 13:16:59Z msweet $"
*
* AppSocket backend for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: socket.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: test1284.c 10996 2013-05-29 11:51:34Z msweet $"
*
* IEEE-1284 support functions test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: test1284.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testbackend.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Backend test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testbackend.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testsupplies.c 3247 2011-05-12 06:22:31Z msweet $"
*
* SNMP supplies test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testsupplies.c 3247 2011-05-12 06:22:31Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: usb-darwin.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Copyright 2005-2015 Apple Inc. All rights reserved.
*
/*
- * End of "$Id$".
+ * End of "$Id: usb-darwin.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: usb-libusb.c 13138 2016-03-15 14:59:54Z msweet $"
*
* LIBUSB interface code for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: usb-libusb.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: usb-unix.c 13138 2016-03-15 14:59:54Z msweet $"
*
* USB port backend for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: usb-unix.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: usb.c 10996 2013-05-29 11:51:34Z msweet $"
*
* USB port backend for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: usb.c 10996 2013-05-29 11:51:34Z msweet $".
*/
#
-# "$Id$"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Berkeley commands makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: lpc.c 11984 2014-07-02 13:16:59Z msweet $"
*
* "lpc" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lpc.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lpq.c 11984 2014-07-02 13:16:59Z msweet $"
*
* "lpq" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lpq.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lpr.c 11984 2014-07-02 13:16:59Z msweet $"
*
* "lpr" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lpr.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lprm.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "lprm" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lprm.c 10996 2013-05-29 11:51:34Z msweet $".
*/
#
-# "$Id$"
+# "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $"
#
# CGI makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: admin.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Administration CGI for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: admin.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cgi-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private CGI definitions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cgi-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cgi.h 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI support library definitions for CUPS.
*
#endif /* !_CUPS_CGI_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: cgi.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: classes.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Class status CGI for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: classes.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: help-index.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Online help index routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: help-index.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: help-index.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Online help index definitions for CUPS.
*
#endif /* !_CUPS_HELP_INDEX_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: help-index.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: help.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Online help CGI for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: help.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: html.c 10996 2013-05-29 11:51:34Z msweet $"
*
* HTML support functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: html.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ipp-var.c 13138 2016-03-15 14:59:54Z msweet $"
*
* CGI <-> IPP variable routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ipp-var.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: jobs.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Job status CGI for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: jobs.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: makedocset.c 3833 2012-05-23 22:51:18Z msweet $"
*
* Xcode documentation set generator.
*
/*
- * End of "$Id$".
+ * End of "$Id: makedocset.c 3833 2012-05-23 22:51:18Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: printers.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Printer status CGI for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: printers.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: search.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Search routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: search.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: template.c 13138 2016-03-15 14:59:54Z msweet $"
*
* CGI template function.
*
/*
- * End of "$Id$".
+ * End of "$Id: template.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testcgi.c 11984 2014-07-02 13:16:59Z msweet $"
*
* CGI test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testcgi.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testhi.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Help index test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testhi.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testtemplate.c 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI template test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testtemplate.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: var.c 13138 2016-03-15 14:59:54Z msweet $"
*
* CGI form variable and array functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: var.c 13138 2016-03-15 14:59:54Z msweet $".
*/
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Configuration file makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: mime.convs.in 11025 2013-06-07 01:00:33Z msweet $"
#
# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
# VERSIONS OF CUPS. Instead, create a "local.convs" file that
@DEFAULT_RAW_PRINTING@application/octet-stream application/vnd.cups-raw 0 -
#
-# End of "$Id$".
+# End of "$Id: mime.convs.in 11025 2013-06-07 01:00:33Z msweet $".
#
dnl
-dnl "$Id$"
+dnl "$Id: cups-common.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Common configuration stuff for CUPS.
dnl
AC_SUBST(BUILDDIRS)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-common.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-compiler.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Compiler stuff for CUPS.
dnl
esac
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-compiler.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-defaults.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Default cupsd configuration settings for CUPS.
dnl
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-defaults.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-directories.m4 11984 2014-07-02 13:16:59Z msweet $"
dnl
dnl Directory stuff for CUPS.
dnl
AC_SUBST(CUPS_STATEDIR)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-directories.m4 11984 2014-07-02 13:16:59Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-dnssd.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
dnl
AC_SUBST(IPPFIND_MAN)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-dnssd.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-gssapi.m4 11984 2014-07-02 13:16:59Z msweet $"
dnl
dnl GSSAPI/Kerberos library detection for CUPS.
dnl
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-gssapi.m4 11984 2014-07-02 13:16:59Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-largefile.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Large file support stuff for CUPS.
dnl
AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL))
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-largefile.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-libtool.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Libtool stuff for CUPS.
dnl
fi
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-libtool.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-manpages.m4 11342 2013-10-18 20:36:01Z msweet $"
dnl
dnl Manpage stuff for CUPS.
dnl
AC_SUBST(MAN8DIR)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-manpages.m4 11342 2013-10-18 20:36:01Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-network.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Networking stuff for CUPS.
dnl
AC_SUBST(CUPS_LISTEN_DOMAINSOCKET)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-network.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-opsys.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Operating system stuff for CUPS.
dnl
esac
dnl
-dnl "$Id$"
+dnl "$Id: cups-opsys.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $"
dnl
dnl PAM stuff for CUPS.
dnl
AC_SUBST(PAMMODAUTH)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-poll.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Select/poll stuff for CUPS.
dnl
AC_CHECK_FUNC(kqueue, AC_DEFINE(HAVE_KQUEUE))
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-poll.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-scripting.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Scripting configuration stuff for CUPS.
dnl
fi
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-scripting.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-sharedlibs.m4 11342 2013-10-18 20:36:01Z msweet $"
dnl
dnl Shared library support for CUPS.
dnl
AC_SUBST(EXPORT_LDFLAGS)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-sharedlibs.m4 11342 2013-10-18 20:36:01Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-ssl.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl TLS stuff for CUPS.
dnl
AC_SUBST(EXPORT_SSLLIBS)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-ssl.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-startup.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Launch-on-demand/startup stuff for CUPS.
dnl
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-startup.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
dnl
-dnl "$Id$"
+dnl "$Id: cups-threads.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Threading stuff for CUPS.
dnl
AC_SUBST(PTHREAD_FLAGS)
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-threads.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
/*
- * "$Id$"
+ * "$Id: config.h.in 13138 2016-03-15 14:59:54Z msweet $"
*
* Configuration file for CUPS.
*
#endif /* !_CUPS_CONFIG_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: config.h.in 13138 2016-03-15 14:59:54Z msweet $".
*/
dnl
-dnl "$Id$"
+dnl "$Id: configure.ac 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Configuration script for CUPS.
dnl
chmod +x cups-config
dnl
-dnl End of "$Id$".
+dnl End of "$Id: configure.ac 13138 2016-03-15 14:59:54Z msweet $".
dnl
#! /bin/sh
#
-# "$Id$"
+# "$Id: cups-config.in 10996 2013-05-29 11:51:34Z msweet $"
#
# CUPS configuration utility.
#
done
#
-# End of "$Id$".
+# End of "$Id: cups-config.in 10996 2013-05-29 11:51:34Z msweet $".
#
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# API library Makefile for CUPS.
#
http-addr.o \
http-addrlist.o \
http-support.o \
+ huffman.o \
ipp.o \
ipp-support.o \
langprintf.o \
testdest.o \
testfile.o \
testhttp.o \
+ testhuffman.o \
testi18n.o \
testipp.o \
testoptions.o \
debug-private.h \
file-private.h \
http-private.h \
+ huffman-private.h \
ipp-private.h \
language-private.h \
md5-private.h \
testdest \
testfile \
testhttp \
+ testhuffman \
testi18n \
testipp \
testlang \
./testhttp
+#
+# testhuffman (dependency on static CUPS library is intentional)
+#
+
+testhuffman: testhuffman.o $(LIBCUPSSTATIC)
+ echo Linking $@...
+ $(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhuffman.o $(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+ echo Running HTTP/2 Huffman tests...
+ ./testhuffman
+
+
#
# testipp (dependency on static CUPS library is intentional)
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: adminutil.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Administration utility API definitions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: adminutil.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: adminutil.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Administration utility API definitions for CUPS.
*
#endif /* !_CUPS_ADMINUTIL_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: adminutil.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: array-private.h 3933 2012-10-01 03:01:10Z msweet $"
*
* Private array definitions for CUPS.
*
#endif /* !_CUPS_ARRAY_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: array-private.h 3933 2012-10-01 03:01:10Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: array.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Sorted array routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: array.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: array.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Sorted array definitions for CUPS.
*
#endif /* !_CUPS_ARRAY_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: array.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: auth.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Authentication functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: auth.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: backchannel.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Backchannel functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: backchannel.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: backend.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Backend functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: backend.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: backend.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Backend definitions for CUPS.
*
#endif /* !_CUPS_BACKEND_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: backend.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cups-private.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Private definitions for CUPS.
*
#endif /* !_CUPS_CUPS_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: cups-private.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cups.h 13138 2016-03-15 14:59:54Z msweet $"
*
* API definitions for CUPS.
*
#endif /* !_CUPS_CUPS_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: cups.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: debug-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private debugging macros for CUPS.
*
#endif /* !_CUPS_DEBUG_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: debug-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: debug.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Debugging functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: debug.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: dest-localization.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Destination localization support for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: dest-localization.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * End of "$Id$".
+ * End of "$Id: dest-options.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: dir.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Directory routines for CUPS.
*
#endif /* WIN32 */
/*
- * End of "$Id$".
+ * End of "$Id: dir.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: dir.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Public directory definitions for CUPS.
*
#endif /* !_CUPS_DIR_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: dir.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: encode.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Option encoding routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: encode.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: file-private.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Private file definitions for CUPS.
*
#endif /* !_CUPS_FILE_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: file-private.h 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: file.c 13138 2016-03-15 14:59:54Z msweet $"
*
* File functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: file.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: file.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Public file definitions for CUPS.
*
#endif /* !_CUPS_FILE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: file.h 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: getdevices.c 4216 2013-03-11 13:57:36Z msweet $"
*
* cupsGetDevices implementation for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: getdevices.c 4216 2013-03-11 13:57:36Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: getifaddrs.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Network interface functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: getifaddrs.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: getputfile.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Get/put file functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: getputfile.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: globals.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Global variable access routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: globals.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: hash.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Hashing function for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: hash.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: http-addr.c 13138 2016-03-15 14:59:54Z msweet $"
*
* HTTP address routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: http-addr.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: http-addrlist.c 13138 2016-03-15 14:59:54Z msweet $"
*
* HTTP address list routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: http-addrlist.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: http-private.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Private HTTP definitions for CUPS.
*
#endif /* !_CUPS_HTTP_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: http-private.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: http.c 13138 2016-03-15 14:59:54Z msweet $"
*
* HTTP routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: http.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: http.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Hyper-Text Transport Protocol definitions for CUPS.
*
#endif /* !_CUPS_HTTP_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: http.h 13138 2016-03-15 14:59:54Z msweet $".
*/
--- /dev/null
+/*
+ * "$Id: huffman-private.h 11985 2014-07-02 15:41:16Z msweet $"
+ *
+ * HTTP/2 Huffman compression/decompression definitions for CUPS.
+ *
+ * Copyright 2014 by Apple Inc.
+ *
+ * These coded instructions, statements, and computer programs are the
+ * property of Apple Inc. and are protected by Federal copyright
+ * law. Distribution and use rights are outlined in the file "LICENSE.txt"
+ * which should have been included with this file. If this file is
+ * file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
+ */
+
+#ifndef _CUPS_HUFFMAN_PRIVATE_H_
+# define _CUPS_HUFFMAN_PRIVATE_H_
+
+/*
+ * Include necessary headers...
+ */
+
+# include "versioning.h"
+# include <stdlib.h>
+
+
+/*
+ * C++ magic...
+ */
+
+# ifdef __cplusplus
+extern "C" {
+# endif /* __cplusplus */
+
+
+/*
+ * Functions...
+ */
+
+extern size_t _http2HuffmanDecode(char *dst, size_t dstsize, const unsigned char *src, size_t srclen);
+extern size_t _http2HuffmanEncode(unsigned char *dst, size_t dstsize, const char *src);
+
+
+/*
+ * C++ magic...
+ */
+
+# ifdef __cplusplus
+}
+# endif /* __cplusplus */
+#endif /* !_CUPS_HUFFMAN_PRIVATE_H_ */
+
+/*
+ * End of "$Id: huffman-private.h 11985 2014-07-02 15:41:16Z msweet $".
+ */
--- /dev/null
+/*
+ * "$Id: huffman.c 11990 2014-07-02 21:13:22Z msweet $"
+ *
+ * HTTP/2 Huffman compression/decompression routines for CUPS.
+ *
+ * Copyright 2014 by Apple Inc.
+ *
+ * These coded instructions, statements, and computer programs are the
+ * property of Apple Inc. and are protected by Federal copyright
+ * law. Distribution and use rights are outlined in the file "LICENSE.txt"
+ * which should have been included with this file. If this file is
+ * file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include "debug-private.h"
+#include "huffman-private.h"
+#include "thread-private.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+/*
+ * Constants...
+ */
+
+#define _HTTP2_HUFFMAN_MAX 30 /* Max Huffman bits in table */
+
+
+/*
+ * Huffman table from HPACK-08 draft.
+ */
+
+typedef struct _http2_huffman_s /**** Huffman code table ****/
+{
+ int code; /* Code */
+ short len; /* Length in bits */
+ short ch; /* Character */
+} _http2_huffman_t;
+
+static _http2_huffman_t http2_decode[256];
+ /* Decoder values */
+static int http2_decode_max[_HTTP2_HUFFMAN_MAX + 1];
+static const _http2_huffman_t *http2_decode_next[_HTTP2_HUFFMAN_MAX + 1];
+static int http2_decode_init = 0;
+static _cups_mutex_t http2_decode_mutex = _CUPS_MUTEX_INITIALIZER;
+static const _http2_huffman_t http2_encode[256] =
+{ /* Encoder values */
+ { 0x1ff8, 13, 0x00 },
+ { 0x7fffd8, 23, 0x01 },
+ { 0xfffffe2, 28, 0x02 },
+ { 0xfffffe3, 28, 0x03 },
+ { 0xfffffe4, 28, 0x04 },
+ { 0xfffffe5, 28, 0x05 },
+ { 0xfffffe6, 28, 0x06 },
+ { 0xfffffe7, 28, 0x07 },
+ { 0xfffffe8, 28, 0x08 },
+ { 0xffffea, 24, 0x09 },
+ { 0xffffffc, 30, 0x0a },
+ { 0xfffffe9, 28, 0x0b },
+ { 0xfffffea, 28, 0x0c },
+ { 0xffffffd, 30, 0x0d },
+ { 0xfffffeb, 28, 0x0e },
+ { 0xfffffec, 28, 0x0f },
+ { 0xfffffed, 28, 0x10 },
+ { 0xfffffee, 28, 0x11 },
+ { 0xfffffef, 28, 0x12 },
+ { 0xffffff0, 28, 0x13 },
+ { 0xffffff1, 28, 0x14 },
+ { 0xffffff2, 28, 0x15 },
+ { 0xffffffe, 30, 0x16 },
+ { 0xffffff3, 28, 0x17 },
+ { 0xffffff4, 28, 0x18 },
+ { 0xffffff5, 28, 0x19 },
+ { 0xffffff6, 28, 0x1a },
+ { 0xffffff7, 28, 0x1b },
+ { 0xffffff8, 28, 0x1c },
+ { 0xffffff9, 28, 0x1d },
+ { 0xffffffa, 28, 0x1e },
+ { 0xffffffb, 28, 0x1f },
+ { 0x14, 6, 0x20 },
+ { 0x3f8, 10, 0x21 },
+ { 0x3f9, 10, 0x22 },
+ { 0xffa, 12, 0x23 },
+ { 0x1ff9, 13, 0x24 },
+ { 0x15, 6, 0x25 },
+ { 0xf8, 8, 0x26 },
+ { 0x7fa, 11, 0x27 },
+ { 0x3fa, 10, 0x28 },
+ { 0x3fb, 10, 0x29 },
+ { 0xf9, 8, 0x2a },
+ { 0x7fb, 11, 0x2b },
+ { 0xfa, 8, 0x2c },
+ { 0x16, 6, 0x2d },
+ { 0x17, 6, 0x2e },
+ { 0x18, 6, 0x2f },
+ { 0x0, 5, 0x30 },
+ { 0x1, 5, 0x31 },
+ { 0x2, 5, 0x32 },
+ { 0x19, 6, 0x33 },
+ { 0x1a, 6, 0x34 },
+ { 0x1b, 6, 0x35 },
+ { 0x1c, 6, 0x36 },
+ { 0x1d, 6, 0x37 },
+ { 0x1e, 6, 0x38 },
+ { 0x1f, 6, 0x39 },
+ { 0x5c, 7, 0x3a },
+ { 0xfb, 8, 0x3b },
+ { 0x7ffc, 15, 0x3c },
+ { 0x20, 6, 0x3d },
+ { 0xffb, 12, 0x3e },
+ { 0x3fc, 10, 0x3f },
+ { 0x1ffa, 13, 0x40 },
+ { 0x21, 6, 0x41 },
+ { 0x5d, 7, 0x42 },
+ { 0x5e, 7, 0x43 },
+ { 0x5f, 7, 0x44 },
+ { 0x60, 7, 0x45 },
+ { 0x61, 7, 0x46 },
+ { 0x62, 7, 0x47 },
+ { 0x63, 7, 0x48 },
+ { 0x64, 7, 0x49 },
+ { 0x65, 7, 0x4a },
+ { 0x66, 7, 0x4b },
+ { 0x67, 7, 0x4c },
+ { 0x68, 7, 0x4d },
+ { 0x69, 7, 0x4e },
+ { 0x6a, 7, 0x4f },
+ { 0x6b, 7, 0x50 },
+ { 0x6c, 7, 0x51 },
+ { 0x6d, 7, 0x52 },
+ { 0x6e, 7, 0x53 },
+ { 0x6f, 7, 0x54 },
+ { 0x70, 7, 0x55 },
+ { 0x71, 7, 0x56 },
+ { 0x72, 7, 0x57 },
+ { 0xfc, 8, 0x58 },
+ { 0x73, 7, 0x59 },
+ { 0xfd, 8, 0x5a },
+ { 0x1ffb, 13, 0x5b },
+ { 0x7fff0, 19, 0x5c },
+ { 0x1ffc, 13, 0x5d },
+ { 0x3ffc, 14, 0x5e },
+ { 0x22, 6, 0x5f },
+ { 0x7ffd, 15, 0x60 },
+ { 0x3, 5, 0x61 },
+ { 0x23, 6, 0x62 },
+ { 0x4, 5, 0x63 },
+ { 0x24, 6, 0x64 },
+ { 0x5, 5, 0x65 },
+ { 0x25, 6, 0x66 },
+ { 0x26, 6, 0x67 },
+ { 0x27, 6, 0x68 },
+ { 0x6, 5, 0x69 },
+ { 0x74, 7, 0x6a },
+ { 0x75, 7, 0x6b },
+ { 0x28, 6, 0x6c },
+ { 0x29, 6, 0x6d },
+ { 0x2a, 6, 0x6e },
+ { 0x7, 5, 0x6f },
+ { 0x2b, 6, 0x70 },
+ { 0x76, 7, 0x71 },
+ { 0x2c, 6, 0x72 },
+ { 0x8, 5, 0x73 },
+ { 0x9, 5, 0x74 },
+ { 0x2d, 6, 0x75 },
+ { 0x77, 7, 0x76 },
+ { 0x78, 7, 0x77 },
+ { 0x79, 7, 0x78 },
+ { 0x7a, 7, 0x79 },
+ { 0x7b, 7, 0x7a },
+ { 0x7ffe, 15, 0x7b },
+ { 0x7fc, 11, 0x7c },
+ { 0x3ffd, 14, 0x7d },
+ { 0x1ffd, 13, 0x7e },
+ { 0xffffffc, 28, 0x7f },
+ { 0xfffe6, 20, 0x80 },
+ { 0x3fffd2, 22, 0x81 },
+ { 0xfffe7, 20, 0x82 },
+ { 0xfffe8, 20, 0x83 },
+ { 0x3fffd3, 22, 0x84 },
+ { 0x3fffd4, 22, 0x85 },
+ { 0x3fffd5, 22, 0x86 },
+ { 0x7fffd9, 23, 0x87 },
+ { 0x3fffd6, 22, 0x88 },
+ { 0x7fffda, 23, 0x89 },
+ { 0x7fffdb, 23, 0x8a },
+ { 0x7fffdc, 23, 0x8b },
+ { 0x7fffdd, 23, 0x8c },
+ { 0x7fffde, 23, 0x8d },
+ { 0xffffeb, 24, 0x8e },
+ { 0x7fffdf, 23, 0x8f },
+ { 0xffffec, 24, 0x90 },
+ { 0xffffed, 24, 0x91 },
+ { 0x3fffd7, 22, 0x92 },
+ { 0x7fffe0, 23, 0x93 },
+ { 0xffffee, 24, 0x94 },
+ { 0x7fffe1, 23, 0x95 },
+ { 0x7fffe2, 23, 0x96 },
+ { 0x7fffe3, 23, 0x97 },
+ { 0x7fffe4, 23, 0x98 },
+ { 0x1fffdc, 21, 0x99 },
+ { 0x3fffd8, 22, 0x9a },
+ { 0x7fffe5, 23, 0x9b },
+ { 0x3fffd9, 22, 0x9c },
+ { 0x7fffe6, 23, 0x9d },
+ { 0x7fffe7, 23, 0x9e },
+ { 0xffffef, 24, 0x9f },
+ { 0x3fffda, 22, 0xa0 },
+ { 0x1fffdd, 21, 0xa1 },
+ { 0xfffe9, 20, 0xa2 },
+ { 0x3fffdb, 22, 0xa3 },
+ { 0x3fffdc, 22, 0xa4 },
+ { 0x7fffe8, 23, 0xa5 },
+ { 0x7fffe9, 23, 0xa6 },
+ { 0x1fffde, 21, 0xa7 },
+ { 0x7fffea, 23, 0xa8 },
+ { 0x3fffdd, 22, 0xa9 },
+ { 0x3fffde, 22, 0xaa },
+ { 0xfffff0, 24, 0xab },
+ { 0x1fffdf, 21, 0xac },
+ { 0x3fffdf, 22, 0xad },
+ { 0x7fffeb, 23, 0xae },
+ { 0x7fffec, 23, 0xaf },
+ { 0x1fffe0, 21, 0xb0 },
+ { 0x1fffe1, 21, 0xb1 },
+ { 0x3fffe0, 22, 0xb2 },
+ { 0x1fffe2, 21, 0xb3 },
+ { 0x7fffed, 23, 0xb4 },
+ { 0x3fffe1, 22, 0xb5 },
+ { 0x7fffee, 23, 0xb6 },
+ { 0x7fffef, 23, 0xb7 },
+ { 0xfffea, 20, 0xb8 },
+ { 0x3fffe2, 22, 0xb9 },
+ { 0x3fffe3, 22, 0xba },
+ { 0x3fffe4, 22, 0xbb },
+ { 0x7ffff0, 23, 0xbc },
+ { 0x3fffe5, 22, 0xbd },
+ { 0x3fffe6, 22, 0xbe },
+ { 0x7ffff1, 23, 0xbf },
+ { 0x3ffffe0, 26, 0xc0 },
+ { 0x3ffffe1, 26, 0xc1 },
+ { 0xfffeb, 20, 0xc2 },
+ { 0x7fff1, 19, 0xc3 },
+ { 0x3fffe7, 22, 0xc4 },
+ { 0x7ffff2, 23, 0xc5 },
+ { 0x3fffe8, 22, 0xc6 },
+ { 0x1ffffec, 25, 0xc7 },
+ { 0x3ffffe2, 26, 0xc8 },
+ { 0x3ffffe3, 26, 0xc9 },
+ { 0x3ffffe4, 26, 0xca },
+ { 0x7ffffde, 27, 0xcb },
+ { 0x7ffffdf, 27, 0xcc },
+ { 0x3ffffe5, 26, 0xcd },
+ { 0xfffff1, 24, 0xce },
+ { 0x1ffffed, 25, 0xcf },
+ { 0x7fff2, 19, 0xd0 },
+ { 0x1fffe3, 21, 0xd1 },
+ { 0x3ffffe6, 26, 0xd2 },
+ { 0x7ffffe0, 27, 0xd3 },
+ { 0x7ffffe1, 27, 0xd4 },
+ { 0x3ffffe7, 26, 0xd5 },
+ { 0x7ffffe2, 27, 0xd6 },
+ { 0xfffff2, 24, 0xd7 },
+ { 0x1fffe4, 21, 0xd8 },
+ { 0x1fffe5, 21, 0xd9 },
+ { 0x3ffffe8, 26, 0xda },
+ { 0x3ffffe9, 26, 0xdb },
+ { 0xffffffd, 28, 0xdc },
+ { 0x7ffffe3, 27, 0xdd },
+ { 0x7ffffe4, 27, 0xde },
+ { 0x7ffffe5, 27, 0xdf },
+ { 0xfffec, 20, 0xe0 },
+ { 0xfffff3, 24, 0xe1 },
+ { 0xfffed, 20, 0xe2 },
+ { 0x1fffe6, 21, 0xe3 },
+ { 0x3fffe9, 22, 0xe4 },
+ { 0x1fffe7, 21, 0xe5 },
+ { 0x1fffe8, 21, 0xe6 },
+ { 0x7ffff3, 23, 0xe7 },
+ { 0x3fffea, 22, 0xe8 },
+ { 0x3fffeb, 22, 0xe9 },
+ { 0x1ffffee, 25, 0xea },
+ { 0x1ffffef, 25, 0xeb },
+ { 0xfffff4, 24, 0xec },
+ { 0xfffff5, 24, 0xed },
+ { 0x3ffffea, 26, 0xee },
+ { 0x7ffff4, 23, 0xef },
+ { 0x3ffffeb, 26, 0xf0 },
+ { 0x7ffffe6, 27, 0xf1 },
+ { 0x3ffffec, 26, 0xf2 },
+ { 0x3ffffed, 26, 0xf3 },
+ { 0x7ffffe7, 27, 0xf4 },
+ { 0x7ffffe8, 27, 0xf5 },
+ { 0x7ffffe9, 27, 0xf6 },
+ { 0x7ffffea, 27, 0xf7 },
+ { 0x7ffffeb, 27, 0xf8 },
+ { 0xffffffe, 28, 0xf9 },
+ { 0x7ffffec, 27, 0xfa },
+ { 0x7ffffed, 27, 0xfb },
+ { 0x7ffffee, 27, 0xfc },
+ { 0x7ffffef, 27, 0xfd },
+ { 0x7fffff0, 27, 0xfe },
+ { 0x3ffffee, 26, 0xff }
+};
+static const unsigned char http2_masks[9] = { 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff };
+ /* Bitmasks */
+
+
+/*
+ * Local functions...
+ */
+
+static int http2_compare_decode(const _http2_huffman_t *a, const _http2_huffman_t *b);
+
+
+/*
+ * '_http2HuffmanDecode()' - Decode (decompress) a HTTP/2 Huffman-encoded string.
+ *
+ * The "dst" string is nul-terminated even if the total length of the Huffman-
+ * encoded string does not fit. The return value contains the actual length
+ * of the string after decoding.
+ */
+
+size_t /* O - Actual length of string or 0 on error */
+_http2HuffmanDecode(
+ char *dst, /* I - Destination string buffer */
+ size_t dstsize, /* I - Size of string buffer */
+ const unsigned char *src, /* I - Incoming Huffman data */
+ size_t srclen) /* I - Length of incoming Huffman data */
+{
+ char *dstptr, /* Pointer into string buffer */
+ *dstend; /* End of string buffer */
+ const unsigned char *srcend; /* End of Huffman data */
+ unsigned char srcbyte; /* Current source string byte */
+ int srcavail, /* How many bits are available in the current byte? */
+ code, /* Assembled code */
+ len, /* Length of assembled code */
+ bits; /* Bits to grab */
+ const _http2_huffman_t *dptr, /* Pointer into decoder table */
+ *dend; /* End of decoder table */
+
+
+ DEBUG_printf(("4_http2HuffmanDecode(dst=%p, dstsize=" CUPS_LLFMT ", src=%p, srclen=" CUPS_LLFMT ")", dst, CUPS_LLCAST dstsize, src, CUPS_LLCAST srclen));
+
+ /*
+ * Initialize the decoder array as needed...
+ */
+
+ dend = http2_decode + (sizeof(http2_decode) / sizeof(http2_decode[0]));
+
+ if (!http2_decode_init)
+ {
+ _cupsMutexLock(&http2_decode_mutex);
+ if (!http2_decode_init)
+ {
+ http2_decode_init = 1;
+ memcpy(http2_decode, http2_encode, sizeof(http2_decode));
+ qsort(http2_decode, sizeof(http2_decode) / sizeof(http2_decode[0]), sizeof(http2_decode[0]), (int (*)(const void *, const void *))http2_compare_decode);
+
+ for (len = 0, dptr = http2_decode; dptr < dend; dptr ++)
+ {
+ if (len != dptr->len)
+ {
+ http2_decode_next[len] = dptr;
+ len = dptr->len;
+ }
+
+ if ((dptr + 1) < dend && dptr[1].len != len)
+ http2_decode_max[len] = dptr->code;
+ }
+ }
+ _cupsMutexUnlock(&http2_decode_mutex);
+ }
+
+ /*
+ * Decode the string.
+ *
+ * Note: Initial implementation that has very little optimization applied.
+ */
+
+ dstptr = dst;
+ dstend = dst + dstsize - 1;
+ srcavail = 0;
+ srcbyte = 0;
+ srcend = src + srclen;
+
+ while (src < srcend || srcavail > 0)
+ {
+ /*
+ * Each Huffman code has a minimum of 5 bits. We do a linear search of the
+ * decode table, which has been sorted in ascending order for length and
+ * code. If we don't find the code in the table we return an error.
+ */
+
+ code = 0;
+ len = 0;
+ dptr = http2_decode;
+
+ DEBUG_printf(("5_http2HuffmanDecode: init srcbyte=%02x, srcavail=%d", srcbyte, srcavail));
+
+ while (dptr < dend)
+ {
+ while (len < dptr->len)
+ {
+ /*
+ * Get N more bits from the input...
+ */
+
+ if (srcavail == 0)
+ {
+ if (src < srcend)
+ {
+ srcbyte = *src++;
+ srcavail = 8;
+
+ DEBUG_printf(("5_http2HuffmanDecode: cont srcbyte=%02x, srcavail=%d", srcbyte, srcavail));
+ }
+ else if (len < 8 && code == http2_masks[len])
+ break;
+ else
+ {
+ DEBUG_puts("5_http2HuffmanDecode: Early end-of-string.");
+ return (0);
+ }
+ }
+
+ if ((bits = dptr->len - len) > srcavail)
+ bits = srcavail;
+
+ DEBUG_printf(("5_http2HuffmanDecode: Pulling %d bits", bits));
+
+ if (bits == srcavail)
+ {
+ if (len == 0)
+ {
+ if (bits == 8)
+ code = srcbyte;
+ else
+ code = srcbyte & http2_masks[bits];
+ }
+ else
+ code = (code << bits) | (srcbyte & http2_masks[bits]);
+
+ srcavail = 0;
+ }
+ else if (len == 0)
+ {
+ code = (srcbyte >> (srcavail - bits)) & http2_masks[bits];
+ srcavail -= bits;
+ }
+ else
+ {
+ code = (code << bits) | ((srcbyte >> (srcavail - bits)) & http2_masks[bits]);
+ srcavail -= bits;
+ }
+
+ len += bits;
+
+#ifdef DEBUG
+ if (len < dptr->len)
+ DEBUG_printf(("5_http2HuffmanDecode: code=%x, len=%d, srcavail=%d", code, len, srcavail));
+#endif /* DEBUG */
+ }
+
+ DEBUG_printf(("5_http2HuffmanDecode: code=%x, len=%d, dptr->len=%d", code, len, dptr->len));
+
+ if (len < dptr->len)
+ break;
+
+ if (code > http2_decode_max[len])
+ {
+ dptr = http2_decode_next[len];
+ continue;
+ }
+
+ while (len == dptr->len)
+ if (dptr->code == code)
+ break;
+ else
+ dptr ++;
+
+ if (dptr->code == code && dptr->len == len)
+ {
+ DEBUG_printf(("5_http2HuffmanDecode: code=%x, len=%d, match='%c' (0x%02x)", (unsigned)code, len, dptr->ch, dptr->ch));
+
+ if (dstptr < dstend)
+ *dstptr = (char)dptr->ch;
+
+ dstptr ++;
+ break;
+ }
+#ifdef DEBUG
+ else
+ DEBUG_printf(("5_http2HuffmanDecode: code=%x, len=%d, no match", (unsigned)code, len));
+#endif /* DEBUG */
+ }
+ }
+
+ if (dstptr < dstend)
+ *dstptr = '\0';
+ else
+ *dstend = '\0';
+
+ return ((size_t)(dstptr - dst));
+}
+
+
+/*
+ * '_http2HuffmanEncode()' - Encode (compress) a string using HTTP/2 Huffman-coding.
+ *
+ * The return value contains the actual length of the string after encoding.
+ */
+
+size_t /* O - Number of bytes used for Huffman */
+_http2HuffmanEncode(
+ unsigned char *dst, /* I - Output buffer */
+ size_t dstsize, /* I - Size of output buffer */
+ const char *src) /* I - String to encode */
+{
+ unsigned char *dstptr, /* Pointer into buffer */
+ *dstend, /* End of buffer */
+ dstbyte; /* Current output byte */
+ int dstused, /* Current bits used */
+ dstremaining; /* Remaining bits */
+ int ch; /* Current character */
+ int code, /* Huffman code */
+ len; /* Length of Huffman code */
+
+
+ /*
+ * Note: Initial implementation that has very little optimization applied.
+ */
+
+ dstptr = dst;
+ dstend = dst + dstsize;
+ dstbyte = 0;
+ dstused = 0;
+
+ while (*src)
+ {
+ ch = *src++ & 255;
+ code = http2_encode[ch].code;
+ len = http2_encode[ch].len;
+
+ while (len > 0)
+ {
+ if (dstused == 0)
+ {
+ if (len == 8)
+ {
+ dstbyte = (unsigned char)code;
+ dstused = 8;
+ }
+ else if (len > 8)
+ {
+ dstbyte = (unsigned char)(code >> (len - 8));
+ dstused = 8;
+ }
+ else
+ {
+ dstbyte = (unsigned char)(code << (8 - len));
+ dstused = len;
+ }
+
+ len -= dstused;
+ }
+ else
+ {
+ dstremaining = 8 - dstused;
+
+ if (len == dstremaining)
+ {
+ dstbyte |= (unsigned char)(code & http2_masks[dstremaining]);
+ dstused = 8;
+ len = 0;
+ }
+ else if (len > dstremaining)
+ {
+ dstbyte |= (unsigned char)((code >> (len - dstremaining)) & http2_masks[dstremaining]);
+ dstused = 8;
+ len -= dstremaining;
+ }
+ else
+ {
+ dstbyte |= (unsigned char)((code << (dstremaining - len)) & http2_masks[dstremaining]);
+ dstused += len;
+ len = 0;
+ }
+ }
+
+ if (dstused == 8)
+ {
+ /*
+ * "Write" a byte to the output buffer
+ */
+
+ if (dstptr < dstend)
+ *dstptr = dstbyte;
+
+ dstptr ++;
+ dstused = 0;
+ }
+ }
+ }
+
+ if (dstused)
+ {
+ /*
+ * Pad the output string with 1's as an End-Of-String code...
+ */
+
+ dstremaining = 8 - dstused;
+ dstbyte |= http2_masks[dstremaining];
+ if (dstptr < dstend)
+ *dstptr = dstbyte;
+ dstptr ++;
+ }
+
+ return ((size_t)(dstptr - dst));
+}
+
+
+/*
+ * 'http2_compare_decode()' - Compare two Huffman codes for decoding.
+ */
+
+static int /* O - Result of comparison */
+http2_compare_decode(
+ const _http2_huffman_t *a, /* I - First code */
+ const _http2_huffman_t *b) /* I - Second code */
+{
+ int result; /* Result of comparison */
+
+
+ if ((result = a->len - b->len) == 0)
+ result = a->code - b->code;
+
+ return (result);
+}
+
+
+/*
+ * End of "$Id: huffman.c 11990 2014-07-02 21:13:22Z msweet $".
+ */
/*
- * "$Id$"
+ * "$Id: ipp-private.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Private IPP definitions for CUPS.
*
#endif /* !_CUPS_IPP_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: ipp-private.h 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ipp-support.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Internet Printing Protocol support functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ipp-support.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ipp.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Internet Printing Protocol functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ipp.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ipp.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Internet Printing Protocol definitions for CUPS.
*
#endif /* !_CUPS_IPP_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: ipp.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: langprintf.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Localized printf/puts functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: langprintf.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: language-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private localization support for CUPS.
*
#endif /* !_CUPS_LANGUAGE_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: language-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: language.c 13138 2016-03-15 14:59:54Z msweet $"
*
* I18N/language support for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: language.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: language.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Multi-language support for CUPS.
*
#endif /* !_CUPS_LANGUAGE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: language.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: md5-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private MD5 definitions for CUPS.
*
#endif /* !_CUPS_MD5_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: md5-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: md5.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Private MD5 implementation for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: md5.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: md5passwd.c 10996 2013-05-29 11:51:34Z msweet $"
*
* MD5 password support for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: md5passwd.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: notify.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Notification routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: notify.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: options.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Option routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: options.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-attr.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD model-specific attribute routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd-attr.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-cache.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD cache implementation for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd-cache.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-conflicts.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Option conflict management routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd-conflicts.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-custom.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD custom option routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd-custom.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-emit.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD code emission routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd-emit.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-localize.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD localization routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd-localize.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-mark.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Option marking routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd-mark.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-page.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Page size functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd-page.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-private.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Private PPD definitions for CUPS.
*
#endif /* !_CUPS_PPD_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: ppd-private.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd-util.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD utilities for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd-util.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD file routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ppd.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppd.h 13138 2016-03-15 14:59:54Z msweet $"
*
* PostScript Printer Description definitions for CUPS.
*
#endif /* !_CUPS_PPD_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: ppd.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: pwg.h 4274 2013-04-09 20:10:23Z msweet $"
*
* PWG media API definitions for CUPS.
*
#endif /* !_CUPS_PWG_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: pwg.h 4274 2013-04-09 20:10:23Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: raster-private.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Private image library definitions for CUPS.
*
#endif /* !_CUPS_RASTER_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: raster-private.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: request.c 11984 2014-07-02 13:16:59Z msweet $"
*
* IPP utilities for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: request.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: sidechannel.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Side-channel API code for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: sidechannel.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: sidechannel.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Side-channel API definitions for CUPS.
*
#endif /* !_CUPS_SIDECHANNEL_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: sidechannel.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: snmp-private.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Private SNMP definitions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: snmp-private.h 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: snmp.c 11984 2014-07-02 13:16:59Z msweet $"
*
* SNMP functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: snmp.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: snprintf.c 10996 2013-05-29 11:51:34Z msweet $"
*
* snprintf functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: snprintf.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: string-private.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Private string definitions for CUPS.
*
#endif /* !_CUPS_STRING_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: string-private.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: string.c 11984 2014-07-02 13:16:59Z msweet $"
*
* String functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: string.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: tempfile.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Temp file utilities for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: tempfile.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testadmin.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Admin function test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testadmin.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testarray.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Array test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testarray.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testcache.c 11984 2014-07-02 13:16:59Z msweet $"
*
* PPD cache testing program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testcache.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testconflicts.c 3755 2012-03-30 05:59:14Z msweet $"
*
* PPD constraint test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testconflicts.c 3755 2012-03-30 05:59:14Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testcups.c 11984 2014-07-02 13:16:59Z msweet $"
*
* CUPS API test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testcups.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * End of "$Id$".
+ * End of "$Id: testdest.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testfile.c 13138 2016-03-15 14:59:54Z msweet $"
*
* File test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testfile.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testhttp.c 13138 2016-03-15 14:59:54Z msweet $"
*
* HTTP test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testhttp.c 13138 2016-03-15 14:59:54Z msweet $".
*/
--- /dev/null
+/*
+ * "$Id: testhuffman.c 11992 2014-07-03 13:54:10Z msweet $"
+ *
+ * HTTP/2 Huffman compression/decompression unit tests for CUPS.
+ *
+ * Copyright 2014 by Apple Inc.
+ *
+ * These coded instructions, statements, and computer programs are the
+ * property of Apple Inc. and are protected by Federal copyright
+ * law. Distribution and use rights are outlined in the file "LICENSE.txt"
+ * which should have been included with this file. If this file is
+ * file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include <config.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "http.h"
+#include "huffman-private.h"
+
+
+/*
+ * Test data (from HPACK-08)...
+ */
+
+typedef struct _http2_huffman_test_s
+{
+ const char *s; /* Literal string */
+ unsigned char h[256]; /* Huffman string */
+ size_t hlen; /* Length of Huffman string */
+} _http2_huffman_test_t;
+
+static const _http2_huffman_test_t test_data[] =
+{
+ { "www.example.com", { 0xf1, 0xe3, 0xc2, 0xe5, 0xf2, 0x3a, 0x6b, 0xa0, 0xab, 0x90, 0xf4, 0xff }, 12 },
+ { "no-cache", { 0xa8, 0xeb, 0x10, 0x64, 0x9c, 0xbf }, 6 },
+ { "custom-key", { 0x25, 0xa8, 0x49, 0xe9, 0x5b, 0xa9, 0x7d, 0x7f }, 8 },
+ { "custom-value", { 0x25, 0xa8, 0x49, 0xe9, 0x5b, 0xb8, 0xe8, 0xb4, 0xbf }, 9 },
+ { "302", { 0x64, 0x02 }, 2 },
+ { "private", { 0xae, 0xc3, 0x77, 0x1a, 0x4b }, 5 },
+ { "Mon, 21 Oct 2013 20:13:21 GMT", { 0xd0, 0x7a, 0xbe, 0x94, 0x10, 0x54, 0xd4, 0x44, 0xa8, 0x20, 0x05, 0x95, 0x04, 0x0b, 0x81, 0x66, 0xe0, 0x82, 0xa6, 0x2d, 0x1b, 0xff }, 22 },
+ { "https://www.example.com", { 0x9d, 0x29, 0xad, 0x17, 0x18, 0x63, 0xc7, 0x8f, 0x0b, 0x97, 0xc8, 0xe9, 0xae, 0x82, 0xae, 0x43, 0xd3 }, 17 },
+ { "Mon, 21 Oct 2013 20:13:22 GMT", { 0xd0, 0x7a, 0xbe, 0x94, 0x10, 0x54, 0xd4, 0x44, 0xa8, 0x20, 0x05, 0x95, 0x04, 0x0b, 0x81, 0x66, 0xe0, 0x84, 0xa6, 0x2d, 0x1b, 0xff }, 22 },
+ { "gzip", { 0x9b, 0xd9, 0xab }, 3 },
+ { "foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1", { 0x94, 0xe7, 0x82, 0x1d, 0xd7, 0xf2, 0xe6, 0xc7, 0xb3, 0x35, 0xdf, 0xdf, 0xcd, 0x5b, 0x39, 0x60, 0xd5, 0xaf, 0x27, 0x08, 0x7f, 0x36, 0x72, 0xc1, 0xab, 0x27, 0x0f, 0xb5, 0x29, 0x1f, 0x95, 0x87, 0x31, 0x60, 0x65, 0xc0, 0x03, 0xed, 0x4e, 0xe5, 0xb1, 0x06, 0x3d, 0x50, 0x07 }, 45 }
+};
+
+
+/*
+ * Local functions...
+ */
+
+static void printhex(const unsigned char *data, size_t len);
+
+
+/*
+ * 'main()' - Run HTTP/2 Huffman tests.
+ */
+
+int /* O - Exit status */
+main(void)
+{
+ int i, /* Looping var */
+ status = 0; /* Status of test */
+ char s[131072]; /* Literal string */
+ size_t slen; /* Length of literal string */
+ unsigned char huffdata[131072]; /* Huffman encoded data */
+ size_t hufflen; /* Length of Huffman encoded data */
+ unsigned char data[65536]; /* Test data to simulate Kerberos nonsense */
+ char base64[131072];
+ /* Base64 representation of data + "Negotiate " */
+ time_t start, end; /* Timing information for benchmarks */
+
+
+ /*
+ * Test examples from HPACK-08...
+ */
+
+ for (i = 0; i < (int)(sizeof(test_data) / sizeof(test_data[0])); i ++)
+ {
+ printf("_http2HuffmanEncode(\"%s\"): ", test_data[i].s);
+ fflush(stdout);
+
+ hufflen = _http2HuffmanEncode(huffdata, sizeof(huffdata), test_data[i].s);
+ if (hufflen != test_data[i].hlen || memcmp(huffdata, test_data[i].h, hufflen))
+ {
+ puts("FAIL");
+ status = 1;
+ printf(" Got %d bytes: ", (int)hufflen);
+ printhex(huffdata, hufflen);
+ printf(" Expected %d bytes: ", (int)test_data[i].hlen);
+ printhex(test_data[i].h, test_data[i].hlen);
+ }
+ else
+ puts("PASS");
+
+ printf("_http2HuffmanDecode(\"%s\"): ", test_data[i].s);
+ fflush(stdout);
+
+ slen = _http2HuffmanDecode(s, sizeof(s), test_data[i].h, test_data[i].hlen);
+ if (slen != strlen(test_data[i].s) || strcmp(s, test_data[i].s))
+ {
+ puts("FAIL");
+ status = 1;
+ if (!slen)
+ slen = strlen(s);
+ printf(" Got %d bytes: %s\n", (int)slen, s);
+ }
+ else
+ puts("PASS");
+ }
+
+ /*
+ * Test random 64k blob representing a worst-case Kerberos ticket...
+ */
+
+ CUPS_SRAND(time(NULL));
+
+ for (i = 0; i < (int)sizeof(data); i ++)
+ data[i] = i/* (unsigned char)CUPS_RAND() */;
+
+ strlcpy(base64, "Negotiate ", sizeof(base64));
+ httpEncode64_2(base64 + 10, sizeof(base64) - 10, (char *)data, sizeof(data));
+
+ fputs("_http2HuffmanEncode(kerberos ticket): ", stdout);
+ fflush(stdout);
+
+ hufflen = _http2HuffmanEncode(huffdata, sizeof(huffdata), base64);
+ slen = strlen(base64);
+ printf("PASS (%d bytes, %d%% of original %d bytes)\n", (int)hufflen, (int)(100 * hufflen / slen), (int)slen);
+
+ fputs("_http2HuffmanDecode(kerberos ticket): ", stdout);
+ fflush(stdout);
+
+ slen = _http2HuffmanDecode(s, sizeof(s), huffdata, hufflen);
+ if (slen != strlen(base64) || strcmp(s, base64))
+ {
+ const char *sptr, *bptr;
+
+ puts("FAIL");
+ status = 1;
+
+ for (sptr = s, bptr = base64; *sptr && *bptr; sptr ++, bptr ++)
+ if (*sptr != *bptr)
+ break;
+
+ if (!slen)
+ slen = strlen(s);
+ printf(" Got %d bytes, expected %d bytes\n", (int)slen, (int)strlen(base64));
+ printf(" Difference starting at offset %d: %s\n", (int)(sptr - s), sptr);
+ printf(" Expected: %s\n", bptr);
+ }
+ else
+ puts("PASS");
+
+ puts("\nBenchmarks:\n");
+
+#define TESTENCODE 25000
+ time(&start);
+ for (i = 0; i < TESTENCODE; i ++)
+ hufflen = _http2HuffmanEncode(huffdata, sizeof(huffdata), base64);
+ time(&end);
+
+ slen = strlen(base64);
+ printf(" _http2HuffmanEncode: %.1f MB/second\n", (double)slen * TESTENCODE / (end - start) / 1024 / 1024);
+
+#define TESTDECODE 2500
+ time(&start);
+ for (i = 0; i < TESTDECODE; i ++)
+ _http2HuffmanDecode(s, sizeof(s), huffdata, hufflen);
+ time(&end);
+
+ printf(" _http2HuffmanDecode: %.1f MB/second\n", (double)hufflen * TESTDECODE / (end - start) / 1024 / 1024);
+
+ return (status);
+}
+
+
+/*
+ * 'printhex()' - Print a string as hex characters.
+ */
+
+static void
+printhex(const unsigned char *data, /* I - String */
+ size_t len) /* I - Length */
+{
+ while (len > 0)
+ {
+ printf("%02X", *data & 255);
+ data ++;
+ len --;
+ }
+
+ putchar('\n');
+}
+
+
+/*
+ * End of "$Id: testhuffman.c 11992 2014-07-03 13:54:10Z msweet $".
+ */
/*
- * "$Id$"
+ * "$Id: testi18n.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Internationalization test for CUPS.
*
/*
- * End of "$Id$"
+ * End of "$Id: testi18n.c 11984 2014-07-02 13:16:59Z msweet $"
*/
/*
- * "$Id$"
+ * "$Id: testipp.c 11984 2014-07-02 13:16:59Z msweet $"
*
* IPP test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testipp.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testlang.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Localization test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testlang.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testoptions.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Option unit test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testoptions.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testppd.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testppd.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * End of "$Id$".
+ * End of "$Id: testpwg.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testsnmp.c 11984 2014-07-02 13:16:59Z msweet $"
*
* SNMP test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testsnmp.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: thread-private.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Private threading definitions for CUPS.
*
#endif /* !_CUPS_THREAD_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: thread-private.h 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: thread.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Threading primitives for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: thread.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: tls-gnutls.c 13138 2016-03-15 14:59:54Z msweet $"
*
* TLS support code for CUPS using GNU TLS.
*
/*
- * End of "$Id$".
+ * End of "$Id: tls-gnutls.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: tls-sspi.c 13138 2016-03-15 14:59:54Z msweet $"
*
* TLS support for CUPS on Windows using the Security Support Provider
* Interface (SSPI).
/*
- * End of "$Id$".
+ * End of "$Id: tls-sspi.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: tls.c 13138 2016-03-15 14:59:54Z msweet $"
*
* TLS routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: tls.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: tlscheck.c 13138 2016-03-15 14:59:54Z msweet $"
*
* TLS check program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: tlscheck.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: transcode.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Transcoding support for CUPS.
*
/*
- * End of "$Id$"
+ * End of "$Id: transcode.c 13138 2016-03-15 14:59:54Z msweet $"
*/
/*
- * "$Id$"
+ * "$Id: transcode.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Transcoding definitions for CUPS.
*
/*
- * End of "$Id$"
+ * End of "$Id: transcode.h 10996 2013-05-29 11:51:34Z msweet $"
*/
/*
- * "$Id$"
+ * "$Id: usersys.c 13138 2016-03-15 14:59:54Z msweet $"
*
* User, system, and password routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: usersys.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: util.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Printing utilities for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: util.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: versioning.h 13138 2016-03-15 14:59:54Z msweet $"
*
* API versioning definitions for CUPS.
*
#endif /* !_CUPS_VERSIONING_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: versioning.h 13138 2016-03-15 14:59:54Z msweet $".
*/
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Datafile makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: epson.h 624 2008-02-16 00:27:39Z msweet $"
*
* This file contains model number definitions for the CUPS sample
* ESC/P driver.
/*
- * End of "$Id$".
+ * End of "$Id: epson.h 624 2008-02-16 00:27:39Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: hp.h 624 2008-02-16 00:27:39Z msweet $"
*
* This file contains model number definitions for the CUPS sample
* HP driver.
/*
- * End of "$Id$".
+ * End of "$Id: hp.h 624 2008-02-16 00:27:39Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: label.h 624 2008-02-16 00:27:39Z msweet $"
*
* This file contains model number definitions for the CUPS sample
* label printer driver.
#define INTELLITECH_PCL 0x20 /* Intellitech PCL-based printers */
/*
- * End of "$Id$".
+ * End of "$Id: label.h 624 2008-02-16 00:27:39Z msweet $".
*/
#
-# "$Id$"
+# "$Id: Makefile 1725 2009-10-15 18:50:47Z msweet $"
#
# Desktop makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 1725 2009-10-15 18:50:47Z msweet $".
#
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Documentation makefile for CUPS.
#
#
-# "$Id$"
+# "$Id: bonjour-access-tests.test 13138 2016-03-15 14:59:54Z msweet $"
#
# IPP Everywhere Printer Self-Certification Manual 1.0: Section 5: Bonjour Tests.
#
}
#
-# End of "$Id$".
+# End of "$Id: bonjour-access-tests.test 13138 2016-03-15 14:59:54Z msweet $".
#
@echo off
::
-:: "$Id$"
+:: "$Id: bonjour-tests.bat 13138 2016-03-15 14:59:54Z msweet $"
::
:: IPP Everywhere Printer Self-Certification Manual 1.0: Section 5: Bonjour Tests.
::
echo Score: %score%%%
::
-:: End of "$Id$".
+:: End of "$Id: bonjour-tests.bat 13138 2016-03-15 14:59:54Z msweet $".
::
#!/bin/sh
#
-# "$Id$"
+# "$Id: bonjour-tests.sh 13138 2016-03-15 14:59:54Z msweet $"
#
# IPP Everywhere Printer Self-Certification Manual 1.0: Section 5: Bonjour Tests.
#
echo "Score: ${score}%"
#
-# End of "$Id$".
+# End of "$Id: bonjour-tests.sh 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: bonjour-value-tests.test 13138 2016-03-15 14:59:54Z msweet $"
#
# IPP Everywhere Printer Self-Certification Manual 1.0: Section 5: Bonjour Tests.
#
}
#
-# End of "$Id$".
+# End of "$Id: bonjour-value-tests.test 13138 2016-03-15 14:59:54Z msweet $".
#
@echo off
::
-:: "$Id$"
+:: "$Id: document-tests.bat 13138 2016-03-15 14:59:54Z msweet $"
::
:: IPP Everywhere Printer Self-Certification Manual 1.0: Section 7: Document Data Tests.
::
ippfind "%1._ipp._tcp.local." -x ipptool -P "\"%1 Document Results.plist\"" -I "{}" document-tests.test ";"
::
-:: End of "$Id$".
+:: End of "$Id: document-tests.bat 13138 2016-03-15 14:59:54Z msweet $".
::
#!/bin/sh
#
-# "$Id$"
+# "$Id: document-tests.sh 13138 2016-03-15 14:59:54Z msweet $"
#
# IPP Everywhere Printer Self-Certification Manual 1.0: Section 7: Document Data Tests.
#
$IPPFIND "$1._ipp._tcp.local." -x $IPPTOOL -P "$1 Document Results.plist" -I '{}' document-tests.test \;
#
-# End of "$Id$".
+# End of "$Id: document-tests.sh 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: document-tests.test 13138 2016-03-15 14:59:54Z msweet $"
#
# IPP Everywhere Printer Self-Certification Manual 1.0: Section 7: Document Data Tests.
#
}
#
-# End of "$Id$".
+# End of "$Id: document-tests.test 13138 2016-03-15 14:59:54Z msweet $".
#
@echo off
::
-:: "$Id$"
+:: "$Id: ipp-tests.bat 13138 2016-03-15 14:59:54Z msweet $"
::
:: IPP Everywhere Printer Self-Certification Manual 1.0: Section 6: IPP Tests.
::
ippfind "%1._ipp._tcp.local." -x ipptool -P "\"%1 IPP Results.plist\"" -I "{}" ipp-tests.test ";"
::
-:: End of "$Id$".
+:: End of "$Id: ipp-tests.bat 13138 2016-03-15 14:59:54Z msweet $".
::
#!/bin/sh
#
-# "$Id$"
+# "$Id: ipp-tests.sh 13138 2016-03-15 14:59:54Z msweet $"
#
# IPP Everywhere Printer Self-Certification Manual 1.0: Section 6: IPP Tests.
#
$IPPFIND "$1._ipp._tcp.local." -x $IPPTOOL -P "$1 IPP Results.plist" -I '{}' ipp-tests.test \;
#
-# End of "$Id$".
+# End of "$Id: ipp-tests.sh 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: ipp-tests.test 13138 2016-03-15 14:59:54Z msweet $"
#
# IPP Everywhere Printer Self-Certification Manual 1.0: Section 6: IPP Tests.
#
#
-# End of "$Id$".
+# End of "$Id: ipp-tests.test 13138 2016-03-15 14:59:54Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: make-ippeveselfcert.sh 13138 2016-03-15 14:59:54Z msweet $"
#
# Make an IPP Everywhere Printer self-certification package.
#
echo Done.
#
-# End of "$Id$".
+# End of "$Id: make-ippeveselfcert.sh 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: Makefile 3247 2011-05-12 06:22:31Z msweet $"
#
# PPD compiler example makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 3247 2011-05-12 06:22:31Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: ppdx.c 3833 2012-05-23 22:51:18Z msweet $"
*
* Example code for encoding and decoding large amounts of data in a PPD file.
* This would typically be used in a driver to save configuration/state
/*
- * End of "$Id$".
+ * End of "$Id: ppdx.c 3833 2012-05-23 22:51:18Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ppdx.h 3833 2012-05-23 22:51:18Z msweet $"
*
* Header for PPD data encoding example code.
*
#endif /* !_PPDX_H */
/*
- * End of "$Id$".
+ * End of "$Id: ppdx.h 3833 2012-05-23 22:51:18Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testppdx.c 3833 2012-05-23 22:51:18Z msweet $"
*
* Test program for PPD data encoding example code.
*
/*
- * End of "$Id$".
+ * End of "$Id: testppdx.c 3833 2012-05-23 22:51:18Z msweet $".
*/
*PPD-Adobe: "4.3"
*%
-*% "$Id$"
+*% "$Id: testppdx.ppd 3833 2012-05-23 22:51:18Z msweet $"
*%
*% Test PPD file for data encoding example.
*%
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
*%
-*% End of "$Id$".
+*% End of "$Id: testppdx.ppd 3833 2012-05-23 22:51:18Z msweet $".
*%
*EXData0000: "eNqlVm1v2zYQ/hz/ipvWznLgl6T7siXrgCJ2AANBEyQpNmAtAlqiLG4SKZBU7LTIf9/dUW9Og32ZAFsieffcc88dKS2OR3AM0Zt1+ibCJxoA3EvnobJma0UJmbFwc7OEVHgBUicmVXoLci/KqpCAQznvHC9MWSmc3Smfn3WzdG2TBGYGPCJXVbqH2fIBQR+Wq5vb1cWH+9XyfRTBbNs"
*EXData0001: "GcwTaG6zIqkrh7evgzDVk1Xb3MO7k9N3sHmCDxWRWeuk53KfSxf4paC087ZOvDLaTcF54WUptcdnoVO0KavaS9um7EBYCT6XAQhnK2n9E5hsEIc9yQ6XvUw8RkEelzKVVhQI2TAMEIXYzQGWClmoTU002L1GgmwVIpraF0ozXYoOGUkZXa0vVh/vVnO/91FA2+UqycHlpi5SyMWjhI0"
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Filter makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: commandtops.c 11984 2014-07-02 13:16:59Z msweet $"
*
* PostScript command filter for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: commandtops.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: common.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Common filter routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: common.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: common.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Common filter definitions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: common.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: error.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Raster error handling for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: error.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: gziptoany.c 13138 2016-03-15 14:59:54Z msweet $"
*
* GZIP/raw pre-filter for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: gziptoany.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: interpret.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD command interpreter for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: interpret.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: pstops.c 13138 2016-03-15 14:59:54Z msweet $"
*
* PostScript filter for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: pstops.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: raster.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Raster file routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: raster.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: rasterbench.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Raster benchmark program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: rasterbench.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: rastertoepson.c 13138 2016-03-15 14:59:54Z msweet $"
*
* EPSON ESC/P and ESC/P2 filter for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: rastertoepson.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: rastertohp.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Hewlett-Packard Page Control Language filter for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: rastertohp.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: rastertolabel.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Label printer filter for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: rastertolabel.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testraster.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Raster test program routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testraster.c 13138 2016-03-15 14:59:54Z msweet $".
*/
#!/bin/sh
#
-# "$Id$"
+# "$Id: install-sh 11025 2013-06-07 01:00:33Z msweet $"
#
# Install a program, script, or datafile.
#
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Locale file makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: checkpo.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Verify that translations in the .po file have the same number and type of
* printf-style format strings.
/*
- * End of "$Id$".
+ * End of "$Id: checkpo.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: po2strings.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Convert a GNU gettext .po file to an Apple .strings file.
*
/*
- * End of "$Id$".
+ * End of "$Id: po2strings.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: strings2po.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Convert Apple .strings file (UTF-16 BE text file) to GNU gettext .po files.
*
/*
- * End of "$Id$".
+ * End of "$Id: strings2po.c 11984 2014-07-02 13:16:59Z msweet $".
*/
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Man page makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
.\"
-.\" "$Id$"
+.\" "$Id: backend.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" Backend man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: backend.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cancel.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cancel man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cancel.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: classes.conf.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" classes.conf man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: classes.conf.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: client.conf.man.in 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" client.conf man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: client.conf.man.in 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cups-config.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cups-config man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cups-config.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cups-files.conf.man.in 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cups-files.conf man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cups-files.conf.man.in 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cups-lpd.man.in 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cups-lpd man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cups-lpd.man.in 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cups-snmp.conf.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" snmp.conf man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cups-snmp.conf.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cups-snmp.man.in 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" SNMP backend man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cups-snmp.man.in 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cups.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cups (intro) man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cups.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupsaccept.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" accept/reject man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupsaccept.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupsaddsmb.man.in 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupsaddsmb man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupsaddsmb.man.in 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupsctl.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupsctl man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupsctl.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupsd-helper.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupsd-helper man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupsd-helper.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupsd-logs.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupsd-logs man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupsd-logs.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupsd.conf.man.in 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupsd.conf man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupsd.conf.man.in 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupsd.man.in 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupsd man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2016 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupsd.man.in 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupsenable.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupsenable/cupsdisable man page for CUPS.
.\"
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupsenable.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupsfilter.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupsfilter man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupsfilter.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupstestdsc.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupstestdsc man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupstestdsc.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: cupstestppd.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" cupstestppd man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: cupstestppd.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: filter.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" filter man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: filter.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: ippfind.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" ippfind man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2013-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: ippfind.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: ipptool.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" ipptool man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: ipptool.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: ipptoolfile.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" ipptoolfile man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: ipptoolfile.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lp.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lp man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lp.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lpadmin.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lpadmin man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lpadmin.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lpc.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lpc man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lpc.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lpinfo.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lpinfo man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lpinfo.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lpmove.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lpmove man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lpmove.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lpoptions.man.in 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lpoptions man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lpoptions.man.in 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lpq.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lpq man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lpq.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lpr.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lpr man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lpr.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lprm.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lprm man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lprm.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: lpstat.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" lpstat man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: lpstat.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: mailto.conf.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" mailto.conf man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: mailto.conf.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
/*
- * "$Id$"
+ * "$Id: mantohtml.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Man page to HTML conversion program.
*
/*
- * End of "$Id$".
+ * End of "$Id: mantohtml.c 13138 2016-03-15 14:59:54Z msweet $".
*/
.\"
-.\" "$Id$"
+.\" "$Id: mime.convs.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" mime.convs man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: mime.convs.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: mime.types.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" mime.types man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: mime.types.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: notifier.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" notifier man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: notifier.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: ppdc.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" ppdc man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: ppdc.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: ppdcfile.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" ppdcfile man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: ppdcfile.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: ppdhtml.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" ppdhtml man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: ppdhtml.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: ppdi.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" ppdi man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: ppdi.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: ppdmerge.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" ppdmerge man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: ppdmerge.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: ppdpo.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" ppdpo man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: ppdpo.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: printers.conf.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" printers.conf man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: printers.conf.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
.\"
-.\" "$Id$"
+.\" "$Id: subscriptions.conf.man 13138 2016-03-15 14:59:54Z msweet $"
.\"
.\" subscriptions.conf man page for CUPS.
.\"
.SH COPYRIGHT
Copyright \[co] 2007-2015 by Apple Inc.
.\"
-.\" End of "$Id$".
+.\" End of "$Id: subscriptions.conf.man 13138 2016-03-15 14:59:54Z msweet $".
.\"
#
-# "$Id$"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Port monitor makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: bcp.c 11984 2014-07-02 13:16:59Z msweet $"
*
* TBCP port monitor for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: bcp.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: tbcp.c 11984 2014-07-02 13:16:59Z msweet $"
*
* TBCP port monitor for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: tbcp.c 11984 2014-07-02 13:16:59Z msweet $".
*/
#
-# "$Id$"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Notifier makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: dbus.c 11984 2014-07-02 13:16:59Z msweet $"
*
* D-Bus notifier for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: dbus.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: mailto.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "mailto" notifier for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: mailto.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: rss.c 13138 2016-03-15 14:59:54Z msweet $"
*
* RSS notifier for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: rss.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testnotify.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Test notifier for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testnotify.c 13138 2016-03-15 14:59:54Z msweet $".
*/
#
-# "$Id$"
+# "$Id: cups.list.in 13138 2016-03-15 14:59:54Z msweet $"
#
# ESP Package Manager (EPM) file list for CUPS.
#
%subpackage
#
-# End of "$Id$".
+# End of "$Id: cups.list.in 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: cups.spec.in 13138 2016-03-15 14:59:54Z msweet $"
#
# RPM "spec" file for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: cups.spec.in 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Makefile for the CUPS PPD Compiler.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
//
-// "$Id$"
+// "$Id: foo.drv 3247 2011-05-12 06:22:31Z msweet $"
//
// PPD file compiler test data file for CUPS.
//
//
-// End of "$Id$".
+// End of "$Id: foo.drv 3247 2011-05-12 06:22:31Z msweet $".
//
//
-// "$Id$"
+// "$Id: genstrings.cxx 11984 2014-07-02 13:16:59Z msweet $"
//
// GNU gettext message generator for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: genstrings.cxx 11984 2014-07-02 13:16:59Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-array.cxx 11984 2014-07-02 13:16:59Z msweet $"
//
// Array class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-array.cxx 11984 2014-07-02 13:16:59Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-attr.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Attribute class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-attr.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-catalog.cxx 11984 2014-07-02 13:16:59Z msweet $"
//
// Shared message catalog class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-catalog.cxx 11984 2014-07-02 13:16:59Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-choice.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Option choice class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-choice.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-constraint.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Contraint class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-constraint.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-driver.cxx 11984 2014-07-02 13:16:59Z msweet $"
//
// PPD file compiler definitions for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-driver.cxx 11984 2014-07-02 13:16:59Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-file.cxx 3755 2012-03-30 05:59:14Z msweet $"
//
// File class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-file.cxx 3755 2012-03-30 05:59:14Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-filter.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Filter class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-filter.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-font.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Shared font class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-font.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-group.cxx 3275 2011-05-20 07:26:13Z msweet $"
//
// Group class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-group.cxx 3275 2011-05-20 07:26:13Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-import.cxx 3275 2011-05-20 07:26:13Z msweet $"
//
// PPD file import methods for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-import.cxx 3275 2011-05-20 07:26:13Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-mediasize.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Shared media size class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-mediasize.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-message.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Shared message class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-message.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-option.cxx 3275 2011-05-20 07:26:13Z msweet $"
//
// Option class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-option.cxx 3275 2011-05-20 07:26:13Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-private.h 1992 2010-03-24 14:32:08Z msweet $"
//
// Private definitions for the CUPS PPD Compiler.
//
#endif // !_PPDC_PRIVATE_H_
//
-// End of "$Id$".
+// End of "$Id: ppdc-private.h 1992 2010-03-24 14:32:08Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-profile.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Color profile class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-profile.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-shared.cxx 1556 2009-06-10 19:02:58Z msweet $"
//
// Shared data class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-shared.cxx 1556 2009-06-10 19:02:58Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-source.cxx 11984 2014-07-02 13:16:59Z msweet $"
//
// Source class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-source.cxx 11984 2014-07-02 13:16:59Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-string.cxx 3933 2012-10-01 03:01:10Z msweet $"
//
// Shared string class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-string.cxx 3933 2012-10-01 03:01:10Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc-variable.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Variable class for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc-variable.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc.cxx 11984 2014-07-02 13:16:59Z msweet $"
//
// PPD file compiler main entry for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdc.cxx 11984 2014-07-02 13:16:59Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdc.h 3755 2012-03-30 05:59:14Z msweet $"
//
// Definitions for the CUPS PPD Compiler.
//
#endif // !_PPDC_H_
//
-// End of "$Id$".
+// End of "$Id: ppdc.h 3755 2012-03-30 05:59:14Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdhtml.cxx 13138 2016-03-15 14:59:54Z msweet $"
//
// PPD to HTML utility for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdhtml.cxx 13138 2016-03-15 14:59:54Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdi.cxx 3071 2011-03-23 00:05:29Z msweet $"
//
// PPD file import utility for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdi.cxx 3071 2011-03-23 00:05:29Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdmerge.cxx 11984 2014-07-02 13:16:59Z msweet $"
//
// PPD file merge utility for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdmerge.cxx 11984 2014-07-02 13:16:59Z msweet $".
//
//
-// "$Id$"
+// "$Id: ppdpo.cxx 13138 2016-03-15 14:59:54Z msweet $"
//
// PPD file message catalog program for the CUPS PPD Compiler.
//
//
-// End of "$Id$".
+// End of "$Id: ppdpo.cxx 13138 2016-03-15 14:59:54Z msweet $".
//
//
-// "$Id$"
+// "$Id: sample.drv 13138 2016-03-15 14:59:54Z msweet $"
//
// Driver info file for CUPS-supplied PPDs.
//
}
//
-// End of "$Id$".
+// End of "$Id: sample.drv 13138 2016-03-15 14:59:54Z msweet $".
//
//
-// "$Id$"
+// "$Id: testcatalog.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Test program for message catalog class.
//
//
-// End of "$Id$".
+// End of "$Id: testcatalog.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Scheduler Makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: auth.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Authorization routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: auth.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: auth.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Authorization definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: auth.h 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: banners.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Banner routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: banners.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: banners.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Banner definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: banners.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cert.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Authentication certificate routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: cert.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cert.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Authentication certificate definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: cert.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: classes.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Printer class routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: classes.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: classes.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Printer class definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: classes.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: client.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Client routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: client.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: client.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Client definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: client.h 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: colorman.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Color management routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: colorman.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: colorman.h 3833 2012-05-23 22:51:18Z msweet $"
*
* Color management definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: colorman.h 3833 2012-05-23 22:51:18Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: conf.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Configuration routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: conf.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: conf.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Configuration file definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: conf.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cups-deviced.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Device scanning mini-daemon for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cups-deviced.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cups-driverd.cxx 13138 2016-03-15 14:59:54Z msweet $"
*
* PPD/driver support for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cups-driverd.cxx 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cups-exec.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Sandbox helper for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cups-exec.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cups-lpd.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Line Printer Daemon interface for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cups-lpd.c 13138 2016-03-15 14:59:54Z msweet $".
*/
#!/bin/sh
#
-# "$Id$"
+# "$Id: cups.sh.in 11342 2013-10-18 20:36:01Z msweet $"
#
# Startup/shutdown script for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: cups.sh.in 11342 2013-10-18 20:36:01Z msweet $".
#
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
- $Id$
+ $Id: cups.xml.in 2309 2010-07-08 20:45:48Z msweet $
Service manifest for CUPS.
/*
- * "$Id$"
+ * "$Id: cupsd.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Main header file for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: cupsd.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cupsfilter.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Filtering program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cupsfilter.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: dirsvc.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Directory services routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: dirsvc.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: dirsvc.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Directory services definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: dirsvc.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: env.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Environment management routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: env.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: file.c 11984 2014-07-02 13:16:59Z msweet $"
*
* File functions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: file.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: filter.c 10996 2013-05-29 11:51:34Z msweet $"
*
* File type conversion routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: filter.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ipp.c 13138 2016-03-15 14:59:54Z msweet $"
*
* IPP routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: ipp.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: job.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Job management routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: job.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: job.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Print job definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: job.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: listen.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Server listening routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: listen.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: log.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Log file routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: log.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: mime-private.h 3411 2011-09-07 22:31:27Z msweet $"
*
* Private MIME type/conversion database definitions for CUPS.
*
#endif /* !_CUPS_MIME_PRIVATE_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: mime-private.h 3411 2011-09-07 22:31:27Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: mime.c 11984 2014-07-02 13:16:59Z msweet $"
*
* MIME database file routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: mime.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: mime.h 11272 2013-09-10 19:15:36Z msweet $"
*
* MIME type/conversion database definitions for CUPS.
*
#endif /* !_CUPS_MIME_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: mime.h 11272 2013-09-10 19:15:36Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: network.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Network interface functions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: network.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: network.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Network interface definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: network.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: policy.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Policy routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: policy.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: policy.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Policy definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: policy.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: printers.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Printer routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: printers.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: printers.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Printer definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: printers.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: process.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Process management routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: process.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: quotas.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Quota routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: quotas.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: select.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Select abstraction functions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: select.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: server.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Server start/stop routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: server.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: statbuf.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Status buffer routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: statbuf.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: statbuf.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Status buffer definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: statbuf.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: subscriptions.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Subscription routines for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: subscriptions.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: subscriptions.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Subscription definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: subscriptions.h 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: sysman.c 13138 2016-03-15 14:59:54Z msweet $"
*
* System management functions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: sysman.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: sysman.h 13138 2016-03-15 14:59:54Z msweet $"
*
* System management definitions for the CUPS scheduler.
*
/*
- * End of "$Id$".
+ * End of "$Id: sysman.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testlpd.c 13138 2016-03-15 14:59:54Z msweet $"
*
* cups-lpd test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testlpd.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testmime.c 11984 2014-07-02 13:16:59Z msweet $"
*
* MIME test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testmime.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testspeed.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Scheduler speed test for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testspeed.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: testsub.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Scheduler notification tester for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: testsub.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: type.c 13138 2016-03-15 14:59:54Z msweet $"
*
* MIME typing routines for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: type.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: util.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Mini-daemon utility functions for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: util.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: util.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Mini-daemon utility definitions for CUPS.
*
#endif /* !_CUPSD_UTIL_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: util.h 11984 2014-07-02 13:16:59Z msweet $".
*/
#
-# "$Id$"
+# "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $"
#
# System V commands makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: cancel.c 13138 2016-03-15 14:59:54Z msweet $"
*
* "cancel" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cancel.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cupsaccept.c 2873 2010-11-30 03:16:24Z msweet $"
*
* "cupsaccept", "cupsdisable", "cupsenable", and "cupsreject" commands for
* CUPS.
/*
- * End of "$Id$".
+ * End of "$Id: cupsaccept.c 2873 2010-11-30 03:16:24Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cupsaddsmb.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "cupsaddsmb" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cupsaddsmb.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cupsctl.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Scheduler control program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cupsctl.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: cupstestdsc.c 10996 2013-05-29 11:51:34Z msweet $"
*
* DSC test program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: cupstestdsc.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lp.c 11984 2014-07-02 13:16:59Z msweet $"
*
* "lp" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lp.c 11984 2014-07-02 13:16:59Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lpadmin.c 13138 2016-03-15 14:59:54Z msweet $"
*
* "lpadmin" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lpadmin.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lpinfo.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "lpinfo" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lpinfo.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lpmove.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "lpmove" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lpmove.c 10996 2013-05-29 11:51:34Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lpoptions.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Printer option program for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lpoptions.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: lpstat.c 13138 2016-03-15 14:59:54Z msweet $"
*
* "lpstat" command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: lpstat.c 13138 2016-03-15 14:59:54Z msweet $".
*/
#
-# "$Id$"
+# "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $"
#
# Template makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $".
#
#
-# "$Id$"
+# "$Id: 4.1-requests.test 11398 2013-11-06 20:11:11Z msweet $"
#
# Verify that the server requires the following attributes:
#
STATUS server-error-version-not-supported
}
#
-# End of "$Id$"
+# End of "$Id: 4.1-requests.test 11398 2013-11-06 20:11:11Z msweet $"
#
#
-# "$Id$"
+# "$Id: 4.2-cups-printer-ops.test 11984 2014-07-02 13:16:59Z msweet $"
#
# Verify that the CUPS printer operations work.
#
}
#
-# End of "$Id$"
+# End of "$Id: 4.2-cups-printer-ops.test 11984 2014-07-02 13:16:59Z msweet $"
#
#
-# "$Id$"
+# "$Id: 4.3-job-ops.test 11398 2013-11-06 20:11:11Z msweet $"
#
# Verify that the IPP job operations work.
#
}
#
-# End of "$Id$"
+# End of "$Id: 4.3-job-ops.test 11398 2013-11-06 20:11:11Z msweet $"
#
#
-# "$Id$"
+# "$Id: 4.4-subscription-ops.test 11398 2013-11-06 20:11:11Z msweet $"
#
# Verify that the CUPS subscription operations work.
#
}
#
-# End of "$Id$"
+# End of "$Id: 4.4-subscription-ops.test 11398 2013-11-06 20:11:11Z msweet $"
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: 5.1-lpadmin.sh 13138 2016-03-15 14:59:54Z msweet $"
#
# Test the lpadmin command.
#
echo ""
#
-# End of "$Id$".
+# End of "$Id: 5.1-lpadmin.sh 13138 2016-03-15 14:59:54Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: 5.2-lpc.sh 11398 2013-11-06 20:11:11Z msweet $"
#
# Test the lpc command.
#
echo ""
#
-# End of "$Id$".
+# End of "$Id: 5.2-lpc.sh 11398 2013-11-06 20:11:11Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: 5.3-lpq.sh 11398 2013-11-06 20:11:11Z msweet $"
#
# Test the lpq command.
#
echo ""
#
-# End of "$Id$".
+# End of "$Id: 5.3-lpq.sh 11398 2013-11-06 20:11:11Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: 5.4-lpstat.sh 13138 2016-03-15 14:59:54Z msweet $"
#
# Test the lpstat command.
#
echo ""
#
-# End of "$Id$".
+# End of "$Id: 5.4-lpstat.sh 13138 2016-03-15 14:59:54Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: 5.5-lp.sh 13138 2016-03-15 14:59:54Z msweet $"
#
# Test the lp command.
#
#
-# End of "$Id$".
+# End of "$Id: 5.5-lp.sh 13138 2016-03-15 14:59:54Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: 5.6-lpr.sh 13138 2016-03-15 14:59:54Z msweet $"
#
# Test the lpr command.
#
./waitjobs.sh
#
-# End of "$Id$".
+# End of "$Id: 5.6-lpr.sh 13138 2016-03-15 14:59:54Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: 5.7-lprm.sh 11398 2013-11-06 20:11:11Z msweet $"
#
# Test the lprm command.
#
echo ""
#
-# End of "$Id$".
+# End of "$Id: 5.7-lprm.sh 11398 2013-11-06 20:11:11Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: 5.8-cancel.sh 11398 2013-11-06 20:11:11Z msweet $"
#
# Test the cancel command.
#
echo ""
#
-# End of "$Id$".
+# End of "$Id: 5.8-cancel.sh 11398 2013-11-06 20:11:11Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: 5.9-lpinfo.sh 11398 2013-11-06 20:11:11Z msweet $"
#
# Test the lpinfo command.
#
echo ""
#
-# End of "$Id$".
+# End of "$Id: 5.9-lpinfo.sh 11398 2013-11-06 20:11:11Z msweet $".
#
#
-# "$Id$"
+# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# IPP test makefile for CUPS.
#
#
-# End of "$Id$".
+# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: cancel-current-job.test 11398 2013-11-06 20:11:11Z msweet $"
#
# Cancel the currently printing job.
#
#
-# End of "$Id$".
+# End of "$Id: cancel-current-job.test 11398 2013-11-06 20:11:11Z msweet $".
#
#
-# "$Id$"
+# "$Id: create-printer-subscription.test 11984 2014-07-02 13:16:59Z msweet $"
#
# Create a printer subscription.
#
#
-# End of "$Id$"
+# End of "$Id: create-printer-subscription.test 11984 2014-07-02 13:16:59Z msweet $"
#
#
-# "$Id$"
+# "$Id: get-completed-jobs.test 13138 2016-03-15 14:59:54Z msweet $"
#
# Get list of completed jobs.
#
#
-# End of "$Id$".
+# End of "$Id: get-completed-jobs.test 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: get-jobs.test 13138 2016-03-15 14:59:54Z msweet $"
#
# Get list of not-completed jobs.
#
#
-# End of "$Id$".
+# End of "$Id: get-jobs.test 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: get-notifications.test 11398 2013-11-06 20:11:11Z msweet $"
#
# Get subscription events.
#
#
-# End of "$Id$"
+# End of "$Id: get-notifications.test 11398 2013-11-06 20:11:11Z msweet $"
#
#
-# "$Id$"
+# "$Id: ipp-1.1.test 13138 2016-03-15 14:59:54Z msweet $"
#
# IPP/1.1 test suite.
#
#
-# End of "$Id$".
+# End of "$Id: ipp-1.1.test 13138 2016-03-15 14:59:54Z msweet $".
#
#
-# "$Id$"
+# "$Id: ipp-2.0.test 11398 2013-11-06 20:11:11Z msweet $"
#
# IPP/2.0 test suite.
#
#
-# End of "$Id$".
+# End of "$Id: ipp-2.0.test 11398 2013-11-06 20:11:11Z msweet $".
#
#
-# "$Id$"
+# "$Id: ipp-2.1.test 11398 2013-11-06 20:11:11Z msweet $"
#
# IPP/2.1 test suite.
#
#
-# End of "$Id$".
+# End of "$Id: ipp-2.1.test 11398 2013-11-06 20:11:11Z msweet $".
#
#
-# "$Id$"
+# "$Id: ipp-2.2.test 11398 2013-11-06 20:11:11Z msweet $"
#
# IPP/2.2 test suite.
#
#
-# End of "$Id$".
+# End of "$Id: ipp-2.2.test 11398 2013-11-06 20:11:11Z msweet $".
#
#
-# "$Id$"
+# "$Id: ipp-everywhere.test 11398 2013-11-06 20:11:11Z msweet $"
#
# IPP Everywhere test suite.
#
#
-# End of "$Id$".
+# End of "$Id: ipp-everywhere.test 11398 2013-11-06 20:11:11Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: ippdiscover.c 10983 2013-05-13 23:57:32Z msweet $"
*
* ippdiscover command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ippdiscover.c 10983 2013-05-13 23:57:32Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ippfind.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Utility to find IPP printers via Bonjour/DNS-SD and optionally run
* commands such as IPP and Bonjour conformance tests. This tool is
/*
- * End of "$Id$".
+ * End of "$Id: ippfind.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ippinfra.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Sample IPP INFRA server for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ippinfra.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ippproxy.c 13138 2016-03-15 14:59:54Z msweet $"
*
* CUPS Cloud Proxy for HP PCL and IPP Everywhere printers.
*
/*
- * End of "$Id$".
+ * End of "$Id: ippproxy.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ippserver.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Sample IPP Everywhere server for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ippserver.c 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: ipptool.c 13138 2016-03-15 14:59:54Z msweet $"
*
* ipptool command for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: ipptool.c 13138 2016-03-15 14:59:54Z msweet $".
*/
#!/bin/sh
#
-# "$Id$"
+# "$Id: run-stp-tests.sh 13138 2016-03-15 14:59:54Z msweet $"
#
# Perform the complete set of IPP compliance tests specified in the
# CUPS Software Test Plan.
fi
#
-# End of "$Id$"
+# End of "$Id: run-stp-tests.sh 13138 2016-03-15 14:59:54Z msweet $"
#
*PPD-Adobe: "4.3"
*%
-*% "$Id$"
+*% "$Id: testhp.ppd 11398 2013-11-06 20:11:11Z msweet $"
*%
*% Test HP PPD file for CUPS.
*%
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
*%
-*% End of "$Id$".
+*% End of "$Id: testhp.ppd 11398 2013-11-06 20:11:11Z msweet $".
*%
*PPD-Adobe: "4.3"
*%
-*% "$Id$"
+*% "$Id: testps.ppd 11398 2013-11-06 20:11:11Z msweet $"
*%
*% Test PS PPD file for CUPS.
*%
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
*%
-*% End of "$Id$".
+*% End of "$Id: testps.ppd 11398 2013-11-06 20:11:11Z msweet $".
*%
#!/bin/sh
#
-# "$Id$"
+# "$Id: waitjobs.sh 1253 2009-02-25 23:37:25Z msweet $"
#
# Script to wait for jobs to complete.
#
echo ""
#
-# End of "$Id$".
+# End of "$Id: waitjobs.sh 1253 2009-02-25 23:37:25Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: xmltotest.c 3643 2012-02-13 16:35:48Z msweet $"
*
* IANA XML registration to test file generator for CUPS.
*
/*
- * End of "$Id$".
+ * End of "$Id: xmltotest.c 3643 2012-02-13 16:35:48Z msweet $".
*/
#!/bin/sh
#
-# "$Id$"
+# "$Id: makeipptoolpkg 11207 2013-07-31 18:18:52Z msweet $"
#
# Make an ipptool package for CUPS.
#
echo Done.
#
-# End of "$Id$".
+# End of "$Id: makeipptoolpkg 11207 2013-07-31 18:18:52Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: makesrcdist 13138 2016-03-15 14:59:54Z msweet $"
#
# makesrcdist - make a source distribution of CUPS.
#
echo "Done - files in $TMPDIR."
#
-# End of "$Id$".
+# End of "$Id: makesrcdist 13138 2016-03-15 14:59:54Z msweet $".
#
#!/bin/sh
#
-# "$Id$"
+# "$Id: testrpm 11139 2013-07-15 13:22:34Z msweet $"
#
# Test script for making RPMs...
#
rpmbuild -ta $args cups-$fileversion-source.tar.bz2
#
-# End of "$Id$".
+# End of "$Id: testrpm 11139 2013-07-15 13:22:34Z msweet $".
#
/*
- * "$Id$"
+ * "$Id: config.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Configuration file for CUPS on Windows.
*
#endif /* !_CUPS_CONFIG_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: config.h 13138 2016-03-15 14:59:54Z msweet $".
*/
/*
- * "$Id$"
+ * "$Id: config.h 13138 2016-03-15 14:59:54Z msweet $"
*
* Configuration file for CUPS and Xcode.
*
#endif /* !_CUPS_CONFIG_H_ */
/*
- * End of "$Id$".
+ * End of "$Id: config.h 13138 2016-03-15 14:59:54Z msweet $".
*/