From: msweet Date: Wed, 17 Sep 2008 19:54:07 +0000 (+0000) Subject: Merge changes from CUPS 1.4svn-r7961. X-Git-Tag: release-1.6.3~143 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b19ccc9e271691cc71a08e9968c58f464ebeade5;p=thirdparty%2Fcups.git Merge changes from CUPS 1.4svn-r7961. git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@969 a1ca3aef-8c08-0410-bb20-df032aa958be --- diff --git a/CHANGES-1.3.txt b/CHANGES-1.3.txt index cb1f5832b3..320e6ea306 100644 --- a/CHANGES-1.3.txt +++ b/CHANGES-1.3.txt @@ -3,7 +3,17 @@ CHANGES-1.3.txt CHANGES IN CUPS V1.3.9 - - Documentation updates (STR #2904) + - Documentation updates (STR #2904, STR #2944) + - The scheduler incorrectly resolved the client connection + address when HostNameLookups was set to Off (STR #2946) + - The IPP backend incorrectly stopped the local queue if + the remote server reported the "paused" state. + - The cupsGetDests() function did not catch all types of + request errors. + - The scheduler did not always log "job queued" messages + (STR #2943) + - The scheduler did not support destination filtering using + the printer-location attribute properly (STR #2945) - The scheduler did not send the server-started, server-restarted, or server-stopped events (STR #2927) - The scheduler no longer enforces configuration file diff --git a/CHANGES.txt b/CHANGES.txt index 5a8431195c..bf0a6a733b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,11 @@ CHANGES.txt - 2008-09-10 CHANGES IN CUPS V1.4b1 + - Documentation updates (STR #2567) + - Added support for printer filtering by the cupsfilter + command (STR #2562) + - Added a SSLOptions directive to allow Windows clients to + talk to CUPS in FIPS mode (STR #2827) - Renamed the accept and reject commands to cupsaccept and cupsreject; the old names are still available (STR #2936) - The locale/translate utility needed an update to work with diff --git a/Makedefs.in b/Makedefs.in index 3ee4e25125..33270a4c3e 100644 --- a/Makedefs.in +++ b/Makedefs.in @@ -1,5 +1,5 @@ # -# "$Id: Makedefs.in 7687 2008-06-24 01:28:36Z mike $" +# "$Id: Makedefs.in 7900 2008-09-03 13:47:57Z mike $" # # Common makefile definitions for the Common UNIX Printing System (CUPS). # @@ -286,5 +286,5 @@ DBUSDIR = @DBUSDIR@ # -# End of "$Id: Makedefs.in 7687 2008-06-24 01:28:36Z mike $" +# End of "$Id: Makedefs.in 7900 2008-09-03 13:47:57Z mike $" # diff --git a/Makefile b/Makefile index 8fe7685b92..6432f9386c 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7613 2008-05-22 23:27:52Z mike $" +# "$Id: Makefile 7961 2008-09-17 19:52:46Z mike $" # # Top-level Makefile for the Common UNIX Printing System (CUPS). # @@ -115,7 +115,7 @@ distclean: clean $(RM) man/client.conf.man $(RM) man/cups-deviced.man man/cups-driverd.man $(RM) man/cups-lpd.man man/cupsaddsmb.man man/cupsd.man - $(RM) man/cupsd.conf.man man/lpoptions.man + $(RM) man/cupsd.conf.man man/drv.man man/lpoptions.man $(RM) packaging/cups.list $(RM) templates/header.tmpl $(RM) desktop/cups.desktop @@ -374,5 +374,5 @@ dist: all # -# End of "$Id: Makefile 7613 2008-05-22 23:27:52Z mike $". +# End of "$Id: Makefile 7961 2008-09-17 19:52:46Z mike $". # diff --git a/backend/Makefile b/backend/Makefile index 11ebdbd481..29901826e6 100644 --- a/backend/Makefile +++ b/backend/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7687 2008-06-24 01:28:36Z mike $" +# "$Id: Makefile 7924 2008-09-10 17:36:13Z mike $" # # Backend makefile for the Common UNIX Printing System (CUPS). # @@ -277,5 +277,5 @@ include Dependencies # -# End of "$Id: Makefile 7687 2008-06-24 01:28:36Z mike $". +# End of "$Id: Makefile 7924 2008-09-10 17:36:13Z mike $". # diff --git a/backend/backend-private.h b/backend/backend-private.h index c124274a9d..b44270c1a6 100644 --- a/backend/backend-private.h +++ b/backend/backend-private.h @@ -1,5 +1,5 @@ /* - * "$Id: backend-private.h 7586 2008-05-16 23:39:39Z mike $" + * "$Id: backend-private.h 7810 2008-07-29 01:11:15Z mike $" * * Backend support definitions for the Common UNIX Printing System (CUPS). * @@ -275,5 +275,5 @@ extern int backendSNMPSupplies(int snmp_fd, http_addr_t *addr, /* - * End of "$Id: backend-private.h 7586 2008-05-16 23:39:39Z mike $". + * End of "$Id: backend-private.h 7810 2008-07-29 01:11:15Z mike $". */ diff --git a/backend/ipp.c b/backend/ipp.c index 636e738fde..2d1b802310 100644 --- a/backend/ipp.c +++ b/backend/ipp.c @@ -1,5 +1,5 @@ /* - * "$Id: ipp.c 7583 2008-05-16 17:47:16Z mike $" + * "$Id: ipp.c 7948 2008-09-17 00:04:12Z mike $" * * IPP backend for the Common UNIX Printing System (CUPS). * @@ -1633,7 +1633,7 @@ report_printer_state(ipp_t *ipp, /* I - IPP response */ { reason = reasons->values[i].string.text; - if (job_id == 0 || strcmp(reason, "paused")) + if (strcmp(reason, "paused")) { strlcat(state, prefix, sizeof(state)); strlcat(state, reason, sizeof(state)); @@ -1956,5 +1956,5 @@ sigterm_handler(int sig) /* I - Signal */ /* - * End of "$Id: ipp.c 7583 2008-05-16 17:47:16Z mike $". + * End of "$Id: ipp.c 7948 2008-09-17 00:04:12Z mike $". */ diff --git a/backend/lpd.c b/backend/lpd.c index 5bd0083483..19d1f2f751 100644 --- a/backend/lpd.c +++ b/backend/lpd.c @@ -1,5 +1,5 @@ /* - * "$Id: lpd.c 7583 2008-05-16 17:47:16Z mike $" + * "$Id: lpd.c 7740 2008-07-14 23:58:05Z mike $" * * Line Printer Daemon backend for the Common UNIX Printing System (CUPS). * @@ -1384,5 +1384,5 @@ sigterm_handler(int sig) /* I - Signal */ /* - * End of "$Id: lpd.c 7583 2008-05-16 17:47:16Z mike $". + * End of "$Id: lpd.c 7740 2008-07-14 23:58:05Z mike $". */ diff --git a/backend/pap.c b/backend/pap.c index 03c8252592..12dbb9e89c 100644 --- a/backend/pap.c +++ b/backend/pap.c @@ -1,5 +1,5 @@ /* -* "$Id: pap.c 7318 2008-02-15 23:24:41Z mike $" +* "$Id: pap.c 7720 2008-07-11 22:46:21Z mike $" * * Copyright 2004-2008 Apple Inc. All rights reserved. * diff --git a/backend/parallel.c b/backend/parallel.c index e204995455..e989bda172 100644 --- a/backend/parallel.c +++ b/backend/parallel.c @@ -1,5 +1,5 @@ /* - * "$Id: parallel.c 7343 2008-02-25 19:02:09Z mike $" + * "$Id: parallel.c 7810 2008-07-29 01:11:15Z mike $" * * Parallel port backend for the Common UNIX Printing System (CUPS). * @@ -684,5 +684,5 @@ side_cb(int print_fd, /* I - Print file */ /* - * End of "$Id: parallel.c 7343 2008-02-25 19:02:09Z mike $". + * End of "$Id: parallel.c 7810 2008-07-29 01:11:15Z mike $". */ diff --git a/backend/runloop.c b/backend/runloop.c index 14dfc494c1..04bde408b1 100644 --- a/backend/runloop.c +++ b/backend/runloop.c @@ -1,5 +1,5 @@ /* - * "$Id: runloop.c 7647 2008-06-16 17:39:40Z mike $" + * "$Id: runloop.c 7895 2008-09-02 19:19:43Z mike $" * * Common run loop APIs for the Common UNIX Printing System (CUPS). * @@ -404,5 +404,5 @@ backendRunLoop( /* - * End of "$Id: runloop.c 7647 2008-06-16 17:39:40Z mike $". + * End of "$Id: runloop.c 7895 2008-09-02 19:19:43Z mike $". */ diff --git a/backend/snmp.c b/backend/snmp.c index 712981cfd4..692272474e 100644 --- a/backend/snmp.c +++ b/backend/snmp.c @@ -1,5 +1,5 @@ /* - * "$Id: snmp.c 7506 2008-04-29 04:38:47Z mike $" + * "$Id: snmp.c 7810 2008-07-29 01:11:15Z mike $" * * SNMP discovery backend for the Common UNIX Printing System (CUPS). * @@ -1335,5 +1335,5 @@ update_cache(snmp_cache_t *device, /* I - Device */ /* - * End of "$Id: snmp.c 7506 2008-04-29 04:38:47Z mike $". + * End of "$Id: snmp.c 7810 2008-07-29 01:11:15Z mike $". */ diff --git a/backend/socket.c b/backend/socket.c index 423000f0f6..01d6d0472d 100644 --- a/backend/socket.c +++ b/backend/socket.c @@ -1,5 +1,5 @@ /* - * "$Id: socket.c 7583 2008-05-16 17:47:16Z mike $" + * "$Id: socket.c 7881 2008-08-28 20:21:56Z mike $" * * AppSocket backend for the Common UNIX Printing System (CUPS). * @@ -512,5 +512,5 @@ wait_bc(int device_fd, /* I - Socket */ /* - * End of "$Id: socket.c 7583 2008-05-16 17:47:16Z mike $". + * End of "$Id: socket.c 7881 2008-08-28 20:21:56Z mike $". */ diff --git a/backend/usb-darwin.c b/backend/usb-darwin.c index a780d68beb..73c3e4c57d 100644 --- a/backend/usb-darwin.c +++ b/backend/usb-darwin.c @@ -1,5 +1,5 @@ /* -* "$Id: usb-darwin.c 7460 2008-04-16 02:19:54Z mike $" +* "$Id: usb-darwin.c 7953 2008-09-17 01:43:19Z mike $" * * Copyright 2005-2008 Apple Inc. All rights reserved. * @@ -1811,8 +1811,8 @@ static void run_legacy_backend(int argc, if (!posix_spawnattr_init(&attrs)) { - posix_spawnattr_setsigdefault(attrs, &oldmask); - if (posix_spawnattr_setbinpref_np(attrs, 1, &cpu, &ocount) || ocount != 1) + posix_spawnattr_setsigdefault(&attrs, &oldmask); + if (posix_spawnattr_setbinpref_np(&attrs, 1, &cpu, &ocount) || ocount != 1) { # ifdef __x86_64__ perror("DEBUG: Unable to set binary preference to i386"); @@ -2068,5 +2068,5 @@ static void get_device_id(cups_sc_status_t *status, /* - * End of "$Id: usb-darwin.c 7460 2008-04-16 02:19:54Z mike $". + * End of "$Id: usb-darwin.c 7953 2008-09-17 01:43:19Z mike $". */ diff --git a/backend/usb-unix.c b/backend/usb-unix.c index de4ab4e29b..e21142ff1e 100644 --- a/backend/usb-unix.c +++ b/backend/usb-unix.c @@ -1,5 +1,5 @@ /* - * "$Id: usb-unix.c 7687 2008-06-24 01:28:36Z mike $" + * "$Id: usb-unix.c 7810 2008-07-29 01:11:15Z mike $" * * USB port backend for the Common UNIX Printing System (CUPS). * @@ -611,5 +611,5 @@ side_cb(int print_fd, /* I - Print file */ /* - * End of "$Id: usb-unix.c 7687 2008-06-24 01:28:36Z mike $". + * End of "$Id: usb-unix.c 7810 2008-07-29 01:11:15Z mike $". */ diff --git a/berkeley/Makefile b/berkeley/Makefile index 996858d388..346bc17fde 100644 --- a/berkeley/Makefile +++ b/berkeley/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # Berkeley commands makefile for the Common UNIX Printing System (CUPS). # @@ -161,5 +161,5 @@ include Dependencies # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/berkeley/lpr.c b/berkeley/lpr.c index b529365d7c..2e30bc3103 100644 --- a/berkeley/lpr.c +++ b/berkeley/lpr.c @@ -1,5 +1,5 @@ /* - * "$Id: lpr.c 7170 2008-01-04 02:21:30Z mike $" + * "$Id: lpr.c 7720 2008-07-11 22:46:21Z mike $" * * "lpr" command for the Common UNIX Printing System (CUPS). * @@ -427,5 +427,5 @@ main(int argc, /* I - Number of command-line arguments */ /* - * End of "$Id: lpr.c 7170 2008-01-04 02:21:30Z mike $". + * End of "$Id: lpr.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/cgi-bin/Makefile b/cgi-bin/Makefile index 0d538c0d79..04055777ba 100644 --- a/cgi-bin/Makefile +++ b/cgi-bin/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # CGI makefile for the Common UNIX Printing System (CUPS). # @@ -419,5 +419,5 @@ include Dependencies # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/cgi-bin/admin.c b/cgi-bin/admin.c index c7175f3df3..206b6dda80 100644 --- a/cgi-bin/admin.c +++ b/cgi-bin/admin.c @@ -1,5 +1,5 @@ /* - * "$Id: admin.c 7438 2008-04-09 03:27:37Z mike $" + * "$Id: admin.c 7888 2008-08-29 21:16:56Z mike $" * * Administration CGI for the Common UNIX Printing System (CUPS). * @@ -3849,5 +3849,5 @@ match_string(const char *a, /* I - First string */ /* - * End of "$Id: admin.c 7438 2008-04-09 03:27:37Z mike $". + * End of "$Id: admin.c 7888 2008-08-29 21:16:56Z mike $". */ diff --git a/cgi-bin/cgi-private.h b/cgi-bin/cgi-private.h index bdcbeac7ab..4463c2a5c1 100644 --- a/cgi-bin/cgi-private.h +++ b/cgi-bin/cgi-private.h @@ -1,5 +1,5 @@ /* - * "$Id: cgi-private.h 6649 2007-07-11 21:46:42Z mike $" + * "$Id: cgi-private.h 7940 2008-09-16 00:45:16Z mike $" * * Private CGI definitions for the Common UNIX Printing System (CUPS). * @@ -27,9 +27,9 @@ * Limits... */ -#define CUPS_PAGE_MAX 10 /* Maximum items per page */ +#define CUPS_PAGE_MAX 100 /* Maximum items per page */ /* - * End of "$Id: cgi-private.h 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: cgi-private.h 7940 2008-09-16 00:45:16Z mike $". */ diff --git a/cgi-bin/classes.c b/cgi-bin/classes.c index 09a3cc64c5..28aa7a925c 100644 --- a/cgi-bin/classes.c +++ b/cgi-bin/classes.c @@ -1,5 +1,5 @@ /* - * "$Id: classes.c 7301 2008-02-13 00:27:52Z mike $" + * "$Id: classes.c 7940 2008-09-16 00:45:16Z mike $" * * Class status CGI for the Common UNIX Printing System (CUPS). * @@ -303,12 +303,12 @@ show_all_classes(http_t *http, /* I - Connection to server */ cgiCopyTemplateLang("classes-header.tmpl"); - if (count > 0) + if (count > CUPS_PAGE_MAX) cgiCopyTemplateLang("pager.tmpl"); cgiCopyTemplateLang("classes.tmpl"); - if (count > 0) + if (count > CUPS_PAGE_MAX) cgiCopyTemplateLang("pager.tmpl"); /* @@ -362,7 +362,7 @@ show_class(http_t *http, /* I - Connection to server */ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); - cgiGetAttributes(request, "classes.tmpl"); + cgiGetAttributes(request, "class.tmpl"); /* * Do the request and get back a response... @@ -408,7 +408,7 @@ show_class(http_t *http, /* I - Connection to server */ */ cgiSetVariable("_SINGLE_DEST", "1"); - cgiCopyTemplateLang("classes.tmpl"); + cgiCopyTemplateLang("class.tmpl"); /* * Show jobs for the specified class... @@ -432,5 +432,5 @@ show_class(http_t *http, /* I - Connection to server */ /* - * End of "$Id: classes.c 7301 2008-02-13 00:27:52Z mike $". + * End of "$Id: classes.c 7940 2008-09-16 00:45:16Z mike $". */ diff --git a/cgi-bin/help-index.c b/cgi-bin/help-index.c index 9b40252bfa..cae6e5a267 100644 --- a/cgi-bin/help-index.c +++ b/cgi-bin/help-index.c @@ -1,5 +1,5 @@ /* - * "$Id: help-index.c 7615 2008-05-25 07:17:07Z mike $" + * "$Id: help-index.c 7717 2008-07-04 02:35:33Z mike $" * * Online help index routines for the Common UNIX Printing System (CUPS). * @@ -1327,5 +1327,5 @@ help_sort_words(help_word_t *w1, /* I - Second word */ /* - * End of "$Id: help-index.c 7615 2008-05-25 07:17:07Z mike $". + * End of "$Id: help-index.c 7717 2008-07-04 02:35:33Z mike $". */ diff --git a/cgi-bin/help.c b/cgi-bin/help.c index 823f88f125..48ca558953 100644 --- a/cgi-bin/help.c +++ b/cgi-bin/help.c @@ -3,7 +3,7 @@ * * Online help CGI for the Common UNIX Printing System (CUPS). * - * Copyright 2007 by Apple Inc. + * Copyright 2007-2008 by Apple Inc. * Copyright 1997-2006 by Easy Software Products. * * These coded instructions, statements, and computer programs are the @@ -359,7 +359,10 @@ main(int argc, /* I - Number of command-line arguments */ */ if (!printable) + { + cgiCopyTemplateLang("help-trailer.tmpl"); cgiEndHTML(); + } else puts("\n"); diff --git a/cgi-bin/ipp-var.c b/cgi-bin/ipp-var.c index 4ee9ef867c..95305030e9 100644 --- a/cgi-bin/ipp-var.c +++ b/cgi-bin/ipp-var.c @@ -1,5 +1,5 @@ /* - * "$Id: ipp-var.c 7541 2008-05-05 21:22:58Z mike $" + * "$Id: ipp-var.c 7940 2008-09-16 00:45:16Z mike $" * * CGI <-> IPP variable routines for the Common UNIX Printing System (CUPS). * @@ -1351,12 +1351,12 @@ cgiShowJobs(http_t *http, /* I - Connection to server */ cgiCopyTemplateLang("jobs-header.tmpl"); - if (count > 0) + if (count > CUPS_PAGE_MAX) cgiCopyTemplateLang("pager.tmpl"); cgiCopyTemplateLang("jobs.tmpl"); - if (count > 0) + if (count > CUPS_PAGE_MAX) cgiCopyTemplateLang("pager.tmpl"); cupsArrayDelete(jobs); @@ -1384,5 +1384,5 @@ cgiText(const char *message) /* I - Message */ /* - * End of "$Id: ipp-var.c 7541 2008-05-05 21:22:58Z mike $". + * End of "$Id: ipp-var.c 7940 2008-09-16 00:45:16Z mike $". */ diff --git a/cgi-bin/printers.c b/cgi-bin/printers.c index f90632866a..131174263c 100644 --- a/cgi-bin/printers.c +++ b/cgi-bin/printers.c @@ -1,5 +1,5 @@ /* - * "$Id: printers.c 7301 2008-02-13 00:27:52Z mike $" + * "$Id: printers.c 7940 2008-09-16 00:45:16Z mike $" * * Printer status CGI for the Common UNIX Printing System (CUPS). * @@ -472,12 +472,12 @@ show_all_printers(http_t *http, /* I - Connection to server */ cgiCopyTemplateLang("printers-header.tmpl"); - if (count > 0) + if (count > CUPS_PAGE_MAX) cgiCopyTemplateLang("pager.tmpl"); cgiCopyTemplateLang("printers.tmpl"); - if (count > 0) + if (count > CUPS_PAGE_MAX) cgiCopyTemplateLang("pager.tmpl"); /* @@ -534,7 +534,7 @@ show_printer(http_t *http, /* I - Connection to server */ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); - cgiGetAttributes(request, "printers.tmpl"); + cgiGetAttributes(request, "printer.tmpl"); /* * Do the request and get back a response... @@ -588,7 +588,7 @@ show_printer(http_t *http, /* I - Connection to server */ */ cgiSetVariable("_SINGLE_DEST", "1"); - cgiCopyTemplateLang("printers.tmpl"); + cgiCopyTemplateLang("printer.tmpl"); /* * Show jobs for the specified printer... @@ -612,5 +612,5 @@ show_printer(http_t *http, /* I - Connection to server */ /* - * End of "$Id: printers.c 7301 2008-02-13 00:27:52Z mike $". + * End of "$Id: printers.c 7940 2008-09-16 00:45:16Z mike $". */ diff --git a/cgi-bin/search.c b/cgi-bin/search.c index 7d15d639d3..175906b8b5 100644 --- a/cgi-bin/search.c +++ b/cgi-bin/search.c @@ -1,5 +1,5 @@ /* - * "$Id: search.c 7420 2008-04-01 20:32:00Z mike $" + * "$Id: search.c 7720 2008-07-11 22:46:21Z mike $" * * Search routines for the Common UNIX Printing System (CUPS). * @@ -377,5 +377,5 @@ cgiFreeSearch(void *search) /* I - Search context */ /* - * End of "$Id: search.c 7420 2008-04-01 20:32:00Z mike $". + * End of "$Id: search.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/conf/Makefile b/conf/Makefile index acd7eacbab..e9ef1f4897 100644 --- a/conf/Makefile +++ b/conf/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7670 2008-06-17 22:42:08Z mike $" +# "$Id: Makefile 7938 2008-09-11 23:53:59Z mike $" # # Configuration file makefile for the Common UNIX Printing System (CUPS). # @@ -70,7 +70,6 @@ install: all install-data install-headers install-libs install-exec # install-data: - $(INSTALL_DIR) -m 755 $(SERVERROOT) for file in $(KEEP); do \ if test -r $(SERVERROOT)/$$file ; then \ $(INSTALL_CONFIG) $$file $(SERVERROOT)/$$file.N ; \ @@ -143,5 +142,5 @@ uninstall: # -# End of "$Id: Makefile 7670 2008-06-17 22:42:08Z mike $". +# End of "$Id: Makefile 7938 2008-09-11 23:53:59Z mike $". # diff --git a/conf/cupsd.conf.in b/conf/cupsd.conf.in index 9eff1e0e70..ff034ccb24 100644 --- a/conf/cupsd.conf.in +++ b/conf/cupsd.conf.in @@ -1,5 +1,5 @@ # -# "$Id: cupsd.conf.in 7680 2008-06-20 17:37:43Z mike $" +# "$Id: cupsd.conf.in 7888 2008-08-29 21:16:56Z mike $" # # Sample configuration file for the Common UNIX Printing System (CUPS) # scheduler. See "man cupsd.conf" for a complete description of this @@ -120,5 +120,5 @@ DefaultAuthType Basic # -# End of "$Id: cupsd.conf.in 7680 2008-06-20 17:37:43Z mike $". +# End of "$Id: cupsd.conf.in 7888 2008-08-29 21:16:56Z mike $". # diff --git a/conf/pam.opendirectory b/conf/pam.opendirectory new file mode 100644 index 0000000000..b336306a88 --- /dev/null +++ b/conf/pam.opendirectory @@ -0,0 +1,5 @@ +# cups: auth account password session +auth required pam_opendirectory.so +account required pam_permit.so +password required pam_deny.so +session required pam_permit.so diff --git a/conf/pam.darwin b/conf/pam.securityserver similarity index 100% rename from conf/pam.darwin rename to conf/pam.securityserver diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4 index 3baf2dad9b..b112418ec5 100644 --- a/config-scripts/cups-common.m4 +++ b/config-scripts/cups-common.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-common.m4 7695 2008-06-26 00:46:24Z mike $" +dnl "$Id: cups-common.m4 7900 2008-09-03 13:47:57Z mike $" dnl dnl Common configuration stuff for the Common UNIX Printing System (CUPS). dnl @@ -349,5 +349,5 @@ AC_SUBST(FONTS) AC_SUBST(LEGACY_BACKENDS) dnl -dnl End of "$Id: cups-common.m4 7695 2008-06-26 00:46:24Z mike $". +dnl End of "$Id: cups-common.m4 7900 2008-09-03 13:47:57Z mike $". dnl diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4 index 2781e18bab..c641a7efee 100644 --- a/config-scripts/cups-compiler.m4 +++ b/config-scripts/cups-compiler.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-compiler.m4 7644 2008-06-16 17:15:47Z mike $" +dnl "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $" dnl dnl Compiler stuff for the Common UNIX Printing System (CUPS). dnl @@ -558,5 +558,5 @@ case $uname in esac dnl -dnl End of "$Id: cups-compiler.m4 7644 2008-06-16 17:15:47Z mike $". +dnl End of "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $". dnl diff --git a/config-scripts/cups-defaults.m4 b/config-scripts/cups-defaults.m4 index b3ce770478..b07231da57 100644 --- a/config-scripts/cups-defaults.m4 +++ b/config-scripts/cups-defaults.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-defaults.m4 7649 2008-06-16 17:46:57Z mike $" +dnl "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $" dnl dnl Default cupsd configuration settings for the Common UNIX Printing System dnl (CUPS). @@ -40,7 +40,7 @@ AC_SUBST(CUPS_LOG_FILE_PERM) AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_FILE_PERM, 0$CUPS_LOG_FILE_PERM) dnl Default FatalErrors -AC_ARG_WITH(fatal_errors, [ --with-fatal-errors set default FatalErrors value, default=config], +AC_ARG_WITH(fatal_errors, [ --with-fatal-errors set default FatalErrors value, default=config], CUPS_FATAL_ERRORS="$withval", CUPS_FATAL_ERRORS="config") AC_SUBST(CUPS_FATAL_ERRORS) @@ -413,5 +413,5 @@ AC_SUBST(DEFAULT_IPP_PORT) AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT) dnl -dnl End of "$Id: cups-defaults.m4 7649 2008-06-16 17:46:57Z mike $". +dnl End of "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $". dnl diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4 index 16d414d229..82783aa7b8 100644 --- a/config-scripts/cups-directories.m4 +++ b/config-scripts/cups-directories.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-directories.m4 6975 2007-09-18 20:37:09Z mike $" +dnl "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $" dnl dnl Directory stuff for the Common UNIX Printing System (CUPS). dnl @@ -414,5 +414,5 @@ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$localstatedir/run/cups") AC_SUBST(CUPS_STATEDIR) dnl -dnl End of "$Id: cups-directories.m4 6975 2007-09-18 20:37:09Z mike $". +dnl End of "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $". dnl diff --git a/config-scripts/cups-dnssd.m4 b/config-scripts/cups-dnssd.m4 index 46b7f39a69..a13006015a 100644 --- a/config-scripts/cups-dnssd.m4 +++ b/config-scripts/cups-dnssd.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-dnssd.m4 7585 2008-05-16 23:13:47Z mike $" +dnl "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $" dnl dnl DNS Service Discovery (aka Bonjour) stuff for the Common UNIX Printing System (CUPS). dnl @@ -52,5 +52,5 @@ AC_SUBST(DNSSDLIBS) AC_SUBST(DNSSD_BACKEND) dnl -dnl End of "$Id: cups-dnssd.m4 7585 2008-05-16 23:13:47Z mike $". +dnl End of "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $". dnl diff --git a/config-scripts/cups-ldap.m4 b/config-scripts/cups-ldap.m4 index 1c5f516bc9..742a4bcce3 100644 --- a/config-scripts/cups-ldap.m4 +++ b/config-scripts/cups-ldap.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-ldap.m4 7241 2008-01-22 22:34:52Z mike $" +dnl "$Id: cups-ldap.m4 7800 2008-07-25 21:01:34Z mike $" dnl dnl LDAP configuration stuff for the Common UNIX Printing System (CUPS). dnl @@ -48,5 +48,5 @@ AC_SUBST(LIBLDAP) dnl -dnl End of "$Id: cups-ldap.m4 7241 2008-01-22 22:34:52Z mike $". +dnl End of "$Id: cups-ldap.m4 7800 2008-07-25 21:01:34Z mike $". dnl diff --git a/config-scripts/cups-network.m4 b/config-scripts/cups-network.m4 index 9a88aa8f03..bf673025ea 100644 --- a/config-scripts/cups-network.m4 +++ b/config-scripts/cups-network.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-network.m4 7127 2007-12-17 18:05:32Z mike $" +dnl "$Id: cups-network.m4 7918 2008-09-08 22:03:01Z mike $" dnl dnl Networking stuff for the Common UNIX Printing System (CUPS). dnl @@ -70,5 +70,5 @@ AC_CHECK_HEADERS(AppleTalk/at_proto.h,AC_DEFINE(HAVE_APPLETALK_AT_PROTO_H),, [#include ]) dnl -dnl End of "$Id: cups-network.m4 7127 2007-12-17 18:05:32Z mike $". +dnl End of "$Id: cups-network.m4 7918 2008-09-08 22:03:01Z mike $". dnl diff --git a/config-scripts/cups-pam.m4 b/config-scripts/cups-pam.m4 index fec896533f..865f97f7b5 100644 --- a/config-scripts/cups-pam.m4 +++ b/config-scripts/cups-pam.m4 @@ -1,9 +1,9 @@ dnl -dnl "$Id: cups-pam.m4 7149 2007-12-19 19:38:37Z mike $" +dnl "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $" dnl dnl PAM stuff for the Common UNIX Printing System (CUPS). dnl -dnl Copyright 2007 by Apple Inc. +dnl Copyright 2007-2008 by Apple Inc. dnl Copyright 1997-2005 by Easy Software Products, all rights reserved. dnl dnl These coded instructions, statements, and computer programs are the @@ -14,6 +14,7 @@ dnl file is missing or damaged, see the license at "http://www.cups.org/". dnl AC_ARG_ENABLE(pam, [ --enable-pam turn on PAM support, default=yes]) +AC_ARG_WITH(pam_module, [ --with-pam-module specify the PAM module to use, default=auto]) dnl Don't use PAM with AIX... if test $uname = AIX; then @@ -60,21 +61,33 @@ if test x$enable_pam != xno; then case "$uname" in Darwin*) # Darwin, MacOS X - PAMFILE="pam.darwin" + if test "x$with_pam_module" != x; then + PAMFILE="pam.$with_pam_module" + elif test -f /usr/lib/pam/pam_opendirectory.so; then + PAMFILE="pam.opendirectory" + else + PAMFILE="pam.securityserver" + fi ;; + IRIX) # SGI IRIX PAMFILE="pam.irix" ;; + *) # All others; this test might need to be updated # as Linux distributors move things around... - for mod in pam_unix2.so pam_unix.so pam_pwdb.so; do - if test -f /lib/security/$mod; then - PAMMOD="$mod" - break; - fi - done + if test "x$with_pam_module" != x; then + PAMMOD="pam_${with_pam_module}.so" + else + for mod in pam_unix2.so pam_unix.so pam_pwdb.so; do + if test -f /lib/security/$mod; then + PAMMOD="$mod" + break; + fi + done + fi PAMFILE="pam.std" ;; @@ -87,5 +100,5 @@ AC_SUBST(PAMLIBS) AC_SUBST(PAMMOD) dnl -dnl End of "$Id: cups-pam.m4 7149 2007-12-19 19:38:37Z mike $". +dnl End of "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $". dnl diff --git a/config-scripts/cups-scripting.m4 b/config-scripts/cups-scripting.m4 index f514221e23..a8960070ec 100644 --- a/config-scripts/cups-scripting.m4 +++ b/config-scripts/cups-scripting.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-scripting.m4 6649 2007-07-11 21:46:42Z mike $" +dnl "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $" dnl dnl Scripting configuration stuff for the Common UNIX Printing System (CUPS). dnl @@ -96,5 +96,5 @@ if test "x$CUPS_PYTHON" != x; then fi dnl -dnl End of "$Id: cups-scripting.m4 6649 2007-07-11 21:46:42Z mike $". +dnl End of "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $". dnl diff --git a/config.h.in b/config.h.in index 5199ee4f38..b9b4390a1b 100644 --- a/config.h.in +++ b/config.h.in @@ -1,5 +1,5 @@ /* - * "$Id: config.h.in 7687 2008-06-24 01:28:36Z mike $" + * "$Id: config.h.in 7918 2008-09-08 22:03:01Z mike $" * * Configuration file for the Common UNIX Printing System (CUPS). * @@ -622,5 +622,5 @@ #endif /* !_CUPS_CONFIG_H_ */ /* - * End of "$Id: config.h.in 7687 2008-06-24 01:28:36Z mike $". + * End of "$Id: config.h.in 7918 2008-09-08 22:03:01Z mike $". */ diff --git a/configure.in b/configure.in index f50c7afbb5..bc0619516c 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl -dnl "$Id: configure.in 7600 2008-05-20 21:06:23Z mike $" +dnl "$Id: configure.in 7833 2008-08-04 20:55:13Z mike $" dnl dnl Configuration script for the Common UNIX Printing System (CUPS). dnl @@ -76,5 +76,5 @@ AC_OUTPUT(Makedefs packaging/cups.list init/cups.sh init/cups-lpd cups-config chmod +x cups-config dnl -dnl End of "$Id: configure.in 7600 2008-05-20 21:06:23Z mike $". +dnl End of "$Id: configure.in 7833 2008-08-04 20:55:13Z mike $". dnl diff --git a/cups/Makefile b/cups/Makefile index 752edd1a9a..3710985e5c 100644 --- a/cups/Makefile +++ b/cups/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7589 2008-05-19 00:13:23Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # API library Makefile for the Common UNIX Printing System (CUPS). # @@ -622,5 +622,5 @@ include Dependencies # -# End of "$Id: Makefile 7589 2008-05-19 00:13:23Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/cups/adminutil.c b/cups/adminutil.c index 96354a1120..fd7aa6e959 100644 --- a/cups/adminutil.c +++ b/cups/adminutil.c @@ -1,5 +1,5 @@ /* - * "$Id: adminutil.c 7576 2008-05-15 21:05:14Z mike $" + * "$Id: adminutil.c 7850 2008-08-20 00:07:25Z mike $" * * Administration utility API definitions for the Common UNIX Printing * System (CUPS). @@ -2430,5 +2430,5 @@ write_option(cups_file_t *dstfp, /* I - PPD file */ /* - * End of "$Id: adminutil.c 7576 2008-05-15 21:05:14Z mike $". + * End of "$Id: adminutil.c 7850 2008-08-20 00:07:25Z mike $". */ diff --git a/cups/auth.c b/cups/auth.c index 06f32d216d..36fe0d48aa 100644 --- a/cups/auth.c +++ b/cups/auth.c @@ -1,5 +1,5 @@ /* - * "$Id: auth.c 7460 2008-04-16 02:19:54Z mike $" + * "$Id: auth.c 7720 2008-07-11 22:46:21Z mike $" * * Authentication functions for the Common UNIX Printing System (CUPS). * @@ -678,5 +678,5 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */ /* - * End of "$Id: auth.c 7460 2008-04-16 02:19:54Z mike $". + * End of "$Id: auth.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/cups/backend.h b/cups/backend.h index f128895da4..fc2cd97ee4 100644 --- a/cups/backend.h +++ b/cups/backend.h @@ -1,5 +1,5 @@ /* - * "$Id: backend.h 7282 2008-01-31 08:37:11Z mike $" + * "$Id: backend.h 7810 2008-07-29 01:11:15Z mike $" * * Backend definitions for the Common UNIX Printing System (CUPS). * @@ -60,5 +60,5 @@ extern void cupsBackendReport(const char *device_scheme, #endif /* !_CUPS_BACKEND_H_ */ /* - * End of "$Id: backend.h 7282 2008-01-31 08:37:11Z mike $". + * End of "$Id: backend.h 7810 2008-07-29 01:11:15Z mike $". */ diff --git a/cups/cups.h b/cups/cups.h index 855442a380..de282f5588 100644 --- a/cups/cups.h +++ b/cups/cups.h @@ -1,5 +1,5 @@ /* - * "$Id: cups.h 7616 2008-05-28 00:34:13Z mike $" + * "$Id: cups.h 7847 2008-08-19 04:22:14Z mike $" * * API definitions for the Common UNIX Printing System (CUPS). * @@ -314,5 +314,5 @@ extern http_status_t cupsWriteRequestData(http_t *http, const char *buffer, #endif /* !_CUPS_CUPS_H_ */ /* - * End of "$Id: cups.h 7616 2008-05-28 00:34:13Z mike $". + * End of "$Id: cups.h 7847 2008-08-19 04:22:14Z mike $". */ diff --git a/cups/debug.h b/cups/debug.h index 69213dc919..4efd1619c7 100644 --- a/cups/debug.h +++ b/cups/debug.h @@ -1,5 +1,5 @@ /* - * "$Id: debug.h 7460 2008-04-16 02:19:54Z mike $" + * "$Id: debug.h 7701 2008-06-27 22:37:23Z mike $" * * Debugging macros for the Common UNIX Printing System (CUPS). * @@ -54,5 +54,5 @@ extern void _cups_debug_puts(const char *s); #endif /* !_CUPS_DEBUG_H_ */ /* - * End of "$Id: debug.h 7460 2008-04-16 02:19:54Z mike $". + * End of "$Id: debug.h 7701 2008-06-27 22:37:23Z mike $". */ diff --git a/cups/dest.c b/cups/dest.c index 7c09535760..75513d87a3 100644 --- a/cups/dest.c +++ b/cups/dest.c @@ -1,5 +1,5 @@ /* - * "$Id: dest.c 7460 2008-04-16 02:19:54Z mike $" + * "$Id: dest.c 7946 2008-09-16 23:27:54Z mike $" * * User-defined destination (and option) support for the Common UNIX * Printing System (CUPS). @@ -348,7 +348,15 @@ cupsGetDests2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_ */ num_dests = cups_get_sdests(http, CUPS_GET_PRINTERS, NULL, num_dests, dests); - num_dests = cups_get_sdests(http, CUPS_GET_CLASSES, NULL, num_dests, dests); + if (cupsLastError() < IPP_REDIRECTION_OTHER_SITE) + num_dests = cups_get_sdests(http, CUPS_GET_CLASSES, NULL, num_dests, dests); + + if (cupsLastError() >= IPP_REDIRECTION_OTHER_SITE) + { + cupsFreeDests(num_dests, *dests); + *dests = (cups_dest_t *)0; + return (0); + } /* * Make a copy of the "real" queues for a later sanity check... @@ -1839,5 +1847,5 @@ cups_get_sdests(http_t *http, /* I - Connection to server or CUPS_HTTP_DEFA /* - * End of "$Id: dest.c 7460 2008-04-16 02:19:54Z mike $". + * End of "$Id: dest.c 7946 2008-09-16 23:27:54Z mike $". */ diff --git a/cups/emit.c b/cups/emit.c index c763555932..f3b32e666b 100644 --- a/cups/emit.c +++ b/cups/emit.c @@ -1,5 +1,5 @@ /* - * "$Id: emit.c 7493 2008-04-24 00:10:34Z mike $" + * "$Id: emit.c 7863 2008-08-26 03:39:59Z mike $" * * PPD code emission routines for the Common UNIX Printing System (CUPS). * @@ -1149,5 +1149,5 @@ ppd_handle_media(ppd_file_t *ppd) /* I - PPD file */ /* - * End of "$Id: emit.c 7493 2008-04-24 00:10:34Z mike $". + * End of "$Id: emit.c 7863 2008-08-26 03:39:59Z mike $". */ diff --git a/cups/globals.c b/cups/globals.c index 14d5f7842e..438bb02966 100644 --- a/cups/globals.c +++ b/cups/globals.c @@ -1,5 +1,5 @@ /* - * "$Id: globals.c 7460 2008-04-16 02:19:54Z mike $" + * "$Id: globals.c 7870 2008-08-27 18:14:10Z mike $" * * Global variable access routines for the Common UNIX Printing System (CUPS). * @@ -205,5 +205,5 @@ _cupsGlobals(void) /* - * End of "$Id: globals.c 7460 2008-04-16 02:19:54Z mike $". + * End of "$Id: globals.c 7870 2008-08-27 18:14:10Z mike $". */ diff --git a/cups/globals.h b/cups/globals.h index d58099548b..9ae692159f 100644 --- a/cups/globals.h +++ b/cups/globals.h @@ -1,5 +1,5 @@ /* - * "$Id: globals.h 7583 2008-05-16 17:47:16Z mike $" + * "$Id: globals.h 7910 2008-09-06 00:25:17Z mike $" * * Global variable definitions for the Common UNIX Printing System (CUPS). * @@ -152,5 +152,5 @@ extern void _cupsSetHTTPError(http_status_t status); #endif /* !_CUPS_GLOBALS_H_ */ /* - * End of "$Id: globals.h 7583 2008-05-16 17:47:16Z mike $". + * End of "$Id: globals.h 7910 2008-09-06 00:25:17Z mike $". */ diff --git a/cups/http-addr.c b/cups/http-addr.c index 55d701d64f..d25692f622 100644 --- a/cups/http-addr.c +++ b/cups/http-addr.c @@ -1,5 +1,5 @@ /* - * "$Id: http-addr.c 6814 2007-08-20 20:09:25Z mike $" + * "$Id: http-addr.c 7910 2008-09-06 00:25:17Z mike $" * * HTTP address routines for the Common UNIX Printing System (CUPS). * @@ -614,5 +614,5 @@ httpGetHostname(http_t *http, /* I - HTTP connection or NULL */ /* - * End of "$Id: http-addr.c 6814 2007-08-20 20:09:25Z mike $". + * End of "$Id: http-addr.c 7910 2008-09-06 00:25:17Z mike $". */ diff --git a/cups/http-addrlist.c b/cups/http-addrlist.c index 52b5aeca9c..cee5017d79 100644 --- a/cups/http-addrlist.c +++ b/cups/http-addrlist.c @@ -1,5 +1,5 @@ /* - * "$Id: http-addrlist.c 7460 2008-04-16 02:19:54Z mike $" + * "$Id: http-addrlist.c 7910 2008-09-06 00:25:17Z mike $" * * HTTP address list routines for the Common UNIX Printing System (CUPS). * @@ -656,5 +656,5 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p /* - * End of "$Id: http-addrlist.c 7460 2008-04-16 02:19:54Z mike $". + * End of "$Id: http-addrlist.c 7910 2008-09-06 00:25:17Z mike $". */ diff --git a/cups/http-private.h b/cups/http-private.h index 5f29097742..ec3f6a84e8 100644 --- a/cups/http-private.h +++ b/cups/http-private.h @@ -1,5 +1,5 @@ /* - * "$Id: http-private.h 7583 2008-05-16 17:47:16Z mike $" + * "$Id: http-private.h 7850 2008-08-20 00:07:25Z mike $" * * Private HTTP definitions for the Common UNIX Printing System (CUPS). * @@ -271,5 +271,5 @@ extern const char *_httpResolveURI(const char *uri, char *resolved_uri, #endif /* !_CUPS_HTTP_PRIVATE_H_ */ /* - * End of "$Id: http-private.h 7583 2008-05-16 17:47:16Z mike $". + * End of "$Id: http-private.h 7850 2008-08-20 00:07:25Z mike $". */ diff --git a/cups/http-support.c b/cups/http-support.c index 30998136a7..4867759b7c 100644 --- a/cups/http-support.c +++ b/cups/http-support.c @@ -1,5 +1,5 @@ /* - * "$Id: http-support.c 7583 2008-05-16 17:47:16Z mike $" + * "$Id: http-support.c 7952 2008-09-17 00:56:20Z mike $" * * HTTP support routines for the Common UNIX Printing System (CUPS) scheduler. * @@ -1298,7 +1298,9 @@ _httpResolveURI( hostname[1024], resource[1024]; int port; +#ifdef DEBUG http_uri_status_t status; /* URI decode status */ +#endif /* DEBUG */ DEBUG_printf(("_httpResolveURI(uri=\"%s\", resolved_uri=%p, " @@ -1309,10 +1311,17 @@ _httpResolveURI( * Get the device URI... */ +#ifdef DEBUG if ((status = httpSeparateURI(HTTP_URI_CODING_ALL, uri, scheme, sizeof(scheme), userpass, sizeof(userpass), hostname, sizeof(hostname), &port, resource, sizeof(resource))) < HTTP_URI_OK) +#else + if (httpSeparateURI(HTTP_URI_CODING_ALL, uri, scheme, + sizeof(scheme), userpass, sizeof(userpass), + hostname, sizeof(hostname), &port, resource, + sizeof(resource)) < HTTP_URI_OK) +#endif /* DEBUG */ { if (log) _cupsLangPrintf(stderr, _("Bad device URI \"%s\"!\n"), uri); @@ -1614,5 +1623,5 @@ resolve_callback( /* - * End of "$Id: http-support.c 7583 2008-05-16 17:47:16Z mike $". + * End of "$Id: http-support.c 7952 2008-09-17 00:56:20Z mike $". */ diff --git a/cups/http.c b/cups/http.c index 9543c22130..5c11435a26 100644 --- a/cups/http.c +++ b/cups/http.c @@ -1,5 +1,5 @@ /* - * "$Id: http.c 7661 2008-06-16 21:46:51Z mike $" + * "$Id: http.c 7850 2008-08-20 00:07:25Z mike $" * * HTTP routines for the Common UNIX Printing System (CUPS). * @@ -3281,5 +3281,5 @@ http_write_ssl(http_t *http, /* I - Connection to server */ /* - * End of "$Id: http.c 7661 2008-06-16 21:46:51Z mike $". + * End of "$Id: http.c 7850 2008-08-20 00:07:25Z mike $". */ diff --git a/cups/ipp.c b/cups/ipp.c index 8627ad4fe7..929f1dc412 100644 --- a/cups/ipp.c +++ b/cups/ipp.c @@ -1,5 +1,5 @@ /* - * "$Id: ipp.c 7463 2008-04-17 00:24:25Z mike $" + * "$Id: ipp.c 7847 2008-08-19 04:22:14Z mike $" * * Internet Printing Protocol support functions for the Common UNIX * Printing System (CUPS). @@ -3002,5 +3002,5 @@ _ipp_free_attr(ipp_attribute_t *attr) /* I - Attribute to free */ /* - * End of "$Id: ipp.c 7463 2008-04-17 00:24:25Z mike $". + * End of "$Id: ipp.c 7847 2008-08-19 04:22:14Z mike $". */ diff --git a/cups/ipp.h b/cups/ipp.h index 98b494614b..1e6fadaf9b 100644 --- a/cups/ipp.h +++ b/cups/ipp.h @@ -1,5 +1,5 @@ /* - * "$Id: ipp.h 7257 2008-01-25 02:42:47Z mike $" + * "$Id: ipp.h 7847 2008-08-19 04:22:14Z mike $" * * Internet Printing Protocol definitions for the Common UNIX Printing * System (CUPS). @@ -498,5 +498,5 @@ extern ipp_tag_t ippTagValue(const char *name) _CUPS_API_1_4; #endif /* !_CUPS_IPP_H_ */ /* - * End of "$Id: ipp.h 7257 2008-01-25 02:42:47Z mike $". + * End of "$Id: ipp.h 7847 2008-08-19 04:22:14Z mike $". */ diff --git a/cups/langprintf.c b/cups/langprintf.c index 059e9983f1..0b4420f7b9 100644 --- a/cups/langprintf.c +++ b/cups/langprintf.c @@ -1,5 +1,5 @@ /* - * "$Id: langprintf.c 7193 2008-01-07 23:01:40Z mike $" + * "$Id: langprintf.c 7802 2008-07-28 18:50:45Z mike $" * * Localized printf/puts functions for the Common UNIX Printing * System (CUPS). @@ -273,5 +273,5 @@ _cupsSetLocale(char *argv[]) /* IO - Command-line arguments */ /* - * End of "$Id: langprintf.c 7193 2008-01-07 23:01:40Z mike $". + * End of "$Id: langprintf.c 7802 2008-07-28 18:50:45Z mike $". */ diff --git a/cups/mark.c b/cups/mark.c index c60517f067..878ace885d 100644 --- a/cups/mark.c +++ b/cups/mark.c @@ -1,5 +1,5 @@ /* - * "$Id: mark.c 7757 2008-07-18 16:43:43Z mike $" + * "$Id: mark.c 7819 2008-08-01 00:27:24Z mike $" * * Option marking routines for the Common UNIX Printing System (CUPS). * @@ -1047,5 +1047,5 @@ ppd_mark_option(ppd_file_t *ppd, /* I - PPD file */ /* - * End of "$Id: mark.c 7757 2008-07-18 16:43:43Z mike $". + * End of "$Id: mark.c 7819 2008-08-01 00:27:24Z mike $". */ diff --git a/cups/options.c b/cups/options.c index d7be9fe2fd..a5b757da1c 100644 --- a/cups/options.c +++ b/cups/options.c @@ -1,5 +1,5 @@ /* - * "$Id: options.c 7589 2008-05-19 00:13:23Z mike $" + * "$Id: options.c 7819 2008-08-01 00:27:24Z mike $" * * Option routines for the Common UNIX Printing System (CUPS). * @@ -463,5 +463,5 @@ cupsRemoveOption( /* - * End of "$Id: options.c 7589 2008-05-19 00:13:23Z mike $". + * End of "$Id: options.c 7819 2008-08-01 00:27:24Z mike $". */ diff --git a/cups/page.c b/cups/page.c index 01a723e68d..8c7b0e2abd 100644 --- a/cups/page.c +++ b/cups/page.c @@ -1,5 +1,5 @@ /* - * "$Id: page.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: page.c 7791 2008-07-24 00:55:30Z mike $" * * Page size functions for the Common UNIX Printing System (CUPS). * @@ -370,5 +370,5 @@ ppdPageLength(ppd_file_t *ppd, /* I - PPD file */ /* - * End of "$Id: page.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: page.c 7791 2008-07-24 00:55:30Z mike $". */ diff --git a/cups/ppd.c b/cups/ppd.c index 2488ff3114..01eae8d82f 100644 --- a/cups/ppd.c +++ b/cups/ppd.c @@ -1,5 +1,5 @@ /* - * "$Id: ppd.c 7552 2008-05-12 17:42:15Z mike $" + * "$Id: ppd.c 7906 2008-09-03 20:19:43Z mike $" * * PPD file routines for the Common UNIX Printing System (CUPS). * @@ -3118,5 +3118,5 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ /* - * End of "$Id: ppd.c 7552 2008-05-12 17:42:15Z mike $". + * End of "$Id: ppd.c 7906 2008-09-03 20:19:43Z mike $". */ diff --git a/cups/ppd.h b/cups/ppd.h index 325c36245c..3f59b77634 100644 --- a/cups/ppd.h +++ b/cups/ppd.h @@ -1,5 +1,5 @@ /* - * "$Id: ppd.h 7679 2008-06-19 23:37:45Z mike $" + * "$Id: ppd.h 7791 2008-07-24 00:55:30Z mike $" * * PostScript Printer Description definitions for the Common UNIX Printing * System (CUPS). @@ -424,5 +424,5 @@ extern int ppdPageSizeLimits(ppd_file_t *ppd, #endif /* !_CUPS_PPD_H_ */ /* - * End of "$Id: ppd.h 7679 2008-06-19 23:37:45Z mike $". + * End of "$Id: ppd.h 7791 2008-07-24 00:55:30Z mike $". */ diff --git a/cups/request.c b/cups/request.c index 0523751a82..d0c5e32093 100644 --- a/cups/request.c +++ b/cups/request.c @@ -1,5 +1,5 @@ /* - * "$Id: request.c 7460 2008-04-16 02:19:54Z mike $" + * "$Id: request.c 7946 2008-09-16 23:27:54Z mike $" * * IPP utilities for the Common UNIX Printing System (CUPS). * @@ -209,7 +209,7 @@ cupsDoIORequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP while (response == NULL) { - DEBUG_puts("cupsDoFileRequest: setup..."); + DEBUG_puts("cupsDoIORequest: setup..."); /* * Send the request... @@ -217,11 +217,11 @@ cupsDoIORequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP status = cupsSendRequest(http, request, resource, length); - DEBUG_printf(("cupsDoFileRequest: status=%d\n", status)); + DEBUG_printf(("cupsDoIORequest: status=%d\n", status)); if (status == HTTP_CONTINUE && request->state == IPP_DATA && infile >= 0) { - DEBUG_puts("cupsDoFileRequest: file write..."); + DEBUG_puts("cupsDoIORequest: file write..."); /* * Send the file with the request... @@ -313,7 +313,7 @@ cupsDoRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP_ request ? ippOpString(request->request.op.operation_id) : "?", resource ? resource : "(null)")); - return (cupsDoFileRequest(http, request, resource, NULL)); + return (cupsDoIORequest(http, request, resource, -1, -1)); } @@ -571,7 +571,10 @@ cupsSendRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP if (ippFindAttribute(request, "auth-info", IPP_TAG_TEXT) && !httpAddrLocalhost(http->hostaddr) && !http->tls && httpEncryption(http, HTTP_ENCRYPT_REQUIRED)) + { + _cupsSetError(IPP_SERVICE_UNAVAILABLE, NULL, 0); return (HTTP_SERVICE_UNAVAILABLE); + } #endif /* HAVE_SSL */ /* @@ -580,7 +583,10 @@ cupsSendRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP if (!strcasecmp(http->fields[HTTP_FIELD_CONNECTION], "close")) if (httpReconnect(http)) + { + _cupsSetError(IPP_SERVICE_UNAVAILABLE, NULL, 0); return (HTTP_SERVICE_UNAVAILABLE); + } /* * Loop until we can send the request without authorization problems. @@ -613,7 +619,10 @@ cupsSendRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP if (httpPost(http, resource)) { if (httpReconnect(http)) + { + _cupsSetError(IPP_SERVICE_UNAVAILABLE, NULL, 0); return (HTTP_SERVICE_UNAVAILABLE); + } else continue; } @@ -671,7 +680,10 @@ cupsSendRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP case HTTP_UNAUTHORIZED : if (!cupsDoAuthentication(http, "POST", resource)) if (httpReconnect(http)) - return (HTTP_ERROR); + { + _cupsSetError(IPP_SERVICE_UNAVAILABLE, NULL, 0); + return (HTTP_SERVICE_UNAVAILABLE); + } return (status); @@ -683,7 +695,10 @@ cupsSendRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP */ if (httpReconnect(http)) - return (HTTP_ERROR); + { + _cupsSetError(IPP_SERVICE_UNAVAILABLE, NULL, 0); + return (HTTP_SERVICE_UNAVAILABLE); + } httpEncryption(http, HTTP_ENCRYPT_REQUIRED); @@ -860,5 +875,5 @@ _cupsSetHTTPError(http_status_t status) /* I - HTTP status code */ /* - * End of "$Id: request.c 7460 2008-04-16 02:19:54Z mike $". + * End of "$Id: request.c 7946 2008-09-16 23:27:54Z mike $". */ diff --git a/cups/sidechannel.c b/cups/sidechannel.c index acf9743e86..0b79f8b013 100644 --- a/cups/sidechannel.c +++ b/cups/sidechannel.c @@ -1,5 +1,5 @@ /* - * "$Id: sidechannel.c 7594 2008-05-19 23:16:03Z mike $" + * "$Id: sidechannel.c 7720 2008-07-11 22:46:21Z mike $" * * Side-channel API code for the Common UNIX Printing System (CUPS). * @@ -552,5 +552,5 @@ cupsSideChannelWrite( /* - * End of "$Id: sidechannel.c 7594 2008-05-19 23:16:03Z mike $". + * End of "$Id: sidechannel.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/cups/test.ppd b/cups/test.ppd index 6074d13503..183f8fae11 100644 --- a/cups/test.ppd +++ b/cups/test.ppd @@ -1,6 +1,6 @@ *PPD-Adobe: "4.3" *% -*% "$Id: test.ppd 7582 2008-05-16 03:13:18Z mike $" +*% "$Id: test.ppd 7819 2008-08-01 00:27:24Z mike $" *% *% Test PPD file for the Common UNIX Printing System (CUPS). *% @@ -227,5 +227,5 @@ help:anchor='foo'%20bookID=Vendor%20Help *Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM *Font ZapfDingbats: Special "(001.004S)" Standard ROM *% -*% End of "$Id: test.ppd 7582 2008-05-16 03:13:18Z mike $". +*% End of "$Id: test.ppd 7819 2008-08-01 00:27:24Z mike $". *% diff --git a/cups/test2.ppd b/cups/test2.ppd index a553ba4b76..fb32e48303 100644 --- a/cups/test2.ppd +++ b/cups/test2.ppd @@ -1,6 +1,6 @@ *PPD-Adobe: "4.3" *% -*% "$Id$" +*% "$Id: test2.ppd 7791 2008-07-24 00:55:30Z mike $" *% *% Test PPD file #2 for the Common UNIX Printing System (CUPS). *% @@ -251,5 +251,5 @@ help:anchor='foo'%20bookID=Vendor%20Help *Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM *Font ZapfDingbats: Special "(001.004S)" Standard ROM *% -*% End of "$Id$". +*% End of "$Id: test2.ppd 7791 2008-07-24 00:55:30Z mike $". *% diff --git a/cups/testadmin.c b/cups/testadmin.c index f6afd21b94..e7603ec91d 100644 --- a/cups/testadmin.c +++ b/cups/testadmin.c @@ -1,5 +1,5 @@ /* - * "$Id: testadmin.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: testadmin.c 7720 2008-07-11 22:46:21Z mike $" * * Admin function test program for the Common UNIX Printing System (CUPS). * @@ -116,5 +116,5 @@ show_settings( /* - * End of "$Id: testadmin.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: testadmin.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/cups/testfile.c b/cups/testfile.c index 52bfeedb46..3918237708 100644 --- a/cups/testfile.c +++ b/cups/testfile.c @@ -1,5 +1,5 @@ /* - * "$Id: testfile.c 7560 2008-05-13 06:34:04Z mike $" + * "$Id: testfile.c 7720 2008-07-11 22:46:21Z mike $" * * File test program for the Common UNIX Printing System (CUPS). * @@ -815,5 +815,5 @@ read_write_tests(int compression) /* I - Use compression? */ /* - * End of "$Id: testfile.c 7560 2008-05-13 06:34:04Z mike $". + * End of "$Id: testfile.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/cups/testhttp.c b/cups/testhttp.c index 7d676ae5d0..9bb4dbedb7 100644 --- a/cups/testhttp.c +++ b/cups/testhttp.c @@ -1,5 +1,5 @@ /* - * "$Id: testhttp.c 7685 2008-06-23 16:49:18Z mike $" + * "$Id: testhttp.c 7742 2008-07-15 20:23:09Z mike $" * * HTTP test program for the Common UNIX Printing System (CUPS). * @@ -549,5 +549,5 @@ main(int argc, /* I - Number of command-line arguments */ /* - * End of "$Id: testhttp.c 7685 2008-06-23 16:49:18Z mike $". + * End of "$Id: testhttp.c 7742 2008-07-15 20:23:09Z mike $". */ diff --git a/cups/testppd.c b/cups/testppd.c index d9cbb9e2b8..023b680c35 100644 --- a/cups/testppd.c +++ b/cups/testppd.c @@ -1,5 +1,5 @@ /* - * "$Id: testppd.c 7633 2008-06-10 23:07:29Z mike $" + * "$Id: testppd.c 7897 2008-09-02 19:33:19Z mike $" * * PPD test program for the Common UNIX Printing System (CUPS). * @@ -821,5 +821,5 @@ main(int argc, /* I - Number of command-line arguments */ /* - * End of "$Id: testppd.c 7633 2008-06-10 23:07:29Z mike $". + * End of "$Id: testppd.c 7897 2008-09-02 19:33:19Z mike $". */ diff --git a/cups/util.c b/cups/util.c index c94c80b98b..fe2a55bb05 100644 --- a/cups/util.c +++ b/cups/util.c @@ -1,5 +1,5 @@ /* - * "$Id: util.c 7634 2008-06-10 23:22:28Z mike $" + * "$Id: util.c 7850 2008-08-20 00:07:25Z mike $" * * Printing utilities for the Common UNIX Printing System (CUPS). * @@ -1775,5 +1775,5 @@ cups_get_printer_uri( /* - * End of "$Id: util.c 7634 2008-06-10 23:22:28Z mike $". + * End of "$Id: util.c 7850 2008-08-20 00:07:25Z mike $". */ diff --git a/data/Makefile b/data/Makefile index 9e8378b283..c206c2e1a8 100644 --- a/data/Makefile +++ b/data/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # Datafile makefile for the Common UNIX Printing System (CUPS). # @@ -208,5 +208,5 @@ uninstall: # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/desktop/cups-128.png b/desktop/cups-128.png index 341536d9b8..3ab11f6361 100644 Binary files a/desktop/cups-128.png and b/desktop/cups-128.png differ diff --git a/desktop/cups-16.png b/desktop/cups-16.png index 833adac246..dccb02d462 100644 Binary files a/desktop/cups-16.png and b/desktop/cups-16.png differ diff --git a/desktop/cups-256.png b/desktop/cups-256.png index 43abffbf1b..7eac9b77ff 100644 Binary files a/desktop/cups-256.png and b/desktop/cups-256.png differ diff --git a/desktop/cups-32.png b/desktop/cups-32.png index 42e29d3299..d77f3c8f69 100644 Binary files a/desktop/cups-32.png and b/desktop/cups-32.png differ diff --git a/desktop/cups-512.png b/desktop/cups-512.png index 3ba454d028..d0ed97fec0 100644 Binary files a/desktop/cups-512.png and b/desktop/cups-512.png differ diff --git a/desktop/cups-64.png b/desktop/cups-64.png index 15a07cbd6b..358ff8ac1c 100644 Binary files a/desktop/cups-64.png and b/desktop/cups-64.png differ diff --git a/desktop/cups.icns b/desktop/cups.icns index a61122bcf3..2dd1997a47 100644 Binary files a/desktop/cups.icns and b/desktop/cups.icns differ diff --git a/desktop/cups.svg b/desktop/cups.svg index cb1085b4b0..212363d9f2 100644 --- a/desktop/cups.svg +++ b/desktop/cups.svg @@ -2,7 +2,7 @@ + inkscape:export-filename="/Users/mike/c/cups-trunk/desktop/cups-16.png" + inkscape:export-xdpi="14.4" + inkscape:export-ydpi="14.4"> + id="linearGradient3645"> + + + + + + + + + id="stop3379" /> + id="stop3381" /> + id="linearGradient3280"> + id="stop3282" /> + id="stop3284" /> + id="linearGradient3270"> + id="stop3272" /> + + + + + + + + + + + + + + + + + id="stop3694" /> + + + + + + + + + + + + + + + + + + + + + id="filter3385"> + stdDeviation="2.0773168" + id="feGaussianBlur3387" /> + + id="filter3587" + x="-0.12220446" + width="1.2444089" + y="-0.11793158" + height="1.2358632"> + stdDeviation="4.2329858" + id="feGaussianBlur3589" /> + + + + id="filter3611"> + stdDeviation="2.1711472" + id="feGaussianBlur3613" /> - - - + + id="filter3797" + x="-0.098526749" + width="1.1970535" + y="-0.15589675" + height="1.3117935"> + + + id="filter3807"> + stdDeviation="0.1030442" + id="feGaussianBlur3809" /> + + inkscape:guide-bbox="true" + inkscape:snap-global="false"> + + @@ -355,75 +527,66 @@ id="layer1"> + style="opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3611)" + id="path3389" + sodipodi:cx="42.670681" + sodipodi:cy="54.819279" + sodipodi:rx="35.64257" + sodipodi:ry="50.401608" + d="M 78.313251,54.819279 A 35.64257,50.401608 0 1 1 7.0281105,54.819279 A 35.64257,50.401608 0 1 1 78.313251,54.819279 z" + transform="matrix(0.9819718,0,0,0.4464143,8.0985935,48.027892)" /> + + - + id="g2882" + transform="matrix(0.8775394,0,0,0.8757773,5.5493793,6.1227532)"> - - - - - - + id="text2870" + d="M 72.501767,34.960416 L 82.666767,34.960416 C 82.096028,30.894474 80.883363,27.327811 79.028767,24.260416 C 77.174033,21.121817 74.855702,18.518153 72.073767,16.449416 C 69.291708,14.380824 66.117378,12.811492 62.550767,11.741416 C 58.984052,10.671494 55.203389,10.136495 51.208767,10.136416 C 45.359398,10.136495 40.15207,11.206494 35.586767,13.346416 C 31.092746,15.415156 27.312083,18.268487 24.244767,21.906416 C 21.248756,25.544479 18.966092,29.824475 17.396767,34.746416 C 15.827428,39.597132 15.042762,44.80446 15.042767,50.368416 C 15.042762,55.932449 15.756095,61.139777 17.182767,65.990416 C 18.680758,70.841101 20.89209,75.049763 23.816767,78.616416 C 26.741417,82.183089 30.41508,85.000753 34.837767,87.069416 C 39.260405,89.066749 44.432066,90.065415 50.352767,90.065416 C 60.125384,90.065415 67.829376,87.390417 73.464767,82.040416 C 79.100031,76.690428 82.417028,69.200436 83.415767,59.570416 L 73.250767,59.570416 C 73.036704,62.709109 72.394705,65.633772 71.324767,68.344416 C 70.254707,71.0551 68.756708,73.409098 66.830767,75.406416 C 64.976046,77.332427 62.729048,78.866093 60.089767,80.007416 C 57.52172,81.077424 54.561389,81.612423 51.208767,81.612416 C 46.643397,81.612423 42.720068,80.756424 39.438767,79.044416 C 36.157408,77.332427 33.446744,75.049763 31.306767,72.196416 C 29.238081,69.271769 27.704416,65.883439 26.705767,62.031416 C 25.707085,58.108113 25.207752,53.970784 25.207767,49.619416 C 25.207752,45.624793 25.707085,41.772796 26.705767,38.063416 C 27.704416,34.354137 29.238081,31.072807 31.306767,28.219416 C 33.446744,25.294813 36.121741,22.976482 39.331767,21.264416 C 42.613068,19.552485 46.536397,18.696486 51.101767,18.696416 C 56.451721,18.696486 61.052716,20.051818 64.904767,22.762416 C 68.828042,25.473146 71.360372,29.539142 72.501767,34.960416" + style="font-size:107px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Helvetica Neue;-inkscape-font-specification:Helvetica Neue" /> + id="text2862" + d="M 40.964993,34.10077 L 40.964993,29.66077 L 39.394993,29.66077 L 39.394993,34.10077 C 39.394987,34.634105 39.288321,35.027438 39.074993,35.28077 C 38.861655,35.527438 38.474988,35.650771 37.914993,35.65077 C 37.594989,35.650771 37.338323,35.607438 37.144993,35.52077 C 36.958323,35.427438 36.811657,35.310771 36.704993,35.17077 C 36.598323,35.024105 36.528324,34.857438 36.494993,34.67077 C 36.461657,34.484105 36.44499,34.294106 36.444993,34.10077 L 36.444993,29.66077 L 34.874993,29.66077 L 34.874993,34.10077 C 34.874992,35.074105 35.138325,35.794104 35.664993,36.26077 C 36.198324,36.727437 36.948323,36.96077 37.914993,36.96077 C 38.868321,36.96077 39.614987,36.727437 40.154993,36.26077 C 40.694986,35.787437 40.964986,35.067438 40.964993,34.10077 M 42.326868,29.66077 L 42.326868,36.80077 L 43.796868,36.80077 L 43.796868,32.02077 L 43.816868,32.02077 L 46.786868,36.80077 L 48.356868,36.80077 L 48.356868,29.66077 L 46.886868,29.66077 L 46.886868,34.45077 L 46.866868,34.45077 L 43.886868,29.66077 L 42.326868,29.66077 M 49.729211,29.66077 L 49.729211,36.80077 L 51.299211,36.80077 L 51.299211,29.66077 L 49.729211,29.66077 M 54.408899,33.06077 L 51.918899,36.80077 L 53.678899,36.80077 L 55.268899,34.33077 L 56.828899,36.80077 L 58.698899,36.80077 L 56.208899,33.07077 L 58.498899,29.66077 L 56.778899,29.66077 L 55.328899,31.94077 L 53.928899,29.66077 L 52.108899,29.66077 L 54.408899,33.06077 M 36.474993,43.02077 L 36.474993,40.88077 L 37.694993,40.88077 C 37.874989,40.880776 38.048322,40.894109 38.214993,40.92077 C 38.381655,40.947442 38.528322,41.000776 38.654993,41.08077 C 38.781655,41.154109 38.881655,41.260775 38.954993,41.40077 C 39.034988,41.540775 39.074988,41.724108 39.074993,41.95077 C 39.074988,42.177441 39.034988,42.360774 38.954993,42.50077 C 38.881655,42.640774 38.781655,42.750774 38.654993,42.83077 C 38.528322,42.904107 38.381655,42.954107 38.214993,42.98077 C 38.048322,43.00744 37.874989,43.020774 37.694993,43.02077 L 36.474993,43.02077 M 34.904993,39.66077 L 34.904993,46.80077 L 36.474993,46.80077 L 36.474993,44.24077 L 38.124993,44.24077 C 38.571655,44.240772 38.951654,44.177439 39.264993,44.05077 C 39.57832,43.917439 39.831654,43.744106 40.024993,43.53077 C 40.224987,43.31744 40.36832,43.074107 40.454993,42.80077 C 40.54832,42.520774 40.594986,42.237441 40.594993,41.95077 C 40.594986,41.657442 40.54832,41.374109 40.454993,41.10077 C 40.36832,40.827442 40.224987,40.584109 40.024993,40.37077 C 39.831654,40.157443 39.57832,39.987443 39.264993,39.86077 C 38.951654,39.727444 38.571655,39.660777 38.124993,39.66077 L 34.904993,39.66077 M 43.135149,42.89077 L 43.135149,40.88077 L 44.855149,40.88077 C 45.215144,40.880776 45.485144,40.960776 45.665149,41.12077 C 45.845144,41.274109 45.935144,41.524108 45.935149,41.87077 C 45.935144,42.230774 45.845144,42.490774 45.665149,42.65077 C 45.485144,42.810774 45.215144,42.890774 44.855149,42.89077 L 43.135149,42.89077 M 41.565149,39.66077 L 41.565149,46.80077 L 43.135149,46.80077 L 43.135149,44.01077 L 44.705149,44.01077 C 45.098478,44.010773 45.381811,44.097439 45.555149,44.27077 C 45.728477,44.444105 45.84181,44.717439 45.895149,45.09077 C 45.935144,45.377438 45.965144,45.677438 45.985149,45.99077 C 46.005144,46.304104 46.058477,46.574103 46.145149,46.80077 L 47.715149,46.80077 C 47.641809,46.70077 47.585142,46.58077 47.545149,46.44077 C 47.511809,46.294104 47.485142,46.14077 47.465149,45.98077 C 47.451809,45.820771 47.441809,45.664104 47.435149,45.51077 C 47.428476,45.357438 47.421809,45.224105 47.415149,45.11077 C 47.401809,44.930772 47.375142,44.750772 47.335149,44.57077 C 47.301809,44.390772 47.245142,44.227439 47.165149,44.08077 C 47.085143,43.927439 46.981809,43.797439 46.855149,43.69077 C 46.728476,43.57744 46.568476,43.494106 46.375149,43.44077 L 46.375149,43.42077 C 46.775143,43.260773 47.061809,43.02744 47.235149,42.72077 C 47.415142,42.414108 47.505142,42.050775 47.505149,41.63077 C 47.505142,41.357442 47.455142,41.104109 47.355149,40.87077 C 47.261809,40.630776 47.121809,40.420776 46.935149,40.24077 C 46.755143,40.060777 46.535143,39.920777 46.275149,39.82077 C 46.02181,39.71411 45.735144,39.660777 45.415149,39.66077 L 41.565149,39.66077 M 48.77218,39.66077 L 48.77218,46.80077 L 50.34218,46.80077 L 50.34218,39.66077 L 48.77218,39.66077 M 51.701868,39.66077 L 51.701868,46.80077 L 53.171868,46.80077 L 53.171868,42.02077 L 53.191868,42.02077 L 56.161868,46.80077 L 57.731868,46.80077 L 57.731868,39.66077 L 56.261868,39.66077 L 56.261868,44.45077 L 56.241868,44.45077 L 53.261868,39.66077 L 51.701868,39.66077 M 60.684211,40.98077 L 60.684211,46.80077 L 62.254211,46.80077 L 62.254211,40.98077 L 64.394211,40.98077 L 64.394211,39.66077 L 58.544211,39.66077 L 58.544211,40.98077 L 60.684211,40.98077 M 65.237024,39.66077 L 65.237024,46.80077 L 66.807024,46.80077 L 66.807024,39.66077 L 65.237024,39.66077 M 68.166711,39.66077 L 68.166711,46.80077 L 69.636711,46.80077 L 69.636711,42.02077 L 69.656711,42.02077 L 72.626711,46.80077 L 74.196711,46.80077 L 74.196711,39.66077 L 72.726711,39.66077 L 72.726711,44.45077 L 72.706711,44.45077 L 69.726711,39.66077 L 68.166711,39.66077 M 80.729055,45.99077 L 80.889055,46.80077 L 81.889055,46.80077 L 81.889055,42.94077 L 78.889055,42.94077 L 78.889055,44.11077 L 80.469055,44.11077 C 80.422383,44.610772 80.255716,44.994105 79.969055,45.26077 C 79.68905,45.520771 79.289051,45.650771 78.769055,45.65077 C 78.415718,45.650771 78.115718,45.584104 77.869055,45.45077 C 77.622386,45.310771 77.422386,45.127438 77.269055,44.90077 C 77.115719,44.674105 77.002386,44.420772 76.929055,44.14077 C 76.862386,43.854106 76.829053,43.560773 76.829055,43.26077 C 76.829053,42.94744 76.862386,42.644107 76.929055,42.35077 C 77.002386,42.057441 77.115719,41.797441 77.269055,41.57077 C 77.422386,41.337442 77.622386,41.154109 77.869055,41.02077 C 78.115718,40.880776 78.415718,40.810776 78.769055,40.81077 C 79.149051,40.810776 79.472384,40.910776 79.739055,41.11077 C 80.005717,41.310775 80.185716,41.610775 80.279055,42.01077 L 81.779055,42.01077 C 81.739048,41.604108 81.629048,41.244109 81.449055,40.93077 C 81.269049,40.617443 81.039049,40.35411 80.759055,40.14077 C 80.485716,39.927443 80.175716,39.767444 79.829055,39.66077 C 79.48905,39.547444 79.135717,39.490777 78.769055,39.49077 C 78.222385,39.490777 77.729052,39.587444 77.289055,39.78077 C 76.85572,39.97411 76.489053,40.240776 76.189055,40.58077 C 75.889054,40.920776 75.659054,41.320775 75.499055,41.78077 C 75.339055,42.234108 75.259055,42.727441 75.259055,43.26077 C 75.259055,43.780773 75.339055,44.267439 75.499055,44.72077 C 75.659054,45.167438 75.889054,45.557438 76.189055,45.89077 C 76.489053,46.224104 76.85572,46.487437 77.289055,46.68077 C 77.729052,46.867436 78.222385,46.96077 78.769055,46.96077 C 79.115717,46.96077 79.45905,46.89077 79.799055,46.75077 C 80.13905,46.604103 80.449049,46.35077 80.729055,45.99077 M 35.974993,54.43077 L 34.454993,54.43077 C 34.448326,54.870772 34.528326,55.250771 34.694993,55.57077 C 34.861659,55.890771 35.084992,56.154104 35.364993,56.36077 C 35.651658,56.567437 35.978324,56.717437 36.344993,56.81077 C 36.718323,56.91077 37.101656,56.96077 37.494993,56.96077 C 37.981655,56.96077 38.408322,56.904103 38.774993,56.79077 C 39.148321,56.677437 39.458321,56.52077 39.704993,56.32077 C 39.95832,56.114104 40.14832,55.870771 40.274993,55.59077 C 40.401653,55.310771 40.464986,55.007438 40.464993,54.68077 C 40.464986,54.280772 40.37832,53.954106 40.204993,53.70077 C 40.03832,53.440773 39.83832,53.234107 39.604993,53.08077 C 39.371654,52.92744 39.134988,52.81744 38.894993,52.75077 C 38.661655,52.677441 38.478322,52.627441 38.344993,52.60077 C 37.898322,52.487441 37.534989,52.394108 37.254993,52.32077 C 36.981656,52.247441 36.76499,52.174108 36.604993,52.10077 C 36.451657,52.027441 36.348324,51.947441 36.294993,51.86077 C 36.241657,51.774108 36.214991,51.660775 36.214993,51.52077 C 36.214991,51.367442 36.248324,51.240775 36.314993,51.14077 C 36.381657,51.040776 36.46499,50.957442 36.564993,50.89077 C 36.671657,50.824109 36.788323,50.777442 36.914993,50.75077 C 37.041656,50.724109 37.168323,50.710776 37.294993,50.71077 C 37.488323,50.710776 37.664989,50.727443 37.824993,50.76077 C 37.991655,50.794109 38.138322,50.850776 38.264993,50.93077 C 38.391655,51.010776 38.491655,51.120775 38.564993,51.26077 C 38.644988,51.400775 38.691655,51.577442 38.704993,51.79077 L 40.224993,51.79077 C 40.224987,51.377442 40.144987,51.027442 39.984993,50.74077 C 39.831654,50.447443 39.621654,50.207443 39.354993,50.02077 C 39.088321,49.83411 38.781655,49.700777 38.434993,49.62077 C 38.094989,49.53411 37.738322,49.490777 37.364993,49.49077 C 37.04499,49.490777 36.72499,49.53411 36.404993,49.62077 C 36.084991,49.707444 35.798324,49.840777 35.544993,50.02077 C 35.291658,50.200776 35.084992,50.427443 34.924993,50.70077 C 34.771659,50.967442 34.694992,51.284109 34.694993,51.65077 C 34.694992,51.977441 34.754992,52.257441 34.874993,52.49077 C 35.001658,52.717441 35.164992,52.90744 35.364993,53.06077 C 35.564991,53.214107 35.791658,53.340773 36.044993,53.44077 C 36.298324,53.534106 36.558324,53.614106 36.824993,53.68077 C 37.08499,53.754106 37.341656,53.820773 37.594993,53.88077 C 37.848322,53.940773 38.074989,54.010773 38.274993,54.09077 C 38.474988,54.170772 38.634988,54.270772 38.754993,54.39077 C 38.881655,54.510772 38.944988,54.667439 38.944993,54.86077 C 38.944988,55.040772 38.898321,55.190771 38.804993,55.31077 C 38.711655,55.424105 38.594988,55.514104 38.454993,55.58077 C 38.314988,55.647438 38.164989,55.694104 38.004993,55.72077 C 37.844989,55.740771 37.694989,55.750771 37.554993,55.75077 C 37.348323,55.750771 37.148323,55.727438 36.954993,55.68077 C 36.761657,55.627438 36.591657,55.550771 36.444993,55.45077 C 36.30499,55.344105 36.191657,55.207438 36.104993,55.04077 C 36.018324,54.874105 35.974991,54.670772 35.974993,54.43077 M 43.239368,54.02077 L 43.239368,56.80077 L 44.809368,56.80077 L 44.809368,54.06077 L 47.459368,49.66077 L 45.709368,49.66077 L 44.049368,52.48077 L 42.379368,49.66077 L 40.619368,49.66077 L 43.239368,54.02077 M 49.119524,54.43077 L 47.599524,54.43077 C 47.592857,54.870772 47.672857,55.250771 47.839524,55.57077 C 48.00619,55.890771 48.229523,56.154104 48.509524,56.36077 C 48.796189,56.567437 49.122855,56.717437 49.489524,56.81077 C 49.862855,56.91077 50.246188,56.96077 50.639524,56.96077 C 51.126187,56.96077 51.552853,56.904103 51.919524,56.79077 C 52.292852,56.677437 52.602852,56.52077 52.849524,56.32077 C 53.102851,56.114104 53.292851,55.870771 53.419524,55.59077 C 53.546184,55.310771 53.609518,55.007438 53.609524,54.68077 C 53.609518,54.280772 53.522851,53.954106 53.349524,53.70077 C 53.182851,53.440773 52.982851,53.234107 52.749524,53.08077 C 52.516185,52.92744 52.279519,52.81744 52.039524,52.75077 C 51.806186,52.677441 51.622853,52.627441 51.489524,52.60077 C 51.042853,52.487441 50.67952,52.394108 50.399524,52.32077 C 50.126188,52.247441 49.909521,52.174108 49.749524,52.10077 C 49.596188,52.027441 49.492855,51.947441 49.439524,51.86077 C 49.386188,51.774108 49.359522,51.660775 49.359524,51.52077 C 49.359522,51.367442 49.392855,51.240775 49.459524,51.14077 C 49.526188,51.040776 49.609522,50.957442 49.709524,50.89077 C 49.816188,50.824109 49.932855,50.777442 50.059524,50.75077 C 50.186188,50.724109 50.312854,50.710776 50.439524,50.71077 C 50.632854,50.710776 50.80952,50.727443 50.969524,50.76077 C 51.136187,50.794109 51.282853,50.850776 51.409524,50.93077 C 51.536186,51.010776 51.636186,51.120775 51.709524,51.26077 C 51.789519,51.400775 51.836186,51.577442 51.849524,51.79077 L 53.369524,51.79077 C 53.369518,51.377442 53.289518,51.027442 53.129524,50.74077 C 52.976185,50.447443 52.766185,50.207443 52.499524,50.02077 C 52.232852,49.83411 51.926186,49.700777 51.579524,49.62077 C 51.23952,49.53411 50.882854,49.490777 50.509524,49.49077 C 50.189521,49.490777 49.869521,49.53411 49.549524,49.62077 C 49.229522,49.707444 48.942856,49.840777 48.689524,50.02077 C 48.436189,50.200776 48.229523,50.427443 48.069524,50.70077 C 47.91619,50.967442 47.839523,51.284109 47.839524,51.65077 C 47.839523,51.977441 47.899523,52.257441 48.019524,52.49077 C 48.14619,52.717441 48.309523,52.90744 48.509524,53.06077 C 48.709522,53.214107 48.936189,53.340773 49.189524,53.44077 C 49.442855,53.534106 49.702855,53.614106 49.969524,53.68077 C 50.229521,53.754106 50.486187,53.820773 50.739524,53.88077 C 50.992853,53.940773 51.21952,54.010773 51.419524,54.09077 C 51.61952,54.170772 51.779519,54.270772 51.899524,54.39077 C 52.026186,54.510772 52.089519,54.667439 52.089524,54.86077 C 52.089519,55.040772 52.042852,55.190771 51.949524,55.31077 C 51.856186,55.424105 51.739519,55.514104 51.599524,55.58077 C 51.45952,55.647438 51.30952,55.694104 51.149524,55.72077 C 50.98952,55.740771 50.83952,55.750771 50.699524,55.75077 C 50.492854,55.750771 50.292854,55.727438 50.099524,55.68077 C 49.906188,55.627438 49.736188,55.550771 49.589524,55.45077 C 49.449522,55.344105 49.336188,55.207438 49.249524,55.04077 C 49.162855,54.874105 49.119522,54.670772 49.119524,54.43077 M 56.113899,50.98077 L 56.113899,56.80077 L 57.683899,56.80077 L 57.683899,50.98077 L 59.823899,50.98077 L 59.823899,49.66077 L 53.973899,49.66077 L 53.973899,50.98077 L 56.113899,50.98077 M 60.666711,49.66077 L 60.666711,56.80077 L 66.086711,56.80077 L 66.086711,55.48077 L 62.236711,55.48077 L 62.236711,53.73077 L 65.696711,53.73077 L 65.696711,52.51077 L 62.236711,52.51077 L 62.236711,50.98077 L 66.006711,50.98077 L 66.006711,49.66077 L 60.666711,49.66077 M 67.131555,49.66077 L 67.131555,56.80077 L 68.601555,56.80077 L 68.601555,51.79077 L 68.621555,51.79077 L 70.371555,56.80077 L 71.581555,56.80077 L 73.331555,51.74077 L 73.351555,51.74077 L 73.351555,56.80077 L 74.821555,56.80077 L 74.821555,49.66077 L 72.611555,49.66077 L 71.031555,54.57077 L 71.011555,54.57077 L 69.341555,49.66077 L 67.131555,49.66077" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Helvetica Neue;-inkscape-font-specification:Helvetica Neue Bold" /> + + diff --git a/doc/Makefile b/doc/Makefile index 25b10104f0..3d68d2d96f 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7601 2008-05-20 21:08:08Z mike $" +# "$Id: Makefile 7941 2008-09-16 00:46:13Z mike $" # # Documentation makefile for the Common UNIX Printing System (CUPS). # @@ -26,14 +26,10 @@ WEBPAGES = \ index.html \ robots.txt WEBIMAGES = \ - images/classes.png \ images/cups.png \ images/cups-block-diagram.gif \ images/cups-icon.png \ images/left.gif \ - images/printer-idle.png \ - images/printer-processing.png \ - images/printer-stopped.png \ images/raster.png \ images/right.gif \ images/sel.gif \ @@ -105,6 +101,7 @@ HELPFILES = \ help/ref-snmp-conf.html \ help/ref-subscriptions-conf.html \ help/security.html \ + help/spec-browsing.html \ help/spec-cmp.html \ help/spec-command.html \ help/spec-design.html \ diff --git a/doc/cups.css b/doc/cups.css index 7588d11496..8a17c22554 100644 --- a/doc/cups.css +++ b/doc/cups.css @@ -66,7 +66,7 @@ A:link:hover IMG { } A:link, A:visited { - font-weight: normal; + font-weight: inherit; text-decoration: none; color: #000099; } @@ -144,7 +144,8 @@ SUB, SUP { } TR.data, TD.data, TR.data TD { - padding: 5; + margin-top: 10pt; + padding: 5pt; border-bottom: solid 1pt #999999; } @@ -230,13 +231,50 @@ H2 SPAN.info, H3 SPAN.info, H4 SPAN.info { } .conflict { - color: red; + background: red; + color: white; } H2.title, H3.title { border-bottom: solid 1pt #999999; } +DIV.indent, TABLE.indent { + margin-top: 2em; + margin-left: auto; + margin-right: auto; + width: 90%; +} + +TABLE.indent { + border-collapse: collapse; +} + +TABLE.indent TD, TABLE.indent TH { + padding: 0; +} + +TABLE.list { + border-collapse: collapse; + margin-left: auto; + margin-right: auto; + width: 90%; +} + +TABLE.list TH { + border-bottom: solid 1pt #999999; + padding-top: 10pt; + padding-left: 5pt; + text-align: left; + white-space: nowrap; +} + +TABLE.list TD { + border-bottom: solid thin #eeeeee; + padding-top: 5pt; + padding-left: 5pt; +} + DIV.sidebar { float: right; min-width: 25%; @@ -271,7 +309,11 @@ DIV.sidebar P.l2 { TABLE.inset { background: #f0f0f0; border: thin solid #e0e0e0; + margin-left: auto; + margin-right: auto; + margin-top: 1em; padding: 0; + width: 90%; /* These are not implemented by all browsers, but that's OK */ border-radius: 5px; -moz-border-radius: 5px; @@ -287,7 +329,7 @@ TABLE.inset CAPTION { } TABLE.inset TD { - padding: 5px; + padding: 2px; } DT { diff --git a/doc/favicon.png b/doc/favicon.png index dda0497a2f..d77f3c8f69 100644 Binary files a/doc/favicon.png and b/doc/favicon.png differ diff --git a/doc/help/ref-cupsd-conf.html.in b/doc/help/ref-cupsd-conf.html.in index 1020744a71..d55119c86e 100644 --- a/doc/help/ref-cupsd-conf.html.in +++ b/doc/help/ref-cupsd-conf.html.in @@ -794,6 +794,22 @@ Otherwise printers and classes will disappear from client systems between updates.

+

BrowseWebIF

+ +

Examples

+ +
+BrowseWebIF On
+BrowseWebIF Off
+
+ +

Description

+ +

The BrowseWebIF directive controls whether the CUPS web +interface is advertised via DNS-SD. The default setting is +Off.

+ +

Browsing

Examples

@@ -2826,27 +2842,45 @@ SetEnv MY_ENV_VAR foo variable that should be passed to child processes.

-

SSLListen

+

SSLOptions

Examples

-SSLListen 127.0.0.1:443
-SSLListen 192.0.2.1:443
+SSLOptions 127.0.0.1:443
+SSLOptions 192.0.2.1:443
 

Description

-

The SSLListen directive specifies a network +

The SSLOptions directive specifies a network address and port to listen for secure connections. Multiple -SSLListen directives can be provided to listen on +SSLOptions directives can be provided to listen on multiple addresses.

-

The SSLListen directive is similar to the The SSLOptions directive is similar to the SSLPort directive but allows you to restrict access to specific interfaces or networks.

+

SSLOptions

+ +

Examples

+ +
+SSLOptions None
+SSLOptions NoEmptyFragments
+
+ +

Description

+ +

The SSLOptions directive specifies additional SSL/TLS +protocol options to use for encrypted connected. Currently only two +options are supported - None (the default) for the most +secure mode and NoEmptyFragments to allow CUPS to work with +Microsoft Windows with the FIPS conformance mode enabled.

+ +

SSLPort

Examples

diff --git a/doc/help/spec-browsing.html b/doc/help/spec-browsing.html new file mode 100644 index 0000000000..05e5342125 --- /dev/null +++ b/doc/help/spec-browsing.html @@ -0,0 +1,109 @@ + + + + + CUPS Browse Protocol + + + + + +

Introduction

+ +

This specification describes the CUPS browsing protocol which is used for +printer sharing. The protocol is a UDP/IP-based broadcast service that +operates on IP service port 631 by default. Each broadcast packet describes +a single printer or class being shared.

+ +

For simple networks with a single subnet, a CUPS system sharing a printer +(the server) will periodically broadcast that printer's availability +and status information to the subnet. Every other CUPS system on the subnet +(the clients) will receive the broadcast and make that printer +available to local users. If a client stops receiving broadcasts from the +server, or if the server sends a special "deleted" broadcast message, the +client will remove its copy of the printer.

+ +

For larger networks with multiple subnets, a relay configuration can be used +where one or more client systems poll the server and then broadcast the +availability and status information for the server's shared printers to the +clients' local subnets.

+ +

A key feature of CUPS printer sharing is support for implicit +classes, which are automatically-created classes for printers that are +shared by multiple servers. These implicit classes provide automatic load +balancing and fail-safe printing functionality transparently to the user.

+ + +

Security Considerations

+ +

Like most discovery protocols, CUPS browse packets are not encrypted or +signed, so it is possible for malicious systems on a network to advertise +or remove printers on that network to cause denial of service or information +disclosure. In order to combat this, CUPS logs incoming browse packets and +provides access controls to limit browse packet reception to known hosts.

+ + +

Browse Packet Format

+ +

Each broadcast packet is an ASCII text string of up to 1450 bytes ending +with a line feed (0x0a). The general format is:

+ +

+printer-type printer-state printer-uri "printer-location" "printer-info" +"printer-make-and-model" name=value name2=value2 ... +

+ +

Each of the fields contains the value of the corresponding IPP attribute. +The trailing "name=value" information is used to convey default job template +attribute values (job-sheets-default, media-default, etc.), authentication +requirements (auth-info-required), and additional IPP URI options that are +requested by the server (ipp-options).

+ +

ABNF Definition

+ +

The following ABNF definition [RFC4234, RFC3986] defines the format of each +browse packet:

+ +
+PACKET         = TYPE WSP STATE WSP URI WSP LOCATION WSP INFO WSP
+                 MAKE-AND-MODEL WSP *[ WSP ATTR-NAME "=" ATTR-VALUE ] LF
+
+TYPE           = 1*HEXDIG
+
+STATE          = "3" / "4" / "5"
+
+URI            = "ipp://" ( 1*NAMECHAR / IP-literal / IPv4address )
+                 [ ":" 1*DIGIT ] ( "/printers/" / "/classes/" ) 1*NAMECHAR
+NAMECHAR       = %x21.22.24.26-2E.30-7E / %x25 HEXDIG HEXDIG
+IP-literal     = See RFC 3986
+IPv4address    = See RFC 3986
+
+LOCATION       = QUOTED-STRING
+INFO           = QUOTED-STRING
+MAKE-AND-MODEL = QUOTED-STRING
+
+ATTR-NAME      = 1*( ALPHA / DIGIT / "-" / "." )
+ATTR-VALUE     = QUOTED-STRING / 1*UNQUOTE-CHAR
+
+QUOTED-STRING  = DQUOTE *QUOTED-CHAR DQUOTE
+QUOTED-CHAR    = %x20.21.23-5B.5D-7E / UTF8-CHAR / %x5C %x5C / %x5C %x22
+UNQUOTE-CHAR   = %x21.23-26.28-5B.5D-7E / UTF8-CHAR
+UTF8-CHAR      = %xC0.DF %x80.BF / %xE0.EF %x80.BF %x80.BF /
+                 %xF0.F7 %x80.BF %x80.BF %x80.BF
+
+ + + diff --git a/doc/help/spec-ipp.html b/doc/help/spec-ipp.html index e9e05fac52..da4d217f36 100644 --- a/doc/help/spec-ipp.html +++ b/doc/help/spec-ipp.html @@ -912,16 +912,16 @@ CUPS-Get-Printers request: attributes as described in section 3.1.4.1 of the IPP Model and Semantics document. +
"first-printer-name" (name(127)):CUPS 1.2 + +
The client OPTIONALLY supplies this attribute to + select the first printer that is returned. +
"limit" (integer (1:MAX)):
The client OPTIONALLY supplies this attribute limiting the number of printers that are returned. -
"printer-info" (text(127)):CUPS 1.1 - -
The client OPTIONALLY supplies this attribute to - select which printers are returned. -
"printer-location" (text(127)): CUPS 1.1.7
The client OPTIONALLY supplies this attribute to @@ -946,6 +946,11 @@ CUPS-Get-Printers request: responds as if this attribute had been supplied with a value of 'all'. +
"requested-user-name" (name(127)) : CUPS 1.2 + +
The client OPTIONALLY supplies a user name that is used to filter + the returned printers. +

CUPS-Get-Printers Response

@@ -1171,15 +1176,16 @@ CUPS-Get-Classes request: attributes as described in section 3.1.4.1 of the IPP Model and Semantics document. +
"first-printer-name" (name(127)):CUPS 1.2 + +
The client OPTIONALLY supplies this attribute to + select the first printer that is returned. +
"limit" (integer (1:MAX)):
The client OPTIONALLY supplies this attribute limiting the number of printer classes that are returned. -
"printer-info" (text(127)): CUPS 1.1.7 -
The client OPTIONALLY supplies this attribute to - select which printer classes are returned. -
"printer-location" (text(127)): CUPS 1.1.7
The client OPTIONALLY supplies this attribute to select which printer classes are returned. @@ -1200,6 +1206,11 @@ CUPS-Get-Classes request: interested. If the client omits this attribute, the server responds as if this attribute had been supplied with a value of 'all'. +
"requested-user-name" (name(127)) : CUPS 1.2 + +
The client OPTIONALLY supplies a user name that is used to filter + the returned printers. +

CUPS-Get-Classes Response

@@ -2710,7 +2721,7 @@ summary='Printer Type Bits'> Is the a default printer on the network. - 0x00040000 + 0x00040000 Is a facsimile device. diff --git a/doc/help/spec-ppd.html b/doc/help/spec-ppd.html index cd80907e42..7a981dfc39 100644 --- a/doc/help/spec-ppd.html +++ b/doc/help/spec-ppd.html @@ -8,7 +8,7 @@ + inkscape:export-filename="/Users/mike/c/cups-trunk/desktop/cups-16.png" + inkscape:export-xdpi="14.4" + inkscape:export-ydpi="14.4"> + id="linearGradient3645"> + + + + + + + + + id="stop3379" /> + id="stop3381" /> + id="linearGradient3280"> + id="stop3282" /> + id="stop3284" /> + id="linearGradient3270"> + id="stop3272" /> + + + + + + + + + + + + + + + + + id="stop3694" /> + + + + + + + + + + + + + + + + + + + + + + id="filter3587" + x="-0.12220446" + width="1.2444089" + y="-0.11793158" + height="1.2358632"> + stdDeviation="4.2329858" + id="feGaussianBlur3589" /> - + + + + + + + id="filter3797" + x="-0.098526749" + width="1.1970535" + y="-0.15589675" + height="1.3117935"> + stdDeviation="1.030442" + id="feGaussianBlur3799" /> + id="filter3807"> + stdDeviation="0.1030442" + id="feGaussianBlur3809" /> + + inkscape:guide-bbox="true" + inkscape:snap-global="false"> + + @@ -306,7 +490,35 @@ image/svg+xml + + CUPS Icon + + + Michael Sweet + + + + + Apple Inc. + + + + + + + + + + + style="opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3611)" + id="path3389" + sodipodi:cx="42.670681" + sodipodi:cy="54.819279" + sodipodi:rx="35.64257" + sodipodi:ry="50.401608" + d="M 78.313251,54.819279 A 35.64257,50.401608 0 1 1 7.0281105,54.819279 A 35.64257,50.401608 0 1 1 78.313251,54.819279 z" + transform="matrix(0.9819718,0,0,0.4464143,8.0985935,48.027892)" /> + + style="opacity:1;fill:url(#radialGradient3521);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3587)" + id="path3461" + sodipodi:cx="51.405624" + sodipodi:cy="50.301205" + sodipodi:rx="41.566265" + sodipodi:ry="43.072289" + d="M 92.971889,50.301205 A 41.566265,43.072289 0 1 1 9.8393593,50.301205 A 41.566265,43.072289 0 1 1 92.971889,50.301205 z" + transform="matrix(1.0224638,0,0,1.0447553,-2.5603887,-5.2451895e-2)" + clip-path="url(#clipPath3591)" /> + id="g2882" + transform="matrix(0.8775394,0,0,0.8757773,5.5493793,6.1227532)"> + id="text2870" + d="M 72.501767,34.960416 L 82.666767,34.960416 C 82.096028,30.894474 80.883363,27.327811 79.028767,24.260416 C 77.174033,21.121817 74.855702,18.518153 72.073767,16.449416 C 69.291708,14.380824 66.117378,12.811492 62.550767,11.741416 C 58.984052,10.671494 55.203389,10.136495 51.208767,10.136416 C 45.359398,10.136495 40.15207,11.206494 35.586767,13.346416 C 31.092746,15.415156 27.312083,18.268487 24.244767,21.906416 C 21.248756,25.544479 18.966092,29.824475 17.396767,34.746416 C 15.827428,39.597132 15.042762,44.80446 15.042767,50.368416 C 15.042762,55.932449 15.756095,61.139777 17.182767,65.990416 C 18.680758,70.841101 20.89209,75.049763 23.816767,78.616416 C 26.741417,82.183089 30.41508,85.000753 34.837767,87.069416 C 39.260405,89.066749 44.432066,90.065415 50.352767,90.065416 C 60.125384,90.065415 67.829376,87.390417 73.464767,82.040416 C 79.100031,76.690428 82.417028,69.200436 83.415767,59.570416 L 73.250767,59.570416 C 73.036704,62.709109 72.394705,65.633772 71.324767,68.344416 C 70.254707,71.0551 68.756708,73.409098 66.830767,75.406416 C 64.976046,77.332427 62.729048,78.866093 60.089767,80.007416 C 57.52172,81.077424 54.561389,81.612423 51.208767,81.612416 C 46.643397,81.612423 42.720068,80.756424 39.438767,79.044416 C 36.157408,77.332427 33.446744,75.049763 31.306767,72.196416 C 29.238081,69.271769 27.704416,65.883439 26.705767,62.031416 C 25.707085,58.108113 25.207752,53.970784 25.207767,49.619416 C 25.207752,45.624793 25.707085,41.772796 26.705767,38.063416 C 27.704416,34.354137 29.238081,31.072807 31.306767,28.219416 C 33.446744,25.294813 36.121741,22.976482 39.331767,21.264416 C 42.613068,19.552485 46.536397,18.696486 51.101767,18.696416 C 56.451721,18.696486 61.052716,20.051818 64.904767,22.762416 C 68.828042,25.473146 71.360372,29.539142 72.501767,34.960416" + style="font-size:107px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Helvetica Neue;-inkscape-font-specification:Helvetica Neue" /> - + id="text2862" + d="M 40.964993,34.10077 L 40.964993,29.66077 L 39.394993,29.66077 L 39.394993,34.10077 C 39.394987,34.634105 39.288321,35.027438 39.074993,35.28077 C 38.861655,35.527438 38.474988,35.650771 37.914993,35.65077 C 37.594989,35.650771 37.338323,35.607438 37.144993,35.52077 C 36.958323,35.427438 36.811657,35.310771 36.704993,35.17077 C 36.598323,35.024105 36.528324,34.857438 36.494993,34.67077 C 36.461657,34.484105 36.44499,34.294106 36.444993,34.10077 L 36.444993,29.66077 L 34.874993,29.66077 L 34.874993,34.10077 C 34.874992,35.074105 35.138325,35.794104 35.664993,36.26077 C 36.198324,36.727437 36.948323,36.96077 37.914993,36.96077 C 38.868321,36.96077 39.614987,36.727437 40.154993,36.26077 C 40.694986,35.787437 40.964986,35.067438 40.964993,34.10077 M 42.326868,29.66077 L 42.326868,36.80077 L 43.796868,36.80077 L 43.796868,32.02077 L 43.816868,32.02077 L 46.786868,36.80077 L 48.356868,36.80077 L 48.356868,29.66077 L 46.886868,29.66077 L 46.886868,34.45077 L 46.866868,34.45077 L 43.886868,29.66077 L 42.326868,29.66077 M 49.729211,29.66077 L 49.729211,36.80077 L 51.299211,36.80077 L 51.299211,29.66077 L 49.729211,29.66077 M 54.408899,33.06077 L 51.918899,36.80077 L 53.678899,36.80077 L 55.268899,34.33077 L 56.828899,36.80077 L 58.698899,36.80077 L 56.208899,33.07077 L 58.498899,29.66077 L 56.778899,29.66077 L 55.328899,31.94077 L 53.928899,29.66077 L 52.108899,29.66077 L 54.408899,33.06077 M 36.474993,43.02077 L 36.474993,40.88077 L 37.694993,40.88077 C 37.874989,40.880776 38.048322,40.894109 38.214993,40.92077 C 38.381655,40.947442 38.528322,41.000776 38.654993,41.08077 C 38.781655,41.154109 38.881655,41.260775 38.954993,41.40077 C 39.034988,41.540775 39.074988,41.724108 39.074993,41.95077 C 39.074988,42.177441 39.034988,42.360774 38.954993,42.50077 C 38.881655,42.640774 38.781655,42.750774 38.654993,42.83077 C 38.528322,42.904107 38.381655,42.954107 38.214993,42.98077 C 38.048322,43.00744 37.874989,43.020774 37.694993,43.02077 L 36.474993,43.02077 M 34.904993,39.66077 L 34.904993,46.80077 L 36.474993,46.80077 L 36.474993,44.24077 L 38.124993,44.24077 C 38.571655,44.240772 38.951654,44.177439 39.264993,44.05077 C 39.57832,43.917439 39.831654,43.744106 40.024993,43.53077 C 40.224987,43.31744 40.36832,43.074107 40.454993,42.80077 C 40.54832,42.520774 40.594986,42.237441 40.594993,41.95077 C 40.594986,41.657442 40.54832,41.374109 40.454993,41.10077 C 40.36832,40.827442 40.224987,40.584109 40.024993,40.37077 C 39.831654,40.157443 39.57832,39.987443 39.264993,39.86077 C 38.951654,39.727444 38.571655,39.660777 38.124993,39.66077 L 34.904993,39.66077 M 43.135149,42.89077 L 43.135149,40.88077 L 44.855149,40.88077 C 45.215144,40.880776 45.485144,40.960776 45.665149,41.12077 C 45.845144,41.274109 45.935144,41.524108 45.935149,41.87077 C 45.935144,42.230774 45.845144,42.490774 45.665149,42.65077 C 45.485144,42.810774 45.215144,42.890774 44.855149,42.89077 L 43.135149,42.89077 M 41.565149,39.66077 L 41.565149,46.80077 L 43.135149,46.80077 L 43.135149,44.01077 L 44.705149,44.01077 C 45.098478,44.010773 45.381811,44.097439 45.555149,44.27077 C 45.728477,44.444105 45.84181,44.717439 45.895149,45.09077 C 45.935144,45.377438 45.965144,45.677438 45.985149,45.99077 C 46.005144,46.304104 46.058477,46.574103 46.145149,46.80077 L 47.715149,46.80077 C 47.641809,46.70077 47.585142,46.58077 47.545149,46.44077 C 47.511809,46.294104 47.485142,46.14077 47.465149,45.98077 C 47.451809,45.820771 47.441809,45.664104 47.435149,45.51077 C 47.428476,45.357438 47.421809,45.224105 47.415149,45.11077 C 47.401809,44.930772 47.375142,44.750772 47.335149,44.57077 C 47.301809,44.390772 47.245142,44.227439 47.165149,44.08077 C 47.085143,43.927439 46.981809,43.797439 46.855149,43.69077 C 46.728476,43.57744 46.568476,43.494106 46.375149,43.44077 L 46.375149,43.42077 C 46.775143,43.260773 47.061809,43.02744 47.235149,42.72077 C 47.415142,42.414108 47.505142,42.050775 47.505149,41.63077 C 47.505142,41.357442 47.455142,41.104109 47.355149,40.87077 C 47.261809,40.630776 47.121809,40.420776 46.935149,40.24077 C 46.755143,40.060777 46.535143,39.920777 46.275149,39.82077 C 46.02181,39.71411 45.735144,39.660777 45.415149,39.66077 L 41.565149,39.66077 M 48.77218,39.66077 L 48.77218,46.80077 L 50.34218,46.80077 L 50.34218,39.66077 L 48.77218,39.66077 M 51.701868,39.66077 L 51.701868,46.80077 L 53.171868,46.80077 L 53.171868,42.02077 L 53.191868,42.02077 L 56.161868,46.80077 L 57.731868,46.80077 L 57.731868,39.66077 L 56.261868,39.66077 L 56.261868,44.45077 L 56.241868,44.45077 L 53.261868,39.66077 L 51.701868,39.66077 M 60.684211,40.98077 L 60.684211,46.80077 L 62.254211,46.80077 L 62.254211,40.98077 L 64.394211,40.98077 L 64.394211,39.66077 L 58.544211,39.66077 L 58.544211,40.98077 L 60.684211,40.98077 M 65.237024,39.66077 L 65.237024,46.80077 L 66.807024,46.80077 L 66.807024,39.66077 L 65.237024,39.66077 M 68.166711,39.66077 L 68.166711,46.80077 L 69.636711,46.80077 L 69.636711,42.02077 L 69.656711,42.02077 L 72.626711,46.80077 L 74.196711,46.80077 L 74.196711,39.66077 L 72.726711,39.66077 L 72.726711,44.45077 L 72.706711,44.45077 L 69.726711,39.66077 L 68.166711,39.66077 M 80.729055,45.99077 L 80.889055,46.80077 L 81.889055,46.80077 L 81.889055,42.94077 L 78.889055,42.94077 L 78.889055,44.11077 L 80.469055,44.11077 C 80.422383,44.610772 80.255716,44.994105 79.969055,45.26077 C 79.68905,45.520771 79.289051,45.650771 78.769055,45.65077 C 78.415718,45.650771 78.115718,45.584104 77.869055,45.45077 C 77.622386,45.310771 77.422386,45.127438 77.269055,44.90077 C 77.115719,44.674105 77.002386,44.420772 76.929055,44.14077 C 76.862386,43.854106 76.829053,43.560773 76.829055,43.26077 C 76.829053,42.94744 76.862386,42.644107 76.929055,42.35077 C 77.002386,42.057441 77.115719,41.797441 77.269055,41.57077 C 77.422386,41.337442 77.622386,41.154109 77.869055,41.02077 C 78.115718,40.880776 78.415718,40.810776 78.769055,40.81077 C 79.149051,40.810776 79.472384,40.910776 79.739055,41.11077 C 80.005717,41.310775 80.185716,41.610775 80.279055,42.01077 L 81.779055,42.01077 C 81.739048,41.604108 81.629048,41.244109 81.449055,40.93077 C 81.269049,40.617443 81.039049,40.35411 80.759055,40.14077 C 80.485716,39.927443 80.175716,39.767444 79.829055,39.66077 C 79.48905,39.547444 79.135717,39.490777 78.769055,39.49077 C 78.222385,39.490777 77.729052,39.587444 77.289055,39.78077 C 76.85572,39.97411 76.489053,40.240776 76.189055,40.58077 C 75.889054,40.920776 75.659054,41.320775 75.499055,41.78077 C 75.339055,42.234108 75.259055,42.727441 75.259055,43.26077 C 75.259055,43.780773 75.339055,44.267439 75.499055,44.72077 C 75.659054,45.167438 75.889054,45.557438 76.189055,45.89077 C 76.489053,46.224104 76.85572,46.487437 77.289055,46.68077 C 77.729052,46.867436 78.222385,46.96077 78.769055,46.96077 C 79.115717,46.96077 79.45905,46.89077 79.799055,46.75077 C 80.13905,46.604103 80.449049,46.35077 80.729055,45.99077 M 35.974993,54.43077 L 34.454993,54.43077 C 34.448326,54.870772 34.528326,55.250771 34.694993,55.57077 C 34.861659,55.890771 35.084992,56.154104 35.364993,56.36077 C 35.651658,56.567437 35.978324,56.717437 36.344993,56.81077 C 36.718323,56.91077 37.101656,56.96077 37.494993,56.96077 C 37.981655,56.96077 38.408322,56.904103 38.774993,56.79077 C 39.148321,56.677437 39.458321,56.52077 39.704993,56.32077 C 39.95832,56.114104 40.14832,55.870771 40.274993,55.59077 C 40.401653,55.310771 40.464986,55.007438 40.464993,54.68077 C 40.464986,54.280772 40.37832,53.954106 40.204993,53.70077 C 40.03832,53.440773 39.83832,53.234107 39.604993,53.08077 C 39.371654,52.92744 39.134988,52.81744 38.894993,52.75077 C 38.661655,52.677441 38.478322,52.627441 38.344993,52.60077 C 37.898322,52.487441 37.534989,52.394108 37.254993,52.32077 C 36.981656,52.247441 36.76499,52.174108 36.604993,52.10077 C 36.451657,52.027441 36.348324,51.947441 36.294993,51.86077 C 36.241657,51.774108 36.214991,51.660775 36.214993,51.52077 C 36.214991,51.367442 36.248324,51.240775 36.314993,51.14077 C 36.381657,51.040776 36.46499,50.957442 36.564993,50.89077 C 36.671657,50.824109 36.788323,50.777442 36.914993,50.75077 C 37.041656,50.724109 37.168323,50.710776 37.294993,50.71077 C 37.488323,50.710776 37.664989,50.727443 37.824993,50.76077 C 37.991655,50.794109 38.138322,50.850776 38.264993,50.93077 C 38.391655,51.010776 38.491655,51.120775 38.564993,51.26077 C 38.644988,51.400775 38.691655,51.577442 38.704993,51.79077 L 40.224993,51.79077 C 40.224987,51.377442 40.144987,51.027442 39.984993,50.74077 C 39.831654,50.447443 39.621654,50.207443 39.354993,50.02077 C 39.088321,49.83411 38.781655,49.700777 38.434993,49.62077 C 38.094989,49.53411 37.738322,49.490777 37.364993,49.49077 C 37.04499,49.490777 36.72499,49.53411 36.404993,49.62077 C 36.084991,49.707444 35.798324,49.840777 35.544993,50.02077 C 35.291658,50.200776 35.084992,50.427443 34.924993,50.70077 C 34.771659,50.967442 34.694992,51.284109 34.694993,51.65077 C 34.694992,51.977441 34.754992,52.257441 34.874993,52.49077 C 35.001658,52.717441 35.164992,52.90744 35.364993,53.06077 C 35.564991,53.214107 35.791658,53.340773 36.044993,53.44077 C 36.298324,53.534106 36.558324,53.614106 36.824993,53.68077 C 37.08499,53.754106 37.341656,53.820773 37.594993,53.88077 C 37.848322,53.940773 38.074989,54.010773 38.274993,54.09077 C 38.474988,54.170772 38.634988,54.270772 38.754993,54.39077 C 38.881655,54.510772 38.944988,54.667439 38.944993,54.86077 C 38.944988,55.040772 38.898321,55.190771 38.804993,55.31077 C 38.711655,55.424105 38.594988,55.514104 38.454993,55.58077 C 38.314988,55.647438 38.164989,55.694104 38.004993,55.72077 C 37.844989,55.740771 37.694989,55.750771 37.554993,55.75077 C 37.348323,55.750771 37.148323,55.727438 36.954993,55.68077 C 36.761657,55.627438 36.591657,55.550771 36.444993,55.45077 C 36.30499,55.344105 36.191657,55.207438 36.104993,55.04077 C 36.018324,54.874105 35.974991,54.670772 35.974993,54.43077 M 43.239368,54.02077 L 43.239368,56.80077 L 44.809368,56.80077 L 44.809368,54.06077 L 47.459368,49.66077 L 45.709368,49.66077 L 44.049368,52.48077 L 42.379368,49.66077 L 40.619368,49.66077 L 43.239368,54.02077 M 49.119524,54.43077 L 47.599524,54.43077 C 47.592857,54.870772 47.672857,55.250771 47.839524,55.57077 C 48.00619,55.890771 48.229523,56.154104 48.509524,56.36077 C 48.796189,56.567437 49.122855,56.717437 49.489524,56.81077 C 49.862855,56.91077 50.246188,56.96077 50.639524,56.96077 C 51.126187,56.96077 51.552853,56.904103 51.919524,56.79077 C 52.292852,56.677437 52.602852,56.52077 52.849524,56.32077 C 53.102851,56.114104 53.292851,55.870771 53.419524,55.59077 C 53.546184,55.310771 53.609518,55.007438 53.609524,54.68077 C 53.609518,54.280772 53.522851,53.954106 53.349524,53.70077 C 53.182851,53.440773 52.982851,53.234107 52.749524,53.08077 C 52.516185,52.92744 52.279519,52.81744 52.039524,52.75077 C 51.806186,52.677441 51.622853,52.627441 51.489524,52.60077 C 51.042853,52.487441 50.67952,52.394108 50.399524,52.32077 C 50.126188,52.247441 49.909521,52.174108 49.749524,52.10077 C 49.596188,52.027441 49.492855,51.947441 49.439524,51.86077 C 49.386188,51.774108 49.359522,51.660775 49.359524,51.52077 C 49.359522,51.367442 49.392855,51.240775 49.459524,51.14077 C 49.526188,51.040776 49.609522,50.957442 49.709524,50.89077 C 49.816188,50.824109 49.932855,50.777442 50.059524,50.75077 C 50.186188,50.724109 50.312854,50.710776 50.439524,50.71077 C 50.632854,50.710776 50.80952,50.727443 50.969524,50.76077 C 51.136187,50.794109 51.282853,50.850776 51.409524,50.93077 C 51.536186,51.010776 51.636186,51.120775 51.709524,51.26077 C 51.789519,51.400775 51.836186,51.577442 51.849524,51.79077 L 53.369524,51.79077 C 53.369518,51.377442 53.289518,51.027442 53.129524,50.74077 C 52.976185,50.447443 52.766185,50.207443 52.499524,50.02077 C 52.232852,49.83411 51.926186,49.700777 51.579524,49.62077 C 51.23952,49.53411 50.882854,49.490777 50.509524,49.49077 C 50.189521,49.490777 49.869521,49.53411 49.549524,49.62077 C 49.229522,49.707444 48.942856,49.840777 48.689524,50.02077 C 48.436189,50.200776 48.229523,50.427443 48.069524,50.70077 C 47.91619,50.967442 47.839523,51.284109 47.839524,51.65077 C 47.839523,51.977441 47.899523,52.257441 48.019524,52.49077 C 48.14619,52.717441 48.309523,52.90744 48.509524,53.06077 C 48.709522,53.214107 48.936189,53.340773 49.189524,53.44077 C 49.442855,53.534106 49.702855,53.614106 49.969524,53.68077 C 50.229521,53.754106 50.486187,53.820773 50.739524,53.88077 C 50.992853,53.940773 51.21952,54.010773 51.419524,54.09077 C 51.61952,54.170772 51.779519,54.270772 51.899524,54.39077 C 52.026186,54.510772 52.089519,54.667439 52.089524,54.86077 C 52.089519,55.040772 52.042852,55.190771 51.949524,55.31077 C 51.856186,55.424105 51.739519,55.514104 51.599524,55.58077 C 51.45952,55.647438 51.30952,55.694104 51.149524,55.72077 C 50.98952,55.740771 50.83952,55.750771 50.699524,55.75077 C 50.492854,55.750771 50.292854,55.727438 50.099524,55.68077 C 49.906188,55.627438 49.736188,55.550771 49.589524,55.45077 C 49.449522,55.344105 49.336188,55.207438 49.249524,55.04077 C 49.162855,54.874105 49.119522,54.670772 49.119524,54.43077 M 56.113899,50.98077 L 56.113899,56.80077 L 57.683899,56.80077 L 57.683899,50.98077 L 59.823899,50.98077 L 59.823899,49.66077 L 53.973899,49.66077 L 53.973899,50.98077 L 56.113899,50.98077 M 60.666711,49.66077 L 60.666711,56.80077 L 66.086711,56.80077 L 66.086711,55.48077 L 62.236711,55.48077 L 62.236711,53.73077 L 65.696711,53.73077 L 65.696711,52.51077 L 62.236711,52.51077 L 62.236711,50.98077 L 66.006711,50.98077 L 66.006711,49.66077 L 60.666711,49.66077 M 67.131555,49.66077 L 67.131555,56.80077 L 68.601555,56.80077 L 68.601555,51.79077 L 68.621555,51.79077 L 70.371555,56.80077 L 71.581555,56.80077 L 73.331555,51.74077 L 73.351555,51.74077 L 73.351555,56.80077 L 74.821555,56.80077 L 74.821555,49.66077 L 72.611555,49.66077 L 71.031555,54.57077 L 71.011555,54.57077 L 69.341555,49.66077 L 67.131555,49.66077" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Helvetica Neue;-inkscape-font-specification:Helvetica Neue Bold" /> + style="opacity:1;fill:url(#radialGradient3695);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.50000000000000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3797)" + id="path3621" + sodipodi:cx="-6.7269077" + sodipodi:cy="16.566265" + sodipodi:rx="12.5502" + sodipodi:ry="7.9317269" + d="M 5.8232927,16.566265 A 12.5502,7.9317269 0 1 1 -19.277108,16.566265 A 12.5502,7.9317269 0 1 1 5.8232927,16.566265 z" + transform="matrix(1.7928,0,0,1.7020253,62.06,-6.6962025)" /> + transform="matrix(1.7928,0,0,1.7020253,62.06,-6.6962025)" + d="M 5.8232927,16.566265 A 12.5502,7.9317269 0 1 1 -19.277108,16.566265 A 12.5502,7.9317269 0 1 1 5.8232927,16.566265 z" + sodipodi:ry="7.9317269" + sodipodi:rx="12.5502" + sodipodi:cy="16.566265" + sodipodi:cx="-6.7269077" + id="path3801" + style="opacity:0.66;fill:url(#radialGradient3815);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.50000000000000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3807)" + sodipodi:type="arc" /> diff --git a/doc/images/left.gif b/doc/images/left.gif index f48747f164..608920d8d9 100644 Binary files a/doc/images/left.gif and b/doc/images/left.gif differ diff --git a/doc/images/left.xcf.gz b/doc/images/left.xcf.gz index d61dd90709..912254d2ba 100644 Binary files a/doc/images/left.xcf.gz and b/doc/images/left.xcf.gz differ diff --git a/doc/images/printer-idle.png b/doc/images/printer-idle.png deleted file mode 100644 index 4cab928428..0000000000 Binary files a/doc/images/printer-idle.png and /dev/null differ diff --git a/doc/images/printer-idle.svg b/doc/images/printer-idle.svg deleted file mode 100644 index af62b63a86..0000000000 --- a/doc/images/printer-idle.svg +++ /dev/null @@ -1,292 +0,0 @@ - -image/svg+xmlCUPS idle printer iconMichael Sweet - - \ No newline at end of file diff --git a/doc/images/printer-processing.png b/doc/images/printer-processing.png deleted file mode 100644 index 042d1a2778..0000000000 Binary files a/doc/images/printer-processing.png and /dev/null differ diff --git a/doc/images/printer-processing.svg b/doc/images/printer-processing.svg deleted file mode 100644 index 77ab490db8..0000000000 --- a/doc/images/printer-processing.svg +++ /dev/null @@ -1,313 +0,0 @@ - -image/svg+xmlCUPS processing printer iconMichael Sweet - - \ No newline at end of file diff --git a/doc/images/printer-stopped.png b/doc/images/printer-stopped.png deleted file mode 100644 index f59317c2a1..0000000000 Binary files a/doc/images/printer-stopped.png and /dev/null differ diff --git a/doc/images/printer-stopped.svg b/doc/images/printer-stopped.svg deleted file mode 100644 index 8895ba7579..0000000000 --- a/doc/images/printer-stopped.svg +++ /dev/null @@ -1,379 +0,0 @@ - -image/svg+xmlCUPS stopped printer iconMichael Sweet - - \ No newline at end of file diff --git a/doc/index.html.in b/doc/index.html.in index c5aa362631..c2fa482804 100644 --- a/doc/index.html.in +++ b/doc/index.html.in @@ -26,51 +26,76 @@ AUTOSAVE="org.cups.help" RESULTS="20"> -

Common UNIX Printing System @CUPS_VERSION@@CUPS_REVISION@

+ + + + +
-

Welcome!

+

Common UNIX Printing System @CUPS_VERSION@

-

These web pages allow you to monitor your printers and jobs as well -as perform system administration tasks. Click on any of the tabs above -or on the buttons below to perform a task.

+

CUPS is the standards-based, open source printing system developed by +Apple Inc. for Mac OS® X and +other UNIX®-like operating systems.

-

-

-
-
-
-
-
-
-

+
CUPS
+ + + +
+ +

CUPS for Users

+ +

Overview of CUPS

+ +

Command-Line Printing and Options

+ +

What's New in CUPS 1.4

+ +

User Forum

+ +
+ +

CUPS for Administrators

+ +

Adding Printers and Classes

+ +

Managing Operation Policies

-

If you are asked for a username and password, enter your login -username and password or the "root" username and password.

+

Printer Accounting Basics

-

About CUPS

+

Server Security

-

CUPS Icon +

Using Kerberos Authentication

-CUPS provides a portable printing layer for -UNIX®-based operating systems. It is developed and -maintained by Apple Inc. to promote a standard printing solution. CUPS is the -standard printing system used on MacOS® X and most -Linux® distributions.

+

Using Network Printers

-

CUPS uses the Internet Printing Protocol ("IPP") as the -basis for managing print jobs and queues and adds network -printer browsing and PostScript Printer Description ("PPD") -based printing options to support real-world printing.

+

cupsd.conf Reference

-

For Printer Drivers and Assistance

+

Find Printer Drivers

-

Visit the official CUPS site for printer drivers and -assistance:

+
-
-    www.cups.org
-
+

CUPS for Developers

+ +

Introduction to CUPS Programming

+ +

CUPS API

+ +

Filter and Backend Programming

+ +

HTTP and IPP APIs

+ +

PPD API

+ +

Raster API

+ +

PPD Compiler Driver Information File Reference

+ +

Developer Forum

+ +
  diff --git a/filter/Makefile b/filter/Makefile index ff4e724bbf..6e288c010a 100644 --- a/filter/Makefile +++ b/filter/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # Filter makefile for the Common UNIX Printing System (CUPS). # @@ -469,5 +469,5 @@ include Dependencies # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/filter/image-colorspace.c b/filter/image-colorspace.c index 8854a90bd8..981dc30884 100644 --- a/filter/image-colorspace.c +++ b/filter/image-colorspace.c @@ -1,5 +1,5 @@ /* - * "$Id: image-colorspace.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: image-colorspace.c 7720 2008-07-11 22:46:21Z mike $" * * Colorspace conversions for the Common UNIX Printing System (CUPS). * @@ -1563,5 +1563,5 @@ zshear(float mat[3][3], /* I - Matrix */ /* - * End of "$Id: image-colorspace.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: image-colorspace.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/filter/image-gif.c b/filter/image-gif.c index d702302302..9542704124 100644 --- a/filter/image-gif.c +++ b/filter/image-gif.c @@ -1,5 +1,5 @@ /* - * "$Id: image-gif.c 7420 2008-04-01 20:32:00Z mike $" + * "$Id: image-gif.c 7720 2008-07-11 22:46:21Z mike $" * * GIF image routines for the Common UNIX Printing System (CUPS). * @@ -694,5 +694,5 @@ gif_read_lzw(FILE *fp, /* I - File to read from */ /* - * End of "$Id: image-gif.c 7420 2008-04-01 20:32:00Z mike $". + * End of "$Id: image-gif.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/filter/interpret.c b/filter/interpret.c index 1aaade8128..acb88b5d89 100644 --- a/filter/interpret.c +++ b/filter/interpret.c @@ -1,5 +1,5 @@ /* - * "$Id: interpret.c 7460 2008-04-16 02:19:54Z mike $" + * "$Id: interpret.c 7852 2008-08-21 04:19:45Z mike $" * * PPD command interpreter for the Common UNIX Printing System (CUPS). * @@ -1644,5 +1644,5 @@ DEBUG_stack(_cups_ps_stack_t *st) /* I - Stack */ /* - * End of "$Id: interpret.c 7460 2008-04-16 02:19:54Z mike $". + * End of "$Id: interpret.c 7852 2008-08-21 04:19:45Z mike $". */ diff --git a/filter/pstops.c b/filter/pstops.c index 653378672a..98767d0aed 100644 --- a/filter/pstops.c +++ b/filter/pstops.c @@ -1,5 +1,5 @@ /* - * "$Id: pstops.c 7689 2008-06-24 20:50:57Z mike $" + * "$Id: pstops.c 7886 2008-08-29 01:51:57Z mike $" * * PostScript filter for the Common UNIX Printing System (CUPS). * @@ -3411,5 +3411,5 @@ write_labels(pstops_doc_t *doc, /* I - Document information */ /* - * End of "$Id: pstops.c 7689 2008-06-24 20:50:57Z mike $". + * End of "$Id: pstops.c 7886 2008-08-29 01:51:57Z mike $". */ diff --git a/filter/raster.c b/filter/raster.c index bcfcd97b55..c19db7256c 100644 --- a/filter/raster.c +++ b/filter/raster.c @@ -1,5 +1,5 @@ /* - * "$Id: raster.c 7616 2008-05-28 00:34:13Z mike $" + * "$Id: raster.c 7720 2008-07-11 22:46:21Z mike $" * * Raster file routines for the Common UNIX Printing System (CUPS). * @@ -1199,5 +1199,5 @@ cups_write(int fd, /* I - File descriptor */ /* - * End of "$Id: raster.c 7616 2008-05-28 00:34:13Z mike $". + * End of "$Id: raster.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/filter/rastertohp.c b/filter/rastertohp.c index 0f8fd74fb9..989812ec46 100644 --- a/filter/rastertohp.c +++ b/filter/rastertohp.c @@ -1,5 +1,5 @@ /* - * "$Id: rastertohp.c 7403 2008-03-26 15:23:43Z mike $" + * "$Id: rastertohp.c 7834 2008-08-04 21:02:09Z mike $" * * Hewlett-Packard Page Control Language filter for the Common UNIX * Printing System (CUPS). @@ -860,5 +860,5 @@ main(int argc, /* I - Number of command-line arguments */ /* - * End of "$Id: rastertohp.c 7403 2008-03-26 15:23:43Z mike $". + * End of "$Id: rastertohp.c 7834 2008-08-04 21:02:09Z mike $". */ diff --git a/filter/rastertolabel.c b/filter/rastertolabel.c index 20cb77a44d..bb5be8d2ba 100644 --- a/filter/rastertolabel.c +++ b/filter/rastertolabel.c @@ -1,5 +1,5 @@ /* - * "$Id: rastertolabel.c 7615 2008-05-25 07:17:07Z mike $" + * "$Id: rastertolabel.c 7720 2008-07-11 22:46:21Z mike $" * * Label printer filter for the Common UNIX Printing System (CUPS). * @@ -1285,5 +1285,5 @@ main(int argc, /* I - Number of command-line arguments */ /* - * End of "$Id: rastertolabel.c 7615 2008-05-25 07:17:07Z mike $". + * End of "$Id: rastertolabel.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/filter/texttops.c b/filter/texttops.c index c84a447bcf..59460ce7a6 100644 --- a/filter/texttops.c +++ b/filter/texttops.c @@ -1,5 +1,5 @@ /* - * "$Id: texttops.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: texttops.c 7720 2008-07-11 22:46:21Z mike $" * * Text to PostScript filter for the Common UNIX Printing System (CUPS). * @@ -1299,5 +1299,5 @@ write_text(const char *s) /* I - String to write */ /* - * End of "$Id: texttops.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: texttops.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/fonts/Makefile b/fonts/Makefile index 7018beb45a..069e1039ce 100644 --- a/fonts/Makefile +++ b/fonts/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # Fonts makefile for the Common UNIX Printing System (CUPS). # @@ -109,5 +109,5 @@ uninstall: # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/locale/Makefile b/locale/Makefile index 0baf06cdb2..9ce39c3bdc 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # Locale file makefile for the Common UNIX Printing System (CUPS). # @@ -195,5 +195,5 @@ include Dependencies # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/locale/strings2po.c b/locale/strings2po.c index 4eeb6a2e47..52eeeeff0b 100644 --- a/locale/strings2po.c +++ b/locale/strings2po.c @@ -1,5 +1,5 @@ /* - * "$Id: strings2po.c 6921 2007-09-06 13:38:37Z mike $" + * "$Id: strings2po.c 7720 2008-07-11 22:46:21Z mike $" * * Convert Apple .strings file (UTF-16 BE text file) to GNU gettext .po files. * @@ -171,5 +171,5 @@ write_po(FILE *po, /* I - .po file */ /* - * End of "$Id: strings2po.c 6921 2007-09-06 13:38:37Z mike $". + * End of "$Id: strings2po.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/locale/translate.c b/locale/translate.c index 74a5153dce..c3e87394ed 100644 --- a/locale/translate.c +++ b/locale/translate.c @@ -1,5 +1,5 @@ /* - * "$Id: translate.c 6921 2007-09-06 13:38:37Z mike $" + * "$Id: translate.c 7922 2008-09-10 15:56:47Z mike $" * * HTTP-based translation program for the Common UNIX Printing System (CUPS). * @@ -439,5 +439,5 @@ write_string(cups_file_t *fp, /* I - File to write to */ /* - * End of "$Id: translate.c 6921 2007-09-06 13:38:37Z mike $". + * End of "$Id: translate.c 7922 2008-09-10 15:56:47Z mike $". */ diff --git a/man/Makefile b/man/Makefile index 0f686af4fd..5c626c8b6d 100644 --- a/man/Makefile +++ b/man/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7601 2008-05-20 21:08:08Z mike $" +# "$Id: Makefile 7930 2008-09-10 22:25:54Z mike $" # # Man page makefile for the Common UNIX Printing System (CUPS). # @@ -230,5 +230,5 @@ mantohtml: mantohtml.o # -# End of "$Id: Makefile 7601 2008-05-20 21:08:08Z mike $". +# End of "$Id: Makefile 7930 2008-09-10 22:25:54Z mike $". # diff --git a/man/backend.man b/man/backend.man index b4ba425163..17dd8d3090 100644 --- a/man/backend.man +++ b/man/backend.man @@ -1,5 +1,5 @@ .\" -.\" "$Id: backend.man 7600 2008-05-20 21:06:23Z mike $" +.\" "$Id: backend.man 7810 2008-07-29 01:11:15Z mike $" .\" .\" Backend man page for the Common UNIX Printing System (CUPS). .\" @@ -181,5 +181,5 @@ http://localhost:631/help .SH COPYRIGHT Copyright 2007-2008 by Apple Inc. .\" -.\" End of "$Id: backend.man 7600 2008-05-20 21:06:23Z mike $". +.\" End of "$Id: backend.man 7810 2008-07-29 01:11:15Z mike $". .\" diff --git a/man/cups-lpd.man.in b/man/cups-lpd.man.in index 54ad4b6ba3..59d72453cb 100644 --- a/man/cups-lpd.man.in +++ b/man/cups-lpd.man.in @@ -1,5 +1,5 @@ .\" -.\" "$Id: cups-lpd.man.in 7600 2008-05-20 21:06:23Z mike $" +.\" "$Id: cups-lpd.man.in 7835 2008-08-09 06:37:04Z mike $" .\" .\" cups-lpd man page for the Common UNIX Printing System (CUPS). .\" @@ -120,5 +120,5 @@ http://localhost:631/help .SH COPYRIGHT Copyright 2007 by Apple Inc. .\" -.\" End of "$Id: cups-lpd.man.in 7600 2008-05-20 21:06:23Z mike $". +.\" End of "$Id: cups-lpd.man.in 7835 2008-08-09 06:37:04Z mike $". .\" diff --git a/man/cupsaccept.man b/man/cupsaccept.man index 36457e351f..01ed7261cf 100644 --- a/man/cupsaccept.man +++ b/man/cupsaccept.man @@ -1,5 +1,5 @@ .\" -.\" "$Id$" +.\" "$Id: cupsaccept.man 7930 2008-09-10 22:25:54Z mike $" .\" .\" accept/reject man page for the Common UNIX Printing System (CUPS). .\" @@ -75,5 +75,5 @@ http://localhost:631/help .SH COPYRIGHT Copyright 2007 by Apple Inc. .\" -.\" End of "$Id$". +.\" End of "$Id: cupsaccept.man 7930 2008-09-10 22:25:54Z mike $". .\" diff --git a/man/cupsd.conf.man.in b/man/cupsd.conf.man.in index b3137f74f3..06f3ccdaf9 100644 --- a/man/cupsd.conf.man.in +++ b/man/cupsd.conf.man.in @@ -1,5 +1,5 @@ .\" -.\" "$Id: cupsd.conf.man.in 7645 2008-06-16 17:21:10Z mike $" +.\" "$Id: cupsd.conf.man.in 7935 2008-09-11 01:54:11Z mike $" .\" .\" cupsd.conf man page for the Common UNIX Printing System (CUPS). .\" @@ -210,6 +210,12 @@ BrowseTimeout seconds Specifies the maximum interval between printer information updates before remote printers will be removed from the list of available printers. .TP 5 +BrowseWebIF Yes +.TP 5 +BrowseWebIF No +.br +Specifies whether the CUPS web interface is advertised via DNS-SD. +.TP 5 Browsing Yes .TP 5 Browsing No @@ -636,6 +642,12 @@ SSLListen .br Listens on the specified address and port for encrypted connections. .TP 5 +SSLOptions None +.TP 5 +SSLOptions NoEmptyFragments +.br +Sets SSL/TLS protocol options for encrypted connections. +.TP 5 SSLPort .br Listens on the specified port for encrypted connections. @@ -664,5 +676,5 @@ http://localhost:631/help .SH COPYRIGHT Copyright 2007-2008 by Apple Inc. .\" -.\" End of "$Id: cupsd.conf.man.in 7645 2008-06-16 17:21:10Z mike $". +.\" End of "$Id: cupsd.conf.man.in 7935 2008-09-11 01:54:11Z mike $". .\" diff --git a/man/cupsfilter.man b/man/cupsfilter.man index a2d5c087d8..7ffa912213 100644 --- a/man/cupsfilter.man +++ b/man/cupsfilter.man @@ -1,9 +1,9 @@ .\" -.\" "$Id: cupsfilter.man 7600 2008-05-20 21:06:23Z mike $" +.\" "$Id: cupsfilter.man 7936 2008-09-11 03:12:59Z mike $" .\" .\" cupsfilter man page for the Common UNIX Printing System (CUPS). .\" -.\" Copyright 2007 by Apple Inc. +.\" Copyright 2007-2008 by Apple Inc. .\" .\" These coded instructions, statements, and computer programs are the .\" property of Apple Inc. and are protected by Federal copyright @@ -11,7 +11,7 @@ .\" which should have been included with this file. If this file is .\" file is missing or damaged, see the license at "http://www.cups.org/". .\" -.TH cupsfilter 8 "Common UNIX Printing System" "19 October 2007" "Apple Inc." +.TH cupsfilter 8 "Common UNIX Printing System" "10 September 2008" "Apple Inc." .SH NAME cupsfilter \- convert a file to another format using cups filters .SH SYNOPSIS @@ -50,6 +50,8 @@ converted. -m mime/type .br Specifies the destination file type. The default file type is application/pdf. +Use printer/foo to convert to the printer format defined by the filters in the +PPD file. .TP 5 -n copies .br @@ -74,7 +76,7 @@ This will be addressed in a future CUPS release. .br http://localhost:631/help .SH COPYRIGHT -Copyright 2007 by Apple Inc. +Copyright 2007-2008 by Apple Inc. .\" -.\" End of "$Id: cupsfilter.man 7600 2008-05-20 21:06:23Z mike $". +.\" End of "$Id: cupsfilter.man 7936 2008-09-11 03:12:59Z mike $". .\" diff --git a/man/lp.man b/man/lp.man index 0a879b0ca8..00ce38deeb 100644 --- a/man/lp.man +++ b/man/lp.man @@ -1,5 +1,5 @@ .\" -.\" "$Id: lp.man 7600 2008-05-20 21:06:23Z mike $" +.\" "$Id: lp.man 7889 2008-08-29 22:03:35Z mike $" .\" .\" lp man page for the Common UNIX Printing System (CUPS). .\" @@ -245,5 +245,5 @@ http://localhost:631/help .SH COPYRIGHT Copyright 2007-2008 by Apple Inc. .\" -.\" End of "$Id: lp.man 7600 2008-05-20 21:06:23Z mike $". +.\" End of "$Id: lp.man 7889 2008-08-29 22:03:35Z mike $". .\" diff --git a/man/lpoptions.man.in b/man/lpoptions.man.in index dd51590fb0..66594e2811 100644 --- a/man/lpoptions.man.in +++ b/man/lpoptions.man.in @@ -1,5 +1,5 @@ .\" -.\" "$Id: lpoptions.man.in 7600 2008-05-20 21:06:23Z mike $" +.\" "$Id: lpoptions.man.in 7889 2008-08-29 22:03:35Z mike $" .\" .\" lpoptions man page for the Common UNIX Printing System (CUPS). .\" @@ -131,5 +131,5 @@ http://localhost:631/help .SH COPYRIGHT Copyright 2007-2008 by Apple Inc. .\" -.\" End of "$Id: lpoptions.man.in 7600 2008-05-20 21:06:23Z mike $". +.\" End of "$Id: lpoptions.man.in 7889 2008-08-29 22:03:35Z mike $". .\" diff --git a/man/lpr.man b/man/lpr.man index 82d787969e..e91bef0a54 100644 --- a/man/lpr.man +++ b/man/lpr.man @@ -1,5 +1,5 @@ .\" -.\" "$Id: lpr.man 7600 2008-05-20 21:06:23Z mike $" +.\" "$Id: lpr.man 7889 2008-08-29 22:03:35Z mike $" .\" .\" lpr man page for the Common UNIX Printing System (CUPS). .\" @@ -118,5 +118,5 @@ http://localhost:631/help .SH COPYRIGHT Copyright 2007-2008 by Apple Inc. .\" -.\" End of "$Id: lpr.man 7600 2008-05-20 21:06:23Z mike $". +.\" End of "$Id: lpr.man 7889 2008-08-29 22:03:35Z mike $". .\" diff --git a/man/lpstat.man b/man/lpstat.man index e0bb5935da..33e519cf94 100644 --- a/man/lpstat.man +++ b/man/lpstat.man @@ -1,5 +1,5 @@ .\" -.\" "$Id: lpstat.man 7600 2008-05-20 21:06:23Z mike $" +.\" "$Id: lpstat.man 7921 2008-09-10 15:42:24Z mike $" .\" .\" lpstat man page for the Common UNIX Printing System (CUPS). .\" @@ -139,5 +139,5 @@ http://localhost:631/help .SH COPYRIGHT Copyright 2007-2008 by Apple Inc. .\" -.\" End of "$Id: lpstat.man 7600 2008-05-20 21:06:23Z mike $". +.\" End of "$Id: lpstat.man 7921 2008-09-10 15:42:24Z mike $". .\" diff --git a/man/mantohtml.c b/man/mantohtml.c index 01a4751967..60837fa023 100644 --- a/man/mantohtml.c +++ b/man/mantohtml.c @@ -1,5 +1,5 @@ /* - * "$Id: mantohtml.c 7662 2008-06-17 14:34:20Z mike $" + * "$Id: mantohtml.c 7720 2008-07-11 22:46:21Z mike $" * * Man page to HTML conversion program. * @@ -714,5 +714,5 @@ strmove(char *d, /* I - Destination */ /* - * End of "$Id: mantohtml.c 7662 2008-06-17 14:34:20Z mike $". + * End of "$Id: mantohtml.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/monitor/Makefile b/monitor/Makefile index 4debb6ac01..6152e33df1 100644 --- a/monitor/Makefile +++ b/monitor/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # Port monitor makefile for the Common UNIX Printing System (CUPS). # @@ -142,5 +142,5 @@ include Dependencies # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/notifier/Makefile b/notifier/Makefile index 1f63c8497a..2dc2c96829 100644 --- a/notifier/Makefile +++ b/notifier/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7920 2008-09-10 01:04:10Z mike $" # # Notifier makefile for the Common UNIX Printing System (CUPS). # @@ -159,5 +159,5 @@ include Dependencies # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7920 2008-09-10 01:04:10Z mike $". # diff --git a/notifier/rss.c b/notifier/rss.c index 4e2d14faf5..b9d299a51f 100644 --- a/notifier/rss.c +++ b/notifier/rss.c @@ -1,5 +1,5 @@ /* - * "$Id: rss.c 7451 2008-04-14 20:02:39Z mike $" + * "$Id: rss.c 7824 2008-08-01 21:11:55Z mike $" * * RSS notifier for the Common UNIX Printing System (CUPS). * @@ -728,5 +728,5 @@ xml_escape(const char *s) /* I - String to escape */ /* - * End of "$Id: rss.c 7451 2008-04-14 20:02:39Z mike $". + * End of "$Id: rss.c 7824 2008-08-01 21:11:55Z mike $". */ diff --git a/packaging/cups.list.in b/packaging/cups.list.in index d908715397..55878879df 100644 --- a/packaging/cups.list.in +++ b/packaging/cups.list.in @@ -1,5 +1,5 @@ # -# "$Id: cups.list.in 7693 2008-06-25 17:12:28Z mike $" +# "$Id: cups.list.in 7930 2008-09-10 22:25:54Z mike $" # # ESP Package Manager (EPM) file list for the Common UNIX Printing # System (CUPS). @@ -795,5 +795,5 @@ f 0644 root sys $XINETD/cups-lpd init/cups-lpd %subpackage # -# End of "$Id: cups.list.in 7693 2008-06-25 17:12:28Z mike $". +# End of "$Id: cups.list.in 7930 2008-09-10 22:25:54Z mike $". # diff --git a/packaging/cups.spec.in b/packaging/cups.spec.in index 7b6e55b52f..2fd5420e59 100644 --- a/packaging/cups.spec.in +++ b/packaging/cups.spec.in @@ -1,5 +1,5 @@ # -# "$Id: cups.spec.in 7693 2008-06-25 17:12:28Z mike $" +# "$Id: cups.spec.in 7718 2008-07-10 23:04:22Z mike $" # # RPM "spec" file for the Common UNIX Printing System (CUPS). # @@ -358,5 +358,5 @@ rm -rf $RPM_BUILD_ROOT # -# End of "$Id: cups.spec.in 7693 2008-06-25 17:12:28Z mike $". +# End of "$Id: cups.spec.in 7718 2008-07-10 23:04:22Z mike $". # diff --git a/packaging/installer.gif b/packaging/installer.gif index d092828f53..bbbd24bede 100644 Binary files a/packaging/installer.gif and b/packaging/installer.gif differ diff --git a/packaging/installer.tif b/packaging/installer.tif index 70d9005c6a..7eba7a2f9b 100644 Binary files a/packaging/installer.tif and b/packaging/installer.tif differ diff --git a/scheduler/Makefile b/scheduler/Makefile index e38238f9f1..32918149e3 100644 --- a/scheduler/Makefile +++ b/scheduler/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $" # # Scheduler Makefile for the Common UNIX Printing System (CUPS). # @@ -543,5 +543,5 @@ include Dependencies # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7875 2008-08-27 22:53:31Z mike $". # diff --git a/scheduler/auth.c b/scheduler/auth.c index 2391b78ee1..5d839283c7 100644 --- a/scheduler/auth.c +++ b/scheduler/auth.c @@ -1,5 +1,5 @@ /* - * "$Id: auth.c 7673 2008-06-18 22:31:26Z mike $" + * "$Id: auth.c 7830 2008-08-04 20:38:50Z mike $" * * Authorization routines for the Common UNIX Printing System (CUPS). * @@ -2764,5 +2764,5 @@ to64(char *s, /* O - Output string */ /* - * End of "$Id: auth.c 7673 2008-06-18 22:31:26Z mike $". + * End of "$Id: auth.c 7830 2008-08-04 20:38:50Z mike $". */ diff --git a/scheduler/classes.c b/scheduler/classes.c index da828ce749..1d5ecf0968 100644 --- a/scheduler/classes.c +++ b/scheduler/classes.c @@ -1,5 +1,5 @@ /* - * "$Id: classes.c 7608 2008-05-21 01:37:21Z mike $" + * "$Id: classes.c 7724 2008-07-14 06:06:06Z mike $" * * Printer class routines for the Common UNIX Printing System (CUPS). * @@ -957,5 +957,5 @@ cupsdUpdateImplicitClasses(void) /* - * End of "$Id: classes.c 7608 2008-05-21 01:37:21Z mike $". + * End of "$Id: classes.c 7724 2008-07-14 06:06:06Z mike $". */ diff --git a/scheduler/client.c b/scheduler/client.c index 3e3845e058..8e9d84bbe2 100644 --- a/scheduler/client.c +++ b/scheduler/client.c @@ -1,5 +1,5 @@ /* - * "$Id: client.c 7673 2008-06-18 22:31:26Z mike $" + * "$Id: client.c 7950 2008-09-17 00:21:59Z mike $" * * Client routines for the Common UNIX Printing System (CUPS) scheduler. * @@ -437,14 +437,22 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */ #ifdef AF_INET6 if (temp.addr.sa_family == AF_INET6) { - httpAddrLookup(&temp, con->servername, sizeof(con->servername)); + if (HostNameLookups) + httpAddrLookup(&temp, con->servername, sizeof(con->servername)); + else + httpAddrString(&temp, con->servername, sizeof(con->servername)); + con->serverport = ntohs(lis->address.ipv6.sin6_port); } else #endif /* AF_INET6 */ if (temp.addr.sa_family == AF_INET) { - httpAddrLookup(&temp, con->servername, sizeof(con->servername)); + if (HostNameLookups) + httpAddrLookup(&temp, con->servername, sizeof(con->servername)); + else + httpAddrString(&temp, con->servername, sizeof(con->servername)); + con->serverport = ntohs(lis->address.ipv4.sin_port); } else @@ -3080,6 +3088,8 @@ encrypt_client(cupsd_client_t *con) /* I - Client to encrypt */ context = SSL_CTX_new(SSLv23_server_method()); SSL_CTX_set_options(context, SSL_OP_NO_SSLv2); /* Only use SSLv3 or TLS */ + if (SSLOptions & CUPSD_SSL_NOEMPTY) + SSL_CTX_set_options(context, SSL_OP_DONTS_INSERT_EMPTY_FRAGMENTS); SSL_CTX_use_PrivateKey_file(context, ServerKey, SSL_FILETYPE_PEM); SSL_CTX_use_certificate_chain_file(context, ServerCertificate, SSL_FILETYPE_PEM); @@ -4968,5 +4978,5 @@ write_pipe(cupsd_client_t *con) /* I - Client connection */ /* - * End of "$Id: client.c 7673 2008-06-18 22:31:26Z mike $". + * End of "$Id: client.c 7950 2008-09-17 00:21:59Z mike $". */ diff --git a/scheduler/client.h b/scheduler/client.h index c817e7cce6..6ea7208890 100644 --- a/scheduler/client.h +++ b/scheduler/client.h @@ -1,5 +1,5 @@ /* - * "$Id: client.h 7470 2008-04-18 23:24:24Z mike $" + * "$Id: client.h 7935 2008-09-11 01:54:11Z mike $" * * Client definitions for the Common UNIX Printing System (CUPS) scheduler. * @@ -17,6 +17,7 @@ # include #endif /* HAVE_AUTHORIZATION_H */ + /* * HTTP client structure... */ @@ -134,5 +135,5 @@ extern void cupsdWriteClient(cupsd_client_t *con); /* - * End of "$Id: client.h 7470 2008-04-18 23:24:24Z mike $". + * End of "$Id: client.h 7935 2008-09-11 01:54:11Z mike $". */ diff --git a/scheduler/conf.c b/scheduler/conf.c index 1269555a75..e640a21012 100644 --- a/scheduler/conf.c +++ b/scheduler/conf.c @@ -1,5 +1,5 @@ /* - * "$Id: conf.c 7694 2008-06-26 00:23:20Z mike $" + * "$Id: conf.c 7952 2008-09-17 00:56:20Z mike $" * * Configuration routines for the Common UNIX Printing System (CUPS). * @@ -95,6 +95,7 @@ static const cupsd_var_t variables[] = { "BrowseRemoteOptions", &BrowseRemoteOptions, CUPSD_VARTYPE_STRING }, { "BrowseShortNames", &BrowseShortNames, CUPSD_VARTYPE_BOOLEAN }, { "BrowseTimeout", &BrowseTimeout, CUPSD_VARTYPE_INTEGER }, + { "BrowseWebIF", &BrowseWebIF, CUPSD_VARTYPE_BOOLEAN }, { "Browsing", &Browsing, CUPSD_VARTYPE_BOOLEAN }, { "CacheDir", &CacheDir, CUPSD_VARTYPE_STRING }, { "Classification", &Classification, CUPSD_VARTYPE_STRING }, @@ -548,6 +549,7 @@ cupsdReadConfiguration(void) DefaultAuthType = CUPSD_AUTH_BASIC; #ifdef HAVE_SSL DefaultEncryption = HTTP_ENCRYPT_REQUIRED; + SSLOptions = CUPSD_SSL_NONE; #endif /* HAVE_SSL */ DirtyCleanInterval = DEFAULT_KEEPALIVE; JobRetryLimit = 5; @@ -581,6 +583,7 @@ cupsdReadConfiguration(void) BrowseRemoteProtocols = parse_protocols(CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS); BrowseShortNames = CUPS_DEFAULT_BROWSE_SHORT_NAMES; BrowseTimeout = DEFAULT_TIMEOUT; + BrowseWebIF = FALSE; Browsing = CUPS_DEFAULT_BROWSING; DefaultShared = CUPS_DEFAULT_DEFAULT_SHARED; @@ -3198,6 +3201,21 @@ read_configuration(cups_file_t *fp) /* I - File to read from */ "Missing value for SetEnv directive on line %d.", linenum); } + else if (!strcasecmp(line, "SSLOptions")) + { + /* + * SSLOptions options + */ + + if (!value || !strcasecmp(value, "none")) + SSLOptions = CUPSD_SSL_NONE; + else if (!strcasecmp(value, "noemptyfragments")) + SSLOptions = CUPSD_SSL_NOEMPTY; + else + cupsdLogMessage(CUPSD_LOG_ERROR, + "Unknown value \"%s\" for SSLOptions directive on " + "line %d.", value, linenum); + } else { /* @@ -3354,6 +3372,8 @@ read_location(cups_file_t *fp, /* I - Configuration file */ cupsdLogMessage(CUPSD_LOG_ERROR, "Syntax error on line %d.", linenum); if (FatalErrors & CUPSD_FATAL_CONFIG) return (0); + else + continue; } if ((loc = cupsdCopyLocation(&parent)) == NULL) @@ -3494,6 +3514,8 @@ read_policy(cups_file_t *fp, /* I - Configuration file */ cupsdLogMessage(CUPSD_LOG_ERROR, "Syntax error on line %d.", linenum); if (FatalErrors & CUPSD_FATAL_CONFIG) return (0); + else + continue; } /* @@ -3595,5 +3617,5 @@ read_policy(cups_file_t *fp, /* I - Configuration file */ /* - * End of "$Id: conf.c 7694 2008-06-26 00:23:20Z mike $". + * End of "$Id: conf.c 7952 2008-09-17 00:56:20Z mike $". */ diff --git a/scheduler/conf.h b/scheduler/conf.h index e80a24ea99..e53f13f44a 100644 --- a/scheduler/conf.h +++ b/scheduler/conf.h @@ -1,5 +1,5 @@ /* - * "$Id: conf.h 7674 2008-06-18 23:18:32Z mike $" + * "$Id: conf.h 7935 2008-09-11 01:54:11Z mike $" * * Configuration file definitions for the Common UNIX Printing System (CUPS) * scheduler. @@ -66,6 +66,14 @@ typedef enum #define PRINTCAP_SOLARIS 1 /* Solaris lpsched format */ +/* + * SSL options (bits)... + */ + +#define CUPSD_SSL_NONE 0 /* No special options */ +#define CUPSD_SSL_NOEMPTY 1 /* Do not insert empty fragments */ + + /* * Globals... */ @@ -217,6 +225,8 @@ VAR char *ServerCertificate VALUE(NULL); VAR char *ServerKey VALUE(NULL); /* Server key file */ # endif /* HAVE_LIBSSL || HAVE_GNUTLS */ +VAR int SSLOptions VALUE(CUPSD_SSL_NONE); + /* SSL/TLS options */ #endif /* HAVE_SSL */ #ifdef HAVE_LAUNCHD @@ -268,5 +278,5 @@ extern int cupsdWriteErrorLog(int level, const char *message); /* - * End of "$Id: conf.h 7674 2008-06-18 23:18:32Z mike $". + * End of "$Id: conf.h 7935 2008-09-11 01:54:11Z mike $". */ diff --git a/scheduler/cups-deviced.c b/scheduler/cups-deviced.c index 8b634a27cb..d35940c078 100644 --- a/scheduler/cups-deviced.c +++ b/scheduler/cups-deviced.c @@ -1,5 +1,5 @@ /* - * "$Id: cups-deviced.c 7624 2008-06-09 15:55:04Z mike $" + * "$Id: cups-deviced.c 7816 2008-07-30 20:53:31Z mike $" * * Device scanning mini-daemon for the Common UNIX Printing System (CUPS). * @@ -828,5 +828,5 @@ start_backend(const char *name, /* I - Backend to run */ /* - * End of "$Id: cups-deviced.c 7624 2008-06-09 15:55:04Z mike $". + * End of "$Id: cups-deviced.c 7816 2008-07-30 20:53:31Z mike $". */ diff --git a/scheduler/cups-lpd.c b/scheduler/cups-lpd.c index d79c69202c..756d8fedb2 100644 --- a/scheduler/cups-lpd.c +++ b/scheduler/cups-lpd.c @@ -1,5 +1,5 @@ /* - * "$Id: cups-lpd.c 7221 2008-01-16 22:20:08Z mike $" + * "$Id: cups-lpd.c 7899 2008-09-03 12:57:17Z mike $" * * Line Printer Daemon interface for the Common UNIX Printing System (CUPS). * @@ -1731,5 +1731,5 @@ smart_gets(char *s, /* I - Pointer to line buffer */ /* - * End of "$Id: cups-lpd.c 7221 2008-01-16 22:20:08Z mike $". + * End of "$Id: cups-lpd.c 7899 2008-09-03 12:57:17Z mike $". */ diff --git a/scheduler/cupsd.h b/scheduler/cupsd.h index 5b1a4d6452..4c26cd8d90 100644 --- a/scheduler/cupsd.h +++ b/scheduler/cupsd.h @@ -1,5 +1,5 @@ /* - * "$Id: cupsd.h 7317 2008-02-15 22:29:27Z mike $" + * "$Id: cupsd.h 7928 2008-09-10 22:14:22Z mike $" * * Main header file for the Common UNIX Printing System (CUPS) scheduler. * @@ -234,5 +234,5 @@ extern void cupsdStopSelect(void); extern int cupsdRemoveFile(const char *filename); /* - * End of "$Id: cupsd.h 7317 2008-02-15 22:29:27Z mike $". + * End of "$Id: cupsd.h 7928 2008-09-10 22:14:22Z mike $". */ diff --git a/scheduler/cupsfilter.c b/scheduler/cupsfilter.c index d387ecf7c6..6974e47c66 100644 --- a/scheduler/cupsfilter.c +++ b/scheduler/cupsfilter.c @@ -1,5 +1,5 @@ /* - * "$Id: cupsfilter.c 7694 2008-06-26 00:23:20Z mike $" + * "$Id: cupsfilter.c 7952 2008-09-17 00:56:20Z mike $" * * CUPS filtering program for the Common UNIX Printing System (CUPS). * @@ -75,21 +75,28 @@ static char TempFile[1024] = ""; * Local functions... */ -static int compare_pids(mime_filter_t *a, mime_filter_t *b); -static char *escape_options(int num_options, cups_option_t *options); -static int exec_filter(const char *filter, char **argv, char **envp, - int infd, int outfd); -static int exec_filters(cups_array_t *filters, const char *infile, - const char *outfile, const char *ppdfile, - const char *printer, const char *user, - const char *title, int num_options, - cups_option_t *options); -static void get_job_file(const char *job); -static int open_pipe(int *fds); -static int read_cupsd_conf(const char *filename); -static void set_string(char **s, const char *val); -static void sighandler(int sig); -static void usage(const char *command, const char *opt); +static void add_printer_filter(const char *command, mime_t *mime, + mime_type_t *printer_type, + const char *filter); +static mime_type_t *add_printer_filters(const char *command, + mime_t *mime, const char *printer, + const char *ppdfile, + mime_type_t **prefilter_type); +static int compare_pids(mime_filter_t *a, mime_filter_t *b); +static char *escape_options(int num_options, cups_option_t *options); +static int exec_filter(const char *filter, char **argv, + char **envp, int infd, int outfd); +static int exec_filters(cups_array_t *filters, const char *infile, + const char *outfile, const char *ppdfile, + const char *printer, const char *user, + const char *title, int num_options, + cups_option_t *options); +static void get_job_file(const char *job); +static int open_pipe(int *fds); +static int read_cupsd_conf(const char *filename); +static void set_string(char **s, const char *val); +static void sighandler(int sig); +static void usage(const char *command, const char *opt); /* @@ -102,7 +109,10 @@ main(int argc, /* I - Number of command-line args */ { int i; /* Looping vars */ const char *command, /* Command name */ - *opt; /* Current option */ + *opt, /* Current option */ + *printer; /* Printer name */ + mime_type_t *printer_type, /* Printer MIME type */ + *prefilter_type; /* Printer prefilter MIME type */ char *srctype, /* Source type */ *dsttype, /* Destination type */ super[MIME_MAX_SUPER], /* Super-type name */ @@ -137,6 +147,7 @@ main(int argc, /* I - Number of command-line args */ else command = argv[0]; + printer = !strcmp(command, "convert") ? "tofile" : "cupsfilter"; mime = NULL; srctype = NULL; compression = 0; @@ -369,6 +380,9 @@ main(int argc, /* I - Number of command-line args */ return (1); } + printer_type = add_printer_filters(command, mime, printer, ppdfile, + &prefilter_type); + /* * Get the source and destination types... */ @@ -393,7 +407,9 @@ main(int argc, /* I - Number of command-line args */ } sscanf(dsttype, "%15[^/]/%255s", super, type); - if ((dst = mimeType(mime, super, type)) == NULL) + if (!strcasecmp(super, "printer")) + dst = printer_type; + else if ((dst = mimeType(mime, super, type)) == NULL) { _cupsLangPrintf(stderr, _("%s: Unknown destination MIME type %s/%s!\n"), @@ -424,13 +440,38 @@ main(int argc, /* I - Number of command-line args */ else if (compression) cupsArrayInsert(filters, &GZIPFilter); + if (prefilter_type) + { + /* + * Add pre-filters... + */ + + mime_filter_t *filter, /* Current filter */ + *prefilter; /* Current pre-filter */ + cups_array_t *prefilters = cupsArrayNew(NULL, NULL); + /* New filters array */ + + + for (filter = (mime_filter_t *)cupsArrayFirst(filters); + filter; + filter = (mime_filter_t *)cupsArrayNext(filters)) + { + if ((prefilter = mimeFilterLookup(mime, filter->src, prefilter_type))) + cupsArrayAdd(prefilters, prefilter); + + cupsArrayAdd(prefilters, filter); + } + + cupsArrayDelete(filters); + filters = prefilters; + } + /* * Do it! */ - status = exec_filters(filters, infile, outfile, ppdfile, - !strcmp(command, "convert") ? "tofile" : "cupsfilter", - user, title, num_options, options); + status = exec_filters(filters, infile, outfile, ppdfile, printer, user, + title, num_options, options); /* * Remove files as needed, then exit... @@ -449,6 +490,131 @@ main(int argc, /* I - Number of command-line args */ } +/* + * 'add_printer_filter()' - Add a single filters from a PPD file. + */ + +static void +add_printer_filter( + const char *command, /* I - Command name */ + mime_t *mime, /* I - MIME database */ + mime_type_t *filtertype, /* I - Printer or prefilter MIME type */ + const char *filter) /* I - Filter to add */ +{ + char super[MIME_MAX_SUPER], /* Super-type for filter */ + type[MIME_MAX_TYPE], /* Type for filter */ + program[1024]; /* Program/filter name */ + int cost; /* Cost of filter */ + mime_type_t *temptype; /* MIME type looping var */ + char filename[1024]; /* Full filter filename */ + + + /* + * Parse the filter string; it should be in the following format: + * + * super/type cost program + */ + + if (sscanf(filter, "%15[^/]/%31s%d%*[ \t]%1023[^\n]", super, type, &cost, + program) != 4) + { + _cupsLangPrintf(stderr, _("%s: Invalid filter string \"%s\"\n"), command, + filter); + return; + } + + /* + * See if the filter program exists; if not, stop the printer and flag + * the error! + */ + + if (strcmp(program, "-")) + { + if (program[0] == '/') + strlcpy(filename, program, sizeof(filename)); + else + snprintf(filename, sizeof(filename), "%s/filter/%s", ServerBin, program); + + if (access(filename, X_OK)) + { + _cupsLangPrintf(stderr, _("%s: Filter \"%s\" not available: %s\n"), + command, program, strerror(errno)); + return; + } + } + + /* + * Add the filter to the MIME database, supporting wildcards as needed... + */ + + for (temptype = mimeFirstType(mime); + temptype; + temptype = mimeNextType(mime)) + if (((super[0] == '*' && strcasecmp(temptype->super, "printer")) || + !strcasecmp(temptype->super, super)) && + (type[0] == '*' || !strcasecmp(temptype->type, type))) + mimeAddFilter(mime, temptype, filtertype, cost, program); +} + + +/* + * 'add_printer_filters()' - Add filters from a PPD file. + */ + +static mime_type_t * /* O - Printer type or NULL on error */ +add_printer_filters( + const char *command, /* I - Command name */ + mime_t *mime, /* I - MIME database */ + const char *printer, /* I - Printer name */ + const char *ppdfile, /* I - PPD file */ + mime_type_t **prefilter_type) /* O - Prefilter type */ +{ + int i; /* Looping var */ + mime_type_t *printer_type; /* Printer MIME type */ + ppd_file_t *ppd; /* PPD file data */ + ppd_attr_t *ppdattr; /* Current prefilter */ + + + if ((ppd = ppdOpenFile(ppdfile)) == NULL) + { + ppd_status_t status; /* PPD load status */ + + status = ppdLastError(&i); + _cupsLangPrintf(stderr, _("%s: Unable to open PPD file: %s on line %d\n"), + command, ppdErrorString(status), i); + return (NULL); + } + + printer_type = mimeAddType(mime, "printer", printer); + + if (ppd->num_filters > 0) + { + for (i = 0; i < ppd->num_filters; i ++) + add_printer_filter(command, mime, printer_type, ppd->filters[i]); + } + else + { + add_printer_filter(command, mime, printer_type, + "application/vnd.cups-command 0 commandtops"); + add_printer_filter(command, mime, printer_type, + "application/vnd.cups-postscript 0 -"); + } + + if ((ppdattr = ppdFindAttr(ppd, "cupsPreFilter", NULL)) != NULL) + { + *prefilter_type = mimeAddType(mime, "prefilter", printer); + + for (; ppdattr; ppdattr = ppdFindNextAttr(ppd, "cupsPreFilter", NULL)) + if (ppdattr->value) + add_printer_filter(command, mime, *prefilter_type, ppdattr->value); + } + else + *prefilter_type = NULL; + + return (printer_type); +} + + /* * 'compare_pids()' - Compare two filter PIDs... */ @@ -1144,5 +1310,5 @@ usage(const char *command, /* I - Command name */ /* - * End of "$Id: cupsfilter.c 7694 2008-06-26 00:23:20Z mike $". + * End of "$Id: cupsfilter.c 7952 2008-09-17 00:56:20Z mike $". */ diff --git a/scheduler/dirsvc.c b/scheduler/dirsvc.c index 82ed305152..172df57784 100644 --- a/scheduler/dirsvc.c +++ b/scheduler/dirsvc.c @@ -1,5 +1,5 @@ /* - * "$Id: dirsvc.c 7676 2008-06-18 23:42:37Z mike $" + * "$Id: dirsvc.c 7933 2008-09-11 00:44:58Z mike $" * * Directory services routines for the Common UNIX Printing System (CUPS). * @@ -1945,26 +1945,29 @@ cupsdUpdateDNSSDName(void) #endif /* HAVE_COREFOUNDATION_H */ /* - * Then (re)register the web interface... + * Then (re)register the web interface if enabled... */ - if (DNSSDName) - snprintf(webif, sizeof(webif), "CUPS @ %s", DNSSDName); - else - strlcpy(webif, "CUPS Web Interface", sizeof(webif)); - - if (WebIFRef) - DNSServiceRefDeallocate(WebIFRef); - - WebIFRef = DNSSDRef; - if ((error = DNSServiceRegister(&WebIFRef, - kDNSServiceFlagsShareConnection, - 0, webif, "_http._tcp", NULL, - NULL, htons(DNSSDPort), 7, - "\006path=/", dnssdRegisterCallback, - NULL)) != kDNSServiceErr_NoError) - cupsdLogMessage(CUPSD_LOG_ERROR, - "DNS-SD web interface registration failed: %d", error); + if (BrowseWebIF) + { + if (DNSSDName) + snprintf(webif, sizeof(webif), "CUPS @ %s", DNSSDName); + else + strlcpy(webif, "CUPS Web Interface", sizeof(webif)); + + if (WebIFRef) + DNSServiceRefDeallocate(WebIFRef); + + WebIFRef = DNSSDRef; + if ((error = DNSServiceRegister(&WebIFRef, + kDNSServiceFlagsShareConnection, + 0, webif, "_http._tcp", NULL, + NULL, htons(DNSSDPort), 7, + "\006path=/", dnssdRegisterCallback, + NULL)) != kDNSServiceErr_NoError) + cupsdLogMessage(CUPSD_LOG_ERROR, + "DNS-SD web interface registration failed: %d", error); + } } #endif /* HAVE_DNSSD */ @@ -5268,5 +5271,5 @@ update_smb(int onoff) /* I - 1 = turn on, 0 = turn off */ /* - * End of "$Id: dirsvc.c 7676 2008-06-18 23:42:37Z mike $". + * End of "$Id: dirsvc.c 7933 2008-09-11 00:44:58Z mike $". */ diff --git a/scheduler/dirsvc.h b/scheduler/dirsvc.h index 143a1ebac5..8dfc2d585b 100644 --- a/scheduler/dirsvc.h +++ b/scheduler/dirsvc.h @@ -1,5 +1,5 @@ /* - * "$Id: dirsvc.h 7676 2008-06-18 23:42:37Z mike $" + * "$Id: dirsvc.h 7933 2008-09-11 00:44:58Z mike $" * * Directory services definitions for the Common UNIX Printing System * (CUPS) scheduler. @@ -85,6 +85,8 @@ typedef struct VAR int Browsing VALUE(TRUE), /* Whether or not browsing is enabled */ + BrowseWebIF VALUE(FALSE), + /* Whether the web interface is advertised */ BrowseLocalProtocols VALUE(BROWSE_ALL), /* Protocols to support for local printers */ @@ -202,5 +204,5 @@ extern void cupsdUpdateSLPBrowse(void); /* - * End of "$Id: dirsvc.h 7676 2008-06-18 23:42:37Z mike $". + * End of "$Id: dirsvc.h 7933 2008-09-11 00:44:58Z mike $". */ diff --git a/scheduler/ipp.c b/scheduler/ipp.c index 075ee2407f..936a43d1fa 100644 --- a/scheduler/ipp.c +++ b/scheduler/ipp.c @@ -1,5 +1,5 @@ /* - * "$Id: ipp.c 7682 2008-06-21 00:06:02Z mike $" + * "$Id: ipp.c 7944 2008-09-16 22:32:42Z mike $" * * IPP routines for the Common UNIX Printing System (CUPS) scheduler. * @@ -7476,8 +7476,8 @@ get_printers(cupsd_client_t *con, /* I - Client connection */ { if ((!type || (printer->type & CUPS_PRINTER_CLASS) == type) && (printer->type & printer_mask) == printer_type && - (!location || !printer->location || - !strcasecmp(printer->location, location))) + (!location || + (printer->location && !strcasecmp(printer->location, location)))) { /* * If HideImplicitMembers is enabled, see if this printer or class @@ -8460,6 +8460,8 @@ print_job(cupsd_client_t *con, /* I - Client connection */ "File of type %s/%s queued by \"%s\".", filetype->super, filetype->type, job->username); cupsdLogJob(job, CUPSD_LOG_DEBUG, "hold_until=%d", (int)job->hold_until); + cupsdLogJob(job, CUPSD_LOG_INFO, "Queued on \"%s\" by \"%s\".", + job->dest, job->username); /* * Start the job if possible... @@ -11017,5 +11019,5 @@ validate_user(cupsd_job_t *job, /* I - Job */ /* - * End of "$Id: ipp.c 7682 2008-06-21 00:06:02Z mike $". + * End of "$Id: ipp.c 7944 2008-09-16 22:32:42Z mike $". */ diff --git a/scheduler/job.c b/scheduler/job.c index 1fa6352aa0..8f453d9804 100644 --- a/scheduler/job.c +++ b/scheduler/job.c @@ -1,5 +1,5 @@ /* - * "$Id: job.c 7682 2008-06-21 00:06:02Z mike $" + * "$Id: job.c 7902 2008-09-03 14:20:17Z mike $" * * Job management routines for the Common UNIX Printing System (CUPS). * @@ -3964,5 +3964,5 @@ update_job_attrs(cupsd_job_t *job, /* I - Job to update */ /* - * End of "$Id: job.c 7682 2008-06-21 00:06:02Z mike $". + * End of "$Id: job.c 7902 2008-09-03 14:20:17Z mike $". */ diff --git a/scheduler/job.h b/scheduler/job.h index d382f6b2f4..9316678797 100644 --- a/scheduler/job.h +++ b/scheduler/job.h @@ -1,5 +1,5 @@ /* - * "$Id: job.h 7468 2008-04-18 18:31:59Z mike $" + * "$Id: job.h 7883 2008-08-28 20:38:13Z mike $" * * Print job definitions for the Common UNIX Printing System (CUPS) scheduler. * @@ -132,5 +132,5 @@ extern void cupsdUnloadCompletedJobs(void); /* - * End of "$Id: job.h 7468 2008-04-18 18:31:59Z mike $". + * End of "$Id: job.h 7883 2008-08-28 20:38:13Z mike $". */ diff --git a/scheduler/listen.c b/scheduler/listen.c index 69fb7fc3ce..2ab8798d8d 100644 --- a/scheduler/listen.c +++ b/scheduler/listen.c @@ -1,5 +1,5 @@ /* - * "$Id: listen.c 7673 2008-06-18 22:31:26Z mike $" + * "$Id: listen.c 7918 2008-09-08 22:03:01Z mike $" * * Server listening routines for the Common UNIX Printing System (CUPS) * scheduler. @@ -455,5 +455,5 @@ cupsdStopListening(void) /* - * End of "$Id: listen.c 7673 2008-06-18 22:31:26Z mike $". + * End of "$Id: listen.c 7918 2008-09-08 22:03:01Z mike $". */ diff --git a/scheduler/log.c b/scheduler/log.c index a0123bf8a1..19cb0cc867 100644 --- a/scheduler/log.c +++ b/scheduler/log.c @@ -1,5 +1,5 @@ /* - * "$Id: log.c 7699 2008-06-27 20:44:23Z mike $" + * "$Id: log.c 7918 2008-09-08 22:03:01Z mike $" * * Log file routines for the Common UNIX Printing System (CUPS). * @@ -956,5 +956,5 @@ format_log_line(const char *message, /* I - Printf-style format string */ /* - * End of "$Id: log.c 7699 2008-06-27 20:44:23Z mike $". + * End of "$Id: log.c 7918 2008-09-08 22:03:01Z mike $". */ diff --git a/scheduler/main.c b/scheduler/main.c index be77cb0ab0..d38045e496 100644 --- a/scheduler/main.c +++ b/scheduler/main.c @@ -1,5 +1,5 @@ /* - * "$Id: main.c 7681 2008-06-20 21:06:02Z mike $" + * "$Id: main.c 7925 2008-09-10 17:47:26Z mike $" * * Scheduler main loop for the Common UNIX Printing System (CUPS). * @@ -2055,5 +2055,5 @@ usage(int status) /* O - Exit status */ /* - * End of "$Id: main.c 7681 2008-06-20 21:06:02Z mike $". + * End of "$Id: main.c 7925 2008-09-10 17:47:26Z mike $". */ diff --git a/scheduler/network.c b/scheduler/network.c index f93330b559..6e15655afd 100644 --- a/scheduler/network.c +++ b/scheduler/network.c @@ -1,5 +1,5 @@ /* - * "$Id: network.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: network.c 7861 2008-08-26 03:15:14Z mike $" * * Network interface functions for the Common UNIX Printing System * (CUPS) scheduler. @@ -310,5 +310,5 @@ compare_netif(cupsd_netif_t *a, /* I - First network interface */ /* - * End of "$Id: network.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: network.c 7861 2008-08-26 03:15:14Z mike $". */ diff --git a/scheduler/printers.c b/scheduler/printers.c index 618defd999..25d820f8a1 100644 --- a/scheduler/printers.c +++ b/scheduler/printers.c @@ -1,5 +1,5 @@ /* - * "$Id: printers.c 7677 2008-06-19 23:22:19Z mike $" + * "$Id: printers.c 7879 2008-08-28 00:08:56Z mike $" * * Printer routines for the Common UNIX Printing System (CUPS). * @@ -4367,5 +4367,5 @@ write_irix_state(cupsd_printer_t *p) /* I - Printer to update */ /* - * End of "$Id: printers.c 7677 2008-06-19 23:22:19Z mike $". + * End of "$Id: printers.c 7879 2008-08-28 00:08:56Z mike $". */ diff --git a/scheduler/removefile.c b/scheduler/removefile.c index 5cf16bfda0..213d795ead 100644 --- a/scheduler/removefile.c +++ b/scheduler/removefile.c @@ -1,5 +1,5 @@ /* - * "$Id$" + * "$Id: removefile.c 7720 2008-07-11 22:46:21Z mike $" * * "Secure" file removal function for the Common UNIX Printing System (CUPS). * @@ -224,5 +224,5 @@ testmain(void) /* - * End of "$Id$". + * End of "$Id: removefile.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/scheduler/select.c b/scheduler/select.c index 20c9547fd6..05512ca713 100644 --- a/scheduler/select.c +++ b/scheduler/select.c @@ -1,5 +1,5 @@ /* - * "$Id: select.c 7093 2007-11-30 19:09:36Z mike $" + * "$Id: select.c 7720 2008-07-11 22:46:21Z mike $" * * Select abstraction functions for the Common UNIX Printing System (CUPS). * @@ -1024,5 +1024,5 @@ find_fd(int fd) /* I - File descriptor */ /* - * End of "$Id: select.c 7093 2007-11-30 19:09:36Z mike $". + * End of "$Id: select.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/scheduler/server.c b/scheduler/server.c index 650b3b16de..a8b851b280 100644 --- a/scheduler/server.c +++ b/scheduler/server.c @@ -1,5 +1,5 @@ /* - * "$Id: server.c 7468 2008-04-18 18:31:59Z mike $" + * "$Id: server.c 7927 2008-09-10 22:05:29Z mike $" * * Server start/stop routines for the Common UNIX Printing System (CUPS). * @@ -215,5 +215,5 @@ cupsdStopServer(void) /* - * End of "$Id: server.c 7468 2008-04-18 18:31:59Z mike $". + * End of "$Id: server.c 7927 2008-09-10 22:05:29Z mike $". */ diff --git a/scheduler/subscriptions.c b/scheduler/subscriptions.c index a0e2dc6021..fa7fb4891c 100644 --- a/scheduler/subscriptions.c +++ b/scheduler/subscriptions.c @@ -1,5 +1,5 @@ /* - * "$Id: subscriptions.c 7673 2008-06-18 22:31:26Z mike $" + * "$Id: subscriptions.c 7824 2008-08-01 21:11:55Z mike $" * * Subscription routines for the Common UNIX Printing System (CUPS) scheduler. * @@ -1623,5 +1623,5 @@ cupsd_update_notifier(void) /* - * End of "$Id: subscriptions.c 7673 2008-06-18 22:31:26Z mike $". + * End of "$Id: subscriptions.c 7824 2008-08-01 21:11:55Z mike $". */ diff --git a/scheduler/subscriptions.h b/scheduler/subscriptions.h index 15e11a445f..b807ac2150 100644 --- a/scheduler/subscriptions.h +++ b/scheduler/subscriptions.h @@ -1,5 +1,5 @@ /* - * "$Id: subscriptions.h 7253 2008-01-23 22:18:15Z mike $" + * "$Id: subscriptions.h 7824 2008-08-01 21:11:55Z mike $" * * Subscription definitions for the Common UNIX Printing System (CUPS) scheduler. * @@ -163,5 +163,5 @@ extern void cupsdStopAllNotifiers(void); /* - * End of "$Id: subscriptions.h 7253 2008-01-23 22:18:15Z mike $". + * End of "$Id: subscriptions.h 7824 2008-08-01 21:11:55Z mike $". */ diff --git a/scheduler/sysman.c b/scheduler/sysman.c index 8933d083eb..25ffc6f3f1 100644 --- a/scheduler/sysman.c +++ b/scheduler/sysman.c @@ -1,5 +1,5 @@ /* - * "$Id: sysman.c 7676 2008-06-18 23:42:37Z mike $" + * "$Id: sysman.c 7928 2008-09-10 22:14:22Z mike $" * * System management definitions for the Common UNIX Printing System (CUPS). * @@ -858,5 +858,5 @@ sysUpdate(void) /* - * End of "$Id: sysman.c 7676 2008-06-18 23:42:37Z mike $". + * End of "$Id: sysman.c 7928 2008-09-10 22:14:22Z mike $". */ diff --git a/scheduler/sysman.h b/scheduler/sysman.h index 97b9dd2c3b..517d143cb9 100644 --- a/scheduler/sysman.h +++ b/scheduler/sysman.h @@ -1,5 +1,5 @@ /* - * "$Id: sysman.h 7676 2008-06-18 23:42:37Z mike $" + * "$Id: sysman.h 7928 2008-09-10 22:14:22Z mike $" * * System management definitions for the Common UNIX Printing System (CUPS). * @@ -56,5 +56,5 @@ extern void cupsdStopSystemMonitor(void); /* - * End of "$Id: sysman.h 7676 2008-06-18 23:42:37Z mike $". + * End of "$Id: sysman.h 7928 2008-09-10 22:14:22Z mike $". */ diff --git a/scheduler/testspeed.c b/scheduler/testspeed.c index c9fe4ed68d..0bf0300ed6 100644 --- a/scheduler/testspeed.c +++ b/scheduler/testspeed.c @@ -1,5 +1,5 @@ /* - * "$Id: testspeed.c 7688 2008-06-24 04:34:52Z mike $" + * "$Id: testspeed.c 7727 2008-07-14 18:02:21Z mike $" * * Scheduler speed test for the Common UNIX Printing System (CUPS). * @@ -362,5 +362,5 @@ usage(void) /* - * End of "$Id: testspeed.c 7688 2008-06-24 04:34:52Z mike $". + * End of "$Id: testspeed.c 7727 2008-07-14 18:02:21Z mike $". */ diff --git a/scheduler/type.c b/scheduler/type.c index e93720d07c..23c1e5b292 100644 --- a/scheduler/type.c +++ b/scheduler/type.c @@ -1,5 +1,5 @@ /* - * "$Id: type.c 7694 2008-06-26 00:23:20Z mike $" + * "$Id: type.c 7720 2008-07-11 22:46:21Z mike $" * * MIME typing routines for the Common UNIX Printing System (CUPS). * @@ -1160,5 +1160,5 @@ patmatch(const char *s, /* I - String to match against */ /* - * End of "$Id: type.c 7694 2008-06-26 00:23:20Z mike $". + * End of "$Id: type.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/scheduler/util.h b/scheduler/util.h index 071ffddf3e..ae7ba7bb2b 100644 --- a/scheduler/util.h +++ b/scheduler/util.h @@ -1,5 +1,5 @@ /* - * "$Id: util.h 7621 2008-06-06 18:55:35Z mike $" + * "$Id: util.h 7711 2008-07-02 04:39:27Z mike $" * * Mini-daemon utility definitions for the Common UNIX Printing System (CUPS). * @@ -70,5 +70,5 @@ extern void cupsdSendIPPTrailer(void); #endif /* !_CUPSD_UTIL_H_ */ /* - * End of "$Id: util.h 7621 2008-06-06 18:55:35Z mike $". + * End of "$Id: util.h 7711 2008-07-02 04:39:27Z mike $". */ diff --git a/standards/Makefile b/standards/Makefile index bda305af05..18ed41ae17 100644 --- a/standards/Makefile +++ b/standards/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # Standards makefile for the Common UNIX Printing System (CUPS). # @@ -150,5 +150,5 @@ rfctohtml: rfctohtml.o ../cups/libcups.a # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/standards/rfc4234.txt b/standards/rfc4234.txt new file mode 100644 index 0000000000..74d4c44f43 --- /dev/null +++ b/standards/rfc4234.txt @@ -0,0 +1,899 @@ + + + + + + +Network Working Group D. Crocker, Ed. +Request for Comments: 4234 Brandenburg InternetWorking +Obsoletes: 2234 P. Overell +Category: Standards Track THUS plc. + October 2005 + + + Augmented BNF for Syntax Specifications: ABNF + +Status of This Memo + + This document specifies an Internet standards track protocol for the + Internet community, and requests discussion and suggestions for + improvements. Please refer to the current edition of the "Internet + Official Protocol Standards" (STD 1) for the standardization state + and status of this protocol. Distribution of this memo is unlimited. + +Copyright Notice + + Copyright (C) The Internet Society (2005). + +Abstract + + Internet technical specifications often need to define a formal + syntax. Over the years, a modified version of Backus-Naur Form + (BNF), called Augmented BNF (ABNF), has been popular among many + Internet specifications. The current specification documents ABNF. + It balances compactness and simplicity, with reasonable + representational power. The differences between standard BNF and + ABNF involve naming rules, repetition, alternatives, order- + independence, and value ranges. This specification also supplies + additional rule definitions and encoding for a core lexical analyzer + of the type common to several Internet specifications. + + + + + + + + + + + + + + + + + + +Crocker & Overell Standards Track [Page 1] + +RFC 4234 ABNF October 2005 + + +Table of Contents + + 1. INTRODUCTION ....................................................2 + 2. RULE DEFINITION .................................................3 + 2.1. Rule Naming ................................................3 + 2.2. Rule Form ..................................................3 + 2.3. Terminal Values ............................................4 + 2.4. External Encodings .........................................5 + 3. OPERATORS .......................................................6 + 3.1. Concatenation: Rule1 Rule2 ................................6 + 3.2. Alternatives: Rule1 / Rule2 ...............................6 + 3.3. Incremental Alternatives: Rule1 =/ Rule2 ...................7 + 3.4. Value Range Alternatives: %c##-## .........................7 + 3.5. Sequence Group: (Rule1 Rule2) .............................8 + 3.6. Variable Repetition: *Rule ................................8 + 3.7. Specific Repetition: nRule ................................9 + 3.8. Optional Sequence: [RULE] .................................9 + 3.9. Comment: ; Comment ........................................9 + 3.10. Operator Precedence .......................................9 + 4. ABNF DEFINITION OF ABNF ........................................10 + 5. SECURITY CONSIDERATIONS ........................................11 + 6. References .....................................................11 + 6.1. Normative References ......................................11 + 6.2. Informative References ....................................11 + Appendix A. ACKNOWLEDGEMENTS .....................................13 + Appendix B. APPENDIX - CORE ABNF OF ABNF .........................13 + B.1. Core Rules ...............................................13 + B.2. Common Encoding ..........................................14 + +1. INTRODUCTION + + Internet technical specifications often need to define a formal + syntax and are free to employ whatever notation their authors deem + useful. Over the years, a modified version of Backus-Naur Form + (BNF), called Augmented BNF (ABNF), has been popular among many + Internet specifications. It balances compactness and simplicity, + with reasonable representational power. In the early days of the + Arpanet, each specification contained its own definition of ABNF. + This included the email specifications, [RFC733] and then [RFC822], + which came to be the common citations for defining ABNF. The current + document separates those definitions to permit selective reference. + Predictably, it also provides some modifications and enhancements. + + The differences between standard BNF and ABNF involve naming rules, + repetition, alternatives, order-independence, and value ranges. + Appendix B supplies rule definitions and encoding for a core lexical + analyzer of the type common to several Internet specifications. It + is provided as a convenience and is otherwise separate from the meta + + + +Crocker & Overell Standards Track [Page 2] + +RFC 4234 ABNF October 2005 + + + language defined in the body of this document, and separate from its + formal status. + + Changes since [RFC2234]: + + In Section 3.7, the phrase: "That is, exactly occurrences of + ." was corrected to: "That is, exactly occurrences of + ." + + Some continuation comment lines needed to be corrected to begin + with comment character (";"). + +2. RULE DEFINITION + +2.1. Rule Naming + + The name of a rule is simply the name itself; that is, a sequence of + characters, beginning with an alphabetic character, and followed by a + combination of alphabetics, digits, and hyphens (dashes). + + NOTE: + + Rule names are case-insensitive + + The names , , , and all + refer to the same rule. + + Unlike original BNF, angle brackets ("<", ">") are not required. + However, angle brackets may be used around a rule name whenever their + presence facilitates in discerning the use of a rule name. This is + typically restricted to rule name references in free-form prose, or + to distinguish partial rules that combine into a string not separated + by white space, such as shown in the discussion about repetition, + below. + +2.2. Rule Form + + A rule is defined by the following sequence: + + name = elements crlf + + where is the name of the rule, is one or more rule + names or terminal specifications, and is the end-of-line + indicator (carriage return followed by line feed). The equal sign + separates the name from the definition of the rule. The elements + form a sequence of one or more rule names and/or value definitions, + combined according to the various operators defined in this document, + such as alternative and repetition. + + + +Crocker & Overell Standards Track [Page 3] + +RFC 4234 ABNF October 2005 + + + For visual ease, rule definitions are left aligned. When a rule + requires multiple lines, the continuation lines are indented. The + left alignment and indentation are relative to the first lines of the + ABNF rules and need not match the left margin of the document. + +2.3. Terminal Values + + Rules resolve into a string of terminal values, sometimes called + characters. In ABNF, a character is merely a non-negative integer. + In certain contexts, a specific mapping (encoding) of values into a + character set (such as ASCII) will be specified. + + Terminals are specified by one or more numeric characters, with the + base interpretation of those characters indicated explicitly. The + following bases are currently defined: + + b = binary + + d = decimal + + x = hexadecimal + + Hence: + + CR = %d13 + + CR = %x0D + + respectively specify the decimal and hexadecimal representation of + [US-ASCII] for carriage return. + + A concatenated string of such values is specified compactly, using a + period (".") to indicate a separation of characters within that + value. Hence: + + CRLF = %d13.10 + + ABNF permits the specification of literal text strings directly, + enclosed in quotation-marks. Hence: + + command = "command string" + + Literal text strings are interpreted as a concatenated set of + printable characters. + + + + + + + +Crocker & Overell Standards Track [Page 4] + +RFC 4234 ABNF October 2005 + + + NOTE: + + ABNF strings are case-insensitive and the character set for these + strings is us-ascii. + + Hence: + + rulename = "abc" + + and: + + rulename = "aBc" + + will match "abc", "Abc", "aBc", "abC", "ABc", "aBC", "AbC", and + "ABC". + + To specify a rule that IS case SENSITIVE, specify the characters + individually. + + For example: + + rulename = %d97 %d98 %d99 + + or + + rulename = %d97.98.99 + + will match only the string that comprises only the lowercased + characters, abc. + +2.4. External Encodings + + External representations of terminal value characters will vary + according to constraints in the storage or transmission environment. + Hence, the same ABNF-based grammar may have multiple external + encodings, such as one for a 7-bit US-ASCII environment, another for + a binary octet environment, and still a different one when 16-bit + Unicode is used. Encoding details are beyond the scope of ABNF, + although Appendix A (Core) provides definitions for a 7-bit US-ASCII + environment as has been common to much of the Internet. + + By separating external encoding from the syntax, it is intended that + alternate encoding environments can be used for the same syntax. + + + + + + + + +Crocker & Overell Standards Track [Page 5] + +RFC 4234 ABNF October 2005 + + +3. OPERATORS + +3.1. Concatenation: Rule1 Rule2 + + A rule can define a simple, ordered string of values (i.e., a + concatenation of contiguous characters) by listing a sequence of rule + names. For example: + + foo = %x61 ; a + + bar = %x62 ; b + + mumble = foo bar foo + + So that the rule matches the lowercase string "aba". + + LINEAR WHITE SPACE: Concatenation is at the core of the ABNF parsing + model. A string of contiguous characters (values) is parsed + according to the rules defined in ABNF. For Internet specifications, + there is some history of permitting linear white space (space and + horizontal tab) to be freely and implicitly interspersed around major + constructs, such as delimiting special characters or atomic strings. + + NOTE: + + This specification for ABNF does not provide for implicit + specification of linear white space. + + Any grammar that wishes to permit linear white space around + delimiters or string segments must specify it explicitly. It is + often useful to provide for such white space in "core" rules that are + then used variously among higher-level rules. The "core" rules might + be formed into a lexical analyzer or simply be part of the main + ruleset. + +3.2. Alternatives: Rule1 / Rule2 + + Elements separated by a forward slash ("/") are alternatives. + Therefore, + + foo / bar + + will accept or . + + + + + + + + +Crocker & Overell Standards Track [Page 6] + +RFC 4234 ABNF October 2005 + + + NOTE: + + A quoted string containing alphabetic characters is a special form + for specifying alternative characters and is interpreted as a + non-terminal representing the set of combinatorial strings with + the contained characters, in the specified order but with any + mixture of upper and lower case. + +3.3. Incremental Alternatives: Rule1 =/ Rule2 + + It is sometimes convenient to specify a list of alternatives in + fragments. That is, an initial rule may match one or more + alternatives, with later rule definitions adding to the set of + alternatives. This is particularly useful for otherwise, independent + specifications that derive from the same parent rule set, such as + often occurs with parameter lists. ABNF permits this incremental + definition through the construct: + + oldrule =/ additional-alternatives + + So that the rule set + + ruleset = alt1 / alt2 + + ruleset =/ alt3 + + ruleset =/ alt4 / alt5 + + is the same as specifying + + ruleset = alt1 / alt2 / alt3 / alt4 / alt5 + +3.4. Value Range Alternatives: %c##-## + + A range of alternative numeric values can be specified compactly, + using dash ("-") to indicate the range of alternative values. Hence: + + DIGIT = %x30-39 + + is equivalent to: + + DIGIT = "0" / "1" / "2" / "3" / "4" / "5" / "6" / + + "7" / "8" / "9" + + Concatenated numeric values and numeric value ranges cannot be + specified in the same string. A numeric value may use the dotted + notation for concatenation or it may use the dash notation to specify + + + +Crocker & Overell Standards Track [Page 7] + +RFC 4234 ABNF October 2005 + + + one value range. Hence, to specify one printable character between + end of line sequences, the specification could be: + + char-line = %x0D.0A %x20-7E %x0D.0A + +3.5. Sequence Group: (Rule1 Rule2) + + Elements enclosed in parentheses are treated as a single element, + whose contents are STRICTLY ORDERED. Thus, + + elem (foo / bar) blat + + matches (elem foo blat) or (elem bar blat), and + + elem foo / bar blat + + matches (elem foo) or (bar blat). + + NOTE: + + It is strongly advised that grouping notation be used, rather than + relying on the proper reading of "bare" alternations, when + alternatives consist of multiple rule names or literals. + + Hence, it is recommended that the following form be used: + + (elem foo) / (bar blat) + + It will avoid misinterpretation by casual readers. + + The sequence group notation is also used within free text to set off + an element sequence from the prose. + +3.6. Variable Repetition: *Rule + + The operator "*" preceding an element indicates repetition. The full + form is: + + *element + + where and are optional decimal values, indicating at least + and at most occurrences of the element. + + Default values are 0 and infinity so that * allows any + number, including zero; 1* requires at least one; + 3*3 allows exactly 3 and 1*2 allows one or two. + + + + + +Crocker & Overell Standards Track [Page 8] + +RFC 4234 ABNF October 2005 + + +3.7. Specific Repetition: nRule + + A rule of the form: + + element + + is equivalent to + + *element + + That is, exactly occurrences of . Thus, 2DIGIT is a 2- + digit number, and 3ALPHA is a string of three alphabetic characters. + +3.8. Optional Sequence: [RULE] + + Square brackets enclose an optional element sequence: + + [foo bar] + + is equivalent to + + *1(foo bar). + +3.9. Comment: ; Comment + + A semi-colon starts a comment that continues to the end of line. + This is a simple way of including useful notes in parallel with the + specifications. + +3.10. Operator Precedence + + The various mechanisms described above have the following precedence, + from highest (binding tightest) at the top, to lowest (loosest) at + the bottom: + + Strings, Names formation + + Comment + + Value range + + Repetition + + Grouping, Optional + + Concatenation + + Alternative + + + +Crocker & Overell Standards Track [Page 9] + +RFC 4234 ABNF October 2005 + + + Use of the alternative operator, freely mixed with concatenations, + can be confusing. + + Again, it is recommended that the grouping operator be used to + make explicit concatenation groups. + +4. ABNF DEFINITION OF ABNF + + NOTES: + + 1. This syntax requires a formatting of rules that is relatively + strict. Hence, the version of a ruleset included in a + specification might need preprocessing to ensure that it can be + interpreted by an ABNF parser. + + 2. This syntax uses the rules provided in Appendix B (Core). + + rulelist = 1*( rule / (*c-wsp c-nl) ) + + rule = rulename defined-as elements c-nl + ; continues if next line starts + ; with white space + + rulename = ALPHA *(ALPHA / DIGIT / "-") + + defined-as = *c-wsp ("=" / "=/") *c-wsp + ; basic rules definition and + ; incremental alternatives + + elements = alternation *c-wsp + + c-wsp = WSP / (c-nl WSP) + + c-nl = comment / CRLF + ; comment or newline + + comment = ";" *(WSP / VCHAR) CRLF + + alternation = concatenation + *(*c-wsp "/" *c-wsp concatenation) + + concatenation = repetition *(1*c-wsp repetition) + + repetition = [repeat] element + + repeat = 1*DIGIT / (*DIGIT "*" *DIGIT) + + + + + +Crocker & Overell Standards Track [Page 10] + +RFC 4234 ABNF October 2005 + + + element = rulename / group / option / + char-val / num-val / prose-val + + group = "(" *c-wsp alternation *c-wsp ")" + + option = "[" *c-wsp alternation *c-wsp "]" + + char-val = DQUOTE *(%x20-21 / %x23-7E) DQUOTE + ; quoted string of SP and VCHAR + ; without DQUOTE + + num-val = "%" (bin-val / dec-val / hex-val) + + bin-val = "b" 1*BIT + [ 1*("." 1*BIT) / ("-" 1*BIT) ] + ; series of concatenated bit values + ; or single ONEOF range + + dec-val = "d" 1*DIGIT + [ 1*("." 1*DIGIT) / ("-" 1*DIGIT) ] + + hex-val = "x" 1*HEXDIG + [ 1*("." 1*HEXDIG) / ("-" 1*HEXDIG) ] + + prose-val = "<" *(%x20-3D / %x3F-7E) ">" + ; bracketed string of SP and VCHAR + ; without angles + ; prose description, to be used as + ; last resort + +5. SECURITY CONSIDERATIONS + + Security is truly believed to be irrelevant to this document. + +6. References + +6.1. Normative References + + [US-ASCII] American National Standards Institute, "Coded Character + Set -- 7-bit American Standard Code for Information + Interchange", ANSI X3.4, 1986. + +6.2. Informative References + + [RFC2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax + Specifications: ABNF", RFC 2234, November 1997. + + + + + +Crocker & Overell Standards Track [Page 11] + +RFC 4234 ABNF October 2005 + + + [RFC733] Crocker, D., Vittal, J., Pogran, K., and D. Henderson, + "Standard for the format of ARPA network text messages", + RFC 733, November 1977. + + [RFC822] Crocker, D., "Standard for the format of ARPA Internet + text messages", STD 11, RFC 822, August 1982. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Crocker & Overell Standards Track [Page 12] + +RFC 4234 ABNF October 2005 + + +Appendix A. ACKNOWLEDGEMENTS + + The syntax for ABNF was originally specified in RFC 733. Ken L. + Harrenstien, of SRI International, was responsible for re-coding the + BNF into an augmented BNF that makes the representation smaller and + easier to understand. + + This recent project began as a simple effort to cull out the portion + of RFC 822 that has been repeatedly cited by non-email specification + writers, namely the description of augmented BNF. Rather than simply + and blindly converting the existing text into a separate document, + the working group chose to give careful consideration to the + deficiencies, as well as benefits, of the existing specification and + related specifications made available over the last 15 years, and + therefore to pursue enhancement. This turned the project into + something rather more ambitious than was first intended. + Interestingly, the result is not massively different from that + original, although decisions, such as removing the list notation, + came as a surprise. + + This "separated" version of the specification was part of the DRUMS + working group, with significant contributions from Jerome Abela, + Harald Alvestrand, Robert Elz, Roger Fajman, Aviva Garrett, Tom + Harsch, Dan Kohn, Bill McQuillan, Keith Moore, Chris Newman, Pete + Resnick, and Henning Schulzrinne. + + Julian Reschke warrants a special thanks for converting the Draft + Standard version to XML source form. + +Appendix B. APPENDIX - CORE ABNF OF ABNF + + This Appendix is provided as a convenient core for specific grammars. + The definitions may be used as a core set of rules. + +B.1. Core Rules + + Certain basic rules are in uppercase, such as SP, HTAB, CRLF, DIGIT, + ALPHA, etc. + + ALPHA = %x41-5A / %x61-7A ; A-Z / a-z + + BIT = "0" / "1" + + CHAR = %x01-7F + ; any 7-bit US-ASCII character, + ; excluding NUL + + + + + +Crocker & Overell Standards Track [Page 13] + +RFC 4234 ABNF October 2005 + + + CR = %x0D + ; carriage return + + CRLF = CR LF + ; Internet standard newline + + CTL = %x00-1F / %x7F + ; controls + + DIGIT = %x30-39 + ; 0-9 + + DQUOTE = %x22 + ; " (Double Quote) + + HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" + + HTAB = %x09 + ; horizontal tab + + LF = %x0A + ; linefeed + + LWSP = *(WSP / CRLF WSP) + ; linear white space (past newline) + + OCTET = %x00-FF + ; 8 bits of data + + SP = %x20 + + VCHAR = %x21-7E + ; visible (printing) characters + + WSP = SP / HTAB + ; white space + +B.2. Common Encoding + + Externally, data are represented as "network virtual ASCII" (namely, + 7-bit US-ASCII in an 8-bit field), with the high (8th) bit set to + zero. A string of values is in "network byte order", in which the + higher-valued bytes are represented on the left-hand side and are + sent over the network first. + + + + + + + +Crocker & Overell Standards Track [Page 14] + +RFC 4234 ABNF October 2005 + + +Authors' Addresses + + Dave Crocker (editor) + Brandenburg InternetWorking + 675 Spruce Dr. + Sunnyvale, CA 94086 + US + + Phone: +1.408.246.8253 + EMail: dcrocker@bbiw.net + + + Paul Overell + THUS plc. + 1/2 Berkeley Square + 99 Berkeley Street + Glasgow + G3 7HR + UK + + EMail: paul.overell@thus.net + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Crocker & Overell Standards Track [Page 15] + +RFC 4234 ABNF October 2005 + + +Full Copyright Statement + + Copyright (C) The Internet Society (2005). + + This document is subject to the rights, licenses and restrictions + contained in BCP 78, and except as set forth therein, the authors + retain all their rights. + + This document and the information contained herein are provided on an + "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS + OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET + ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE + INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED + WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Intellectual Property + + The IETF takes no position regarding the validity or scope of any + Intellectual Property Rights or other rights that might be claimed to + pertain to the implementation or use of the technology described in + this document or the extent to which any license under such rights + might or might not be available; nor does it represent that it has + made any independent effort to identify any such rights. Information + on the procedures with respect to rights in RFC documents can be + found in BCP 78 and BCP 79. + + Copies of IPR disclosures made to the IETF Secretariat and any + assurances of licenses to be made available, or the result of an + attempt made to obtain a general license or permission for the use of + such proprietary rights by implementers or users of this + specification can be obtained from the IETF on-line IPR repository at + http://www.ietf.org/ipr. + + The IETF invites any interested party to bring to its attention any + copyrights, patents or patent applications, or other proprietary + rights that may cover technology that may be required to implement + this standard. Please address the information to the IETF at ietf- + ipr@ietf.org. + +Acknowledgement + + Funding for the RFC Editor function is currently provided by the + Internet Society. + + + + + + + +Crocker & Overell Standards Track [Page 16] + diff --git a/systemv/Makefile b/systemv/Makefile index cfa4c7e7f0..4e8d14f053 100644 --- a/systemv/Makefile +++ b/systemv/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7929 2008-09-10 22:23:59Z mike $" # # System V commands makefile for the Common UNIX Printing System (CUPS). # @@ -288,5 +288,5 @@ include Dependencies # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7929 2008-09-10 22:23:59Z mike $". # diff --git a/systemv/accept.c b/systemv/accept.c index 6d8ba26198..367f38f8d5 100644 --- a/systemv/accept.c +++ b/systemv/accept.c @@ -1,5 +1,5 @@ /* - * "$Id: accept.c 7221 2008-01-16 22:20:08Z mike $" + * "$Id: accept.c 7929 2008-09-10 22:23:59Z mike $" * * "accept", "disable", "enable", and "reject" commands for the Common * UNIX Printing System (CUPS). @@ -282,5 +282,5 @@ main(int argc, /* I - Number of command-line arguments */ /* - * End of "$Id: accept.c 7221 2008-01-16 22:20:08Z mike $". + * End of "$Id: accept.c 7929 2008-09-10 22:23:59Z mike $". */ diff --git a/systemv/cancel.c b/systemv/cancel.c index 7b4d0db4d5..026c157385 100644 --- a/systemv/cancel.c +++ b/systemv/cancel.c @@ -1,5 +1,5 @@ /* - * "$Id: cancel.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: cancel.c 7720 2008-07-11 22:46:21Z mike $" * * "cancel" command for the Common UNIX Printing System (CUPS). * @@ -382,5 +382,5 @@ main(int argc, /* I - Number of command-line arguments */ /* - * End of "$Id: cancel.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: cancel.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/systemv/cupstestdsc.c b/systemv/cupstestdsc.c index e2267c2ade..ec87fe651e 100644 --- a/systemv/cupstestdsc.c +++ b/systemv/cupstestdsc.c @@ -1,5 +1,5 @@ /* - * "$Id: cupstestdsc.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: cupstestdsc.c 7720 2008-07-11 22:46:21Z mike $" * * DSC test program for the Common UNIX Printing System (CUPS). * @@ -442,5 +442,5 @@ usage(void) /* - * End of "$Id: cupstestdsc.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: cupstestdsc.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/systemv/cupstestppd.c b/systemv/cupstestppd.c index e398d3f4ca..0cb42b564b 100644 --- a/systemv/cupstestppd.c +++ b/systemv/cupstestppd.c @@ -1,5 +1,5 @@ /* - * "$Id: cupstestppd.c 7637 2008-06-11 17:25:36Z mike $" + * "$Id: cupstestppd.c 7807 2008-07-28 21:54:24Z mike $" * * PPD test program for the Common UNIX Printing System (CUPS). * @@ -2978,5 +2978,5 @@ valid_utf8(const char *s) /* I - String to check */ /* - * End of "$Id: cupstestppd.c 7637 2008-06-11 17:25:36Z mike $". + * End of "$Id: cupstestppd.c 7807 2008-07-28 21:54:24Z mike $". */ diff --git a/systemv/lpadmin.c b/systemv/lpadmin.c index 5ee882342b..d6eba0ba99 100644 --- a/systemv/lpadmin.c +++ b/systemv/lpadmin.c @@ -1,5 +1,5 @@ /* - * "$Id: lpadmin.c 7059 2007-11-02 19:15:17Z mike $" + * "$Id: lpadmin.c 7720 2008-07-11 22:46:21Z mike $" * * "lpadmin" command for the Common UNIX Printing System (CUPS). * @@ -1979,5 +1979,5 @@ validate_name(const char *name) /* I - Name to check */ /* - * End of "$Id: lpadmin.c 7059 2007-11-02 19:15:17Z mike $". + * End of "$Id: lpadmin.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/systemv/lpinfo.c b/systemv/lpinfo.c index 3e7cc1c6e3..babe6a2ad3 100644 --- a/systemv/lpinfo.c +++ b/systemv/lpinfo.c @@ -1,5 +1,5 @@ /* - * "$Id: lpinfo.c 7460 2008-04-16 02:19:54Z mike $" + * "$Id: lpinfo.c 7810 2008-07-29 01:11:15Z mike $" * * "lpinfo" command for the Common UNIX Printing System (CUPS). * @@ -354,5 +354,5 @@ show_models(http_t *http, /* I - HTTP connection to server */ /* - * End of "$Id: lpinfo.c 7460 2008-04-16 02:19:54Z mike $". + * End of "$Id: lpinfo.c 7810 2008-07-29 01:11:15Z mike $". */ diff --git a/systemv/lpoptions.c b/systemv/lpoptions.c index d2d42ce9c0..208ddcd942 100644 --- a/systemv/lpoptions.c +++ b/systemv/lpoptions.c @@ -1,5 +1,5 @@ /* - * "$Id: lpoptions.c 7669 2008-06-17 22:02:33Z mike $" + * "$Id: lpoptions.c 7720 2008-07-11 22:46:21Z mike $" * * Printer option program for the Common UNIX Printing System (CUPS). * @@ -548,5 +548,5 @@ usage(void) /* - * End of "$Id: lpoptions.c 7669 2008-06-17 22:02:33Z mike $". + * End of "$Id: lpoptions.c 7720 2008-07-11 22:46:21Z mike $". */ diff --git a/systemv/lpstat.c b/systemv/lpstat.c index 35b76226ee..b79ea55abf 100644 --- a/systemv/lpstat.c +++ b/systemv/lpstat.c @@ -1,5 +1,5 @@ /* - * "$Id: lpstat.c 7620 2008-06-06 17:24:22Z mike $" + * "$Id: lpstat.c 7921 2008-09-10 15:42:24Z mike $" * * "lpstat" command for the Common UNIX Printing System (CUPS). * @@ -2273,5 +2273,5 @@ show_scheduler(http_t *http) /* I - HTTP connection to server */ /* - * End of "$Id: lpstat.c 7620 2008-06-06 17:24:22Z mike $". + * End of "$Id: lpstat.c 7921 2008-09-10 15:42:24Z mike $". */ diff --git a/templates/Makefile b/templates/Makefile index 34712e5b43..4250ccc923 100644 --- a/templates/Makefile +++ b/templates/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7940 2008-09-16 00:45:16Z mike $" # # Template makefile for the Common UNIX Printing System (CUPS). # @@ -29,6 +29,7 @@ FILES = \ choose-model.tmpl \ choose-serial.tmpl \ choose-uri.tmpl \ + class.tmpl \ class-added.tmpl \ class-confirm.tmpl \ class-deleted.tmpl \ @@ -41,6 +42,7 @@ FILES = \ error-op.tmpl \ header.tmpl \ help-header.tmpl \ + help-trailer.tmpl \ help-printable.tmpl \ job-cancel.tmpl \ job-hold.tmpl \ @@ -62,6 +64,7 @@ FILES = \ option-pickone.tmpl \ option-trailer.tmpl \ pager.tmpl \ + printer.tmpl \ printer-accept.tmpl \ printer-added.tmpl \ printer-configured.tmpl \ @@ -194,5 +197,5 @@ uninstall-languages: # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7940 2008-09-16 00:45:16Z mike $". # diff --git a/templates/admin.tmpl b/templates/admin.tmpl index 03b9b11fc4..2e27facd7f 100644 --- a/templates/admin.tmpl +++ b/templates/admin.tmpl @@ -1,4 +1,4 @@ - +

Printers

@@ -6,7 +6,7 @@

-
+
{have_samba?
:}

@@ -14,7 +14,7 @@

-
+

Jobs

@@ -57,15 +57,20 @@
-

Subscriptions

+
} diff --git a/templates/help-header.tmpl b/templates/help-header.tmpl index 3a70c9c51b..1582908a2d 100644 --- a/templates/help-header.tmpl +++ b/templates/help-header.tmpl @@ -1,3 +1,4 @@ +
{TOPIC?:} @@ -30,7 +31,10 @@ AUTOSAVE="org.cups.help" RESULTS="20"> {QTEXT?:} :

No matches found.

}
:} -{HELPTITLE?
: +{HELPTITLE?

{HELPTITLE}

+
: + +

Online Help

This is the CUPS online help interface. Enter search words above or click on any of the documentation links to display diff --git a/templates/help-trailer.tmpl b/templates/help-trailer.tmpl new file mode 100644 index 0000000000..4c1ebed851 --- /dev/null +++ b/templates/help-trailer.tmpl @@ -0,0 +1 @@ +

diff --git a/templates/jobs-header.tmpl b/templates/jobs-header.tmpl index 8a90438409..e7547ba7bb 100644 --- a/templates/jobs-header.tmpl +++ b/templates/jobs-header.tmpl @@ -1,5 +1,5 @@ -

{?which_jobs=?:

} +
{?which_jobs=?:
} {?which_jobs=completed?:
} -{?which_jobs=all?:
}

+{?which_jobs=all?:
}

{total=0?No jobs:Showing {#job_id} of {total} {?which_jobs=?active:{which_jobs=all?:completed}} job{total=1?:s}}.

diff --git a/templates/jobs.tmpl b/templates/jobs.tmpl index 948cd213be..f68eea01e9 100644 --- a/templates/jobs.tmpl +++ b/templates/jobs.tmpl @@ -1,17 +1,11 @@ {#job_id=0?: - - - - - - - - - - - +
ID Name User Size Pages State Control 
+ + + + {[job_id] - + @@ -38,6 +32,6 @@   } +
{ORDER=dec? ID : ID }NameUserSizePagesStateControl
{job_printer_name}-{job_id}  {?job_name=?Unknown:{job_name}}  {job_originating_user_name} 
} -
diff --git a/templates/pager.tmpl b/templates/pager.tmpl index 1c870943cd..ebd688d51b 100644 --- a/templates/pager.tmpl +++ b/templates/pager.tmpl @@ -1,7 +1,6 @@ - +
- - - + +
{PREV?
: }
:VALUE="dec">}
{NEXT?
: }
{PREV?
: }
{NEXT?
: }
diff --git a/templates/printer-jobs-header.tmpl b/templates/printer-jobs-header.tmpl index 61e5151d24..ba46f10260 100644 --- a/templates/printer-jobs-header.tmpl +++ b/templates/printer-jobs-header.tmpl @@ -1 +1,3 @@ +

Jobs

+
diff --git a/templates/printer.tmpl b/templates/printer.tmpl new file mode 100644 index 0000000000..14f107d139 --- /dev/null +++ b/templates/printer.tmpl @@ -0,0 +1,44 @@ +
+

{printer_name} +({printer_state=3?Idle:{printer_state=4?Processing:Paused}}, +{printer_is_accepting_jobs=0?Rejecting Jobs:Accepting Jobs}, +{server_is_sharing_printers=0?Not:{printer_is_shared=0?Not:}} Shared{default_name={printer_name}?, Server Default:})

+ +
+ + +
+ +
+ + + +
+ + + + + + +
Description:{printer_info}
Location:{printer_location}
Driver:{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})
+
URI:{device_uri}
Defaults:job-sheets={job_sheets_default} +media={media_default?{media_default}:unknown} +{sides_default?sides={sides_default}:}
+ +
\ No newline at end of file diff --git a/templates/printers.tmpl b/templates/printers.tmpl index 0b05f43188..e0a3228d04 100644 --- a/templates/printers.tmpl +++ b/templates/printers.tmpl @@ -1,52 +1,11 @@ -{printer_type?:}{#printer_name=0?: +{#printer_name=0?: + + + + + {[printer_name] -{_SINGLE_DEST?:

{printer_name}{default_name={printer_name}? (Default Printer):}

} - -
{ORDER=dec? Queue Name : Queue Name }DescriptionLocationMake and ModelStatus
- - - - -
-     Description: {printer_info}
-Location: {printer_location}
-Printer Driver: {printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})
-Printer State: {printer_state=3?Idle:{printer_state=4?Processing:Paused}{?printer_state_message=?: ("{printer_state_message}")}}, -{printer_is_accepting_jobs=0?rejecting jobs:accepting jobs}, {server_is_sharing_printers=0?not:{printer_is_shared=0?not:}} shared{default_name={printer_name}?, server default:}.
-Default Options: job-sheets={job_sheets_default} -media={media_default?{media_default}:unknown} -{sides_default?sides={sides_default}:} -{?device_uri=?:
Device URI: {device_uri}} - -

- - } -{printer_is_accepting_jobs=0? - -: -} - - -
Maintenance Commands
-{?cupscommand=1?
-
:} -{printer_state=5? -
-:
+
{printer_name}{printer_info}{printer_location}{printer_make_and_model}{printer_state=3?Idle:{printer_state=4?Processing:Paused}}{printer_state_message? - "{printer_state_message}":}
- -

- - -
Administration Commands
{server_is_sharing_printers=0?:{printer_is_shared=0? -
-:
-}} -
-
-
-
-
-

-}} -
+ +} diff --git a/templates/search.tmpl b/templates/search.tmpl index 0fcc43861f..9e05e6ecb5 100644 --- a/templates/search.tmpl +++ b/templates/search.tmpl @@ -4,7 +4,7 @@

Search in {SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?Classes:{SECTION=jobs?Jobs:Printers}}}: -

diff --git a/test/Makefile b/test/Makefile index f3e0fcf312..d525485719 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $" +# "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $" # # IPP test makefile for the Common UNIX Printing System (CUPS). # @@ -113,5 +113,5 @@ include Dependencies # -# End of "$Id: Makefile 7558 2008-05-12 23:46:44Z mike $". +# End of "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $". # diff --git a/test/ipptest.c b/test/ipptest.c index ebc8720990..bca4ceebd4 100644 --- a/test/ipptest.c +++ b/test/ipptest.c @@ -1,5 +1,5 @@ /* - * "$Id: ipptest.c 7219 2008-01-14 22:00:02Z mike $" + * "$Id: ipptest.c 7847 2008-08-19 04:22:14Z mike $" * * IPP test command for the Common UNIX Printing System (CUPS). * @@ -866,5 +866,5 @@ usage(const char *option) /* I - Option string or NULL */ /* - * End of "$Id: ipptest.c 7219 2008-01-14 22:00:02Z mike $". + * End of "$Id: ipptest.c 7847 2008-08-19 04:22:14Z mike $". */ diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh index ea505d462e..67cfdb34dc 100755 --- a/test/run-stp-tests.sh +++ b/test/run-stp-tests.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# "$Id: run-stp-tests.sh 7712 2008-07-02 06:09:39Z mike $" +# "$Id: run-stp-tests.sh 7954 2008-09-17 05:23:09Z mike $" # # Perform the complete set of IPP compliance tests specified in the # CUPS Software Test Plan. @@ -230,6 +230,7 @@ mkdir /tmp/cups-$user/spool mkdir /tmp/cups-$user/spool/temp mkdir /tmp/cups-$user/ssl +ln -s $root/backend/dnssd /tmp/cups-$user/bin/backend ln -s $root/backend/http /tmp/cups-$user/bin/backend ln -s $root/backend/ipp /tmp/cups-$user/bin/backend ln -s $root/backend/lpd /tmp/cups-$user/bin/backend @@ -416,7 +417,7 @@ fi export SHLIB_PATH -CUPS_SERVER=localhost; export CUPS_SERVER +CUPS_SERVER=localhost:8631; export CUPS_SERVER CUPS_SERVERROOT=/tmp/cups-$user; export CUPS_SERVERROOT CUPS_STATEDIR=/tmp/cups-$user; export CUPS_STATEDIR CUPS_DATADIR=/tmp/cups-$user/share; export CUPS_DATADIR @@ -448,10 +449,34 @@ $valgrind ../scheduler/cupsd -c /tmp/cups-$user/cupsd.conf -f >/tmp/cups-$user/l cupsd=$! if test "x$testtype" = x0; then + # Not running tests... echo "Scheduler is PID $cupsd and is listening on port 8631." echo "" - echo "Set the IPP_PORT environment variable to 8631 to test the software" - echo "interactively from the command-line." + + # Create a helper script to run programs with... + runcups="/tmp/cups-$user/runcups" + + echo "#!/bin/sh" >$runcups + echo "# Helper script for running CUPS test instance." >>$runcups + echo "" >>$runcups + echo "# Set required environment variables..." >>$runcups + echo "CUPS_DATADIR=\"$CUPS_DATADIR\"; export CUPS_DATADIR" >>$runcups + echo "CUPS_SERVER=\"$CUPS_SERVER\"; export CUPS_SERVER" >>$runcups + echo "CUPS_SERVERROOT=\"$CUPS_SERVERROOT\"; export CUPS_SERVERROOT" >>$runcups + echo "CUPS_STATEDIR=\"$CUPS_STATEDIR\"; export CUPS_STATEDIR" >>$runcups + echo "DYLD_LIBRARY_PATH=\"$DYLD_LIBRARY_PATH\"; export DYLD_LIBRARY_PATH" >>$runcups + echo "LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\"; export LD_LIBRARY_PATH" >>$runcups + echo "LD_PRELOAD=\"$LD_PRELOAD\"; export LD_PRELOAD" >>$runcups + echo "LOCALEDIR=\"$LOCALEDIR\"; export LOCALEDIR" >>$runcups + echo "SHLIB_PATH=\"$SHLIB_PATH\"; export SHLIB_PATH" >>$runcups + echo "" >>$runcups + echo "# Run command..." >>$runcups + echo "exec \"\$@\"" >>$runcups + + chmod +x $runcups + + echo "The $runcups helper script can be used to test programs" + echo "with the server." exit 0 fi @@ -773,5 +798,5 @@ if test $fail != 0; then fi # -# End of "$Id: run-stp-tests.sh 7712 2008-07-02 06:09:39Z mike $" +# End of "$Id: run-stp-tests.sh 7954 2008-09-17 05:23:09Z mike $" # diff --git a/tools/makesrcdist b/tools/makesrcdist index c25dfc49d0..9642409a5a 100755 --- a/tools/makesrcdist +++ b/tools/makesrcdist @@ -1,6 +1,6 @@ #!/bin/sh # -# "$Id: makesrcdist 6892 2007-08-29 22:32:41Z mike $" +# "$Id: makesrcdist 7776 2008-07-22 20:46:55Z mike $" # # makesrcdist - make a source distribution of CUPS. # @@ -87,5 +87,5 @@ rm -rf cups-$version echo "Done!" # -# End of "$Id: makesrcdist 6892 2007-08-29 22:32:41Z mike $". +# End of "$Id: makesrcdist 7776 2008-07-22 20:46:55Z mike $". #
+ +

RSS Subscriptions

-{notify_subscription_id? - + + +{notify_subscription_id?
IDNameEventsQueue
+{[notify_subscription_id] -} +}
NameEventsQueue Name
{notify_subscription_id}{notify_recipient_name}
 
{notify_events} {notify_printer_name?{notify_printer_name}:All Queues}
{notify_recipient_name}
+
 
{notify_events} {notify_printer_name?{notify_printer_name}:All Queues}
:} diff --git a/templates/class-jobs-header.tmpl b/templates/class-jobs-header.tmpl index 61e5151d24..ba46f10260 100644 --- a/templates/class-jobs-header.tmpl +++ b/templates/class-jobs-header.tmpl @@ -1 +1,3 @@ +

Jobs

+
diff --git a/templates/class.tmpl b/templates/class.tmpl new file mode 100644 index 0000000000..a344d4b661 --- /dev/null +++ b/templates/class.tmpl @@ -0,0 +1,41 @@ +
+

{printer_name} +({printer_state=3?Idle:{printer_state=4?Processing:Paused}}, +{printer_is_accepting_jobs=0?Rejecting Jobs:Accepting Jobs}, +{server_is_sharing_printers=0?Not:{printer_is_shared=0?Not:}} Shared{default_name={printer_name}?, Server Default:})

+ +
+ + +
+ +
+ + + +
+ + + + + + +
Description:{printer_info}
Location:{printer_location}
Members:{?member_uris=?None:{member_uris}}
Defaults:job-sheets={job_sheets_default} +media={media_default?{media_default}:unknown} +{sides_default?sides={sides_default}:}
+ +
diff --git a/templates/classes.tmpl b/templates/classes.tmpl index e75dfb7a82..51e454fb1c 100644 --- a/templates/classes.tmpl +++ b/templates/classes.tmpl @@ -1,45 +1,11 @@ {#printer_name=0?: + + + + + {[printer_name] -{_SINGLE_DEST?:

{printer_name}{default_name={printer_name}? (Default Printer):}

} - -
{ORDER=dec? Queue Name : Queue Name }DescriptionLocationMembersStatus
- - - - -
-     Description: {printer_info}
-Location: {printer_location}
-Class State: {printer_state=3?Idle:{printer_state=4?Processing:Paused}}{?printer_state_message=?: ("{printer_state_message}")}}, -{printer_is_accepting_jobs=0?rejecting jobs:accepting jobs}, {server_is_sharing_printers=0?not:{printer_is_shared=0?not:}} shared{default_name={printer_name}?, server default:}. -{?member_uris=?:
Members: {member_uris}} - -

- - } -{printer_is_accepting_jobs=0? - -: -} - -
Maintenance Commands
-{printer_state=5? -
-:
+
{printer_name}{printer_info}{printer_location}{?member_uris=?None:{member_uris}}{printer_state=3?Idle:{printer_state=4?Processing:Paused}}{printer_state_message? - "{printer_state_message}":}
- -

- - -
Administration Commands
{server_is_sharing_printers=0?:{printer_is_shared=0? -
-:
-}} -
-
-
-
-
-

-} -
+ +