diff options
author | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2008-09-17 19:54:07 +0000 |
---|---|---|
committer | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2008-09-17 19:54:07 +0000 |
commit | b19ccc9e271691cc71a08e9968c58f464ebeade5 (patch) | |
tree | 222499e15a781dcecfe0681b23825003d78caa8b | |
parent | 49d8745278805ede5c41bae3c299e14ba40457bf (diff) | |
download | cups-b19ccc9e271691cc71a08e9968c58f464ebeade5.tar.gz |
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
194 files changed, 2655 insertions, 2311 deletions
diff --git a/CHANGES-1.3.txt b/CHANGES-1.3.txt index cb1f5832b..320e6ea30 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 5a8431195..bf0a6a733 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 3ee4e2512..33270a4c3 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 $" # @@ -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 11ebdbd48..29901826e 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 c124274a9..b44270c1a 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 636e738fd..2d1b80231 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 5bd008348..19d1f2f75 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 03c825259..12dbb9e89 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 e20499545..e989bda17 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 14dfc494c..04bde408b 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 712981cfd..692272474 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 423000f0f..01d6d0472 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 a780d68be..73c3e4c57 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 de4ab4e29..e21142ff1 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 996858d38..346bc17fd 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 b529365d7..2e30bc310 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 0d538c0d7..04055777b 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 c7175f3df..206b6dda8 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 bdcbeac7a..4463c2a5c 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 09a3cc64c..28aa7a925 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 9b40252bf..cae6e5a26 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 823f88f12..48ca55895 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("</BODY>\n</HTML>"); diff --git a/cgi-bin/ipp-var.c b/cgi-bin/ipp-var.c index 4ee9ef867..95305030e 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 f90632866..131174263 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 7d15d639d..175906b8b 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 acd7eacba..e9ef1f489 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 9eff1e0e7..ff034ccb2 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 </Policy> # -# 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 000000000..b336306a8 --- /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 index ff724da4d..ff724da4d 100644 --- a/conf/pam.darwin +++ b/conf/pam.securityserver diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4 index 3baf2dad9..b112418ec 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 2781e18ba..c641a7efe 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 b3ce77047..b07231da5 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 16d414d22..82783aa7b 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 46b7f39a6..a13006015 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 1c5f516bc..742a4bcce 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 9a88aa8f0..bf673025e 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 <netat/appletalk.h>]) 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 fec896533..865f97f7b 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 f514221e2..a8960070e 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 5199ee4f3..b9b4390a1 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 f50c7afbb..bc0619516 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 752edd1a9..3710985e5 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 96354a112..fd7aa6e95 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 06f32d216..36fe0d48a 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 f128895da..fc2cd97ee 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 855442a38..de282f558 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 69213dc91..4efd1619c 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 7c0953576..75513d87a 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 c76355593..f3b32e666 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 14d5f7842..438bb0296 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 d58099548..9ae692159 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 55d701d64..d25692f62 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 52b5aeca9..cee5017d7 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 5f2909774..ec3f6a84e 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 30998136a..4867759b7 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 9543c2213..5c11435a2 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 8627ad4fe..929f1dc41 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 98b494614..1e6fadaf9 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 059e9983f..0b4420f7b 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 c60517f06..878ace885 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 d7be9fe2f..a5b757da1 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 01a723e68..8c7b0e2ab 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 2488ff311..01eae8d82 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 325c36245..3f59b7763 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 0523751a8..d0c5e3209 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 acf9743e8..0b79f8b01 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 6074d1350..183f8fae1 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 a553ba4b7..fb32e4830 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 f6afd21b9..e7603ec91 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 52bfeedb4..391823770 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 7d676ae5d..9bb4dbedb 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 d9cbb9e2b..023b680c3 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 c94c80b98..fe2a55bb0 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 9e8378b28..c206c2e1a 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 Binary files differindex 341536d9b..3ab11f636 100644 --- a/desktop/cups-128.png +++ b/desktop/cups-128.png diff --git a/desktop/cups-16.png b/desktop/cups-16.png Binary files differindex 833adac24..dccb02d46 100644 --- a/desktop/cups-16.png +++ b/desktop/cups-16.png diff --git a/desktop/cups-256.png b/desktop/cups-256.png Binary files differindex 43abffbf1..7eac9b77f 100644 --- a/desktop/cups-256.png +++ b/desktop/cups-256.png diff --git a/desktop/cups-32.png b/desktop/cups-32.png Binary files differindex 42e29d329..d77f3c8f6 100644 --- a/desktop/cups-32.png +++ b/desktop/cups-32.png diff --git a/desktop/cups-512.png b/desktop/cups-512.png Binary files differindex 3ba454d02..d0ed97fec 100644 --- a/desktop/cups-512.png +++ b/desktop/cups-512.png diff --git a/desktop/cups-64.png b/desktop/cups-64.png Binary files differindex 15a07cbd6..358ff8ac1 100644 --- a/desktop/cups-64.png +++ b/desktop/cups-64.png diff --git a/desktop/cups.icns b/desktop/cups.icns Binary files differindex a61122bcf..2dd1997a4 100644 --- a/desktop/cups.icns +++ b/desktop/cups.icns diff --git a/desktop/cups.svg b/desktop/cups.svg index cb1085b4b..212363d9f 100644 --- a/desktop/cups.svg +++ b/desktop/cups.svg @@ -2,7 +2,7 @@ <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" + xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" @@ -13,52 +13,146 @@ height="100" id="svg2" sodipodi:version="0.32" - inkscape:version="0.45.1" + inkscape:version="0.46" version="1.0" sodipodi:docbase="/home/mike/c/cups-trunk/desktop" sodipodi:docname="cups.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="/home/mike/c/cups-trunk/desktop/cups-test.png" - inkscape:export-xdpi="115.2" - inkscape:export-ydpi="115.2"> + inkscape:export-filename="/Users/mike/c/cups-trunk/desktop/cups-16.png" + inkscape:export-xdpi="14.4" + inkscape:export-ydpi="14.4"> <defs id="defs4"> <linearGradient - inkscape:collect="always" - id="linearGradient4285"> + id="linearGradient3645"> + <stop + id="stop3647" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop3649" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3515"> + <stop + style="stop-color:#ccff66;stop-opacity:1;" + offset="0" + id="stop3517" /> + <stop + style="stop-color:#00cc00;stop-opacity:1;" + offset="1" + id="stop3519" /> + </linearGradient> + <linearGradient + id="linearGradient3377"> <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" - id="stop4287" /> + id="stop3379" /> <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" - id="stop4289" /> + id="stop3381" /> </linearGradient> <linearGradient inkscape:collect="always" - id="linearGradient4271"> + id="linearGradient3280"> <stop - style="stop-color:#ffff00;stop-opacity:1;" + style="stop-color:#ffffbf;stop-opacity:1;" offset="0" - id="stop4273" /> + id="stop3282" /> <stop - style="stop-color:#ffff00;stop-opacity:0;" + style="stop-color:#ffffbf;stop-opacity:0;" offset="1" - id="stop4275" /> + id="stop3284" /> </linearGradient> <linearGradient inkscape:collect="always" - id="linearGradient4261"> + id="linearGradient3270"> <stop - style="stop-color:#ffffff;stop-opacity:1;" + style="stop-color:#000000;stop-opacity:1;" offset="0" - id="stop4263" /> + id="stop3272" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3274" /> + </linearGradient> + <linearGradient + id="linearGradient3251"> + <stop + style="stop-color:#ccff66;stop-opacity:1;" + offset="0" + id="stop3253" /> + <stop + style="stop-color:#007700;stop-opacity:1;" + offset="1" + id="stop3255" /> + </linearGradient> + <linearGradient + id="linearGradient3416"> + <stop + style="stop-color:#7fff00;stop-opacity:1;" + offset="0" + id="stop3418" /> + <stop + style="stop-color:#1f7f00;stop-opacity:1;" + offset="1" + id="stop3420" /> + </linearGradient> + <linearGradient + id="linearGradient3530"> + <stop + style="stop-color:#000000;stop-opacity:0.74901962;" + offset="0" + id="stop3532" /> + <stop + style="stop-color:#333333;stop-opacity:0;" + offset="1" + id="stop3534" /> + </linearGradient> + <linearGradient + id="linearGradient3690"> + <stop + style="stop-color:#ffffff;stop-opacity:0.49803922;" + offset="0" + id="stop3692" /> <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" - id="stop4265" /> + id="stop3694" /> + </linearGradient> + <linearGradient + id="linearGradient3680"> + <stop + style="stop-color:#000000;stop-opacity:0.49803922" + offset="0" + id="stop3682" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3684" /> + </linearGradient> + <linearGradient + id="linearGradient3658"> + <stop + style="stop-color:#cccc99;stop-opacity:1;" + offset="0" + id="stop3660" /> + <stop + style="stop-color:#cccc99;stop-opacity:0;" + offset="1" + id="stop3662" /> </linearGradient> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 50 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="100 : 50 : 1" + inkscape:persp3d-origin="50 : 33.333333 : 1" + id="perspective2838" /> <linearGradient id="linearGradient3269"> <stop @@ -202,88 +296,161 @@ style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" sodipodi:type="arc" /> </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3704"> + <path + sodipodi:type="arc" + style="opacity:1;fill:#000000;fill-opacity:0.49803922;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path3706" + sodipodi:cx="51.104416" + sodipodi:cy="48.192772" + sodipodi:rx="39.658634" + sodipodi:ry="43.574299" + d="M 90.76305,48.192772 A 39.658634,43.574299 0 1 1 11.445782,48.192772 A 39.658634,43.574299 0 1 1 90.76305,48.192772 z" + transform="matrix(1.003038,0,0,1.0232718,-1.4805538,0.2740483)" /> + </clipPath> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3270" + id="linearGradient3276" + x1="50.200802" + y1="91.967865" + x2="50.200802" + y2="67.948906" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3280" + id="linearGradient3286" + x1="47.690762" + y1="6.6265068" + x2="47.690762" + y2="53.815262" + gradientUnits="userSpaceOnUse" /> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3295"> + <path + transform="matrix(0.8148984,0,0,0.6256338,5.5549494,4.4908095)" + d="M 96.184742,26.706827 A 44.477913,23.293173 0 1 1 7.2289162,26.706827 A 44.477913,23.293173 0 1 1 96.184742,26.706827 z" + sodipodi:ry="23.293173" + sodipodi:rx="44.477913" + sodipodi:cy="26.706827" + sodipodi:cx="51.706829" + id="path3297" + style="opacity:1;fill:#ffffbf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3371"> + <path + sodipodi:type="arc" + style="opacity:1;fill:#ffffbf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path3373" + sodipodi:cx="48.895584" + sodipodi:cy="47.188755" + sodipodi:rx="42.269077" + sodipodi:ry="41.767067" + d="M 91.164661,47.188755 A 42.269077,41.767067 0 1 1 6.6265068,47.188755 A 42.269077,41.767067 0 1 1 91.164661,47.188755 z" + transform="matrix(0.9784331,0,0,0.9984421,2.7613512,2.0815482)" /> + </clipPath> <filter inkscape:collect="always" - x="-0.087105347" - width="1.1742107" - y="-0.18598169" - height="1.3719634" - id="filter4279"> + id="filter3385"> <feGaussianBlur inkscape:collect="always" - stdDeviation="1.9373093" - id="feGaussianBlur4281" /> + stdDeviation="2.0773168" + id="feGaussianBlur3387" /> </filter> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3515" + id="radialGradient3521" + cx="51.405624" + cy="71.446022" + fx="51.405624" + fy="71.446022" + r="41.566265" + gradientTransform="matrix(1,0,0,1.5633645,0,-39.484036)" + gradientUnits="userSpaceOnUse" /> <filter inkscape:collect="always" - id="filter4303"> + id="filter3587" + x="-0.12220446" + width="1.2444089" + y="-0.11793158" + height="1.2358632"> <feGaussianBlur inkscape:collect="always" - stdDeviation="0.5625" - id="feGaussianBlur4305" /> + stdDeviation="4.2329858" + id="feGaussianBlur3589" /> </filter> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3591"> + <path + transform="translate(2.9340892e-7,-2.3929013)" + 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" + sodipodi:ry="43.072289" + sodipodi:rx="41.566265" + sodipodi:cy="50.301205" + sodipodi:cx="51.405624" + id="path3593" + style="opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + </clipPath> <filter inkscape:collect="always" - x="-0.035535272" - width="1.0710705" - y="-0.10884558" - height="1.2176912" - id="filter3192"> + id="filter3611"> <feGaussianBlur inkscape:collect="always" - stdDeviation="1.1845091" - id="feGaussianBlur3194" /> + stdDeviation="2.1711472" + id="feGaussianBlur3613" /> </filter> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3269" - id="linearGradient2231" - gradientUnits="userSpaceOnUse" - x1="53.971653" - y1="73.40696" - x2="49.183048" - y2="5" /> <radialGradient inkscape:collect="always" - xlink:href="#linearGradient4271" - id="radialGradient2233" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1,0,0,0.4683544,0,41.202533)" - cx="51.68919" - cy="77.5" - fx="51.68919" - fy="77.5" - r="26.68919" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient4261" - id="linearGradient2235" - gradientUnits="userSpaceOnUse" - x1="50" - y1="10" - x2="50" - y2="36.117935" /> - <linearGradient + xlink:href="#linearGradient3645" + id="radialGradient3695" + cx="-6.7269073" + cy="27.94368" + fx="-6.7269073" + fy="27.94368" + r="12.5502" + gradientTransform="matrix(-1.9906652,-2.2927541e-8,1.4386067e-8,-1.5156153,-20.117928,50.98641)" + gradientUnits="userSpaceOnUse" /> + <filter inkscape:collect="always" - xlink:href="#linearGradient4285" - id="linearGradient2237" - gradientUnits="userSpaceOnUse" - x1="50" - y1="100" - x2="50" - y2="81.396393" /> + id="filter3797" + x="-0.098526749" + width="1.1970535" + y="-0.15589675" + height="1.3117935"> + <feGaussianBlur + inkscape:collect="always" + stdDeviation="1.030442" + id="feGaussianBlur3799" /> + </filter> <filter inkscape:collect="always" - x="-0.068571429" - width="1.1371429" - y="-0.48" - height="1.96" - id="filter3210"> + id="filter3807"> <feGaussianBlur inkscape:collect="always" - stdDeviation="2" - id="feGaussianBlur3212" /> + stdDeviation="0.1030442" + id="feGaussianBlur3809" /> </filter> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3645" + id="radialGradient3815" + cx="-6.7269082" + cy="29.116467" + fx="-6.7269082" + fy="29.116467" + r="12.5502" + gradientTransform="matrix(-1,-6.831379e-8,3.8912925e-8,-0.6320001,-13.453817,27.036147)" + gradientUnits="userSpaceOnUse" /> </defs> <sodipodi:namedview id="base" @@ -295,21 +462,26 @@ objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="4.07" + inkscape:zoom="4.98" inkscape:cx="50" inkscape:cy="50" inkscape:document-units="px" inkscape:current-layer="layer1" width="100px" height="100px" - showgrid="true" + showgrid="false" inkscape:grid-points="true" inkscape:window-width="872" - inkscape:window-height="622" - inkscape:window-x="792" - inkscape:window-y="312" + inkscape:window-height="701" + inkscape:window-x="0" + inkscape:window-y="0" showguides="true" - inkscape:guide-bbox="true" /> + inkscape:guide-bbox="true" + inkscape:snap-global="false"> + <inkscape:grid + type="xygrid" + id="grid2840" /> + </sodipodi:namedview> <metadata id="metadata7"> <rdf:RDF> @@ -355,75 +527,66 @@ id="layer1"> <path sodipodi:type="arc" - style="opacity:0.33300003;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter3210)" - id="path2239" - sodipodi:cx="50" - sodipodi:cy="90" - sodipodi:rx="35" - sodipodi:ry="5" - d="M 85 90 A 35 5 0 1 1 15,90 A 35 5 0 1 1 85 90 z" - transform="matrix(1.0714286,0,0,1,-3.5714286,0)" /> + 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)" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#004400;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path2479" + 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.5603884,-2.5524482)" /> + <path + sodipodi:type="arc" + 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)" /> <g - id="g2221" - transform="matrix(0.9444444,0,0,0.9444444,2.777778,0.2777779)"> - <path - transform="matrix(1.0184902,0,0,1.0241856,-9.2450814e-2,-0.1209281)" - d="M 93.366096 48.937347 A 44.183048 43.937347 0 1 1 5,48.937347 A 44.183048 43.937347 0 1 1 93.366096 48.937347 z" - sodipodi:ry="43.937347" - sodipodi:rx="44.183048" - sodipodi:cy="48.937347" - sodipodi:cx="49.183048" - id="path3267" - style="opacity:1;fill:url(#linearGradient2231);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922" - sodipodi:type="arc" /> + id="g2882" + transform="matrix(0.8775394,0,0,0.8757773,5.5493793,6.1227532)"> <path - transform="matrix(0.9367088,0,0,1,1.5822791,0)" - d="M 78.37838 77.5 A 26.68919 12.5 0 1 1 25,77.5 A 26.68919 12.5 0 1 1 78.37838 77.5 z" - sodipodi:ry="12.5" - sodipodi:rx="26.68919" - sodipodi:cy="77.5" - sodipodi:cx="51.68919" - id="path4269" - style="opacity:0.75;fill:url(#radialGradient2233);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter4279)" - sodipodi:type="arc" /> - <g - style="opacity:0.8" - id="g3281"> - <path - style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 50,5 C 25.16,5 5,25.16 5,50 C 5,74.84 25.16,95 50,95 C 60.487179,95 70.127342,91.396876 77.78125,85.375 C 78.181257,85.060286 78.579829,84.734064 78.96875,84.40625 C 83.665983,80.447043 87.549643,75.552818 90.3125,70 L 75.59375,70 C 69.643319,77.602179 60.395279,82.5 50,82.5 C 32.059999,82.5 17.5,67.94 17.5,50 C 17.5,32.06 32.060001,17.5 50,17.5 C 60.395278,17.5 69.643319,22.397821 75.59375,30 L 90.3125,30 C 87.549643,24.447182 83.665983,19.552957 78.96875,15.59375 C 78.579829,15.265936 78.181257,14.939714 77.78125,14.625 C 70.127342,8.6031239 60.487179,5 50,5 z M 93.3125,37.75 C 93.477886,38.334017 93.639153,38.906614 93.78125,39.5 C 93.640472,38.911539 93.476165,38.329249 93.3125,37.75 z M 93.8125,39.65625 C 93.958484,40.275603 94.067455,40.902325 94.1875,41.53125 C 94.067925,40.904801 93.957786,40.273219 93.8125,39.65625 z M 94.6875,44.8125 C 94.782981,45.64248 94.856683,46.469338 94.90625,47.3125 C 94.856514,46.471022 94.782921,45.640957 94.6875,44.8125 z M 94.90625,47.3125 C 94.958277,48.197515 95,49.101843 95,50 C 95,49.096018 94.958903,48.203339 94.90625,47.3125 z M 95,50 C 95,50.898157 94.958277,51.802485 94.90625,52.6875 C 94.958903,51.796661 95,50.903982 95,50 z M 94.90625,52.6875 C 94.856683,53.530662 94.782981,54.35752 94.6875,55.1875 C 94.782921,54.359043 94.856514,53.528978 94.90625,52.6875 z M 94.1875,58.46875 C 94.067455,59.097675 93.958484,59.724397 93.8125,60.34375 C 93.957786,59.726781 94.067925,59.095199 94.1875,58.46875 z M 93.78125,60.5 C 93.639153,61.093386 93.477886,61.665983 93.3125,62.25 C 93.476165,61.670751 93.640472,61.088461 93.78125,60.5 z " - id="path5185" /> - <path - style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" - d="M 40,35 L 60,35 C 62.77,35 70,47.23 70,50 L 70,65 C 70,67.77 67.77,70 65,70 L 35,70 C 32.23,70 30,67.77 30,65 L 30,50 C 30,47.23 37.23,35 40,35 z " - id="rect3142" - sodipodi:nodetypes="ccccccccc" /> - <path - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 45,30 C 48.9957,30 51.25,30 55,30 C 60.303301,30 60,45 60,45 L 40,45 C 40,45 39.696699,30 45,30 z " - id="rect3145" - sodipodi:nodetypes="csccs" /> - </g> - <path - transform="matrix(0.75,0,0,1.3400753,12.5,-3.4007528)" - d="M 90 23.058968 A 40 13.058968 0 1 1 10,23.058968 A 40 13.058968 0 1 1 90 23.058968 z" - sodipodi:ry="13.058968" - sodipodi:rx="40" - sodipodi:cy="23.058968" - sodipodi:cx="50" - id="path3286" - style="opacity:0.6;fill:url(#linearGradient2235);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter3192)" - sodipodi:type="arc" /> + 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" /> <path - transform="matrix(1.5,0,0,1.5,-25,-55)" - d="M 80 85 A 30 15 0 1 1 20,85 A 30 15 0 1 1 80 85 z" - sodipodi:ry="15" - sodipodi:rx="30" - sodipodi:cy="85" - sodipodi:cx="50" - id="path4283" - style="opacity:0.3333;fill:url(#linearGradient2237);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter4303)" - sodipodi:type="arc" /> + 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" /> </g> + <path + sodipodi:type="arc" + 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)" /> + <path + 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" /> </g> </svg> diff --git a/doc/Makefile b/doc/Makefile index 25b10104f..3d68d2d96 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 7588d1149..8a17c2255 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 Binary files differindex dda0497a2..d77f3c8f6 100644 --- a/doc/favicon.png +++ b/doc/favicon.png diff --git a/doc/help/ref-cupsd-conf.html.in b/doc/help/ref-cupsd-conf.html.in index 1020744a7..d55119c86 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.</P> +<H2 CLASS="title"><A NAME="BrowseWebIF">BrowseWebIF</A></H2> + +<H3>Examples</H3> + +<PRE CLASS="command"> +BrowseWebIF On +BrowseWebIF Off +</PRE> + +<H3>Description</H3> + +<P>The <CODE>BrowseWebIF</CODE> directive controls whether the CUPS web +interface is advertised via DNS-SD. The default setting is +<CODE>Off</CODE>.</P> + + <H2 CLASS="title"><A NAME="Browsing">Browsing</A></H2> <H3>Examples</H3> @@ -2826,27 +2842,45 @@ SetEnv MY_ENV_VAR foo variable that should be passed to child processes.</P> -<H2 CLASS="title"><A NAME="SSLListen">SSLListen</A></H2> +<H2 CLASS="title"><A NAME="SSLOptions">SSLOptions</A></H2> <H3>Examples</H3> <PRE CLASS="command"> -SSLListen 127.0.0.1:443 -SSLListen 192.0.2.1:443 +SSLOptions 127.0.0.1:443 +SSLOptions 192.0.2.1:443 </PRE> <H3>Description</H3> -<P>The <CODE>SSLListen</CODE> directive specifies a network +<P>The <CODE>SSLOptions</CODE> directive specifies a network address and port to listen for secure connections. Multiple -<CODE>SSLListen</CODE> directives can be provided to listen on +<CODE>SSLOptions</CODE> directives can be provided to listen on multiple addresses.</P> -<P>The <CODE>SSLListen</CODE> directive is similar to the <A +<P>The <CODE>SSLOptions</CODE> directive is similar to the <A HREF="#SSLPort"><CODE>SSLPort</CODE></A> directive but allows you to restrict access to specific interfaces or networks.</P> +<H2 CLASS="title"><A NAME="SSLOptions">SSLOptions</A></H2> + +<H3>Examples</H3> + +<PRE CLASS="command"> +SSLOptions None +SSLOptions NoEmptyFragments +</PRE> + +<H3>Description</H3> + +<P>The <CODE>SSLOptions</CODE> directive specifies additional SSL/TLS +protocol options to use for encrypted connected. Currently only two +options are supported - <code>None</code> (the default) for the most +secure mode and <code>NoEmptyFragments</code> to allow CUPS to work with +Microsoft Windows with the FIPS conformance mode enabled.</p> + + <H2 CLASS="title"><A NAME="SSLPort">SSLPort</A></H2> <H3>Examples</H3> diff --git a/doc/help/spec-browsing.html b/doc/help/spec-browsing.html new file mode 100644 index 000000000..05e534212 --- /dev/null +++ b/doc/help/spec-browsing.html @@ -0,0 +1,109 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<html> +<!-- SECTION: Specifications --> +<head> + <title>CUPS Browse Protocol</title> + <meta name='keywords' content='Programming'> +</head> +<body> +<!-- + "$Id$" + + CUPS Browse Protocol specification for the Common UNIX Printing System (CUPS). + + Copyright 2008 by Apple Inc. + Copyright 1997-2005 by Easy Software Products. + + These coded instructions, statements, and computer programs are the + property of Apple Inc. and are protected by Federal copyright + law. Distribution and use rights are outlined in the file "LICENSE.txt" + which should have been included with this file. If this file is + file is missing or damaged, see the license at "http://www.cups.org/". +--> + +<h2><a name='INTRO'>Introduction</a></h2> + +<p>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.</p> + +<p>For simple networks with a single subnet, a CUPS system sharing a printer +(the <em>server</em>) will periodically broadcast that printer's availability +and status information to the subnet. Every other CUPS system on the subnet +(the <em>clients</em>) 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.</p> + +<p>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.</p> + +<p>A key feature of CUPS printer sharing is support for <em>implicit +classes</em>, 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.</p> + + +<h2><a name='SECURITY'>Security Considerations</a></h2> + +<p>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.</p> + + +<h2><a name='FORMAT'>Browse Packet Format</a></h2> + +<p>Each broadcast packet is an ASCII text string of up to 1450 bytes ending +with a line feed (0x0a). The general format is:</p> + +<p class='summary'> +printer-type printer-state printer-uri "printer-location" "printer-info" +"printer-make-and-model" name=value name2=value2 ... +</p> + +<p>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).</p> + +<h3>ABNF Definition</h3> + +<p>The following ABNF definition [RFC4234, RFC3986] defines the format of each +browse packet:</p> + +<pre class='command'> +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 +</pre> + +</body> +</html> diff --git a/doc/help/spec-ipp.html b/doc/help/spec-ipp.html index e9e05fac5..da4d217f3 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. + <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2</span> + + <dd>The client OPTIONALLY supplies this attribute to + select the first printer that is returned. + <dt>"limit" (integer (1:MAX)): <dd>The client OPTIONALLY supplies this attribute limiting the number of printers that are returned. - <dt>"printer-info" (text(127)):<span class='info'>CUPS 1.1</span> - - <dd>The client OPTIONALLY supplies this attribute to - select which printers are returned. - <dt>"printer-location" (text(127)): <span class='info'>CUPS 1.1.7</span> <dd>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'. + <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2</span> + + <dd>The client OPTIONALLY supplies a user name that is used to filter + the returned printers. + </dl> <h4>CUPS-Get-Printers Response</h4> @@ -1171,15 +1176,16 @@ CUPS-Get-Classes request: attributes as described in section 3.1.4.1 of the IPP Model and Semantics document. + <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2</span> + + <dd>The client OPTIONALLY supplies this attribute to + select the first printer that is returned. + <dt>"limit" (integer (1:MAX)): <dd>The client OPTIONALLY supplies this attribute limiting the number of printer classes that are returned. - <dt>"printer-info" (text(127)): <span class='info'>CUPS 1.1.7</span> - <dd>The client OPTIONALLY supplies this attribute to - select which printer classes are returned. - <dt>"printer-location" (text(127)): <span class='info'>CUPS 1.1.7</span> <dd>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'. + <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2</span> + + <dd>The client OPTIONALLY supplies a user name that is used to filter + the returned printers. + </dl> <h4>CUPS-Get-Classes Response</h4> @@ -2710,7 +2721,7 @@ summary='Printer Type Bits'> <td>Is the a default printer on the network.</td> </tr> <tr> - <td>0x00040000<td> + <td>0x00040000</td> <td>Is a facsimile device.</td> </tr> <tr> diff --git a/doc/help/spec-ppd.html b/doc/help/spec-ppd.html index cd80907e4..7a981dfc3 100644 --- a/doc/help/spec-ppd.html +++ b/doc/help/spec-ppd.html @@ -8,7 +8,7 @@ </head> <body> <!-- - "$Id: spec-ppd.html 7677 2008-06-19 23:22:19Z mike $" + "$Id: spec-ppd.html 7937 2008-09-11 16:16:41Z mike $" CUPS PPD extensions specification for the Common UNIX Printing System (CUPS). @@ -38,7 +38,7 @@ filtering.</p> <p>The PPD format is text-based and uses lines of up to 255 characters terminated by a carriage return, linefeed, or combination of carriage return and line feed. The following ABNF -definition [RFC2234] defines the general format of lines in a PPD +definition [RFC4234] defines the general format of lines in a PPD file:</p> <pre class='command'> @@ -57,9 +57,9 @@ VALUE = 1*TCHAR / DQUOTE 1*SCHAR DQUOTE KCHAR = ALPHA / DIGIT / "_" / "." / "-" -SCHAR = LINE-END / WSP / %x21 / %x23-7E / %xA0-FF +SCHAR = LINE-END / WSP / %x21.23-7E.A0-FF -TCHAR = %x20-7E / %xA0-FF +TCHAR = %x20-7E.A0-FF LINE-END = CR / LF / CR LF </pre> diff --git a/doc/images/classes.png b/doc/images/classes.png Binary files differdeleted file mode 100644 index f03889752..000000000 --- a/doc/images/classes.png +++ /dev/null diff --git a/doc/images/classes.svg b/doc/images/classes.svg deleted file mode 100644 index 1bc790d5a..000000000 --- a/doc/images/classes.svg +++ /dev/null @@ -1,511 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100" - height="100" - viewBox="0 0 50 50" - xml:space="preserve" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.45.1" - sodipodi:docname="classes.svg" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - sodipodi:docbase="/home/mike/c/cups-trunk/doc/images" - version="1.0" - inkscape:export-filename="/home/mike/c/cups-trunk/doc/images/classes.png" - inkscape:export-xdpi="115.2" - inkscape:export-ydpi="115.2"><metadata - id="metadata39"><rdf:RDF><cc:Work - rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>CUPS class icon</dc:title><dc:creator><cc:Agent><dc:title>Michael Sweet</dc:title></cc:Agent></dc:creator><cc:license - rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /></cc:Work><cc:License - rdf:about="http://creativecommons.org/licenses/GPL/2.0/"><cc:permits - rdf:resource="http://web.resource.org/cc/Reproduction" /><cc:permits - rdf:resource="http://web.resource.org/cc/Distribution" /><cc:requires - rdf:resource="http://web.resource.org/cc/Notice" /><cc:permits - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /><cc:requires - rdf:resource="http://web.resource.org/cc/ShareAlike" /><cc:requires - rdf:resource="http://web.resource.org/cc/SourceCode" /></cc:License></rdf:RDF></metadata><defs - id="defs37"><linearGradient - inkscape:collect="always" - id="linearGradient3454"><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3456" /><stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3458" /></linearGradient><linearGradient - id="linearGradient3422"><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="0" - id="stop3424" /><stop - style="stop-color:#3f3f3f;stop-opacity:1;" - offset="1" - id="stop3426" /></linearGradient><linearGradient - inkscape:collect="always" - id="linearGradient3378"><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3380" /><stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3382" /></linearGradient><linearGradient - id="linearGradient3261"><stop - style="stop-color:#999999;stop-opacity:1;" - offset="0" - id="stop3263" /><stop - style="stop-color:#e6e6e6;stop-opacity:1" - offset="1" - id="stop3265" /></linearGradient><linearGradient - id="linearGradient3409"><stop - style="stop-color:#ffffff;stop-opacity:0.49803922;" - offset="0" - id="stop3411" /><stop - style="stop-color:#ffffff;stop-opacity:0.25098041;" - offset="1" - id="stop3413" /></linearGradient><linearGradient - id="linearGradient3392"><stop - style="stop-color:#bfbfbf;stop-opacity:1;" - offset="0" - id="stop3394" /><stop - style="stop-color:#f0f0f0;stop-opacity:1;" - offset="1" - id="stop3396" /></linearGradient><linearGradient - id="linearGradient3262"><stop - style="stop-color:#d0d0d0;stop-opacity:1;" - offset="0" - id="stop3264" /><stop - style="stop-color:#e8e8e8;stop-opacity:1;" - offset="1" - id="stop3266" /></linearGradient><linearGradient - id="linearGradient3254"><stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop3256" /><stop - style="stop-color:#000000;stop-opacity:0.74901962;" - offset="1" - id="stop3258" /></linearGradient><linearGradient - id="linearGradient3246"><stop - style="stop-color:#7f7f7f;stop-opacity:0.49803922;" - offset="0" - id="stop3248" /><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="1" - id="stop3250" /></linearGradient><linearGradient - id="linearGradient3238"><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="0" - id="stop3240" /><stop - style="stop-color:#7f7f7f;stop-opacity:0.49803922;" - offset="1" - id="stop3242" /></linearGradient><linearGradient - id="linearGradient3230"><stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop3232" /><stop - style="stop-color:#000000;stop-opacity:0.74901962;" - offset="1" - id="stop3234" /></linearGradient><linearGradient - id="linearGradient3222"><stop - style="stop-color:#00bf00;stop-opacity:0.87843138;" - offset="0" - id="stop3224" /><stop - style="stop-color:#000000;stop-opacity:0.87843138;" - offset="1" - id="stop3226" /></linearGradient><linearGradient - id="linearGradient3214"><stop - style="stop-color:#bfbfbf;stop-opacity:1;" - offset="0" - id="stop3216" /><stop - style="stop-color:#f0f0f0;stop-opacity:1;" - offset="1" - id="stop3218" /></linearGradient><linearGradient - id="linearGradient3200"><stop - style="stop-color:#d0d0d0;stop-opacity:1;" - offset="0" - id="stop3202" /><stop - id="stop3212" - offset="0.37" - style="stop-color:#e0e0e0;stop-opacity:1;" /><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop3204" /></linearGradient><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3200" - id="linearGradient3402" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0,-0.8179946,1.0011004,0,7.375104,34.766877)" - x1="9.6981544" - y1="17.388933" - x2="40.301846" - y2="17.388933" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3261" - id="linearGradient3267" - x1="5" - y1="27.5" - x2="45" - y2="27.5" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(0,-1.25)" /><filter - inkscape:collect="always" - x="-0.17068966" - width="1.3413793" - y="-1.2375" - height="3.475" - id="filter3356"><feGaussianBlur - inkscape:collect="always" - stdDeviation="2.578125" - id="feGaussianBlur3358" /></filter><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3378" - id="radialGradient3384" - cx="37.890049" - cy="24.140049" - fx="37.890049" - fy="24.140049" - r="2.5" - gradientUnits="userSpaceOnUse" /><filter - inkscape:collect="always" - x="-0.12" - width="1.24" - y="-0.12" - height="1.24" - id="filter3418"><feGaussianBlur - inkscape:collect="always" - stdDeviation="0.25" - id="feGaussianBlur3420" /></filter><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3422" - id="radialGradient3428" - cx="38.75" - cy="25" - fx="38.75" - fy="25" - r="2.625" - gradientUnits="userSpaceOnUse" /><filter - inkscape:collect="always" - id="filter3430"><feGaussianBlur - inkscape:collect="always" - stdDeviation="0.0825" - id="feGaussianBlur3432" /></filter><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3454" - id="linearGradient3460" - x1="36.375" - y1="14.967752" - x2="13.625" - y2="11.405098" - gradientUnits="userSpaceOnUse" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3261" - id="linearGradient4627" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(0,-1.25)" - x1="5" - y1="27.5" - x2="45" - y2="27.5" /><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3422" - id="radialGradient4629" - gradientUnits="userSpaceOnUse" - cx="38.75" - cy="25" - fx="38.75" - fy="25" - r="2.625" /><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3378" - id="radialGradient4631" - gradientUnits="userSpaceOnUse" - cx="37.890049" - cy="24.140049" - fx="37.890049" - fy="24.140049" - r="2.5" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3454" - id="linearGradient4633" - gradientUnits="userSpaceOnUse" - x1="36.375" - y1="14.967752" - x2="13.625" - y2="11.405098" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3261" - id="linearGradient4657" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(0,-1.25)" - x1="5" - y1="27.5" - x2="45" - y2="27.5" /><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3422" - id="radialGradient4659" - gradientUnits="userSpaceOnUse" - cx="38.75" - cy="25" - fx="38.75" - fy="25" - r="2.625" /><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3378" - id="radialGradient4661" - gradientUnits="userSpaceOnUse" - cx="37.890049" - cy="24.140049" - fx="37.890049" - fy="24.140049" - r="2.5" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3454" - id="linearGradient4663" - gradientUnits="userSpaceOnUse" - x1="36.375" - y1="14.967752" - x2="13.625" - y2="11.405098" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3261" - id="linearGradient4687" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(0,-1.25)" - x1="5" - y1="27.5" - x2="45" - y2="27.5" /><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3422" - id="radialGradient4689" - gradientUnits="userSpaceOnUse" - cx="38.75" - cy="25" - fx="38.75" - fy="25" - r="2.625" /><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3378" - id="radialGradient4691" - gradientUnits="userSpaceOnUse" - cx="37.890049" - cy="24.140049" - fx="37.890049" - fy="24.140049" - r="2.5" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3454" - id="linearGradient4693" - gradientUnits="userSpaceOnUse" - x1="36.375" - y1="14.967752" - x2="13.625" - y2="11.405098" /></defs><sodipodi:namedview - inkscape:cy="50" - inkscape:cx="50" - inkscape:zoom="4.07" - inkscape:window-height="622" - inkscape:window-width="872" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - guidetolerance="10.0" - gridtolerance="10.0" - objecttolerance="10.0" - borderopacity="1.0" - bordercolor="#666666" - pagecolor="#ffffff" - id="base" - showgrid="true" - inkscape:object-bbox="true" - inkscape:object-points="true" - inkscape:grid-points="true" - inkscape:guide-points="true" - width="100px" - height="100px" - inkscape:object-paths="true" - inkscape:grid-bbox="true" - inkscape:guide-bbox="true" - inkscape:object-nodes="true" - inkscape:window-x="250" - inkscape:window-y="42" - inkscape:current-layer="svg2" - gridspacingx="0.5px" - gridspacingy="0.5px" /> - -<g - id="g4615" - transform="matrix(0.64,0,0,0.64,-1.87,17.557087)"><rect - transform="matrix(0.9310344,0,0,1,1.6810348,-1.4173228)" - y="41.25" - x="6.25" - height="5" - width="36.25" - id="rect3314" - style="opacity:0.6667;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter3356)" /><path - sodipodi:nodetypes="csccccccs" - id="rect2276" - d="M 15,8.75 C 22.5,8.75 30,8.75 35,8.75 C 37.690077,8.75 45,20.98 45,23.75 L 45,38.75 C 45,41.52 42.77,43.75 40,43.75 L 10,43.75 C 7.23,43.75 5,41.52 5,38.75 L 5,23.75 C 5,20.98 12.309923,8.75 15,8.75 z " - style="opacity:1;fill:url(#linearGradient4627);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922" /><rect - ry="5" - rx="5" - y="18.75" - x="5" - height="25" - width="40" - id="rect2279" - style="opacity:0.5;fill:#808080;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3430)" /><rect - y="33.821854" - x="10.009353" - height="9.9187946" - width="29.981295" - id="rect3309" - style="opacity:0.66660001;fill:#999999;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.1437055;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path - transform="translate(1.375,-1.375)" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - sodipodi:ry="2.5" - sodipodi:rx="2.5" - sodipodi:cy="25" - sodipodi:cx="38.75" - id="path3366" - style="opacity:1;fill:url(#radialGradient4629);fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - sodipodi:type="arc" /><path - sodipodi:type="arc" - style="opacity:0.5;fill:url(#radialGradient4631);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3418)" - id="path3376" - sodipodi:cx="38.75" - sodipodi:cy="25" - sodipodi:rx="2.5" - sodipodi:ry="2.5" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - transform="translate(1.375,-1.375)" /><g - id="g3469"><path - style="opacity:0.6667;fill:url(#linearGradient4633);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" - d="M 15.956628,10 L 33.75,10 L 36.25,16.25 L 13.75,16.25 L 15.956628,10 z " - id="rect3452" - sodipodi:nodetypes="ccccc" /><path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 33.75,10 L 35,16.25" - id="path3463" /><path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 15.956628,10 L 15,16.25" - id="path3465" /></g></g><g - transform="matrix(0.512,0,0,0.512,25.71,5.7956693)" - id="g4635"><rect - style="opacity:0.6667;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter3356)" - id="rect4637" - width="36.25" - height="5" - x="6.25" - y="41.25" - transform="matrix(0.9310344,0,0,1,1.6810348,-1.4173228)" /><path - style="opacity:1;fill:url(#linearGradient4657);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922" - d="M 15,8.75 C 22.5,8.75 30,8.75 35,8.75 C 37.690077,8.75 45,20.98 45,23.75 L 45,38.75 C 45,41.52 42.77,43.75 40,43.75 L 10,43.75 C 7.23,43.75 5,41.52 5,38.75 L 5,23.75 C 5,20.98 12.309923,8.75 15,8.75 z " - id="path4639" - sodipodi:nodetypes="csccccccs" /><rect - style="opacity:0.5;fill:#808080;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3430)" - id="rect4641" - width="40" - height="25" - x="5" - y="18.75" - rx="5" - ry="5" /><rect - style="opacity:0.66660001;fill:#999999;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.1437055;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect4643" - width="29.981295" - height="9.9187946" - x="10.009353" - y="33.821854" /><path - sodipodi:type="arc" - style="opacity:1;fill:url(#radialGradient4659);fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path4645" - sodipodi:cx="38.75" - sodipodi:cy="25" - sodipodi:rx="2.5" - sodipodi:ry="2.5" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - transform="translate(1.375,-1.375)" /><path - transform="translate(1.375,-1.375)" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - sodipodi:ry="2.5" - sodipodi:rx="2.5" - sodipodi:cy="25" - sodipodi:cx="38.75" - id="path4647" - style="opacity:0.5;fill:url(#radialGradient4661);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3418)" - sodipodi:type="arc" /><g - id="g4649"><path - sodipodi:nodetypes="ccccc" - id="path4651" - d="M 15.956628,10 L 33.75,10 L 36.25,16.25 L 13.75,16.25 L 15.956628,10 z " - style="opacity:0.6667;fill:url(#linearGradient4663);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" /><path - id="path4653" - d="M 33.75,10 L 35,16.25" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path - id="path4655" - d="M 15.956628,10 L 15,16.25" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g></g><g - id="g4665" - transform="matrix(0.4096,0,0,0.4096,4.202,-1.084)"><rect - transform="matrix(0.9310344,0,0,1,1.6810348,-1.4173228)" - y="41.25" - x="6.25" - height="5" - width="36.25" - id="rect4667" - style="opacity:0.6667;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter3356)" /><path - sodipodi:nodetypes="csccccccs" - id="path4669" - d="M 15,8.75 C 22.5,8.75 30,8.75 35,8.75 C 37.690077,8.75 45,20.98 45,23.75 L 45,38.75 C 45,41.52 42.77,43.75 40,43.75 L 10,43.75 C 7.23,43.75 5,41.52 5,38.75 L 5,23.75 C 5,20.98 12.309923,8.75 15,8.75 z " - style="opacity:1;fill:url(#linearGradient4687);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922" /><rect - ry="5" - rx="5" - y="18.75" - x="5" - height="25" - width="40" - id="rect4671" - style="opacity:0.5;fill:#808080;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3430)" /><rect - y="33.821854" - x="10.009353" - height="9.9187946" - width="29.981295" - id="rect4673" - style="opacity:0.66660001;fill:#999999;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.1437055;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path - transform="translate(1.375,-1.375)" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - sodipodi:ry="2.5" - sodipodi:rx="2.5" - sodipodi:cy="25" - sodipodi:cx="38.75" - id="path4675" - style="opacity:1;fill:url(#radialGradient4689);fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - sodipodi:type="arc" /><path - sodipodi:type="arc" - style="opacity:0.5;fill:url(#radialGradient4691);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3418)" - id="path4677" - sodipodi:cx="38.75" - sodipodi:cy="25" - sodipodi:rx="2.5" - sodipodi:ry="2.5" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - transform="translate(1.375,-1.375)" /><g - id="g4679"><path - style="opacity:0.6667;fill:url(#linearGradient4693);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" - d="M 15.956628,10 L 33.75,10 L 36.25,16.25 L 13.75,16.25 L 15.956628,10 z " - id="path4681" - sodipodi:nodetypes="ccccc" /><path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 33.75,10 L 35,16.25" - id="path4683" /><path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 15.956628,10 L 15,16.25" - id="path4685" /></g></g></svg>
\ No newline at end of file diff --git a/doc/images/cups-icon.png b/doc/images/cups-icon.png Binary files differindex 341536d9b..3ab11f636 100644 --- a/doc/images/cups-icon.png +++ b/doc/images/cups-icon.png diff --git a/doc/images/cups.png b/doc/images/cups.png Binary files differindex d61f14222..3ab11f636 100644 --- a/doc/images/cups.png +++ b/doc/images/cups.png diff --git a/doc/images/cups.svg b/doc/images/cups.svg index 3fa4f703e..212363d9f 100644 --- a/doc/images/cups.svg +++ b/doc/images/cups.svg @@ -2,7 +2,7 @@ <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" + xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" @@ -13,53 +13,147 @@ height="100" id="svg2" sodipodi:version="0.32" - inkscape:version="0.45.1" + inkscape:version="0.46" version="1.0" - sodipodi:docbase="/home/mike/c/cups-webui/doc/images" - sodipodi:docname="cups-v3.svg" + sodipodi:docbase="/home/mike/c/cups-trunk/desktop" + sodipodi:docname="cups.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="/home/mike/c/cups-webui/doc/images/cups-v3.png" - inkscape:export-xdpi="115.2" - inkscape:export-ydpi="115.2"> + inkscape:export-filename="/Users/mike/c/cups-trunk/desktop/cups-16.png" + inkscape:export-xdpi="14.4" + inkscape:export-ydpi="14.4"> <defs id="defs4"> <linearGradient - inkscape:collect="always" - id="linearGradient4285"> + id="linearGradient3645"> + <stop + id="stop3647" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop3649" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient3515"> + <stop + style="stop-color:#ccff66;stop-opacity:1;" + offset="0" + id="stop3517" /> + <stop + style="stop-color:#00cc00;stop-opacity:1;" + offset="1" + id="stop3519" /> + </linearGradient> + <linearGradient + id="linearGradient3377"> <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" - id="stop4287" /> + id="stop3379" /> <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" - id="stop4289" /> + id="stop3381" /> </linearGradient> <linearGradient inkscape:collect="always" - id="linearGradient4271"> + id="linearGradient3280"> <stop - style="stop-color:#ffff00;stop-opacity:1;" + style="stop-color:#ffffbf;stop-opacity:1;" offset="0" - id="stop4273" /> + id="stop3282" /> <stop - style="stop-color:#ffff00;stop-opacity:0;" + style="stop-color:#ffffbf;stop-opacity:0;" offset="1" - id="stop4275" /> + id="stop3284" /> </linearGradient> <linearGradient inkscape:collect="always" - id="linearGradient4261"> + id="linearGradient3270"> <stop - style="stop-color:#ffffff;stop-opacity:1;" + style="stop-color:#000000;stop-opacity:1;" offset="0" - id="stop4263" /> + id="stop3272" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3274" /> + </linearGradient> + <linearGradient + id="linearGradient3251"> + <stop + style="stop-color:#ccff66;stop-opacity:1;" + offset="0" + id="stop3253" /> + <stop + style="stop-color:#007700;stop-opacity:1;" + offset="1" + id="stop3255" /> + </linearGradient> + <linearGradient + id="linearGradient3416"> + <stop + style="stop-color:#7fff00;stop-opacity:1;" + offset="0" + id="stop3418" /> + <stop + style="stop-color:#1f7f00;stop-opacity:1;" + offset="1" + id="stop3420" /> + </linearGradient> + <linearGradient + id="linearGradient3530"> + <stop + style="stop-color:#000000;stop-opacity:0.74901962;" + offset="0" + id="stop3532" /> + <stop + style="stop-color:#333333;stop-opacity:0;" + offset="1" + id="stop3534" /> + </linearGradient> + <linearGradient + id="linearGradient3690"> + <stop + style="stop-color:#ffffff;stop-opacity:0.49803922;" + offset="0" + id="stop3692" /> <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" - id="stop4265" /> + id="stop3694" /> + </linearGradient> + <linearGradient + id="linearGradient3680"> + <stop + style="stop-color:#000000;stop-opacity:0.49803922" + offset="0" + id="stop3682" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3684" /> </linearGradient> <linearGradient + id="linearGradient3658"> + <stop + style="stop-color:#cccc99;stop-opacity:1;" + offset="0" + id="stop3660" /> + <stop + style="stop-color:#cccc99;stop-opacity:0;" + offset="1" + id="stop3662" /> + </linearGradient> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 50 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="100 : 50 : 1" + inkscape:persp3d-origin="50 : 33.333333 : 1" + id="perspective2838" /> + <linearGradient id="linearGradient3269"> <stop style="stop-color:#00ff00;stop-opacity:1;" @@ -202,76 +296,161 @@ style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" sodipodi:type="arc" /> </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3704"> + <path + sodipodi:type="arc" + style="opacity:1;fill:#000000;fill-opacity:0.49803922;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path3706" + sodipodi:cx="51.104416" + sodipodi:cy="48.192772" + sodipodi:rx="39.658634" + sodipodi:ry="43.574299" + d="M 90.76305,48.192772 A 39.658634,43.574299 0 1 1 11.445782,48.192772 A 39.658634,43.574299 0 1 1 90.76305,48.192772 z" + transform="matrix(1.003038,0,0,1.0232718,-1.4805538,0.2740483)" /> + </clipPath> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient3269" - id="linearGradient3275" - x1="53.971653" - y1="73.40696" - x2="49.183048" - y2="5" + xlink:href="#linearGradient3270" + id="linearGradient3276" + x1="50.200802" + y1="91.967865" + x2="50.200802" + y2="67.948906" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" - xlink:href="#linearGradient4261" - id="linearGradient4267" - x1="50" - y1="10" - x2="50" - y2="36.117935" + xlink:href="#linearGradient3280" + id="linearGradient3286" + x1="47.690762" + y1="6.6265068" + x2="47.690762" + y2="53.815262" gradientUnits="userSpaceOnUse" /> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3295"> + <path + transform="matrix(0.8148984,0,0,0.6256338,5.5549494,4.4908095)" + d="M 96.184742,26.706827 A 44.477913,23.293173 0 1 1 7.2289162,26.706827 A 44.477913,23.293173 0 1 1 96.184742,26.706827 z" + sodipodi:ry="23.293173" + sodipodi:rx="44.477913" + sodipodi:cy="26.706827" + sodipodi:cx="51.706829" + id="path3297" + style="opacity:1;fill:#ffffbf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + </clipPath> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3371"> + <path + sodipodi:type="arc" + style="opacity:1;fill:#ffffbf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path3373" + sodipodi:cx="48.895584" + sodipodi:cy="47.188755" + sodipodi:rx="42.269077" + sodipodi:ry="41.767067" + d="M 91.164661,47.188755 A 42.269077,41.767067 0 1 1 6.6265068,47.188755 A 42.269077,41.767067 0 1 1 91.164661,47.188755 z" + transform="matrix(0.9784331,0,0,0.9984421,2.7613512,2.0815482)" /> + </clipPath> + <filter + inkscape:collect="always" + id="filter3385"> + <feGaussianBlur + inkscape:collect="always" + stdDeviation="2.0773168" + id="feGaussianBlur3387" /> + </filter> <radialGradient inkscape:collect="always" - xlink:href="#linearGradient4271" - id="radialGradient4277" - cx="51.68919" - cy="77.5" - fx="51.68919" - fy="77.5" - r="26.68919" - gradientTransform="matrix(1,0,0,0.4683544,0,41.202533)" + xlink:href="#linearGradient3515" + id="radialGradient3521" + cx="51.405624" + cy="71.446022" + fx="51.405624" + fy="71.446022" + r="41.566265" + gradientTransform="matrix(1,0,0,1.5633645,0,-39.484036)" gradientUnits="userSpaceOnUse" /> <filter inkscape:collect="always" - x="-0.087105347" - width="1.1742107" - y="-0.18598169" - height="1.3719634" - id="filter4279"> + id="filter3587" + x="-0.12220446" + width="1.2444089" + y="-0.11793158" + height="1.2358632"> <feGaussianBlur inkscape:collect="always" - stdDeviation="1.9373093" - id="feGaussianBlur4281" /> + stdDeviation="4.2329858" + id="feGaussianBlur3589" /> </filter> - <linearGradient + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3591"> + <path + transform="translate(2.9340892e-7,-2.3929013)" + 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" + sodipodi:ry="43.072289" + sodipodi:rx="41.566265" + sodipodi:cy="50.301205" + sodipodi:cx="51.405624" + id="path3593" + style="opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + sodipodi:type="arc" /> + </clipPath> + <filter + inkscape:collect="always" + id="filter3611"> + <feGaussianBlur + inkscape:collect="always" + stdDeviation="2.1711472" + id="feGaussianBlur3613" /> + </filter> + <radialGradient inkscape:collect="always" - xlink:href="#linearGradient4285" - id="linearGradient4291" - x1="50" - y1="100" - x2="50" - y2="81.396393" + xlink:href="#linearGradient3645" + id="radialGradient3695" + cx="-6.7269073" + cy="27.94368" + fx="-6.7269073" + fy="27.94368" + r="12.5502" + gradientTransform="matrix(-1.9906652,-2.2927541e-8,1.4386067e-8,-1.5156153,-20.117928,50.98641)" gradientUnits="userSpaceOnUse" /> <filter inkscape:collect="always" - id="filter4303"> + id="filter3797" + x="-0.098526749" + width="1.1970535" + y="-0.15589675" + height="1.3117935"> <feGaussianBlur inkscape:collect="always" - stdDeviation="0.5625" - id="feGaussianBlur4305" /> + stdDeviation="1.030442" + id="feGaussianBlur3799" /> </filter> <filter inkscape:collect="always" - x="-0.035535272" - width="1.0710705" - y="-0.10884558" - height="1.2176912" - id="filter3192"> + id="filter3807"> <feGaussianBlur inkscape:collect="always" - stdDeviation="1.1845091" - id="feGaussianBlur3194" /> + stdDeviation="0.1030442" + id="feGaussianBlur3809" /> </filter> + <radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3645" + id="radialGradient3815" + cx="-6.7269082" + cy="29.116467" + fx="-6.7269082" + fy="29.116467" + r="12.5502" + gradientTransform="matrix(-1,-6.831379e-8,3.8912925e-8,-0.6320001,-13.453817,27.036147)" + gradientUnits="userSpaceOnUse" /> </defs> <sodipodi:namedview id="base" @@ -283,21 +462,26 @@ objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1" + inkscape:zoom="4.98" inkscape:cx="50" inkscape:cy="50" inkscape:document-units="px" inkscape:current-layer="layer1" width="100px" height="100px" - showgrid="true" + showgrid="false" inkscape:grid-points="true" inkscape:window-width="872" - inkscape:window-height="622" + inkscape:window-height="701" inkscape:window-x="0" inkscape:window-y="0" showguides="true" - inkscape:guide-bbox="true" /> + inkscape:guide-bbox="true" + inkscape:snap-global="false"> + <inkscape:grid + type="xygrid" + id="grid2840" /> + </sodipodi:namedview> <metadata id="metadata7"> <rdf:RDF> @@ -306,7 +490,35 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <cc:license + rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> + <dc:title>CUPS Icon</dc:title> + <dc:creator> + <cc:Agent> + <dc:title>Michael Sweet</dc:title> + </cc:Agent> + </dc:creator> + <dc:publisher> + <cc:Agent> + <dc:title>Apple Inc.</dc:title> + </cc:Agent> + </dc:publisher> </cc:Work> + <cc:License + rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> + <cc:permits + rdf:resource="http://web.resource.org/cc/Reproduction" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/Distribution" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Notice" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/ShareAlike" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/SourceCode" /> + </cc:License> </rdf:RDF> </metadata> <g @@ -315,61 +527,66 @@ id="layer1"> <path sodipodi:type="arc" - style="opacity:1;fill:url(#linearGradient3275);fill-opacity:1.0;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922" - id="path3267" - sodipodi:cx="49.183048" - sodipodi:cy="48.937347" - sodipodi:rx="44.183048" - sodipodi:ry="43.937347" - d="M 93.366096 48.937347 A 44.183048 43.937347 0 1 1 5,48.937347 A 44.183048 43.937347 0 1 1 93.366096 48.937347 z" - transform="matrix(1.0184902,0,0,1.0241856,-9.2450814e-2,-0.1209281)" /> + 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)" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#004400;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path2479" + 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.5603884,-2.5524482)" /> <path sodipodi:type="arc" - style="opacity:0.75;fill:url(#radialGradient4277);fill-opacity:1.0;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter4279)" - id="path4269" - sodipodi:cx="51.68919" - sodipodi:cy="77.5" - sodipodi:rx="26.68919" - sodipodi:ry="12.5" - d="M 78.37838 77.5 A 26.68919 12.5 0 1 1 25,77.5 A 26.68919 12.5 0 1 1 78.37838 77.5 z" - transform="matrix(0.9367088,0,0,1,1.5822791,0)" /> + 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)" /> <g - id="g3281" - style="opacity:0.8"> + id="g2882" + transform="matrix(0.8775394,0,0,0.8757773,5.5493793,6.1227532)"> <path - id="path5185" - d="M 50 5 C 25.16 5 5 25.16 5 50 C 5 74.84 25.16 95 50 95 C 60.487179 95 70.127342 91.396876 77.78125 85.375 C 78.181257 85.060286 78.579829 84.734064 78.96875 84.40625 C 83.665983 80.447043 87.549643 75.552818 90.3125 70 L 75.59375 70 C 69.643319 77.602179 60.395279 82.5 50 82.5 C 32.059999 82.5 17.5 67.94 17.5 50 C 17.5 32.06 32.060001 17.5 50 17.5 C 60.395278 17.5 69.643319 22.397821 75.59375 30 L 90.3125 30 C 87.549643 24.447182 83.665983 19.552957 78.96875 15.59375 C 78.579829 15.265936 78.181257 14.939714 77.78125 14.625 C 70.127342 8.6031239 60.487179 5 50 5 z M 93.3125 37.75 C 93.477886 38.334017 93.639153 38.906614 93.78125 39.5 C 93.640472 38.911539 93.476165 38.329249 93.3125 37.75 z M 93.8125 39.65625 C 93.958484 40.275603 94.067455 40.902325 94.1875 41.53125 C 94.067925 40.904801 93.957786 40.273219 93.8125 39.65625 z M 94.6875 44.8125 C 94.782981 45.64248 94.856683 46.469338 94.90625 47.3125 C 94.856514 46.471022 94.782921 45.640957 94.6875 44.8125 z M 94.90625 47.3125 C 94.958277 48.197515 95 49.101843 95 50 C 95 49.096018 94.958903 48.203339 94.90625 47.3125 z M 95 50 C 95 50.898157 94.958277 51.802485 94.90625 52.6875 C 94.958903 51.796661 95 50.903982 95 50 z M 94.90625 52.6875 C 94.856683 53.530662 94.782981 54.35752 94.6875 55.1875 C 94.782921 54.359043 94.856514 53.528978 94.90625 52.6875 z M 94.1875 58.46875 C 94.067455 59.097675 93.958484 59.724397 93.8125 60.34375 C 93.957786 59.726781 94.067925 59.095199 94.1875 58.46875 z M 93.78125 60.5 C 93.639153 61.093386 93.477886 61.665983 93.3125 62.25 C 93.476165 61.670751 93.640472 61.088461 93.78125 60.5 z " - style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + 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" /> <path - sodipodi:nodetypes="ccccccccc" - id="rect3142" - d="M 40,35 L 60,35 C 62.77,35 70,47.23 70,50 L 70,65 C 70,67.77 67.77,70 65,70 L 35,70 C 32.23,70 30,67.77 30,65 L 30,50 C 30,47.23 37.23,35 40,35 z " - style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" /> - <path - sodipodi:nodetypes="csccs" - id="rect3145" - d="M 45,30 C 48.9957,30 51.25,30 55,30 C 60.303301,30 60,45 60,45 L 40,45 C 40,45 39.696699,30 45,30 z " - style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + 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" /> </g> <path sodipodi:type="arc" - style="opacity:0.6;fill:url(#linearGradient4267);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter3192)" - id="path3286" - sodipodi:cx="50" - sodipodi:cy="23.058968" - sodipodi:rx="40" - sodipodi:ry="13.058968" - d="M 90 23.058968 A 40 13.058968 0 1 1 10,23.058968 A 40 13.058968 0 1 1 90 23.058968 z" - transform="matrix(0.75,0,0,1.3400753,12.5,-3.4007528)" /> + 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)" /> <path - sodipodi:type="arc" - style="opacity:0.3333;fill:url(#linearGradient4291);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter4303)" - id="path4283" - sodipodi:cx="50" - sodipodi:cy="85" - sodipodi:rx="30" - sodipodi:ry="15" - d="M 80 85 A 30 15 0 1 1 20,85 A 30 15 0 1 1 80 85 z" - transform="matrix(1.5,0,0,1.5,-25,-55)" /> + 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" /> </g> </svg> diff --git a/doc/images/left.gif b/doc/images/left.gif Binary files differindex f48747f16..608920d8d 100644 --- a/doc/images/left.gif +++ b/doc/images/left.gif diff --git a/doc/images/left.xcf.gz b/doc/images/left.xcf.gz Binary files differindex d61dd9070..912254d2b 100644 --- a/doc/images/left.xcf.gz +++ b/doc/images/left.xcf.gz diff --git a/doc/images/printer-idle.png b/doc/images/printer-idle.png Binary files differdeleted file mode 100644 index 4cab92842..000000000 --- a/doc/images/printer-idle.png +++ /dev/null diff --git a/doc/images/printer-idle.svg b/doc/images/printer-idle.svg deleted file mode 100644 index af62b63a8..000000000 --- a/doc/images/printer-idle.svg +++ /dev/null @@ -1,292 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100" - height="100" - viewBox="0 0 50 50" - xml:space="preserve" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.45.1" - sodipodi:docname="printer-idle.svg" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - sodipodi:docbase="/home/mike/c/cups-trunk/doc/images" - version="1.0" - inkscape:export-filename="/home/mike/c/cups-trunk/doc/images/printer-idle.png" - inkscape:export-xdpi="115.2" - inkscape:export-ydpi="115.2"><metadata - id="metadata39"><rdf:RDF><cc:Work - rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>CUPS idle printer icon</dc:title><dc:creator><cc:Agent><dc:title>Michael Sweet</dc:title></cc:Agent></dc:creator><cc:license - rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /></cc:Work><cc:License - rdf:about="http://creativecommons.org/licenses/GPL/2.0/"><cc:permits - rdf:resource="http://web.resource.org/cc/Reproduction" /><cc:permits - rdf:resource="http://web.resource.org/cc/Distribution" /><cc:requires - rdf:resource="http://web.resource.org/cc/Notice" /><cc:permits - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /><cc:requires - rdf:resource="http://web.resource.org/cc/ShareAlike" /><cc:requires - rdf:resource="http://web.resource.org/cc/SourceCode" /></cc:License></rdf:RDF></metadata><defs - id="defs37"><linearGradient - inkscape:collect="always" - id="linearGradient3454"><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3456" /><stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3458" /></linearGradient><linearGradient - id="linearGradient3422"><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="0" - id="stop3424" /><stop - style="stop-color:#3f3f3f;stop-opacity:1;" - offset="1" - id="stop3426" /></linearGradient><linearGradient - inkscape:collect="always" - id="linearGradient3378"><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3380" /><stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3382" /></linearGradient><linearGradient - id="linearGradient3261"><stop - style="stop-color:#999999;stop-opacity:1;" - offset="0" - id="stop3263" /><stop - style="stop-color:#e6e6e6;stop-opacity:1" - offset="1" - id="stop3265" /></linearGradient><linearGradient - id="linearGradient3409"><stop - style="stop-color:#ffffff;stop-opacity:0.49803922;" - offset="0" - id="stop3411" /><stop - style="stop-color:#ffffff;stop-opacity:0.25098041;" - offset="1" - id="stop3413" /></linearGradient><linearGradient - id="linearGradient3392"><stop - style="stop-color:#bfbfbf;stop-opacity:1;" - offset="0" - id="stop3394" /><stop - style="stop-color:#f0f0f0;stop-opacity:1;" - offset="1" - id="stop3396" /></linearGradient><linearGradient - id="linearGradient3262"><stop - style="stop-color:#d0d0d0;stop-opacity:1;" - offset="0" - id="stop3264" /><stop - style="stop-color:#e8e8e8;stop-opacity:1;" - offset="1" - id="stop3266" /></linearGradient><linearGradient - id="linearGradient3254"><stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop3256" /><stop - style="stop-color:#000000;stop-opacity:0.74901962;" - offset="1" - id="stop3258" /></linearGradient><linearGradient - id="linearGradient3246"><stop - style="stop-color:#7f7f7f;stop-opacity:0.49803922;" - offset="0" - id="stop3248" /><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="1" - id="stop3250" /></linearGradient><linearGradient - id="linearGradient3238"><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="0" - id="stop3240" /><stop - style="stop-color:#7f7f7f;stop-opacity:0.49803922;" - offset="1" - id="stop3242" /></linearGradient><linearGradient - id="linearGradient3230"><stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop3232" /><stop - style="stop-color:#000000;stop-opacity:0.74901962;" - offset="1" - id="stop3234" /></linearGradient><linearGradient - id="linearGradient3222"><stop - style="stop-color:#00bf00;stop-opacity:0.87843138;" - offset="0" - id="stop3224" /><stop - style="stop-color:#000000;stop-opacity:0.87843138;" - offset="1" - id="stop3226" /></linearGradient><linearGradient - id="linearGradient3214"><stop - style="stop-color:#bfbfbf;stop-opacity:1;" - offset="0" - id="stop3216" /><stop - style="stop-color:#f0f0f0;stop-opacity:1;" - offset="1" - id="stop3218" /></linearGradient><linearGradient - id="linearGradient3200"><stop - style="stop-color:#d0d0d0;stop-opacity:1;" - offset="0" - id="stop3202" /><stop - id="stop3212" - offset="0.37" - style="stop-color:#e0e0e0;stop-opacity:1;" /><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop3204" /></linearGradient><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3200" - id="linearGradient3402" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0,-0.8179946,1.0011004,0,7.375104,34.766877)" - x1="9.6981544" - y1="17.388933" - x2="40.301846" - y2="17.388933" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3261" - id="linearGradient3267" - x1="5" - y1="27.5" - x2="45" - y2="27.5" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(0,-1.25)" /><filter - inkscape:collect="always" - x="-0.17068966" - width="1.3413793" - y="-1.2375" - height="3.475" - id="filter3356"><feGaussianBlur - inkscape:collect="always" - stdDeviation="2.578125" - id="feGaussianBlur3358" /></filter><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3378" - id="radialGradient3384" - cx="37.890049" - cy="24.140049" - fx="37.890049" - fy="24.140049" - r="2.5" - gradientUnits="userSpaceOnUse" /><filter - inkscape:collect="always" - x="-0.12" - width="1.24" - y="-0.12" - height="1.24" - id="filter3418"><feGaussianBlur - inkscape:collect="always" - stdDeviation="0.25" - id="feGaussianBlur3420" /></filter><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3422" - id="radialGradient3428" - cx="38.75" - cy="25" - fx="38.75" - fy="25" - r="2.625" - gradientUnits="userSpaceOnUse" /><filter - inkscape:collect="always" - id="filter3430"><feGaussianBlur - inkscape:collect="always" - stdDeviation="0.0825" - id="feGaussianBlur3432" /></filter><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3454" - id="linearGradient3460" - x1="36.375" - y1="14.967752" - x2="13.625" - y2="11.405098" - gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview - inkscape:cy="50" - inkscape:cx="50" - inkscape:zoom="4.07" - inkscape:window-height="622" - inkscape:window-width="872" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - guidetolerance="10.0" - gridtolerance="10.0" - objecttolerance="10.0" - borderopacity="1.0" - bordercolor="#666666" - pagecolor="#ffffff" - id="base" - showgrid="true" - inkscape:object-bbox="true" - inkscape:object-points="true" - inkscape:grid-points="true" - inkscape:guide-points="true" - width="100px" - height="100px" - inkscape:object-paths="true" - inkscape:grid-bbox="true" - inkscape:guide-bbox="true" - inkscape:object-nodes="true" - inkscape:window-x="168" - inkscape:window-y="216" - inkscape:current-layer="svg2" - gridspacingx="0.5px" - gridspacingy="0.5px" /> - -<rect - style="opacity:0.6667;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter3356)" - id="rect3314" - width="36.25" - height="5" - x="6.25" - y="41.25" - transform="matrix(0.9310344,0,0,1,1.6810348,-1.4173228)" /><path - style="opacity:1;fill:url(#linearGradient3267);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.49803922;stroke-dasharray:none" - d="M 15,8.75 C 22.5,8.75 30,8.75 35,8.75 C 37.690077,8.75 45,20.98 45,23.75 L 45,38.75 C 45,41.52 42.77,43.75 40,43.75 L 10,43.75 C 7.23,43.75 5,41.52 5,38.75 L 5,23.75 C 5,20.98 12.309923,8.75 15,8.75 z " - id="rect2276" - sodipodi:nodetypes="csccccccs" /><rect - style="opacity:0.5;fill:#808080;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3430)" - id="rect2279" - width="40" - height="25" - x="5" - y="18.75" - rx="5" - ry="5" /><rect - style="opacity:0.66660001;fill:#999999;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.1437055;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3309" - width="29.981295" - height="9.9187946" - x="10.009353" - y="33.821854" /><path - sodipodi:type="arc" - style="opacity:1;fill:url(#radialGradient3428);fill-opacity:1.0;stroke:#000000;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path3366" - sodipodi:cx="38.75" - sodipodi:cy="25" - sodipodi:rx="2.5" - sodipodi:ry="2.5" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - transform="translate(1.375,-1.375)" /><path - transform="translate(1.375,-1.375)" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - sodipodi:ry="2.5" - sodipodi:rx="2.5" - sodipodi:cy="25" - sodipodi:cx="38.75" - id="path3376" - style="opacity:0.5;fill:url(#radialGradient3384);fill-opacity:1.0;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3418)" - sodipodi:type="arc" /><g - id="g3469"><path - sodipodi:nodetypes="ccccc" - id="rect3452" - d="M 15.956628,10 L 33.75,10 L 36.25,16.25 L 13.75,16.25 L 15.956628,10 z " - style="opacity:0.6667;fill:url(#linearGradient3460);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" /><path - id="path3463" - d="M 33.75,10 L 35,16.25" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /><path - id="path3465" - d="M 15.956628,10 L 15,16.25" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /></g></svg>
\ No newline at end of file diff --git a/doc/images/printer-processing.png b/doc/images/printer-processing.png Binary files differdeleted file mode 100644 index 042d1a277..000000000 --- a/doc/images/printer-processing.png +++ /dev/null diff --git a/doc/images/printer-processing.svg b/doc/images/printer-processing.svg deleted file mode 100644 index 77ab490db..000000000 --- a/doc/images/printer-processing.svg +++ /dev/null @@ -1,313 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100" - height="100" - viewBox="0 0 50 50" - xml:space="preserve" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.45.1" - sodipodi:docname="printer-processing.svg" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - sodipodi:docbase="/home/mike/c/cups-trunk/doc/images" - version="1.0" - inkscape:export-filename="/home/mike/c/cups-trunk/doc/images/printer-processing.png" - inkscape:export-xdpi="115.2" - inkscape:export-ydpi="115.2"><metadata - id="metadata39"><rdf:RDF><cc:Work - rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>CUPS processing printer icon</dc:title><dc:creator><cc:Agent><dc:title>Michael Sweet</dc:title></cc:Agent></dc:creator><cc:license - rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /></cc:Work><cc:License - rdf:about="http://creativecommons.org/licenses/GPL/2.0/"><cc:permits - rdf:resource="http://web.resource.org/cc/Reproduction" /><cc:permits - rdf:resource="http://web.resource.org/cc/Distribution" /><cc:requires - rdf:resource="http://web.resource.org/cc/Notice" /><cc:permits - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /><cc:requires - rdf:resource="http://web.resource.org/cc/ShareAlike" /><cc:requires - rdf:resource="http://web.resource.org/cc/SourceCode" /></cc:License></rdf:RDF></metadata><defs - id="defs37"><linearGradient - inkscape:collect="always" - id="linearGradient3474"><stop - style="stop-color:#3f3f3f;stop-opacity:1;" - offset="0" - id="stop3476" /><stop - style="stop-color:#3f3f3f;stop-opacity:0;" - offset="1" - id="stop3478" /></linearGradient><linearGradient - inkscape:collect="always" - id="linearGradient3454"><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3456" /><stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3458" /></linearGradient><linearGradient - id="linearGradient3422"><stop - style="stop-color:#00ff00;stop-opacity:1;" - offset="0" - id="stop3424" /><stop - style="stop-color:#007f00;stop-opacity:1;" - offset="1" - id="stop3426" /></linearGradient><linearGradient - inkscape:collect="always" - id="linearGradient3378"><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3380" /><stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3382" /></linearGradient><linearGradient - id="linearGradient3261"><stop - style="stop-color:#999999;stop-opacity:1;" - offset="0" - id="stop3263" /><stop - style="stop-color:#e6e6e6;stop-opacity:1" - offset="1" - id="stop3265" /></linearGradient><linearGradient - id="linearGradient3409"><stop - style="stop-color:#ffffff;stop-opacity:0.49803922;" - offset="0" - id="stop3411" /><stop - style="stop-color:#ffffff;stop-opacity:0.25098041;" - offset="1" - id="stop3413" /></linearGradient><linearGradient - id="linearGradient3392"><stop - style="stop-color:#bfbfbf;stop-opacity:1;" - offset="0" - id="stop3394" /><stop - style="stop-color:#f0f0f0;stop-opacity:1;" - offset="1" - id="stop3396" /></linearGradient><linearGradient - id="linearGradient3262"><stop - style="stop-color:#d0d0d0;stop-opacity:1;" - offset="0" - id="stop3264" /><stop - style="stop-color:#e8e8e8;stop-opacity:1;" - offset="1" - id="stop3266" /></linearGradient><linearGradient - id="linearGradient3254"><stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop3256" /><stop - style="stop-color:#000000;stop-opacity:0.74901962;" - offset="1" - id="stop3258" /></linearGradient><linearGradient - id="linearGradient3246"><stop - style="stop-color:#7f7f7f;stop-opacity:0.49803922;" - offset="0" - id="stop3248" /><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="1" - id="stop3250" /></linearGradient><linearGradient - id="linearGradient3238"><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="0" - id="stop3240" /><stop - style="stop-color:#7f7f7f;stop-opacity:0.49803922;" - offset="1" - id="stop3242" /></linearGradient><linearGradient - id="linearGradient3230"><stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop3232" /><stop - style="stop-color:#000000;stop-opacity:0.74901962;" - offset="1" - id="stop3234" /></linearGradient><linearGradient - id="linearGradient3222"><stop - style="stop-color:#00bf00;stop-opacity:0.87843138;" - offset="0" - id="stop3224" /><stop - style="stop-color:#000000;stop-opacity:0.87843138;" - offset="1" - id="stop3226" /></linearGradient><linearGradient - id="linearGradient3214"><stop - style="stop-color:#bfbfbf;stop-opacity:1;" - offset="0" - id="stop3216" /><stop - style="stop-color:#f0f0f0;stop-opacity:1;" - offset="1" - id="stop3218" /></linearGradient><linearGradient - id="linearGradient3200"><stop - style="stop-color:#d0d0d0;stop-opacity:1;" - offset="0" - id="stop3202" /><stop - id="stop3212" - offset="0.37" - style="stop-color:#e0e0e0;stop-opacity:1;" /><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop3204" /></linearGradient><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3200" - id="linearGradient3402" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0,-0.8179946,1.0011004,0,7.375104,34.766877)" - x1="9.6981544" - y1="17.388933" - x2="40.301846" - y2="17.388933" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3261" - id="linearGradient3267" - x1="5" - y1="27.5" - x2="45" - y2="27.5" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(0,-1.25)" /><filter - inkscape:collect="always" - x="-0.17068966" - width="1.3413793" - y="-1.2375" - height="3.475" - id="filter3356"><feGaussianBlur - inkscape:collect="always" - stdDeviation="2.578125" - id="feGaussianBlur3358" /></filter><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3378" - id="radialGradient3384" - cx="37.890049" - cy="24.140049" - fx="37.890049" - fy="24.140049" - r="2.5" - gradientUnits="userSpaceOnUse" /><filter - inkscape:collect="always" - x="-0.12" - width="1.24" - y="-0.12" - height="1.24" - id="filter3418"><feGaussianBlur - inkscape:collect="always" - stdDeviation="0.25" - id="feGaussianBlur3420" /></filter><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3422" - id="radialGradient3428" - cx="38.75" - cy="25" - fx="38.75" - fy="25" - r="2.625" - gradientUnits="userSpaceOnUse" /><filter - inkscape:collect="always" - id="filter3430"><feGaussianBlur - inkscape:collect="always" - stdDeviation="0.0825" - id="feGaussianBlur3432" /></filter><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3454" - id="linearGradient3460" - x1="36.375" - y1="14.967752" - x2="13.625" - y2="11.405098" - gradientUnits="userSpaceOnUse" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3474" - id="linearGradient3480" - x1="25.311939" - y1="15.734048" - x2="25.311939" - y2="16.375" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.9655774,0,0,1.0002916,0.5572142,-0.1254361)" /></defs><sodipodi:namedview - inkscape:cy="50" - inkscape:cx="50" - inkscape:zoom="4.07" - inkscape:window-height="622" - inkscape:window-width="872" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - guidetolerance="10.0" - gridtolerance="10.0" - objecttolerance="10.0" - borderopacity="1.0" - bordercolor="#666666" - pagecolor="#ffffff" - id="base" - showgrid="true" - inkscape:object-bbox="true" - inkscape:object-points="true" - inkscape:grid-points="true" - inkscape:guide-points="true" - width="100px" - height="100px" - inkscape:object-paths="true" - inkscape:grid-bbox="true" - inkscape:guide-bbox="true" - inkscape:object-nodes="true" - inkscape:window-x="120" - inkscape:window-y="168" - inkscape:current-layer="svg2" - gridspacingx="0.5px" - gridspacingy="0.5px" /> - -<rect - style="opacity:0.6667;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter3356)" - id="rect3314" - width="36.25" - height="5" - x="6.25" - y="41.25" - transform="matrix(0.9310344,0,0,1,1.6810348,-1.4173228)" /><path - style="opacity:1;fill:url(#linearGradient3267);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.49803922;stroke-dasharray:none" - d="M 15,8.75 C 22.5,8.75 30,8.75 35,8.75 C 37.690077,8.75 45,20.98 45,23.75 L 45,38.75 C 45,41.52 42.77,43.75 40,43.75 L 10,43.75 C 7.23,43.75 5,41.52 5,38.75 L 5,23.75 C 5,20.98 12.309923,8.75 15,8.75 z " - id="rect2276" - sodipodi:nodetypes="csccccccs" /><rect - style="opacity:0.5;fill:#808080;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3430)" - id="rect2279" - width="40" - height="25" - x="5" - y="18.75" - rx="5" - ry="5" /><rect - style="opacity:0.66660001;fill:#999999;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.1437055;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3309" - width="29.981295" - height="9.9187946" - x="10.009353" - y="33.821854" /><path - sodipodi:type="arc" - style="opacity:1;fill:url(#radialGradient3428);fill-opacity:1.0;stroke:#000000;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path3366" - sodipodi:cx="38.75" - sodipodi:cy="25" - sodipodi:rx="2.5" - sodipodi:ry="2.5" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - transform="translate(1.375,-1.375)" /><path - transform="translate(1.375,-1.375)" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - sodipodi:ry="2.5" - sodipodi:rx="2.5" - sodipodi:cy="25" - sodipodi:cx="38.75" - id="path3376" - style="opacity:0.6667;fill:url(#radialGradient3384);fill-opacity:1.0;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3418)" - sodipodi:type="arc" /><g - id="g3469"><path - sodipodi:nodetypes="ccccc" - id="rect3452" - d="M 15.956628,10 L 33.75,10 L 36.25,16.25 L 13.75,16.25 L 15.956628,10 z " - style="opacity:0.6667;fill:url(#linearGradient3460);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" /><path - id="path3463" - d="M 33.75,10 L 35,16.25" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /><path - id="path3465" - d="M 15.956628,10 L 15,16.25" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" /></g><path - style="fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient3480);stroke-width:0.24569531;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 20.598421,1.3621917 C 25.247456,1.3621917 24.748269,1.3621917 29.397305,1.3621917 C 32.696885,1.3621917 33.747879,16.129302 33.747879,16.129302 L 16.247847,16.129302 C 16.247847,16.129302 16.198978,1.3621917 20.598421,1.3621917 z " - id="rect3311" - sodipodi:nodetypes="csccs" /></svg>
\ No newline at end of file diff --git a/doc/images/printer-stopped.png b/doc/images/printer-stopped.png Binary files differdeleted file mode 100644 index f59317c2a..000000000 --- a/doc/images/printer-stopped.png +++ /dev/null diff --git a/doc/images/printer-stopped.svg b/doc/images/printer-stopped.svg deleted file mode 100644 index 8895ba757..000000000 --- a/doc/images/printer-stopped.svg +++ /dev/null @@ -1,379 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100" - height="100" - viewBox="0 0 50 50" - xml:space="preserve" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.45.1" - sodipodi:docname="printer-stopped.svg" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - sodipodi:docbase="/home/mike/c/cups-trunk/doc/images" - version="1.0" - inkscape:export-filename="/home/mike/c/cups-trunk/doc/images/printer-stopped.png" - inkscape:export-xdpi="115.2" - inkscape:export-ydpi="115.2"><metadata - id="metadata39"><rdf:RDF><cc:Work - rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>CUPS stopped printer icon</dc:title><dc:creator><cc:Agent><dc:title>Michael Sweet</dc:title></cc:Agent></dc:creator><cc:license - rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /></cc:Work><cc:License - rdf:about="http://creativecommons.org/licenses/GPL/2.0/"><cc:permits - rdf:resource="http://web.resource.org/cc/Reproduction" /><cc:permits - rdf:resource="http://web.resource.org/cc/Distribution" /><cc:requires - rdf:resource="http://web.resource.org/cc/Notice" /><cc:permits - rdf:resource="http://web.resource.org/cc/DerivativeWorks" /><cc:requires - rdf:resource="http://web.resource.org/cc/ShareAlike" /><cc:requires - rdf:resource="http://web.resource.org/cc/SourceCode" /></cc:License></rdf:RDF></metadata><defs - id="defs37"><linearGradient - id="linearGradient3808"><stop - style="stop-color:#d8d8d8;stop-opacity:1;" - offset="0" - id="stop3810" /><stop - style="stop-color:#aaaaaa;stop-opacity:1;" - offset="1" - id="stop3812" /></linearGradient><linearGradient - id="linearGradient3793"><stop - style="stop-color:#cccccc;stop-opacity:1;" - offset="0" - id="stop3795" /><stop - style="stop-color:#e6e6e6;stop-opacity:1;" - offset="1" - id="stop3797" /></linearGradient><linearGradient - id="linearGradient3780"><stop - style="stop-color:#999999;stop-opacity:1;" - offset="0" - id="stop3782" /><stop - style="stop-color:#cccccc;stop-opacity:1;" - offset="1" - id="stop3784" /></linearGradient><linearGradient - inkscape:collect="always" - id="linearGradient3454"><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3456" /><stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3458" /></linearGradient><linearGradient - id="linearGradient3422"><stop - style="stop-color:#ff0000;stop-opacity:1;" - offset="0" - id="stop3424" /><stop - style="stop-color:#7f0000;stop-opacity:1;" - offset="1" - id="stop3426" /></linearGradient><linearGradient - inkscape:collect="always" - id="linearGradient3378"><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="0" - id="stop3380" /><stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop3382" /></linearGradient><linearGradient - id="linearGradient3261"><stop - style="stop-color:#999999;stop-opacity:1;" - offset="0" - id="stop3263" /><stop - style="stop-color:#e6e6e6;stop-opacity:1" - offset="1" - id="stop3265" /></linearGradient><linearGradient - id="linearGradient3409"><stop - style="stop-color:#ffffff;stop-opacity:0.49803922;" - offset="0" - id="stop3411" /><stop - style="stop-color:#ffffff;stop-opacity:0.25098041;" - offset="1" - id="stop3413" /></linearGradient><linearGradient - id="linearGradient3392"><stop - style="stop-color:#bfbfbf;stop-opacity:1;" - offset="0" - id="stop3394" /><stop - style="stop-color:#f0f0f0;stop-opacity:1;" - offset="1" - id="stop3396" /></linearGradient><linearGradient - id="linearGradient3262"><stop - style="stop-color:#d0d0d0;stop-opacity:1;" - offset="0" - id="stop3264" /><stop - style="stop-color:#e8e8e8;stop-opacity:1;" - offset="1" - id="stop3266" /></linearGradient><linearGradient - id="linearGradient3254"><stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop3256" /><stop - style="stop-color:#000000;stop-opacity:0.74901962;" - offset="1" - id="stop3258" /></linearGradient><linearGradient - id="linearGradient3246"><stop - style="stop-color:#7f7f7f;stop-opacity:0.49803922;" - offset="0" - id="stop3248" /><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="1" - id="stop3250" /></linearGradient><linearGradient - id="linearGradient3238"><stop - style="stop-color:#7f7f7f;stop-opacity:1;" - offset="0" - id="stop3240" /><stop - style="stop-color:#7f7f7f;stop-opacity:0.49803922;" - offset="1" - id="stop3242" /></linearGradient><linearGradient - id="linearGradient3230"><stop - style="stop-color:#000000;stop-opacity:1;" - offset="0" - id="stop3232" /><stop - style="stop-color:#000000;stop-opacity:0.74901962;" - offset="1" - id="stop3234" /></linearGradient><linearGradient - id="linearGradient3222"><stop - style="stop-color:#00bf00;stop-opacity:0.87843138;" - offset="0" - id="stop3224" /><stop - style="stop-color:#000000;stop-opacity:0.87843138;" - offset="1" - id="stop3226" /></linearGradient><linearGradient - id="linearGradient3214"><stop - style="stop-color:#bfbfbf;stop-opacity:1;" - offset="0" - id="stop3216" /><stop - style="stop-color:#f0f0f0;stop-opacity:1;" - offset="1" - id="stop3218" /></linearGradient><linearGradient - id="linearGradient3200"><stop - style="stop-color:#d0d0d0;stop-opacity:1;" - offset="0" - id="stop3202" /><stop - id="stop3212" - offset="0.37" - style="stop-color:#e0e0e0;stop-opacity:1;" /><stop - style="stop-color:#ffffff;stop-opacity:1;" - offset="1" - id="stop3204" /></linearGradient><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3200" - id="linearGradient3402" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0,-0.8179946,1.0011004,0,7.375104,34.766877)" - x1="9.6981544" - y1="17.388933" - x2="40.301846" - y2="17.388933" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3261" - id="linearGradient3267" - x1="5" - y1="27.5" - x2="45" - y2="27.5" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(0,-9.0737146)" /><filter - inkscape:collect="always" - x="-0.17068966" - width="1.3413793" - y="-1.2375" - height="3.475" - id="filter3356"><feGaussianBlur - inkscape:collect="always" - stdDeviation="2.578125" - id="feGaussianBlur3358" /></filter><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3378" - id="radialGradient3384" - cx="37.890049" - cy="24.140049" - fx="37.890049" - fy="24.140049" - r="2.5" - gradientUnits="userSpaceOnUse" /><filter - inkscape:collect="always" - x="-0.12" - width="1.24" - y="-0.12" - height="1.24" - id="filter3418"><feGaussianBlur - inkscape:collect="always" - stdDeviation="0.25" - id="feGaussianBlur3420" /></filter><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3422" - id="radialGradient3428" - cx="38.75" - cy="25" - fx="38.75" - fy="25" - r="2.625" - gradientUnits="userSpaceOnUse" /><filter - inkscape:collect="always" - id="filter3430"><feGaussianBlur - inkscape:collect="always" - stdDeviation="0.0825" - id="feGaussianBlur3432" /></filter><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3454" - id="linearGradient3460" - x1="36.375" - y1="14.967752" - x2="13.625" - y2="11.405098" - gradientUnits="userSpaceOnUse" /><filter - inkscape:collect="always" - id="filter3772"><feGaussianBlur - inkscape:collect="always" - stdDeviation="0.70690554" - id="feGaussianBlur3774" /></filter><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3780" - id="linearGradient3786" - x1="6.925" - y1="34.529284" - x2="43.075001" - y2="34.529284" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.9705974,0,0,0.9314001,0.7769061,9.714423)" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3793" - id="linearGradient3799" - x1="12.375" - y1="37.5" - x2="37.625" - y2="37.5" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(1.0036847,0,0,0.3973693,-9.2116831e-2,13.964403)" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3808" - id="linearGradient3814" - x1="39.460381" - y1="39.335529" - x2="11.52242" - y2="37.492779" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(0,-3.5717462)" /><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3780" - id="linearGradient3816" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.9711384,0,0,0.7229964,0.7633816,14.588708)" - x1="6.925" - y1="34.529284" - x2="43.075001" - y2="34.529284" /></defs><sodipodi:namedview - inkscape:cy="50" - inkscape:cx="50" - inkscape:zoom="4.07" - inkscape:window-height="622" - inkscape:window-width="872" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - guidetolerance="10.0" - gridtolerance="10.0" - objecttolerance="10.0" - borderopacity="1.0" - bordercolor="#666666" - pagecolor="#ffffff" - id="base" - showgrid="true" - inkscape:object-bbox="true" - inkscape:object-points="true" - inkscape:grid-points="true" - inkscape:guide-points="true" - width="100px" - height="100px" - inkscape:object-paths="true" - inkscape:grid-bbox="true" - inkscape:guide-bbox="true" - inkscape:object-nodes="true" - inkscape:window-x="0" - inkscape:window-y="0" - inkscape:current-layer="svg2" - gridspacingx="0.5px" - gridspacingy="0.5px" /> - -<rect - style="opacity:0.6667;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922;filter:url(#filter3356)" - id="rect3314" - width="36.25" - height="5" - x="6.25" - y="41.25" - transform="matrix(0.9655172,0,0,1.6338583,1.4655176,-33.970368)" /><path - style="opacity:1;fill:url(#linearGradient3267);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.49803922" - d="M 15,0.92628538 C 22.5,0.92628538 30,0.92628538 35,0.92628538 C 37.690077,0.92628538 45,13.156285 45,15.926285 L 45,30.926285 C 45,33.696285 42.77,35.926285 40,35.926285 L 10,35.926285 C 7.23,35.926285 5,33.696285 5,30.926285 L 5,15.926285 C 5,13.156285 12.309923,0.92628538 15,0.92628538 z " - id="rect2276" - sodipodi:nodetypes="csccccccs" /><rect - style="opacity:0.5;fill:#808080;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3430)" - id="rect2279" - width="40" - height="25" - x="5" - y="10.926285" - rx="5" - ry="5" /><rect - style="opacity:0.66660001;fill:#000000;fill-opacity:1;stroke:#3f3f3f;stroke-width:0.1437055;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3309" - width="29.981295" - height="9.9187946" - x="10.009353" - y="25.998138" /><path - sodipodi:type="arc" - style="opacity:1;fill:url(#radialGradient3428);fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="path3366" - sodipodi:cx="38.75" - sodipodi:cy="25" - sodipodi:rx="2.5" - sodipodi:ry="2.5" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - transform="translate(1.375,-9.1987147)" /><path - transform="translate(1.375,-9.1987147)" - d="M 41.25 25 A 2.5 2.5 0 1 1 36.25,25 A 2.5 2.5 0 1 1 41.25 25 z" - sodipodi:ry="2.5" - sodipodi:rx="2.5" - sodipodi:cy="25" - sodipodi:cx="38.75" - id="path3376" - style="opacity:0.66699997;fill:url(#radialGradient3384);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3418)" - sodipodi:type="arc" /><g - id="g3469" - transform="translate(0,-7.8237147)"><path - sodipodi:nodetypes="ccccc" - id="rect3452" - d="M 15.956628,10 L 33.75,10 L 36.25,16.25 L 13.75,16.25 L 15.956628,10 z " - style="opacity:0.6667;fill:url(#linearGradient3460);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" /><path - id="path3463" - d="M 33.75,10 L 35,16.25" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path - id="path3465" - d="M 15.956628,10 L 15,16.25" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#3f3f3f;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><path - style="fill:#e6e6e6;fill-opacity:1;stroke:none;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" - d="M 37.5,26.428254 L 41.25,35.178254 L 41.25,40.178254 L 37.5,31.428254 L 37.5,26.428254 z " - id="rect3788" - sodipodi:nodetypes="ccccc" /><rect - style="opacity:1;fill:url(#linearGradient3799);fill-opacity:1;stroke:none;stroke-width:0.15788317;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3791" - width="25.092117" - height="4.9671168" - x="12.453941" - y="26.382195" /><path - sodipodi:nodetypes="ccccc" - id="path3801" - d="M 12.5,26.428254 L 8.75,35.178254 L 8.8125,40.115754 L 12.5,31.428254 L 12.5,26.428254 z " - style="fill:#b3b3b3;fill-opacity:1;stroke:none;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" /><path - style="fill:url(#linearGradient3814);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" - d="M 12.453941,31.349313 L 37.5,31.349313 L 41.25,40.178254 L 8.75,40.178254 L 12.453941,31.349313 z " - id="rect3803" - sodipodi:nodetypes="ccccc" /><rect - y="35.250511" - x="7.5722489" - height="8.6055031" - width="34.939182" - id="rect3778" - style="opacity:1;fill:url(#linearGradient3816);fill-opacity:1;stroke:#3f3f3f;stroke-width:0.14449847;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></svg>
\ No newline at end of file diff --git a/doc/index.html.in b/doc/index.html.in index c5aa36263..c2fa48280 100644 --- a/doc/index.html.in +++ b/doc/index.html.in @@ -26,51 +26,76 @@ AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD> </TR> </TABLE> -<H1>Common UNIX Printing System @CUPS_VERSION@@CUPS_REVISION@</H1> +<TABLE CLASS="indent" SUMMARY=""> +<TR><TD STYLE="padding-right: 20px;"> -<H2 CLASS="title">Welcome!</H2> +<H1>Common UNIX Printing System @CUPS_VERSION@</H1> -<P>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.</P> +<P>CUPS is the standards-based, open source printing system developed by +<A HREF="http://www.apple.com/">Apple Inc.</A> for Mac OS<SUP>®</SUP> X and +other UNIX<SUP>®</SUP>-like operating systems.</P> -<P> -<FORM METHOD="GET" ACTION="/help/"><INPUT TYPE="submit" VALUE="Help"></FORM> -<FORM METHOD="POST" ACTION="/admin"><INPUT TYPE="hidden" NAME="OP" VALUE="add-class"><INPUT TYPE="submit" VALUE="Add Class"></FORM> -<FORM METHOD="POST" ACTION="/admin"><INPUT TYPE="hidden" NAME="OP" VALUE="add-printer"><INPUT TYPE="submit" VALUE="Add Printer"></FORM> -<FORM METHOD="GET" ACTION="/classes"><INPUT TYPE="submit" VALUE="Manage Classes"></FORM> -<FORM METHOD="GET" ACTION="/jobs"><INPUT TYPE="submit" VALUE="Manage Jobs"></FORM> -<FORM METHOD="GET" ACTION="/printers"><INPUT TYPE="submit" VALUE="Manage Printers"></FORM> -<FORM METHOD="GET" ACTION="/admin"><INPUT TYPE="submit" VALUE="Manage Server"></FORM> -</P> +</TD> +<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128" +HEIGHT="128" ALT="CUPS"></A></TD> +</TR> +</TABLE> + +<TABLE CLASS="indent" SUMMARY=""> +<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;"> + +<H2>CUPS for Users</H2> + +<P><A HREF="help/overview.html">Overview of CUPS</A></P> + +<P><A HREF="help/options.html">Command-Line Printing and Options</A></P> + +<P><A HREF="help/whatsnew.html">What's New in CUPS 1.4</A></P> + +<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">User Forum</A></P> + +</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;"> + +<H2>CUPS for Administrators</H2> + +<P><A HREF="admin">Adding Printers and Classes</A></P> + +<P><A HREF="help/policies.html">Managing Operation Policies</A></P> -<P><I>If you are asked for a username and password, enter your login -username and password or the "root" username and password.</I></P> +<P><A HREF="help/accounting.html">Printer Accounting Basics</A></P> -<H2 CLASS="title">About CUPS</H2> +<P><A HREF="help/security.html">Server Security</A></P> -<P><IMG SRC="/images/cups-icon.png" ALIGN="LEFT" WIDTH="128" HEIGHT="128" STYLE="padding-right: 10px;" ALT="CUPS Icon"> +<P><A HREF="help/kerberos.html">Using Kerberos Authentication</A></P> -CUPS provides a portable printing layer for -UNIX<SUP>®</SUP>-based operating systems. It is developed and -maintained by <A HREF="http://www.apple.com">Apple Inc.</a> to promote a standard printing solution. CUPS is the -standard printing system used on MacOS<SUP>®</SUP> X and most -Linux<SUP>®</SUP> distributions.</P> +<P><A HREF="help/network.html">Using Network Printers</A></P> -<P>CUPS uses the <A HREF="http://www.pwg.org/ipp/" -TARGET="_blank"> Internet Printing Protocol ("IPP")</A> 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.<BR CLEAR="ALL"></P> +<P><A HREF="help/ref-cupsd-conf.html">cupsd.conf Reference</A></P> -<H2 CLASS="title">For Printer Drivers and Assistance</H2> +<P><A HREF="http://www.cups.org/ppd.php">Find Printer Drivers</A></P> -<P>Visit the official CUPS site for printer drivers and -assistance:</P> +</TD><TD VALIGN="top" STYLE="padding-left: 20px;"> -<PRE> - <A HREF="http://www.cups.org/" TARGET="_blank">www.cups.org</A> -</PRE> +<H2>CUPS for Developers</H2> + +<P><A HREF="help/api-overview.html">Introduction to CUPS Programming</A></P> + +<P><A HREF="help/api-cups.html">CUPS API</A></P> + +<P><A HREF="help/api-filter.html">Filter and Backend Programming</A></P> + +<P><A HREF="help/api-httpipp.html">HTTP and IPP APIs</A></P> + +<P><A HREF="help/api-ppd.html">PPD API</A></P> + +<P><A HREF="help/api-raster.html">Raster API</A></P> + +<P><A HREF="help/ref-ppdcfile.html">PPD Compiler Driver Information File Reference</A></P> + +<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Developer Forum</A></P> + +</TD></TR> +</TABLE> </TD></TR> <TR><TD> </TD></TR> diff --git a/filter/Makefile b/filter/Makefile index ff4e724bb..6e288c010 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 8854a90bd..981dc3088 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 d70230230..954270412 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 1aaade812..acb88b5d8 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 653378672..98767d0ae 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 bcfcd97b5..c19db7256 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 0f8fd74fb..989812ec4 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 20cb77a44..bb5be8d2b 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 c84a447bc..59460ce7a 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 7018beb45..069e1039c 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 0baf06cdb..9ce39c3bd 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 4eeb6a2e4..52eeeeff0 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 74a5153dc..c3e87394e 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 0f686af4f..5c626c8b6 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 b4ba42516..17dd8d309 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 54ad4b6ba..59d72453c 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 36457e351..01ed7261c 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 b3137f74f..06f3ccdaf 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 a2d5c087d..7ffa91221 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 0a879b0ca..00ce38dee 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 dd51590fb..66594e281 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 82d787969..e91bef0a5 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 e0bb5935d..33e519cf9 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 01a475196..60837fa02 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 4debb6ac0..6152e33df 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 1f63c8497..2dc2c9682 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 4e2d14faf..b9d299a51 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 d90871539..55878879d 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 7b6e55b52..2fd5420e5 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 Binary files differindex d092828f5..bbbd24bed 100644 --- a/packaging/installer.gif +++ b/packaging/installer.gif diff --git a/packaging/installer.tif b/packaging/installer.tif Binary files differindex 70d9005c6..7eba7a2f9 100644 --- a/packaging/installer.tif +++ b/packaging/installer.tif diff --git a/scheduler/Makefile b/scheduler/Makefile index e38238f9f..32918149e 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 2391b78ee..5d839283c 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 da828ce74..1d5ecf096 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 3e3845e05..8e9d84bbe 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 c817e7cce..6ea720889 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 <Security/Authorization.h> #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 1269555a7..e640a2101 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 e80a24ea9..e53f13f44 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. @@ -67,6 +67,14 @@ typedef enum /* + * 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 8b634a27c..d35940c07 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 d79c69202..756d8fedb 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 5b1a4d645..4c26cd8d9 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 d387ecf7c..6974e47c6 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... @@ -450,6 +491,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 82ed30515..172df5778 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 143a1ebac..8dfc2d585 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 075ee2407..936a43d1f 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 1fa6352aa..8f453d980 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 d382f6b2f..931667879 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 69fb7fc3c..2ab8798d8 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 a0123bf8a..19cb0cc86 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 be77cb0ab..d38045e49 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 f93330b55..6e15655af 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 618defd99..25d820f8a 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 5cf16bfda..213d795ea 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 20c9547fd..05512ca71 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 650b3b16d..a8b851b28 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 a0e2dc602..fa7fb4891 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 15e11a445..b807ac215 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 8933d083e..25ffc6f3f 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 97b9dd2c3..517d143cb 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 c9fe4ed68..0bf0300ed 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 e93720d07..23c1e5b29 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 071ffddf3..ae7ba7bb2 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 bda305af0..18ed41ae1 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 000000000..74d4c44f4 --- /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 <N> occurrences of + <element>." was corrected to: "That is, exactly <n> occurrences of + <element>." + + 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 <rulename>, <Rulename>, <RULENAME>, and <rUlENamE> 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 <name> is the name of the rule, <elements> is one or more rule + names or terminal specifications, and <crlf> 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 <mumble> 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 <foo> or <bar>. + + + + + + + + +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: + + <a>*<b>element + + where <a> and <b> are optional decimal values, indicating at least + <a> and at most <b> occurrences of the element. + + Default values are 0 and infinity so that *<element> allows any + number, including zero; 1*<element> requires at least one; + 3*3<element> allows exactly 3 and 1*2<element> 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: + + <n>element + + is equivalent to + + <n>*<n>element + + That is, exactly <n> occurrences of <element>. 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 cfa4c7e7f..4e8d14f05 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 6d8ba2619..367f38f8d 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 7b4d0db4d..026c15738 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 e2267c2ad..ec87fe651 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 e398d3f4c..0cb42b564 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 5ee882342..d6eba0ba9 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 3e7cc1c6e..babe6a2ad 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 d2d42ce9c..208ddcd94 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 35b76226e..b79ea55ab 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 34712e5b4..4250ccc92 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 03b9b11fc..2e27facd7 100644 --- a/templates/admin.tmpl +++ b/templates/admin.tmpl @@ -1,4 +1,4 @@ -<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" SUMMARY="Administration Tasks"> +<TABLE CLASS="indent" SUMMARY="Administration Tasks"> <TR><TD VALIGN="TOP"> <H2 CLASS="title">Printers</H2> @@ -6,7 +6,7 @@ <P> <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Add Printer"></FORM> <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Find New Printers"></FORM> -<FORM ACTION="/printers/" METHOD="POST"><INPUT TYPE="SUBMIT" VALUE="Manage Printers"></FORM> +<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Manage Printers"></FORM> {have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Export Printers to Samba"></FORM>:} </P> @@ -14,7 +14,7 @@ <P> <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Add Class"></FORM> -<FORM ACTION="/classes/" METHOD="POST"><INPUT TYPE="SUBMIT" VALUE="Manage Classes"></FORM> +<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Manage Classes"></FORM> </P> <H2 CLASS="title">Jobs</H2> @@ -57,15 +57,20 @@ </TD></TR> </TABLE> -<H2 CLASS="title">Subscriptions</H2> +<DIV CLASS="indent"> + +<H2 CLASS="title">RSS Subscriptions</H2> <P> <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Add RSS Subscription"></FORM> </P> -{notify_subscription_id?<TABLE WIDTH="100%" CELLSPACING="0" CELLPADDING="0" SUMMARY="RSS Subscriptions"> -<THEAD><TR CLASS="data"><TH>ID</TH><TH>Name</TH><TH>Events</TH><TH>Queue</TH></TR></THEAD> +</DIV> + +{notify_subscription_id?<TABLE CLASS="list" SUMMARY="RSS Subscriptions"> +<THEAD><TR><TH>Name</TH><TH>Events</TH><TH>Queue Name</TH></TR></THEAD> <TBODY>{[notify_subscription_id] -<TR><TD><A HREF="{notify_recipient_uri}">{notify_subscription_id}</A></TD><TD NOWRAP><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A> <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Cancel RSS Subscription"></FORM> </TD><TD>{notify_events}</TD><TD NOWRAP> {notify_printer_name?{notify_printer_name}:All Queues}</TD></TR>} +<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR> +<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Cancel RSS Subscription"></FORM> </TD><TD>{notify_events}</TD><TD NOWRAP> {notify_printer_name?{notify_printer_name}:All Queues}</TD></TR>} </TBODY> </TABLE>:} diff --git a/templates/class-jobs-header.tmpl b/templates/class-jobs-header.tmpl index 61e5151d2..ba46f1026 100644 --- a/templates/class-jobs-header.tmpl +++ b/templates/class-jobs-header.tmpl @@ -1 +1,3 @@ +<DIV CLASS="indent"> <H3 CLASS="title">Jobs</H3> +</DIV> diff --git a/templates/class.tmpl b/templates/class.tmpl new file mode 100644 index 000000000..a344d4b66 --- /dev/null +++ b/templates/class.tmpl @@ -0,0 +1,41 @@ +<DIV CLASS="indent"> +<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A> +({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:})</H2> + +<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance"> +<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();"> +<OPTION VALUE="">Maintenance</OPTION> +<OPTION VALUE="print-test-page">Print Test Page</OPTION> +{printer_state=5?<OPTION VALUE="start-printer">Resume Class</OPTION>:<OPTION VALUE="stop-printer">Pause Class</OPTION>} +{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Accept Jobs</OPTION>:<OPTION VALUE="reject-jobs">Reject Jobs</OPTION>} +<OPTION VALUE="move-jobs">Move All Jobs</OPTION> +<OPTION VALUE="purge-jobs">Cancel All Jobs</OPTION> +</SELECT> +<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;"> +</FORM> + +<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration"> +<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"> +<SELECT NAME="OP" ONCHANGE="document.administration.submit();"> +<OPTION VALUE="">Administration</OPTION> +<OPTION VALUE="modify-class">Modify Class</OPTION> +<OPTION VALUE="delete-class">Delete Class</OPTION> +<OPTION VALUE="set-class-options">Set Default Options</OPTION> +<OPTION VALUE="set-as-default">Set As Server Default</OPTION> +<OPTION VALUE="set-allowed-users">Set Allowed Users</OPTION> +</SELECT> +<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;"> +</FORM> + +<TABLE SUMMARY="{printer_name}"> +<TR><TH ALIGN="RIGHT" VALIGN="TOP">Description:</TH><TD>{printer_info}</TD></TR> +<TR><TH ALIGN="RIGHT" VALIGN="TOP">Location:</TH><TD>{printer_location}</TD></TR> +<TR><TH ALIGN="RIGHT" VALIGN="TOP">Members:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR> +<TR><TH ALIGN="RIGHT" VALIGN="TOP">Defaults:</TH><TD>job-sheets={job_sheets_default} +media={media_default?{media_default}:unknown} +{sides_default?sides={sides_default}:}</TD></TR> +</TABLE> + +</DIV> diff --git a/templates/classes.tmpl b/templates/classes.tmpl index e75dfb7a8..51e454fb1 100644 --- a/templates/classes.tmpl +++ b/templates/classes.tmpl @@ -1,45 +1,11 @@ {#printer_name=0?: +<TABLE CLASS="list" SUMMARY="Class List"> +<THEAD> +<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Queue Name <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Queue Name <SMALL>▼</SMALL>}</A></TH><TH>Description</TH><TH>Location</TH><TH>Members</TH><TH>Status</TH></TR> +</THEAD> +<TBODY> {[printer_name] -{_SINGLE_DEST?:<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>{default_name={printer_name}? (Default Printer):}</H2>} - -<TABLE WIDTH="100%" CELLSPACING="0" CELLPADDING="0" SUMMARY="{printer_name}"> -<TR> -<TD VALIGN=TOP><A HREF="{printer_uri_supported}"> -<IMG SRC="/images/classes.png" WIDTH="128" HEIGHT="128" ALT=""></A> </TD> -<TD VALIGN=TOP><B>Description:</B> {printer_info}<BR> -<B>Location:</B> {printer_location}<BR> -<B>Class State:</B> {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=?:<BR><B>Members:</B> {member_uris}} - -<P><TABLE CLASS="inset" WIDTH="100%" SUMMARY="Maintenance Commands"> -<CAPTION>Maintenance Commands</CAPTION> -<TR><TD><FORM ACTION="{printer_uri_supported}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="print-test-page"><INPUT TYPE="SUBMIT" VALUE="Print Test Page"></FORM> -{printer_state=5? -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="start-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}<INPUT TYPE="HIDDEN" NAME="is_class" VALUE="Y"><INPUT TYPE="SUBMIT" VALUE="Resume Class"></FORM> -:<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="stop-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}<INPUT TYPE="HIDDEN" NAME="is_class" VALUE="Y"><INPUT TYPE="SUBMIT" VALUE="Pause Class"></FORM> +<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?None:{member_uris}}</TD><TD>{printer_state=3?Idle:{printer_state=4?Processing:Paused}}{printer_state_message? - "{printer_state_message}":}</TD></TR> } -{printer_is_accepting_jobs=0? -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="accept-jobs"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}<INPUT TYPE="HIDDEN" NAME="is_class" VALUE="Y"><INPUT TYPE="SUBMIT" VALUE="Accept Jobs"></FORM> -:<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="reject-jobs"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}<INPUT TYPE="HIDDEN" NAME="is_class" VALUE="Y"><INPUT TYPE="SUBMIT" VALUE="Reject Jobs"></FORM> -} -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="purge-jobs"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}<INPUT TYPE="HIDDEN" NAME="is_class" VALUE="Y"><INPUT TYPE="SUBMIT" VALUE="Cancel All Jobs"></FORM></TD></TR> -</TABLE> - -<P><TABLE CLASS="inset" WIDTH="100%" SUMMARY="Administration Commands"> -<CAPTION>Administration Commands</CAPTION> -<TR><TD>{server_is_sharing_printers=0?:{printer_is_shared=0? -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-sharing"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}&shared=1<INPUT TYPE="HIDDEN" NAME="is_class" VALUE="Y"><INPUT TYPE="SUBMIT" VALUE="Share Class"></FORM> -:<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-sharing"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}&shared=0<INPUT TYPE="HIDDEN" NAME="is_class" VALUE="Y"><INPUT TYPE="SUBMIT" VALUE="Unshare Class"></FORM> -}} -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="modify-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Modify Class"></FORM> -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-class-options"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Set Printer Options"></FORM> -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Delete Class"></FORM> -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-as-default"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}<INPUT TYPE="HIDDEN" NAME="is_class" VALUE="Y"><INPUT TYPE="SUBMIT" VALUE="Set As Server Default"></FORM> -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-allowed-users"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}<INPUT TYPE="HIDDEN" NAME="is_class" VALUE="Y"><INPUT TYPE="SUBMIT" VALUE="Set Allowed Users"></FORM></TD></TR> -</TABLE> -</TD> -</TR> -</TABLE> -} -<BR> +</TBODY> +</TABLE></DIV>} diff --git a/templates/help-header.tmpl b/templates/help-header.tmpl index 3a70c9c51..1582908a2 100644 --- a/templates/help-header.tmpl +++ b/templates/help-header.tmpl @@ -1,3 +1,4 @@ +<DIV CLASS="indent"> <FORM ACTION="/help/{?HELPFILE}" METHOD="GET"> {TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:} @@ -30,7 +31,10 @@ AUTOSAVE="org.cups.help" RESULTS="20"> {QTEXT?</UL>:} :<P>No matches found.</P>} <HR NOSHADE>:} -{HELPTITLE?<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="View Printable Version"></FORM>: +{HELPTITLE?<H1>{HELPTITLE}</H1> +<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="View Printable Version"></FORM>: + +<H1>Online Help</H1> <P>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 000000000..4c1ebed85 --- /dev/null +++ b/templates/help-trailer.tmpl @@ -0,0 +1 @@ +</DIV> diff --git a/templates/jobs-header.tmpl b/templates/jobs-header.tmpl index 8a9043840..e7547ba7b 100644 --- a/templates/jobs-header.tmpl +++ b/templates/jobs-header.tmpl @@ -1,5 +1,5 @@ -<P>{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Show Active Jobs"></FORM>} +<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Show Active Jobs"></FORM>} {?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Show Completed Jobs"></FORM>} -{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Show All Jobs"></FORM>}</P> +{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Show All Jobs"></FORM>}</DIV> <P ALIGN="CENTER">{total=0?No jobs:Showing {#job_id} of {total} {?which_jobs=?active:{which_jobs=all?:completed}} job{total=1?:s}}.</P> diff --git a/templates/jobs.tmpl b/templates/jobs.tmpl index 948cd213b..f68eea01e 100644 --- a/templates/jobs.tmpl +++ b/templates/jobs.tmpl @@ -1,17 +1,11 @@ {#job_id=0?: -<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" SUMMARY="Job List"> -<TR CLASS="data"> -<TH>ID </TH> -<TH>Name </TH> -<TH>User </TH> -<TH>Size </TH> -<TH>Pages </TH> -<TH>State </TH> -<TH>Control </TH> -</TR> - +<TABLE CLASS="list" SUMMARY="Job List"> +<THEAD> +<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> ID <SMALL>▲</SMALL>:<SMALL>▼</SMALL> ID <SMALL>▼</SMALL>}</A></TH><TH>Name</TH><TH>User</TH><TH>Size</TH><TH>Pages</TH><TH>State</TH><TH>Control</TH></TR> +</THEAD> +<TBODY> {[job_id] -<TR CLASS="data" VALIGN="TOP"> +<TR VALIGN="TOP"> <TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id} </TD> <TD>{?job_name=?Unknown:{job_name}} </TD> <TD>{job_originating_user_name} </TD> @@ -38,6 +32,6 @@ </TD> </TR> } +</TBODY> </TABLE> } -<BR> diff --git a/templates/pager.tmpl b/templates/pager.tmpl index 1c870943c..ebd688d51 100644 --- a/templates/pager.tmpl +++ b/templates/pager.tmpl @@ -1,7 +1,6 @@ -<TABLE WIDTH="100%" CLASS="inset" SUMMARY="Paging Bar"> +<TABLE CLASS="inset" SUMMARY="Paging Bar"> <TR> - <TD WIDTH="33%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Show Previous"></FORM>: }</TD> - <TD WIDTH="34%" ALIGN="CENTER"><FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{FIRST}"><INPUT TYPE="HIDDEN" NAME="ORDER" {ORDER=dec?VALUE="asc"><INPUT TYPE="SUBMIT" VALUE="▲ Sort Ascending ▲">:VALUE="dec"><INPUT TYPE="SUBMIT" VALUE="▼ Sort Descending ▼">}</FORM></TD> - <TD WIDTH="33%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Show Next ▶"></FORM>: }</TD> + <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="◀ Show Previous"></FORM>: }</TD> + <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Show Next ▶"></FORM>: }</TD> </TR> </TABLE> diff --git a/templates/printer-jobs-header.tmpl b/templates/printer-jobs-header.tmpl index 61e5151d2..ba46f1026 100644 --- a/templates/printer-jobs-header.tmpl +++ b/templates/printer-jobs-header.tmpl @@ -1 +1,3 @@ +<DIV CLASS="indent"> <H3 CLASS="title">Jobs</H3> +</DIV> diff --git a/templates/printer.tmpl b/templates/printer.tmpl new file mode 100644 index 000000000..14f107d13 --- /dev/null +++ b/templates/printer.tmpl @@ -0,0 +1,44 @@ +<DIV CLASS="indent"> +<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A> +({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:})</H2> + +<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance"> +<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();"> +<OPTION VALUE="">Maintenance</OPTION> +<OPTION VALUE="print-test-page">Print Test Page</OPTION> +{?cupscommand=1?<OPTION VALUE="clean-print-heads">Clean Print Heads</OPTION> +<OPTION VALUE="print-self-test-page">Print Self Test Page</OPTION>:} +{printer_state=5?<OPTION VALUE="start-printer">Resume Printer</OPTION>:<OPTION VALUE="stop-printer">Pause Printer</OPTION>} +{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Accept Jobs</OPTION>:<OPTION VALUE="reject-jobs">Reject Jobs</OPTION>} +<OPTION VALUE="move-jobs">Move All Jobs</OPTION> +<OPTION VALUE="purge-jobs">Cancel All Jobs</OPTION> +</SELECT> +<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;"> +</FORM> + +<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration"> +<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"> +<SELECT NAME="OP" ONCHANGE="document.administration.submit();"> +<OPTION VALUE="">Administration</OPTION> +<OPTION VALUE="modify-printer">Modify Printer</OPTION> +<OPTION VALUE="delete-printer">Delete Printer</OPTION> +<OPTION VALUE="set-printer-options">Set Default Options</OPTION> +<OPTION VALUE="set-as-default">Set As Server Default</OPTION> +<OPTION VALUE="set-allowed-users">Set Allowed Users</OPTION> +</SELECT> +<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;"> +</FORM> + +<TABLE SUMMARY="{printer_name}"> +<TR><TH ALIGN="RIGHT" VALIGN="TOP">Description:</TH><TD>{printer_info}</TD></TR> +<TR><TH ALIGN="RIGHT" VALIGN="TOP">Location:</TH><TD>{printer_location}</TD></TR> +<TR><TH ALIGN="RIGHT" VALIGN="TOP">Driver:</TH><TD>{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})<BR> +<TR><TH ALIGN="RIGHT" VALIGN="TOP">URI:</TH><TD>{device_uri}</TD></TR> +<TR><TH ALIGN="RIGHT" VALIGN="TOP">Defaults:</TH><TD>job-sheets={job_sheets_default} +media={media_default?{media_default}:unknown} +{sides_default?sides={sides_default}:}</TD></TR> +</TABLE> + +</DIV>
\ No newline at end of file diff --git a/templates/printers.tmpl b/templates/printers.tmpl index 0b05f4318..e0a3228d0 100644 --- a/templates/printers.tmpl +++ b/templates/printers.tmpl @@ -1,52 +1,11 @@ -{printer_type?:}{#printer_name=0?: +{#printer_name=0?: +<TABLE CLASS="list" SUMMARY="Printer List"> +<THEAD> +<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&WHICH_JOBS={?WHICH_JOBS}&FIRST={FIRST}&ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>▲</SMALL> Queue Name <SMALL>▲</SMALL>:<SMALL>▼</SMALL> Queue Name <SMALL>▼</SMALL>}</A></TH><TH>Description</TH><TH>Location</TH><TH>Make and Model</TH><TH>Status</TH></TR> +</THEAD> +<TBODY> {[printer_name] -{_SINGLE_DEST?:<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>{default_name={printer_name}? (Default Printer):}</H2>} - -<TABLE WIDTH="100%" CELLSPACING="0" CELLPADDING="0" SUMMARY="{printer_name}"> -<TR> -<TD VALIGN="TOP"><A HREF="{printer_uri_supported}"> -<IMG SRC="/images/printer-{printer_state=3?idle:{printer_state=4?processing:stopped}}.png" WIDTH="128" HEIGHT="128" ALT=""></A> </TD> -<TD VALIGN="TOP"><B>Description:</B> {printer_info}<BR> -<B>Location:</B> {printer_location}<BR> -<B>Printer Driver:</B> {printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})<BR> -<B>Printer State:</B> {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:}.<BR> -<B>Default Options:</B> job-sheets={job_sheets_default} -media={media_default?{media_default}:unknown} -{sides_default?sides={sides_default}:} -{?device_uri=?:<BR><B>Device URI:</B> {device_uri}} - -<P><TABLE CLASS="inset" WIDTH="100%" SUMMARY="Maintenance Commands"> -<CAPTION>Maintenance Commands</CAPTION> -<TR><TD><FORM ACTION="{printer_uri_supported}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="print-test-page"><INPUT TYPE="SUBMIT" VALUE="Print Test Page"></FORM> -{?cupscommand=1?<FORM ACTION="{printer_uri_supported}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="clean-print-heads"><INPUT TYPE="SUBMIT" VALUE="Clean Print Heads"></FORM> -<FORM ACTION="{printer_uri_supported}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="print-self-test-page"><INPUT TYPE="SUBMIT" VALUE="Print Self Test Page"></FORM>:} -{printer_state=5? -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="start-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Resume Printer"></FORM> -:<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="stop-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Pause Printer"></FORM> +<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Idle:{printer_state=4?Processing:Paused}}{printer_state_message? - "{printer_state_message}":}</TD></TR> } -{printer_is_accepting_jobs=0? -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="accept-jobs"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Accept Jobs"></FORM> -:<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="reject-jobs"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Reject Jobs"></FORM> -} -<FORM ACTION="{printer_uri_supported}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-jobs"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Move All Jobs"></FORM> -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="purge-jobs"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Cancel All Jobs"></FORM> -</TABLE> - -<P><TABLE CLASS="inset" WIDTH="100%" SUMMARY="Administration Commands"> -<CAPTION>Administration Commands</CAPTION> -<TR><TD>{server_is_sharing_printers=0?:{printer_is_shared=0? -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-sharing"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}&shared=1"><INPUT TYPE="SUBMIT" VALUE="Share Printer"></FORM> -:<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-sharing"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}&shared=0"><INPUT TYPE="SUBMIT" VALUE="Unshare Printer"></FORM> -}} -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="modify-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Modify Printer"></FORM> -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-printer-options"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Set Printer Options"></FORM> -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Delete Printer"></FORM> -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-as-default"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Set As Server Default"></FORM> -<FORM ACTION="{admin_uri}" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="set-allowed-users"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{%printer_name}"><INPUT TYPE="SUBMIT" VALUE="Set Allowed Users"></FORM></TD></TR> -</TABLE> -</TD> -</TR> -</TABLE> -}} -<BR> +</TBODY> +</TABLE></DIV>} diff --git a/templates/search.tmpl b/templates/search.tmpl index 0fcc43861..9e05e6ecb 100644 --- a/templates/search.tmpl +++ b/templates/search.tmpl @@ -4,7 +4,7 @@ <P ALIGN="CENTER"><B>Search in {SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?Classes:{SECTION=jobs?Jobs:Printers}}}:</B> -<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="60" PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT +<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT TYPE="SUBMIT" VALUE="Search"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Clear"></P> </FORM> diff --git a/test/Makefile b/test/Makefile index f3e0fcf31..d52548571 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 ebc872099..bca4ceebd 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 ea505d462..67cfdb34d 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 c25dfc49d..9642409a5 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 $". # |