From: msweet Date: Wed, 17 Oct 2007 20:05:25 +0000 (+0000) Subject: Import CUPS 1.4svn r7023 into easysw/current. X-Git-Tag: release-1.6.3~202 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2e4ff8afcbae91304495e2c90b4965420422e363;p=thirdparty%2Fcups.git Import CUPS 1.4svn r7023 into easysw/current. git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@502 a1ca3aef-8c08-0410-bb20-df032aa958be --- diff --git a/CHANGES-1.3.txt b/CHANGES-1.3.txt new file mode 100644 index 0000000000..c71003c664 --- /dev/null +++ b/CHANGES-1.3.txt @@ -0,0 +1,361 @@ +CHANGES-1.3.txt +--------------- + +CHANGES IN CUPS V1.3.4 + + - Updated the Japanese localization (STR #2546) + - The parallel backend now gets the current IEEE-1284 + device ID string on Linux (STR #2553) + - The IPP backend now checks the job status at + variable intervals (from 1 to 10 seconds) instead + of every 10 seconds for faster remote printing + (STR #2548) + - "lpr -p" and "lpr -l" did not work (STR #2544) + - Compilation failed when a previous version of CUPS + was installed and was included in the SSL include + path (STR #2538) + - The scheduler did not reject requests with charsets + other than US-ASCII or UTF-8, and the CUPS API + incorrectly passed the locale charset to the scheduler + instead of UTF-8 (STR #2537) + - cups-deviced did not filter out duplicate devices. + - The AppleTalk backend incorrectly added a scheme + listing when AppleTalk was disabled or no printers + were found. + - The PostScript filter generated N^2 copies when the + printer supported collated copies and user requested + reverse-order output. + - The scheduler did not reprint all of the files in a + job that was held. + - The scheduler did not update the printcap file after + removing stale remote queues. + - The cupsd.conf man page incorrectly referenced + "AuthType Kerberos" instead of "AuthType Negotiate". + + +CHANGES IN CUPS V1.3.3 + + - The scheduler did not use the attributes-natural-language + attribute when passing the LANG environment variable to + cups-deviced or cups-driverd. + - The scheduler did not use the printer-op-policy when + modifying classes or printers (STR #2525) + - The auth-info-required attribute was not always updated + for remote queues that required authentication. + - The German web interface localization contained errors + (STR #2523) + - The Swedish localization contained errors (STR #2522) + + +CHANGES IN CUPS V1.3.2 + + - The 1.3.1 release was incorrectly created from the + 1.4.x source tree (STR #2519) + - Added support for 32/64-bit libraries on HP-UX + (STR #2520) + - The scheduler incorrectly used portrait as the default + orientation (STR #2513) + - The scheduler no longer writes the printcap file for + every remote printer update (STR #2512) + - Remote raw printing with multiple copies did not work + (STR #2518) + - Updated the configure script to require at least autoconf + 2.60 (STR #2515) + - Some gzip'd PPD files were not read in their entirety + (STR #2510) + + +CHANGES IN CUPS V1.3.1 + + - Documentation updates. + - The USB backend on Mac OS X could hang if the driver and + printer did not match. + - Delegated Kerberos credentials were not working. + - "make distclean" incorrectly removed the edit-config.tmpl + files (STR #2508) + - Fix compile problem on HP-UX (STR #2501) + - The cupstestppd utility now tests for resolutions greater + than 99999 DPI to detect a missing "x" between the X and Y + resolutions. + - Fixed many problems in the various translations and added + a new "checkpo" utility to validate them. + - The cupstestppd utility now tests the custom page size code + for CUPS raster drivers. + - cupsLangDefault() did not attempt to return a language that + was supported by the calling application. + - If a remote printer stopped while a job was being sent, the + local queue would also get stopped and the job re-queued, + resulting in duplicate prints in some cases. + - A few Apple-specific job options needed to be omitted when + printing a banner page. + - The new peer credential support did not compile on FreeBSD + (STR #2495) + - Direct links to help files did not set the current section + so the table-of-contents was not shown. + - The configure script did not support --localedir=foo (STR #2488) + - The backends were not displaying their localized messages. + - CUPS-Authenticate-Job did not require Kerberos authentication + on queues protected by Kerberos. + - The Zebra ZPL driver did not work with Brady label printers + (STR #2487) + - Norwegian wasn't localized on Mac OS X. + - getnameinfo() returns an error on some systems when DNS is + not available, leading to numerous problems (STR #2486) + - The cupsfilter command did not work properly on Mac OS X. + - The scheduler makefile contained a typo (STR #2483) + - The TBCP and BCP port monitors did not handle the trailing + CTRL-D in some PostScript output properly. + - Fixed the localization instructions and German template for + the "Find New Printers" button (STR #2478) + - The web interface did not work with the Chinese localization + (STR #2477) + - The web interface home page did not work for languages that + were only partially localized (STR #2472) + - Updated the Spanish web interface localization (STR #2473) + - ppdLocalize() did not work for country-specific localizations. + + +CHANGES IN CUPS V1.3.0 + + - The scheduler did not handle out-of-file conditions + gracefully when accepting new connections, leading to + heavy CPU usage. + - The scheduler did not detect ServerBin misconfigurations + (STR #2470) + - "AuthType Default" did not work as expected when the + "DefaultAuthType foo" line appeared after it in the + cupsd.conf file. + - The on-line help did not describe many common printing + options (STR #1846) + - The IPP backend did not return the "auth required" status + when printing to a Kerberos-protected queue. + - The scheduler was not looking in the correct directories + for LSB PPD files (STR #2464) + - Changed references to ESP Ghostscript to GPL Ghostscript + (STR #2463) + - The PostScript filter did not cleanly terminate when + the job was canceled or stopped. + - Fixed generation of Kerberos credentials for remote + printing. Note that this requires a recent version of + MIT Kerberos with a working krb5_cc_new_unique() + function or Heimdal Kerberos. + - Added Portuguese and updated Italian message catalogs. + + +CHANGES IN CUPS V1.3rc2 + + - Added more range checking to the pdftops filter. + - The scheduler would crash if a remote IPP queue was stopped + (STR #2460) + - The scheduler did not allow "DefaultAuthType None". + + +CHANGES IN CUPS V1.3rc1 + + - Updated the German localization (STR #2443) + - cupsAdminGetServerSettings() did not handle properly. + - When lprm and cancel are run with no job ID, they now will + cancel the first stopped job if no pending or processing + jobs are left in the queue. + - The scheduler now logs successful print jobs, filter + failures, and the job file types at the default log + level (STR #2458) + - The scheduler now logs the usernames it is using for + authorization at LogLevel debug instead of debug2 (STR #2448) + - Added Intellitech Intellibar and Zebra CPCL PPDs to the list + of installed PPDs. + - Added 6" and 8" wide label sizes for the Zebra ZPL Label + Printer driver (STR #2442) + - The cupsaddsmb program and web interface now support + exporting of 64-bit Windows drivers, when available + (STR #2439) + - Moving a job that was printing did not stop the job on the + original printer (STR #2262) + - The cups-lpd mini-daemon did not work on Mac OS X server. + - Added httpGetAuthString() and httpSetAuthString() APIs to get + and set the current (cached) authorization string to use for + HTTP requests. + - Updated the default cupsd.conf policy to list the + "administrative" operations separately from the "printer + control" operations so that it is easier to define a + group of users that are "printer operators". + - The web interface now pulls the default cupsd.conf file + from cupsd.conf.default in the CUPS config directory. + - Added a help file for using Kerberos with CUPS. + - The scheduler now strips the "@KDC" portion of Kerberos + usernames since those usernames typically do not appear in + the group membership lists used by CUPS. + - cupsMarkOptions() could (incorrectly) leave multiple option + choices marked. + - Backends could (incorrectly) run as root during discovery + (STR #2454) + - Avahi is now supported for DNS-SD (Bonjour) printer sharing + (STR #2455) + - The default cupsd.conf file had typos and old operation names + (STR #2450) + - The scheduler now erases authentication cache files using the + 7-pass US DoD algorithm. + - Delegated Kerberos credentials (proxy authentication) did not + work. + - The filter makefile did not optimize the libcupsimage.2.dylib + with a sectorder file. + - The IPP backend incorrectly wrote an empty printer message + when processing the "none" state reason. + - The USB backend could deadlock on Mac OS X while performing + a side-channel command. + - The scheduler did not prevent remote queues from being + shared/published. + - The scheduler did not remove the temporary request file on + authentication errors. + - ppdLocalizeIPPReason() did not handle "scheme:" schemes or + "file" URLs. + - ppdLocalizeIPPReason() was not exported on Mac OS X. + + +CHANGES IN CUPS V1.3b1 + + - Copyright updates - CUPS is now owned by Apple Inc. + - Documentation updates (STR #1775, STR #2027, STR #2130, + STR #2131, STR #2263, STR #2356, STR #2397) + - Added new cupsfilter utility (STR #1734) + - Added new job-printer-state-message and + job-printer-state-reasons attributes to jobs (STR #2418) + - Added LDAP+SSL support (STR #1967) + - CUPS now supports authentication via peer credentials + over domain sockets (STR #2242, STR #2277) + - The CUPS sample driver PPDs are now generated by the PPD + compiler and include all of the localized languages by + default (STR #2164) + - You can now specify "AuthType Default" in the cupsd.conf + file to use the default authentication defined by the + DefaultAuthType directive. + - The SNMP backend no longer adds a default Address line + when none is specified in the snmp.conf file; this allows + the backend to be easily disabled as needed (STR #2434) + - Added a new cupsctl command for doing basic changes to + the cupsd.conf file (STR #1777) + - Added a new ppdLocalizeIPPReason() function to get the + localized text/URI for a given IPP reason keyword for a + driver. + - Removed the deskjet2.ppd driver, as it only worked with + a very small subset of HP DeskJet printers and was + confusing to users. The rastertohp driver still + supports the deskjet2.ppd options for existing queues. + - The scheduler did not add a trailing banner page if a + client did not specify the last document in a job (STR + #1711) + - The scheduler did not report Bonjour shared printers as + remote printers (STR #2384) + - Added new -R and -W options to the cupstestppd program + for greater control over the testing of PPDs. + - Added a new cupsGetServerPPD() function for getting + an available PPD from the server (STR #2334) + - Added a new cupsDoIORequest() function for reading + and writing files via IPP requests (STR #2334) + - Added a new CUPS_GET_PPD operation for getting an + available PPD file on the server (STR #2334) + - CUPS_GET_PPDS now reports multiple ppd-product values + based on the PPD ModelName and Product strings (STR + #2334, STR #2383) + - CUPS_GET_PPDS now reports the PSVersion attributes + from a PPD file in the ppd-psversion attribute + (STR #2334) + - CUPS_GET_PPDS now reports the cupsModelNumber attribute + from a PPD file in the ppd-model-number attribute (STR + #2383) + - CUPS_GET_PPDS now reports a driver type string in the + ppd-type attribute based on the cupsFax and cupsFilter + attributes in a PPD file (STR #2383) + - Added a new printer attribute called "cups-version" + which reports the version of CUPS that is running + (STR #2240) + - backendRunLoop() now aborts immediately on SIGTERM + if no data has been written yet (STR #2103) + - Due to poor IPP support from the vendors, the SNMP + backend no longer tries IPP connections; instead, + it now uses a lookup file with fallback to port 9100 + (socket://address) and 515 (lpd://address) printing + (STR #2035, STR #2354) + - The scheduler now recreates the CUPS log directory as + needed (STR #2353) + - cupsLangDefault() now maps new-style Apple locale names + to the traditional ll_CC form (STR #2357) + - Add new cupsArrayNew2() API to support hashed lookups + of array elements (STR #2358) + - ppdConflicts() optimizations (STR #2358) + - The cupstestppd program now tests for existing filters, + icons, profiles, and dialog extensions (STR #2326) + - The web interface no longer lists new printers on the + main administration page. Instead, a new "List Available + Printers" button is provided that shows a separate page + with the list of printers. + - The web interface now supports setting the banner and + policy options on raw printers and classes (STR #2238) + - The socket backend now reads any pending back-channel + data before shutting down the socket (STR #2325) + - Added a new ErrorPolicy directive in the cupsd.conf + file (STR #1871) + - Printers that use JCL options are now exported to Samba + correctly (STR #1985) + - The IPP backend now relays printer-state-message values + from the server to the client (STR #2109) + - Added support for the PWG printer-alert and + printer-alert-description attributes (STR #2088) + - Added support for LPD "stream" mode (STR #2036) + - The scheduler now reports the PostScript product string + from PPD files in CUPS-Get-PPDs responses (STR #1900) + - Raw printing with queues pointing to the file pseudo- + device and multiple files and/or banners now works (STR + #1933) + - Added new public cupsAdminGetServerSettings() and + cupsAdminSetServerSettings() APIs. + - Added new "makebuttons" script in the "tools" directory + for creating web interface buttons (STR #2231) + - Added support for DNS-SD (aka "Bonjour") printer sharing + (STR #1171) + - Job operations (cancel, hold, release, etc.) from the + web interface now return back to the original page (STR + #2239) + - The classes or printers list is now shown after a + successful deletion from the web interface (STR #1999) + - The default configuration now allows browse packets from + any address (STR #2008) + - The web interface now provides an "allow printing from the + Internet" check box (STR #1897) + - The notify-events-default and + notify-lease-duration-default attributes can now be set + (STR #1671) + - Server-side default options are now sent to clients when + the "printer-defaults" attribute group is requested (STR + #1923) + - Added support for Linux "relro" linker option (STR #1614) + - CUPS now validates the number-up option value (STR #1329) + - The on-line help now provides better search capabilities + (STR #1701) + - The web interface "Add This Printer" button now allows you + to change the printer name, description, and location + (STR #1646) + - Added support for Mac OS X authorization services + (STR #2206) + - Added support for driver-specific pre-filters (STR #2108) + - Added a new side-channel API for drivers and backends + for basic device control and information queries (STR + #1898) + - The scheduler now uses poll(), epoll(), or /dev/kqueue + instead of select() when possible (STR #1261) + - Added new cupsArrayGetIndex() and cupsArrayGetInsert() + functions to get the current index and insertion + positions of an array. + - Added a new --with-max-copies configure option (STR + #2090) + - Added new cupsRemoveDest() and cupsSetDefaultDest() + functions. + - Added support for cupsPJLCharset attribute in PPD files + which specifies the character set that is used in PJL + strings (STR #1969) + - Moved the definition of the (private) _http_s structure + to http-private.h; code that directly accesses the + http_t members will no longer compile! + - Added support for setting the document-format-default + attribute on a per-printer basis. + - Added support for IntelliBar label printers. diff --git a/CHANGES.txt b/CHANGES.txt index 489bfb4285..525666acbc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,329 +1,28 @@ -CHANGES.txt - 2007-09-28 +CHANGES.txt - 2007-09-07 ------------------------ -CHANGES IN CUPS V1.3.3 +CHANGES IN CUPS V1.4b1 + + - The web interface now enables/disables the printer + sharing (formerly publishing) controls based on the + server-is-sharing-printers state (STR #2233) + - The scheduler now tracks printer sharing via the + server-is-sharing-printers attribute, and manages LPD + and SMB sharing as well (STR #2233) + - The web interface now allows you to go back to the make/ + manufacturer page if there is no matching printer driver + on the model page (STR #2436) + - The printer list now shows the default media, banner, and + duplex options as well as the color and duplex capabilities + of printers (STR #1175) + - The web interface look-n-feel has been updated (STR #2492) + - The scheduler now supports a CUPS-Get-Document operation + that returns the specified print job document (STR #118) + - The cupsfilter utility now supports a "-J jobid" option + to filter the document from the specified job. + - The scheduler (cupsd) now supports a new option (-t) to + do a syntax check of the cupsd.conf file (STR #2003) + - Added new cupsGetPPD3() API to allow applications to + cache PPDs safely (STR #1473) + - Added generic PostScript and PCL printer driver PPDs. - - The scheduler did not use the attributes-natural-language - attribute when passing the LANG environment variable to - cups-deviced or cups-driverd. - - The scheduler did not use the printer-op-policy when - modifying classes or printers (STR #2525) - - The auth-info-required attribute was not always updated - for remote queues that required authentication. - - The German web interface localization contained errors - (STR #2523) - - The Swedish localization contained errors (STR #2522) - - -CHANGES IN CUPS V1.3.2 - - - The 1.3.1 release was incorrectly created from the - 1.4.x source tree (STR #2519) - - Added support for 32/64-bit libraries on HP-UX - (STR #2520) - - The scheduler incorrectly used portrait as the default - orientation (STR #2513) - - The scheduler no longer writes the printcap file for - every remote printer update (STR #2512) - - Remote raw printing with multiple copies did not work - (STR #2518) - - Updated the configure script to require at least autoconf - 2.60 (STR #2515) - - Some gzip'd PPD files were not read in their entirety - (STR #2510) - - -CHANGES IN CUPS V1.3.1 - - - Documentation updates. - - The USB backend on Mac OS X could hang if the driver and - printer did not match. - - Delegated Kerberos credentials were not working. - - "make distclean" incorrectly removed the edit-config.tmpl - files (STR #2508) - - Fix compile problem on HP-UX (STR #2501) - - The cupstestppd utility now tests for resolutions greater - than 99999 DPI to detect a missing "x" between the X and Y - resolutions. - - Fixed many problems in the various translations and added - a new "checkpo" utility to validate them. - - The cupstestppd utility now tests the custom page size code - for CUPS raster drivers. - - cupsLangDefault() did not attempt to return a language that - was supported by the calling application. - - If a remote printer stopped while a job was being sent, the - local queue would also get stopped and the job re-queued, - resulting in duplicate prints in some cases. - - A few Apple-specific job options needed to be omitted when - printing a banner page. - - The new peer credential support did not compile on FreeBSD - (STR #2495) - - Direct links to help files did not set the current section - so the table-of-contents was not shown. - - The configure script did not support --localedir=foo (STR #2488) - - The backends were not displaying their localized messages. - - CUPS-Authenticate-Job did not require Kerberos authentication - on queues protected by Kerberos. - - The Zebra ZPL driver did not work with Brady label printers - (STR #2487) - - Norwegian wasn't localized on Mac OS X. - - getnameinfo() returns an error on some systems when DNS is - not available, leading to numerous problems (STR #2486) - - The cupsfilter command did not work properly on Mac OS X. - - The scheduler makefile contained a typo (STR #2483) - - The TBCP and BCP port monitors did not handle the trailing - CTRL-D in some PostScript output properly. - - Fixed the localization instructions and German template for - the "Find New Printers" button (STR #2478) - - The web interface did not work with the Chinese localization - (STR #2477) - - The web interface home page did not work for languages that - were only partially localized (STR #2472) - - Updated the Spanish web interface localization (STR #2473) - - ppdLocalize() did not work for country-specific localizations. - - -CHANGES IN CUPS V1.3.0 - - - The scheduler did not handle out-of-file conditions - gracefully when accepting new connections, leading to - heavy CPU usage. - - The scheduler did not detect ServerBin misconfigurations - (STR #2470) - - "AuthType Default" did not work as expected when the - "DefaultAuthType foo" line appeared after it in the - cupsd.conf file. - - The on-line help did not describe many common printing - options (STR #1846) - - The IPP backend did not return the "auth required" status - when printing to a Kerberos-protected queue. - - The scheduler was not looking in the correct directories - for LSB PPD files (STR #2464) - - Changed references to ESP Ghostscript to GPL Ghostscript - (STR #2463) - - The PostScript filter did not cleanly terminate when - the job was canceled or stopped. - - Fixed generation of Kerberos credentials for remote - printing. Note that this requires a recent version of - MIT Kerberos with a working krb5_cc_new_unique() - function or Heimdal Kerberos. - - Added Portuguese and updated Italian message catalogs. - - -CHANGES IN CUPS V1.3rc2 - - - Added more range checking to the pdftops filter. - - The scheduler would crash if a remote IPP queue was stopped - (STR #2460) - - The scheduler did not allow "DefaultAuthType None". - - -CHANGES IN CUPS V1.3rc1 - - - Updated the German localization (STR #2443) - - cupsAdminGetServerSettings() did not handle properly. - - When lprm and cancel are run with no job ID, they now will - cancel the first stopped job if no pending or processing - jobs are left in the queue. - - The scheduler now logs successful print jobs, filter - failures, and the job file types at the default log - level (STR #2458) - - The scheduler now logs the usernames it is using for - authorization at LogLevel debug instead of debug2 (STR #2448) - - Added Intellitech Intellibar and Zebra CPCL PPDs to the list - of installed PPDs. - - Added 6" and 8" wide label sizes for the Zebra ZPL Label - Printer driver (STR #2442) - - The cupsaddsmb program and web interface now support - exporting of 64-bit Windows drivers, when available - (STR #2439) - - Moving a job that was printing did not stop the job on the - original printer (STR #2262) - - The cups-lpd mini-daemon did not work on Mac OS X server. - - Added httpGetAuthString() and httpSetAuthString() APIs to get - and set the current (cached) authorization string to use for - HTTP requests. - - Updated the default cupsd.conf policy to list the - "administrative" operations separately from the "printer - control" operations so that it is easier to define a - group of users that are "printer operators". - - The web interface now pulls the default cupsd.conf file - from cupsd.conf.default in the CUPS config directory. - - Added a help file for using Kerberos with CUPS. - - The scheduler now strips the "@KDC" portion of Kerberos - usernames since those usernames typically do not appear in - the group membership lists used by CUPS. - - cupsMarkOptions() could (incorrectly) leave multiple option - choices marked. - - Backends could (incorrectly) run as root during discovery - (STR #2454) - - Avahi is now supported for DNS-SD (Bonjour) printer sharing - (STR #2455) - - The default cupsd.conf file had typos and old operation names - (STR #2450) - - The scheduler now erases authentication cache files using the - 7-pass US DoD algorithm. - - Delegated Kerberos credentials (proxy authentication) did not - work. - - The filter makefile did not optimize the libcupsimage.2.dylib - with a sectorder file. - - The IPP backend incorrectly wrote an empty printer message - when processing the "none" state reason. - - The USB backend could deadlock on Mac OS X while performing - a side-channel command. - - The scheduler did not prevent remote queues from being - shared/published. - - The scheduler did not remove the temporary request file on - authentication errors. - - ppdLocalizeIPPReason() did not handle "scheme:" schemes or - "file" URLs. - - ppdLocalizeIPPReason() was not exported on Mac OS X. - - -CHANGES IN CUPS V1.3b1 - - - Copyright updates - CUPS is now owned by Apple Inc. - - Documentation updates (STR #1775, STR #2027, STR #2130, - STR #2131, STR #2263, STR #2356, STR #2397) - - Added new cupsfilter utility (STR #1734) - - Added new job-printer-state-message and - job-printer-state-reasons attributes to jobs (STR #2418) - - Added LDAP+SSL support (STR #1967) - - CUPS now supports authentication via peer credentials - over domain sockets (STR #2242, STR #2277) - - The CUPS sample driver PPDs are now generated by the PPD - compiler and include all of the localized languages by - default (STR #2164) - - You can now specify "AuthType Default" in the cupsd.conf - file to use the default authentication defined by the - DefaultAuthType directive. - - The SNMP backend no longer adds a default Address line - when none is specified in the snmp.conf file; this allows - the backend to be easily disabled as needed (STR #2434) - - Added a new cupsctl command for doing basic changes to - the cupsd.conf file (STR #1777) - - Added a new ppdLocalizeIPPReason() function to get the - localized text/URI for a given IPP reason keyword for a - driver. - - Removed the deskjet2.ppd driver, as it only worked with - a very small subset of HP DeskJet printers and was - confusing to users. The rastertohp driver still - supports the deskjet2.ppd options for existing queues. - - The scheduler did not add a trailing banner page if a - client did not specify the last document in a job (STR - #1711) - - The scheduler did not report Bonjour shared printers as - remote printers (STR #2384) - - Added new -R and -W options to the cupstestppd program - for greater control over the testing of PPDs. - - Added a new cupsGetServerPPD() function for getting - an available PPD from the server (STR #2334) - - Added a new cupsDoIORequest() function for reading - and writing files via IPP requests (STR #2334) - - Added a new CUPS_GET_PPD operation for getting an - available PPD file on the server (STR #2334) - - CUPS_GET_PPDS now reports multiple ppd-product values - based on the PPD ModelName and Product strings (STR - #2334, STR #2383) - - CUPS_GET_PPDS now reports the PSVersion attributes - from a PPD file in the ppd-psversion attribute - (STR #2334) - - CUPS_GET_PPDS now reports the cupsModelNumber attribute - from a PPD file in the ppd-model-number attribute (STR - #2383) - - CUPS_GET_PPDS now reports a driver type string in the - ppd-type attribute based on the cupsFax and cupsFilter - attributes in a PPD file (STR #2383) - - Added a new printer attribute called "cups-version" - which reports the version of CUPS that is running - (STR #2240) - - backendRunLoop() now aborts immediately on SIGTERM - if no data has been written yet (STR #2103) - - Due to poor IPP support from the vendors, the SNMP - backend no longer tries IPP connections; instead, - it now uses a lookup file with fallback to port 9100 - (socket://address) and 515 (lpd://address) printing - (STR #2035, STR #2354) - - The scheduler now recreates the CUPS log directory as - needed (STR #2353) - - cupsLangDefault() now maps new-style Apple locale names - to the traditional ll_CC form (STR #2357) - - Add new cupsArrayNew2() API to support hashed lookups - of array elements (STR #2358) - - ppdConflicts() optimizations (STR #2358) - - The cupstestppd program now tests for existing filters, - icons, profiles, and dialog extensions (STR #2326) - - The web interface no longer lists new printers on the - main administration page. Instead, a new "List Available - Printers" button is provided that shows a separate page - with the list of printers. - - The web interface now supports setting the banner and - policy options on raw printers and classes (STR #2238) - - The socket backend now reads any pending back-channel - data before shutting down the socket (STR #2325) - - Added a new ErrorPolicy directive in the cupsd.conf - file (STR #1871) - - Printers that use JCL options are now exported to Samba - correctly (STR #1985) - - The IPP backend now relays printer-state-message values - from the server to the client (STR #2109) - - Added support for the PWG printer-alert and - printer-alert-description attributes (STR #2088) - - Added support for LPD "stream" mode (STR #2036) - - The scheduler now reports the PostScript product string - from PPD files in CUPS-Get-PPDs responses (STR #1900) - - Raw printing with queues pointing to the file pseudo- - device and multiple files and/or banners now works (STR - #1933) - - Added new public cupsAdminGetServerSettings() and - cupsAdminSetServerSettings() APIs. - - Added new "makebuttons" script in the "tools" directory - for creating web interface buttons (STR #2231) - - Added support for DNS-SD (aka "Bonjour") printer sharing - (STR #1171) - - Job operations (cancel, hold, release, etc.) from the - web interface now return back to the original page (STR - #2239) - - The classes or printers list is now shown after a - successful deletion from the web interface (STR #1999) - - The default configuration now allows browse packets from - any address (STR #2008) - - The web interface now provides an "allow printing from the - Internet" check box (STR #1897) - - The notify-events-default and - notify-lease-duration-default attributes can now be set - (STR #1671) - - Server-side default options are now sent to clients when - the "printer-defaults" attribute group is requested (STR - #1923) - - Added support for Linux "relro" linker option (STR #1614) - - CUPS now validates the number-up option value (STR #1329) - - The on-line help now provides better search capabilities - (STR #1701) - - The web interface "Add This Printer" button now allows you - to change the printer name, description, and location - (STR #1646) - - Added support for Mac OS X authorization services - (STR #2206) - - Added support for driver-specific pre-filters (STR #2108) - - Added a new side-channel API for drivers and backends - for basic device control and information queries (STR - #1898) - - The scheduler now uses poll(), epoll(), or /dev/kqueue - instead of select() when possible (STR #1261) - - Added new cupsArrayGetIndex() and cupsArrayGetInsert() - functions to get the current index and insertion - positions of an array. - - Added a new --with-max-copies configure option (STR - #2090) - - Added new cupsRemoveDest() and cupsSetDefaultDest() - functions. - - Added support for cupsPJLCharset attribute in PPD files - which specifies the character set that is used in PJL - strings (STR #1969) - - Moved the definition of the (private) _http_s structure - to http-private.h; code that directly accesses the - http_t members will no longer compile! - - Added support for setting the document-format-default - attribute on a per-printer basis. - - Added support for IntelliBar label printers. diff --git a/INSTALL.txt b/INSTALL.txt index 8b32d9cbaa..5732830f39 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -1,4 +1,4 @@ -INSTALL - CUPS v1.3.2 - 2007-09-18 +INSTALL - CUPS v1.3.0 - 2007-08-13 ---------------------------------- This file describes how to compile and install CUPS from source diff --git a/Makedefs.in b/Makedefs.in index ab06b0ce14..258d577b43 100644 --- a/Makedefs.in +++ b/Makedefs.in @@ -1,5 +1,5 @@ # -# "$Id: Makedefs.in 6687 2007-07-18 19:49:45Z mike $" +# "$Id: Makedefs.in 7016 2007-10-10 22:07:51Z mike $" # # Common makefile definitions for the Common UNIX Printing System (CUPS). # @@ -108,8 +108,8 @@ INSTALLSTATIC = @INSTALLSTATIC@ # for extra debug info) # -ALL_CFLAGS = $(SSLFLAGS) @LARGEFILE@ @PTHREAD_FLAGS@ \ - $(OPTIONS) $(CFLAGS) +ALL_CFLAGS = $(CFLAGS) $(SSLFLAGS) @LARGEFILE@ @PTHREAD_FLAGS@ \ + $(OPTIONS) ARCHFLAGS = @ARCHFLAGS@ ARFLAGS = @ARFLAGS@ BACKLIBS = @BACKLIBS@ @@ -272,5 +272,5 @@ DBUSDIR = @DBUSDIR@ # -# End of "$Id: Makedefs.in 6687 2007-07-18 19:49:45Z mike $" +# End of "$Id: Makedefs.in 7016 2007-10-10 22:07:51Z mike $" # diff --git a/Makefile b/Makefile index 62cee85c05..9722914913 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 6945 2007-09-12 17:08:32Z mike $" +# "$Id: Makefile 6897 2007-08-30 06:11:59Z mike $" # # Top-level Makefile for the Common UNIX Printing System (CUPS). # @@ -281,5 +281,5 @@ dist: all # -# End of "$Id: Makefile 6945 2007-09-12 17:08:32Z mike $". +# End of "$Id: Makefile 6897 2007-08-30 06:11:59Z mike $". # diff --git a/README.txt b/README.txt index 3b3fd17e37..48fee5a99a 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -README - CUPS v1.3.2 - 2007-09-18 +README - CUPS v1.3.0 - 2007-08-13 --------------------------------- Looking for compile instructions? Read the file "INSTALL.txt" diff --git a/backend/ieee1284.c b/backend/ieee1284.c index 2e0f2b242b..5fab7ec84b 100644 --- a/backend/ieee1284.c +++ b/backend/ieee1284.c @@ -1,5 +1,5 @@ /* - * "$Id: ieee1284.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: ieee1284.c 7019 2007-10-10 22:48:52Z mike $" * * IEEE-1284 support functions for the Common UNIX Printing System (CUPS). * @@ -32,6 +32,10 @@ # include # define IOCNR_GET_DEVICE_ID 1 # define LPIOC_GET_DEVICE_ID(len) _IOC(_IOC_READ, 'P', IOCNR_GET_DEVICE_ID, len) +# include +# include +# include +# include #endif /* __linux */ #ifdef __sun @@ -68,6 +72,7 @@ backendGetDeviceID( int manulen; /* Length of manufacturer string */ #ifdef __linux int length; /* Length of device ID info */ + int got_id = 0; #endif /* __linux */ #if defined(__sun) && defined(ECPPIOC_GETDEVID) struct ecpp_device_id did; /* Device ID buffer */ @@ -93,9 +98,6 @@ backendGetDeviceID( if (make_model) *make_model = '\0'; - if (uri) - *uri = '\0'; - if (fd >= 0) { /* @@ -105,7 +107,83 @@ backendGetDeviceID( *device_id = '\0'; #ifdef __linux - if (!ioctl(fd, LPIOC_GET_DEVICE_ID(device_id_size), device_id)) + if (ioctl(fd, LPIOC_GET_DEVICE_ID(device_id_size), device_id)) + { + /* + * Linux has to implement things differently for every device it seems. + * Since the standard parallel port driver does not provide a simple + * ioctl() to get the 1284 device ID, we have to open the "raw" parallel + * device corresponding to this port and do some negotiation trickery + * to get the current device ID. + */ + + if (uri && !strncmp(uri, "parallel:/dev/", 14)) + { + char devparport[16]; /* /dev/parportN */ + int devparportfd, /* File descriptor for raw device */ + status, /* ioctl status */ + mode; /* Port mode */ + + + /* + * Since the Linux parallel backend only supports 4 parallel port + * devices, just grab the trailing digit and use it to construct a + * /dev/parportN filename... + */ + + snprintf(devparport, sizeof(devparport), "/dev/parport%s", + uri + strlen(uri) - 1); + + if ((devparportfd = open(devparport, O_RDWR | O_NOCTTY)) != -1) + { + /* + * Claim the device... + */ + + if (!ioctl(devparportfd, PPCLAIM)) + { + fcntl(devparport, F_SETFL, fcntl(devparportfd, F_GETFL) | O_NONBLOCK); + + mode = IEEE1284_MODE_COMPAT; + + if (!ioctl(devparportfd, PPNEGOT, &mode)) + { + /* + * Put the device into Device ID mode... + */ + + mode = IEEE1284_MODE_NIBBLE | IEEE1284_DEVICEID; + + if (!ioctl(devparportfd, PPNEGOT, &mode)) + { + /* + * Read the 1284 device ID... + */ + + if ((length = read(devparportfd, device_id, + device_id_size - 1)) >= 2) + { + device_id[length] = '\0'; + got_id = 1; + } + } + } + + /* + * Release the device... + */ + + ioctl(devparportfd, PPRELEASE); + } + + close(devparportfd); + } + } + } + else + got_id = 1; + + if (got_id) { /* * Extract the length of the device ID string from the first two @@ -168,6 +246,9 @@ backendGetDeviceID( DEBUG_printf(("backendGetDeviceID: device_id=\"%s\"\n", device_id)); + if (scheme && uri) + *uri = '\0'; + if (!*device_id) return (-1); @@ -494,5 +575,5 @@ backendGetMakeModel( /* - * End of "$Id: ieee1284.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: ieee1284.c 7019 2007-10-10 22:48:52Z mike $". */ diff --git a/backend/ipp.c b/backend/ipp.c index 7cbea4df48..3dc0991fe0 100644 --- a/backend/ipp.c +++ b/backend/ipp.c @@ -1,5 +1,5 @@ /* - * "$Id: ipp.c 6967 2007-09-17 23:30:52Z mike $" + * "$Id: ipp.c 7018 2007-10-10 22:14:03Z mike $" * * IPP backend for the Common UNIX Printing System (CUPS). * @@ -1055,7 +1055,7 @@ main(int argc, /* I - Number of command-line args */ _cupsLangPuts(stderr, _("INFO: Waiting for job to complete...\n")); - for (; !job_cancelled;) + for (delay = 1; !job_cancelled;) { /* * Build an IPP_GET_JOB_ATTRIBUTES request... @@ -1146,10 +1146,14 @@ main(int argc, /* I - Number of command-line args */ check_printer_state(http, uri, resource, argv[2], version, job_id); /* - * Wait 10 seconds before polling again... + * Wait 1-10 seconds before polling again... */ - sleep(10); + sleep(delay); + + delay ++; + if (delay > 10) + delay = 1; } } @@ -1758,5 +1762,5 @@ sigterm_handler(int sig) /* I - Signal */ /* - * End of "$Id: ipp.c 6967 2007-09-17 23:30:52Z mike $". + * End of "$Id: ipp.c 7018 2007-10-10 22:14:03Z mike $". */ diff --git a/backend/lpd.c b/backend/lpd.c index 322eebfade..53a6539c1f 100644 --- a/backend/lpd.c +++ b/backend/lpd.c @@ -1,5 +1,5 @@ /* - * "$Id: lpd.c 6911 2007-09-04 20:35:08Z mike $" + * "$Id: lpd.c 6910 2007-09-04 20:34:29Z mike $" * * Line Printer Daemon backend for the Common UNIX Printing System (CUPS). * @@ -1315,5 +1315,5 @@ sigterm_handler(int sig) /* I - Signal */ /* - * End of "$Id: lpd.c 6911 2007-09-04 20:35:08Z mike $". + * End of "$Id: lpd.c 6910 2007-09-04 20:34:29Z mike $". */ diff --git a/backend/pap.c b/backend/pap.c index 7f04214fa0..df177bb4a3 100644 --- a/backend/pap.c +++ b/backend/pap.c @@ -1,5 +1,5 @@ /* -* "$Id: pap.c 6911 2007-09-04 20:35:08Z mike $" +* "$Id: pap.c 7010 2007-10-10 21:08:51Z mike $" * * © Copyright 2004 Apple Computer, Inc. All rights reserved. * @@ -207,12 +207,7 @@ int main (int argc, const char * argv[]) if (argc == 1 || (argc == 2 && strcmp(argv[1], "-discover") == 0)) { - /* If listDevices() didn't find any devices or returns an error output a - * legacy style announcement. - * - */ - if (listDevices() <= 0) - puts("network pap \"Unknown\" \"AppleTalk Printer Access Protocol (pap)\""); + listDevices(); return 0; } @@ -291,7 +286,7 @@ static int listDevices(void) /* Make sure it's okay to use appletalk */ if (!okayToUseAppleTalk()) { - fprintf(stderr, "ERROR: AppleTalk disabled in System Preferences\n"); + fprintf(stderr, "INFO: AppleTalk disabled in System Preferences\n"); return -1; /* Network is down */ } diff --git a/backend/parallel.c b/backend/parallel.c index 673e6a4c68..3167d4a994 100644 --- a/backend/parallel.c +++ b/backend/parallel.c @@ -1,5 +1,5 @@ /* - * "$Id: parallel.c 6835 2007-08-22 18:34:34Z mike $" + * "$Id: parallel.c 7019 2007-10-10 22:48:52Z mike $" * * Parallel port backend for the Common UNIX Printing System (CUPS). * @@ -324,7 +324,8 @@ list_devices(void) char device[255], /* Device filename */ basedevice[255], /* Base device filename for ports */ device_id[1024], /* Device ID string */ - make_model[1024]; /* Make and model */ + make_model[1024], /* Make and model */ + uri[1024]; /* Device URI */ if (!access("/dev/parallel/", 0)) @@ -350,13 +351,15 @@ list_devices(void) * Now grab the IEEE 1284 device ID string... */ + snprintf(uri, sizeof(uri), "parallel:%s", device); + if (!backendGetDeviceID(fd, device_id, sizeof(device_id), make_model, sizeof(make_model), - NULL, NULL, 0)) - printf("direct parallel:%s \"%s\" \"%s LPT #%d\" \"%s\"\n", device, + NULL, uri, sizeof(uri))) + printf("direct %s \"%s\" \"%s LPT #%d\" \"%s\"\n", uri, make_model, make_model, i + 1, device_id); else - printf("direct parallel:%s \"Unknown\" \"LPT #%d\"\n", device, i + 1); + printf("direct %s \"Unknown\" \"LPT #%d\"\n", uri, i + 1); close(fd); } @@ -558,7 +561,7 @@ list_devices(void) printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d\"\n", device, i + 1); } } -#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) +#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) int i; /* Looping var */ int fd; /* File descriptor */ char device[255]; /* Device filename */ @@ -667,5 +670,5 @@ side_cb(int print_fd, /* I - Print file */ /* - * End of "$Id: parallel.c 6835 2007-08-22 18:34:34Z mike $". + * End of "$Id: parallel.c 7019 2007-10-10 22:48:52Z mike $". */ diff --git a/backend/runloop.c b/backend/runloop.c index 0cd38bb616..2e32fd4b72 100644 --- a/backend/runloop.c +++ b/backend/runloop.c @@ -1,5 +1,5 @@ /* - * "$Id: runloop.c 6835 2007-08-22 18:34:34Z mike $" + * "$Id: runloop.c 6834 2007-08-22 18:29:25Z mike $" * * Common run loop APIs for the Common UNIX Printing System (CUPS). * @@ -374,5 +374,5 @@ backendRunLoop( /* - * End of "$Id: runloop.c 6835 2007-08-22 18:34:34Z mike $". + * End of "$Id: runloop.c 6834 2007-08-22 18:29:25Z mike $". */ diff --git a/backend/scsi-irix.c b/backend/scsi-irix.c index b3b267651d..36fc9b02d9 100644 --- a/backend/scsi-irix.c +++ b/backend/scsi-irix.c @@ -1,5 +1,5 @@ /* - * "$Id: scsi-irix.c 6835 2007-08-22 18:34:34Z mike $" + * "$Id: scsi-irix.c 6834 2007-08-22 18:29:25Z mike $" * * IRIX SCSI printer support for the Common UNIX Printing System (CUPS). * @@ -236,5 +236,5 @@ print_device(const char *resource, /* I - SCSI device */ /* - * End of "$Id: scsi-irix.c 6835 2007-08-22 18:34:34Z mike $". + * End of "$Id: scsi-irix.c 6834 2007-08-22 18:29:25Z mike $". */ diff --git a/backend/scsi-linux.c b/backend/scsi-linux.c index e7017e5722..d0fc35cfc6 100644 --- a/backend/scsi-linux.c +++ b/backend/scsi-linux.c @@ -1,5 +1,5 @@ /* - * "$Id: scsi-linux.c 6835 2007-08-22 18:34:34Z mike $" + * "$Id: scsi-linux.c 6834 2007-08-22 18:29:25Z mike $" * * Linux SCSI printer support for the Common UNIX Printing System (CUPS). * @@ -255,5 +255,5 @@ print_device(const char *resource, /* I - SCSI device */ /* - * End of "$Id: scsi-linux.c 6835 2007-08-22 18:34:34Z mike $". + * End of "$Id: scsi-linux.c 6834 2007-08-22 18:29:25Z mike $". */ diff --git a/backend/scsi.c b/backend/scsi.c index b086731673..3be80c0ded 100644 --- a/backend/scsi.c +++ b/backend/scsi.c @@ -1,5 +1,5 @@ /* - * "$Id: scsi.c 6835 2007-08-22 18:34:34Z mike $" + * "$Id: scsi.c 6834 2007-08-22 18:29:25Z mike $" * * SCSI printer backend for the Common UNIX Printing System (CUPS). * @@ -225,5 +225,5 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */ /* - * End of "$Id: scsi.c 6835 2007-08-22 18:34:34Z mike $". + * End of "$Id: scsi.c 6834 2007-08-22 18:29:25Z mike $". */ diff --git a/backend/serial.c b/backend/serial.c index 8641001490..08ee019338 100644 --- a/backend/serial.c +++ b/backend/serial.c @@ -1,5 +1,5 @@ /* - * "$Id: serial.c 6911 2007-09-04 20:35:08Z mike $" + * "$Id: serial.c 6910 2007-09-04 20:34:29Z mike $" * * Serial port backend for the Common UNIX Printing System (CUPS). * @@ -723,11 +723,11 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */ static void list_devices(void) { -#if defined(__hpux) || defined(__sgi) || defined(__sun) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +#if defined(__hpux) || defined(__sgi) || defined(__sun) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) static char *funky_hex = "0123456789abcdefghijklmnopqrstuvwxyz"; /* Funky hex numbering used for some * * devices */ -#endif /* __hpux || __sgi || __sun || __FreeBSD__ || __OpenBSD__ */ +#endif /* __hpux || __sgi || __sun || __FreeBSD__ || __OpenBSD__ || __FreeBSD_kernel__ */ #ifdef __linux int i, j; /* Looping vars */ @@ -1023,7 +1023,7 @@ list_devices(void) printf("serial serial:%s?baud=38400 \"Unknown\" \"Serial Port #%d\"\n", device, i + 1); } -#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) int i, j; /* Looping vars */ int fd; /* File descriptor */ char device[255]; /* Device filename */ @@ -1286,5 +1286,5 @@ side_cb(int print_fd, /* I - Print file */ /* - * End of "$Id: serial.c 6911 2007-09-04 20:35:08Z mike $". + * End of "$Id: serial.c 6910 2007-09-04 20:34:29Z mike $". */ diff --git a/backend/socket.c b/backend/socket.c index 6efcbf2f29..5d66a16061 100644 --- a/backend/socket.c +++ b/backend/socket.c @@ -1,5 +1,5 @@ /* - * "$Id: socket.c 6911 2007-09-04 20:35:08Z mike $" + * "$Id: socket.c 6910 2007-09-04 20:34:29Z mike $" * * AppSocket backend for the Common UNIX Printing System (CUPS). * @@ -533,5 +533,5 @@ wait_bc(int device_fd, /* I - Socket */ /* - * End of "$Id: socket.c 6911 2007-09-04 20:35:08Z mike $". + * End of "$Id: socket.c 6910 2007-09-04 20:34:29Z mike $". */ diff --git a/backend/usb-darwin.c b/backend/usb-darwin.c index d90c85361e..a71d836f5c 100644 --- a/backend/usb-darwin.c +++ b/backend/usb-darwin.c @@ -1,5 +1,5 @@ /* -* "$Id: usb-darwin.c 6996 2007-09-28 18:30:31Z mike $" +* "$Id: usb-darwin.c 6993 2007-09-28 18:05:28Z mike $" * * Copyright � 2005-2007 Apple Inc. All rights reserved. * @@ -2017,5 +2017,5 @@ static void get_device_id(cups_sc_status_t *status, /* - * End of "$Id: usb-darwin.c 6996 2007-09-28 18:30:31Z mike $". + * End of "$Id: usb-darwin.c 6993 2007-09-28 18:05:28Z mike $". */ diff --git a/backend/usb-unix.c b/backend/usb-unix.c index 60f821d975..a02b3713d1 100644 --- a/backend/usb-unix.c +++ b/backend/usb-unix.c @@ -1,5 +1,5 @@ /* - * "$Id: usb-unix.c 6911 2007-09-04 20:35:08Z mike $" + * "$Id: usb-unix.c 6910 2007-09-04 20:34:29Z mike $" * * USB port backend for the Common UNIX Printing System (CUPS). * @@ -281,7 +281,7 @@ list_devices(void) } #elif defined(__hpux) #elif defined(__osf) -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) int i; /* Looping var */ char device[255]; /* Device filename */ @@ -615,5 +615,5 @@ side_cb(int print_fd, /* I - Print file */ /* - * End of "$Id: usb-unix.c 6911 2007-09-04 20:35:08Z mike $". + * End of "$Id: usb-unix.c 6910 2007-09-04 20:34:29Z mike $". */ diff --git a/backend/usb.c b/backend/usb.c index 689d399006..396f95ac1c 100644 --- a/backend/usb.c +++ b/backend/usb.c @@ -1,5 +1,5 @@ /* - * "$Id: usb.c 6911 2007-09-04 20:35:08Z mike $" + * "$Id: usb.c 6910 2007-09-04 20:34:29Z mike $" * * USB port backend for the Common UNIX Printing System (CUPS). * @@ -64,7 +64,7 @@ int print_device(const char *uri, const char *hostname, #ifdef __APPLE__ # include "usb-darwin.c" -#elif defined(__linux) || defined(__sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +#elif defined(__linux) || defined(__sun) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) # include "usb-unix.c" #else /* @@ -266,5 +266,5 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */ /* - * End of "$Id: usb.c 6911 2007-09-04 20:35:08Z mike $". + * End of "$Id: usb.c 6910 2007-09-04 20:34:29Z mike $". */ diff --git a/berkeley/lpr.c b/berkeley/lpr.c index a7223f2d78..47e0d814cd 100644 --- a/berkeley/lpr.c +++ b/berkeley/lpr.c @@ -1,5 +1,5 @@ /* - * "$Id: lpr.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: lpr.c 7017 2007-10-10 22:09:57Z mike $" * * "lpr" command for the Common UNIX Printing System (CUPS). * @@ -200,11 +200,11 @@ main(int argc, /* I - Number of command-line arguments */ break; case 'l' : /* Literal/raw */ - num_options = cupsAddOption("raw", "", num_options, &options); + num_options = cupsAddOption("raw", "true", num_options, &options); break; case 'p' : /* Prettyprint */ - num_options = cupsAddOption("prettyprint", "", num_options, + num_options = cupsAddOption("prettyprint", "true", num_options, &options); break; @@ -520,5 +520,5 @@ sighandler(int s) /* I - Signal number */ /* - * End of "$Id: lpr.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: lpr.c 7017 2007-10-10 22:09:57Z mike $". */ diff --git a/cgi-bin/admin.c b/cgi-bin/admin.c index 37e565684e..bdf42f911e 100644 --- a/cgi-bin/admin.c +++ b/cgi-bin/admin.c @@ -1,5 +1,5 @@ /* - * "$Id: admin.c 6733 2007-07-26 18:09:46Z mike $" + * "$Id: admin.c 7012 2007-10-10 21:22:45Z mike $" * * Administration CGI for the Common UNIX Printing System (CUPS). * @@ -119,7 +119,7 @@ main(int argc, /* I - Number of command-line arguments */ do_menu(http); } - else if ((op = cgiGetVariable("OP")) != NULL) + else if ((op = cgiGetVariable("OP")) != NULL && cgiIsPOST()) { /* * Do the operation... @@ -127,25 +127,7 @@ main(int argc, /* I - Number of command-line arguments */ fprintf(stderr, "DEBUG: op=\"%s\"...\n", op); - if (!strcmp(op, "redirect")) - { - const char *url; /* Redirection URL... */ - char prefix[1024]; /* URL prefix */ - - - if (getenv("HTTPS")) - snprintf(prefix, sizeof(prefix), "https://%s:%s", - getenv("SERVER_NAME"), getenv("SERVER_PORT")); - else - snprintf(prefix, sizeof(prefix), "http://%s:%s", - getenv("SERVER_NAME"), getenv("SERVER_PORT")); - - if ((url = cgiGetVariable("URL")) != NULL) - printf("Location: %s%s\n\n", prefix, url); - else - printf("Location: %s/admin\n\n", prefix); - } - else if (!strcmp(op, "start-printer")) + if (!strcmp(op, "start-printer")) do_printer_op(http, IPP_RESUME_PRINTER, cgiText(_("Start Printer"))); else if (!strcmp(op, "stop-printer")) do_printer_op(http, IPP_PAUSE_PRINTER, cgiText(_("Stop Printer"))); @@ -203,6 +185,24 @@ main(int argc, /* I - Number of command-line arguments */ cgiEndHTML(); } } + else if (op && !strcmp(op, "redirect")) + { + const char *url; /* Redirection URL... */ + char prefix[1024]; /* URL prefix */ + + + if (getenv("HTTPS")) + snprintf(prefix, sizeof(prefix), "https://%s:%s", + getenv("SERVER_NAME"), getenv("SERVER_PORT")); + else + snprintf(prefix, sizeof(prefix), "http://%s:%s", + getenv("SERVER_NAME"), getenv("SERVER_PORT")); + + if ((url = cgiGetVariable("URL")) != NULL) + printf("Location: %s%s\n\n", prefix, url); + else + printf("Location: %s/admin\n\n", prefix); + } else { /* @@ -740,67 +740,101 @@ do_am_printer(http_t *http, /* I - HTTP connection */ else oldinfo = NULL; - if ((name = cgiGetVariable("PRINTER_NAME")) == NULL || - cgiGetVariable("PRINTER_LOCATION") == NULL) - { - cgiStartHTML(title); + file = cgiGetFile(); - if (modify) - { - /* - * Update the location and description of an existing printer... - */ + if (file) + { + fprintf(stderr, "DEBUG: file->tempfile=%s\n", file->tempfile); + fprintf(stderr, "DEBUG: file->name=%s\n", file->name); + fprintf(stderr, "DEBUG: file->filename=%s\n", file->filename); + fprintf(stderr, "DEBUG: file->mimetype=%s\n", file->mimetype); + } - if (oldinfo) - cgiSetIPPVars(oldinfo, NULL, NULL, NULL, 0); + if ((name = cgiGetVariable("PRINTER_NAME")) != NULL) + { + for (ptr = name; *ptr; ptr ++) + if ((*ptr >= 0 && *ptr <= ' ') || *ptr == 127 || *ptr == '/' || *ptr == '#') + break; - cgiCopyTemplateLang("modify-printer.tmpl"); + if (*ptr || ptr == name || strlen(name) > 127) + { + cgiSetVariable("ERROR", + cgiText(_("The printer name may only contain up to " + "127 printable characters and may not " + "contain spaces, slashes (/), or the " + "pound sign (#)."))); + cgiStartHTML(title); + cgiCopyTemplateLang("error.tmpl"); + cgiEndHTML(); + return; } - else + } + + if ((var = cgiGetVariable("DEVICE_URI")) != NULL) + { + if ((uriptr = strrchr(var, '|')) != NULL) { /* - * Get the name, location, and description for a new printer... + * Extract make and make/model from device URI string... */ - cgiCopyTemplateLang("add-printer.tmpl"); - } + char make[1024], /* Make string */ + *makeptr; /* Pointer into make */ - cgiEndHTML(); - if (oldinfo) - ippDelete(oldinfo); + *uriptr++ = '\0'; - return; - } + strlcpy(make, uriptr, sizeof(make)); - for (ptr = name; *ptr; ptr ++) - if ((*ptr >= 0 && *ptr <= ' ') || *ptr == 127 || *ptr == '/' || *ptr == '#') - break; + if ((makeptr = strchr(make, ' ')) != NULL) + *makeptr = '\0'; + else if ((makeptr = strchr(make, '-')) != NULL) + *makeptr = '\0'; + else if (!strncasecmp(make, "laserjet", 8) || + !strncasecmp(make, "deskjet", 7) || + !strncasecmp(make, "designjet", 9)) + strcpy(make, "HP"); + else if (!strncasecmp(make, "phaser", 6)) + strcpy(make, "Xerox"); + else if (!strncasecmp(make, "stylus", 6)) + strcpy(make, "Epson"); + else + strcpy(make, "Generic"); - if (*ptr || ptr == name || strlen(name) > 127) - { - cgiSetVariable("ERROR", - cgiText(_("The printer name may only contain up to " - "127 printable characters and may not " - "contain spaces, slashes (/), or the " - "pound sign (#)."))); - cgiStartHTML(title); - cgiCopyTemplateLang("error.tmpl"); - cgiEndHTML(); - return; - } + if (!cgiGetVariable("CURRENT_MAKE")) + cgiSetVariable("CURRENT_MAKE", make); - file = cgiGetFile(); + cgiSetVariable("PPD_MAKE", make); - if (file) - { - fprintf(stderr, "DEBUG: file->tempfile=%s\n", file->tempfile); - fprintf(stderr, "DEBUG: file->name=%s\n", file->name); - fprintf(stderr, "DEBUG: file->filename=%s\n", file->filename); - fprintf(stderr, "DEBUG: file->mimetype=%s\n", file->mimetype); + if (!cgiGetVariable("CURRENT_MAKE_AND_MODEL")) + cgiSetVariable("CURRENT_MAKE_AND_MODEL", uriptr); + + if (!modify) + { + char template[128], /* Template name */ + *tptr; /* Pointer into template name */ + + cgiSetVariable("PRINTER_INFO", uriptr); + + for (tptr = template; + tptr < (template + sizeof(template) - 1) && *uriptr; + uriptr ++) + if (isalnum(*uriptr & 255) || *uriptr == '_' || *uriptr == '-' || + *uriptr == '.') + *tptr++ = *uriptr; + else if ((*uriptr == ' ' || *uriptr == '/') && tptr[-1] != '_') + *tptr++ = '_'; + else if (*uriptr == '?' || *uriptr == '(') + break; + + *tptr = '\0'; + + cgiSetVariable("TEMPLATE_NAME", template); + } + } } - if ((var = cgiGetVariable("DEVICE_URI")) == NULL) + if (!var) { /* * Build a CUPS_GET_DEVICES request, which requires the following @@ -897,6 +931,37 @@ do_am_printer(http_t *http, /* I - HTTP connection */ cgiCopyTemplateLang("choose-serial.tmpl"); cgiEndHTML(); } + else if (!name || !cgiGetVariable("PRINTER_LOCATION")) + { + cgiStartHTML(title); + + if (modify) + { + /* + * Update the location and description of an existing printer... + */ + + if (oldinfo) + cgiSetIPPVars(oldinfo, NULL, NULL, NULL, 0); + + cgiCopyTemplateLang("modify-printer.tmpl"); + } + else + { + /* + * Get the name, location, and description for a new printer... + */ + + cgiCopyTemplateLang("add-printer.tmpl"); + } + + cgiEndHTML(); + + if (oldinfo) + ippDelete(oldinfo); + + return; + } else if (!file && (var = cgiGetVariable("PPD_NAME")) == NULL) { if (modify) @@ -959,39 +1024,6 @@ do_am_printer(http_t *http, /* I - HTTP connection */ strerror(errno)); } } - else if ((uriptr = strrchr(cgiGetVariable("DEVICE_URI"), '|')) != NULL) - { - /* - * Extract make and make/model from device URI string... - */ - - char make[1024], /* Make string */ - *makeptr; /* Pointer into make */ - - - *uriptr++ = '\0'; - - strlcpy(make, uriptr, sizeof(make)); - - if ((makeptr = strchr(make, ' ')) != NULL) - *makeptr = '\0'; - else if ((makeptr = strchr(make, '-')) != NULL) - *makeptr = '\0'; - else if (!strncasecmp(make, "laserjet", 8) || - !strncasecmp(make, "deskjet", 7) || - !strncasecmp(make, "designjet", 9)) - strcpy(make, "HP"); - else if (!strncasecmp(make, "phaser", 6)) - strcpy(make, "Xerox"); - else if (!strncasecmp(make, "stylus", 6)) - strcpy(make, "Epson"); - else - strcpy(make, "Generic"); - - cgiSetVariable("CURRENT_MAKE", make); - cgiSetVariable("PPD_MAKE", make); - cgiSetVariable("CURRENT_MAKE_AND_MODEL", uriptr); - } /* * Build a CUPS_GET_PPDS request, which requires the following @@ -1007,7 +1039,9 @@ do_am_printer(http_t *http, /* I - HTTP connection */ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, "ipp://localhost/printers/"); - if ((var = cgiGetVariable("PPD_MAKE")) != NULL) + if ((var = cgiGetVariable("CURRENT_MAKE")) == NULL) + var = cgiGetVariable("PPD_MAKE"); + if (var) ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_TEXT, "ppd-make", NULL, var); else @@ -1047,7 +1081,7 @@ do_am_printer(http_t *http, /* I - HTTP connection */ cgiCopyTemplateLang("choose-make.tmpl"); cgiEndHTML(); } - else if (!var) + else if (!var || cgiGetVariable("SELECT_MAKE")) { cgiStartHTML(title); cgiCopyTemplateLang("choose-make.tmpl"); @@ -1201,10 +1235,10 @@ do_am_printer(http_t *http, /* I - HTTP connection */ cgiShowIPPError(modify ? _("Unable to modify printer:") : _("Unable to add printer:")); } - else + else if (modify) { /* - * Redirect successful updates back to the printer or set-options pages... + * Redirect successful updates back to the printer page... */ char refresh[1024]; /* Refresh URL */ @@ -1212,21 +1246,24 @@ do_am_printer(http_t *http, /* I - HTTP connection */ cgiFormEncode(uri, name, sizeof(uri)); - if (modify) - snprintf(refresh, sizeof(refresh), - "5;/admin/?OP=redirect&URL=/printers/%s", uri); - else - snprintf(refresh, sizeof(refresh), - "5;URL=/admin/?OP=set-printer-options&PRINTER_NAME=%s", uri); + snprintf(refresh, sizeof(refresh), + "5;/admin/?OP=redirect&URL=/printers/%s", uri); cgiSetVariable("refresh_page", refresh); cgiStartHTML(title); - if (modify) - cgiCopyTemplateLang("printer-modified.tmpl"); - else - cgiCopyTemplateLang("printer-added.tmpl"); + cgiCopyTemplateLang("printer-modified.tmpl"); + } + else + { + /* + * Set the printer options... + */ + + cgiSetVariable("OP", "set-printer-options"); + do_set_options(http, 0); + return; } cgiEndHTML(); @@ -1319,7 +1356,7 @@ do_cancel_subscription(http_t *http)/* I - HTTP connection */ static void do_config_server(http_t *http) /* I - HTTP connection */ { - if (cgiIsPOST() && !cgiGetVariable("CUPSDCONF")) + if (cgiGetVariable("CHANGESETTINGS")) { /* * Save basic setting changes... @@ -1454,7 +1491,7 @@ do_config_server(http_t *http) /* I - HTTP connection */ cgiEndHTML(); } - else if (cgiIsPOST()) + else if (cgiGetVariable("SAVECHANGES") && cgiGetVariable("CUPSDCONF")) { /* * Save hand-edited config file... @@ -2132,8 +2169,8 @@ do_list_printers(http_t *http) /* I - HTTP connection */ * Not found, so it must be a new printer... */ - char options[1024], /* Form variables for this device */ - *options_ptr; /* Pointer into string */ + char option[1024], /* Form variables for this device */ + *option_ptr; /* Pointer into string */ const char *ptr; /* Pointer into device string */ @@ -2145,9 +2182,6 @@ do_list_printers(http_t *http) /* I - HTTP connection */ * suitable name. */ - strcpy(options, "TEMPLATE_NAME="); - options_ptr = options + strlen(options); - if (strncasecmp(device_info, "unknown", 7)) ptr = device_info; else if ((ptr = strstr(device_uri, "://")) != NULL) @@ -2155,49 +2189,20 @@ do_list_printers(http_t *http) /* I - HTTP connection */ else ptr = device_make_and_model; - for (; - options_ptr < (options + sizeof(options) - 1) && *ptr; + for (option_ptr = option; + option_ptr < (option + sizeof(option) - 1) && *ptr; ptr ++) if (isalnum(*ptr & 255) || *ptr == '_' || *ptr == '-' || *ptr == '.') - *options_ptr++ = *ptr; - else if ((*ptr == ' ' || *ptr == '/') && options_ptr[-1] != '_') - *options_ptr++ = '_'; + *option_ptr++ = *ptr; + else if ((*ptr == ' ' || *ptr == '/') && option_ptr[-1] != '_') + *option_ptr++ = '_'; else if (*ptr == '?' || *ptr == '(') break; - /* - * Then add the make and model in the printer info, so - * that MacOS clients see something reasonable... - */ - - strlcpy(options_ptr, "&PRINTER_LOCATION=Local+Printer" - "&PRINTER_INFO=", - sizeof(options) - (options_ptr - options)); - options_ptr += strlen(options_ptr); + *option_ptr = '\0'; - cgiFormEncode(options_ptr, device_make_and_model, - sizeof(options) - (options_ptr - options)); - options_ptr += strlen(options_ptr); - - /* - * Then copy the device URI... - */ - - strlcpy(options_ptr, "&DEVICE_URI=", - sizeof(options) - (options_ptr - options)); - options_ptr += strlen(options_ptr); - - cgiFormEncode(options_ptr, device_uri, - sizeof(options) - (options_ptr - options)); - options_ptr += strlen(options_ptr); - - if (options_ptr < (options + sizeof(options) - 1)) - { - *options_ptr++ = '|'; - cgiFormEncode(options_ptr, device_make_and_model, - sizeof(options) - (options_ptr - options)); - } + cgiSetArray("TEMPLATE_NAME", i, option); /* * Finally, set the form variables for this printer... @@ -2205,7 +2210,6 @@ do_list_printers(http_t *http) /* I - HTTP connection */ cgiSetArray("device_info", i, device_info); cgiSetArray("device_make_and_model", i, device_make_and_model); - cgiSetArray("device_options", i, options); cgiSetArray("device_uri", i, device_uri); i ++; } @@ -3412,5 +3416,5 @@ match_string(const char *a, /* I - First string */ /* - * End of "$Id: admin.c 6733 2007-07-26 18:09:46Z mike $". + * End of "$Id: admin.c 7012 2007-10-10 21:22:45Z mike $". */ diff --git a/cgi-bin/classes.c b/cgi-bin/classes.c index 51c07337f9..dbf561c385 100644 --- a/cgi-bin/classes.c +++ b/cgi-bin/classes.c @@ -1,5 +1,5 @@ /* - * "$Id: classes.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: classes.c 6889 2007-08-29 22:23:35Z mike $" * * Class status CGI for the Common UNIX Printing System (CUPS). * @@ -98,7 +98,7 @@ main(int argc, /* I - Number of command-line arguments */ * Get the default printer... */ - if (!op) + if (!op || !cgiIsPOST()) { /* * Get the default destination... @@ -189,9 +189,7 @@ show_all_classes(http_t *http, /* I - Connection to server */ count; /* Number of classes */ const char *var; /* Form variable */ void *search; /* Search data */ - char url[1024], /* URL for prev/next/this */ - *urlptr, /* Position in URL */ - *urlend; /* End of URL */ + char val[1024]; /* Form variable */ /* @@ -227,7 +225,8 @@ show_all_classes(http_t *http, /* I - Connection to server */ * Get a list of matching job objects. */ - if ((var = cgiGetVariable("QUERY")) != NULL) + if ((var = cgiGetVariable("QUERY")) != NULL && + !cgiGetVariable("CLEAR")) search = cgiCompileSearch(var); else search = NULL; @@ -255,8 +254,8 @@ show_all_classes(http_t *http, /* I - Connection to server */ if (first < 0) first = 0; - sprintf(url, "%d", count); - cgiSetVariable("TOTAL", url); + sprintf(val, "%d", count); + cgiSetVariable("TOTAL", val); if ((var = cgiGetVariable("ORDER")) != NULL) ascending = !strcasecmp(var, "asc"); @@ -282,40 +281,18 @@ show_all_classes(http_t *http, /* I - Connection to server */ * Save navigation URLs... */ - urlend = url + sizeof(url); - - if ((var = cgiGetVariable("QUERY")) != NULL) - { - strlcpy(url, "/classes/?QUERY=", sizeof(url)); - urlptr = url + strlen(url); - - cgiFormEncode(urlptr, var, urlend - urlptr); - urlptr += strlen(urlptr); - - strlcpy(urlptr, "&", urlend - urlptr); - urlptr += strlen(urlptr); - } - else - { - strlcpy(url, "/classes/?", sizeof(url)); - urlptr = url + strlen(url); - } - - snprintf(urlptr, urlend - urlptr, "FIRST=%d", first); - cgiSetVariable("THISURL", url); + cgiSetVariable("THISURL", "/classes/"); if (first > 0) { - snprintf(urlptr, urlend - urlptr, "FIRST=%d&ORDER=%s", - first - CUPS_PAGE_MAX, ascending ? "asc" : "dec"); - cgiSetVariable("PREVURL", url); + sprintf(val, "%d", first - CUPS_PAGE_MAX); + cgiSetVariable("PREV", val); } if ((first + CUPS_PAGE_MAX) < count) { - snprintf(urlptr, urlend - urlptr, "FIRST=%d&ORDER=%s", - first + CUPS_PAGE_MAX, ascending ? "asc" : "dec"); - cgiSetVariable("NEXTURL", url); + sprintf(val, "%d", first + CUPS_PAGE_MAX); + cgiSetVariable("NEXT", val); } /* @@ -454,5 +431,5 @@ show_class(http_t *http, /* I - Connection to server */ /* - * End of "$Id: classes.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: classes.c 6889 2007-08-29 22:23:35Z mike $". */ diff --git a/cgi-bin/help.c b/cgi-bin/help.c index 38fcec918c..823f88f125 100644 --- a/cgi-bin/help.c +++ b/cgi-bin/help.c @@ -1,7 +1,7 @@ /* * "$Id$" * - * On-line help CGI for the Common UNIX Printing System (CUPS). + * Online help CGI for the Common UNIX Printing System (CUPS). * * Copyright 2007 by Apple Inc. * Copyright 1997-2006 by Easy Software Products. @@ -86,7 +86,7 @@ main(int argc, /* I - Number of command-line arguments */ { perror(filename); - cgiStartHTML(cgiText(_("Help"))); + cgiStartHTML(cgiText(_("Online Help"))); cgiSetVariable("ERROR", "Unable to load help index!"); cgiCopyTemplateLang("error.tmpl"); cgiEndHTML(); @@ -127,7 +127,7 @@ main(int argc, /* I - Number of command-line arguments */ { perror(filename); - cgiStartHTML(cgiText(_("Help"))); + cgiStartHTML(cgiText(_("Online Help"))); cgiSetVariable("ERROR", "Unable to access help file!"); cgiCopyTemplateLang("error.tmpl"); cgiEndHTML(); @@ -137,7 +137,7 @@ main(int argc, /* I - Number of command-line arguments */ if ((n = helpFindNode(hi, helpfile, NULL)) == NULL) { - cgiStartHTML(cgiText(_("Help"))); + cgiStartHTML(cgiText(_("Online Help"))); cgiSetVariable("ERROR", "Help file not in index!"); cgiCopyTemplateLang("error.tmpl"); cgiEndHTML(); @@ -168,13 +168,16 @@ main(int argc, /* I - Number of command-line arguments */ * Send a standard page header... */ - cgiStartHTML(cgiText(_("Help"))); + cgiStartHTML(cgiText(_("Online Help"))); } /* * Do a search as needed... */ + if (cgiGetVariable("CLEAR")) + cgiSetVariable("QUERY", ""); + query = cgiGetVariable("QUERY"); topic = cgiGetVariable("TOPIC"); si = helpSearchIndex(hi, query, topic, helpfile); diff --git a/cgi-bin/ipp-var.c b/cgi-bin/ipp-var.c index a2f18de579..e7a26034d9 100644 --- a/cgi-bin/ipp-var.c +++ b/cgi-bin/ipp-var.c @@ -1,5 +1,5 @@ /* - * "$Id: ipp-var.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: ipp-var.c 6889 2007-08-29 22:23:35Z mike $" * * CGI <-> IPP variable routines for the Common UNIX Printing System (CUPS). * @@ -980,7 +980,7 @@ cgiSetIPPObjectVars( for (i = 0; i < attr->num_values; i ++) { if (i) - strlcat(valptr, ",", sizeof(value) - (valptr - value)); + strlcat(valptr, ", ", sizeof(value) - (valptr - value)); valptr += strlen(valptr); @@ -1207,9 +1207,8 @@ cgiShowJobs(http_t *http, /* I - Connection to server */ count; /* Number of jobs */ const char *var; /* Form variable */ void *search; /* Search data */ - char url[1024], /* URL for prev/next/this */ - *urlptr, /* Position in URL */ - *urlend; /* End of URL */ + char url[1024], /* Printer URI */ + val[1024]; /* Form variable */ /* @@ -1250,7 +1249,8 @@ cgiShowJobs(http_t *http, /* I - Connection to server */ * Get a list of matching job objects. */ - if ((var = cgiGetVariable("QUERY")) != NULL) + if ((var = cgiGetVariable("QUERY")) != NULL && + !cgiGetVariable("CLEAR")) search = cgiCompileSearch(var); else search = NULL; @@ -1278,8 +1278,8 @@ cgiShowJobs(http_t *http, /* I - Connection to server */ if (first < 0) first = 0; - sprintf(url, "%d", count); - cgiSetVariable("TOTAL", url); + sprintf(val, "%d", count); + cgiSetVariable("TOTAL", val); if ((var = cgiGetVariable("ORDER")) != NULL) ascending = !strcasecmp(var, "asc"); @@ -1308,61 +1308,23 @@ cgiShowJobs(http_t *http, /* I - Connection to server */ * Save navigation URLs... */ - urlend = url + sizeof(url); - - if ((var = cgiGetVariable("QUERY")) != NULL) - { - if (dest) - snprintf(url, sizeof(url), "/%s/%s?QUERY=", cgiGetVariable("SECTION"), - dest); - else - strlcpy(url, "/jobs/?QUERY=", sizeof(url)); - - urlptr = url + strlen(url); - - cgiFormEncode(urlptr, var, urlend - urlptr); - urlptr += strlen(urlptr); - - strlcpy(urlptr, "&", urlend - urlptr); - urlptr += strlen(urlptr); - } + if (dest) + snprintf(val, sizeof(val), "/%s/%s", cgiGetVariable("SECTION"), dest); else - { - if (dest) - snprintf(url, sizeof(url), "/%s/%s?", cgiGetVariable("SECTION"), dest); - else - strlcpy(url, "/jobs/?", sizeof(url)); - - urlptr = url + strlen(url); - } - - if (which_jobs) - { - strlcpy(urlptr, "WHICH_JOBS=", urlend - urlptr); - urlptr += strlen(urlptr); - - cgiFormEncode(urlptr, which_jobs, urlend - urlptr); - urlptr += strlen(urlptr); - - strlcpy(urlptr, "&", urlend - urlptr); - urlptr += strlen(urlptr); - } + strlcpy(val, "/jobs/", sizeof(val)); - snprintf(urlptr, urlend - urlptr, "FIRST=%d", first); - cgiSetVariable("THISURL", url); + cgiSetVariable("THISURL", val); if (first > 0) { - snprintf(urlptr, urlend - urlptr, "FIRST=%d&ORDER=%s", - first - CUPS_PAGE_MAX, ascending ? "asc" : "dec"); - cgiSetVariable("PREVURL", url); + sprintf(val, "%d", first - CUPS_PAGE_MAX); + cgiSetVariable("PREV", val); } if ((first + CUPS_PAGE_MAX) < count) { - snprintf(urlptr, urlend - urlptr, "FIRST=%d&ORDER=%s", - first + CUPS_PAGE_MAX, ascending ? "asc" : "dec"); - cgiSetVariable("NEXTURL", url); + sprintf(val, "%d", first + CUPS_PAGE_MAX); + cgiSetVariable("NEXT", val); } /* @@ -1409,5 +1371,5 @@ cgiText(const char *message) /* I - Message */ /* - * End of "$Id: ipp-var.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: ipp-var.c 6889 2007-08-29 22:23:35Z mike $". */ diff --git a/cgi-bin/jobs.c b/cgi-bin/jobs.c index da4f1357cd..20a5417270 100644 --- a/cgi-bin/jobs.c +++ b/cgi-bin/jobs.c @@ -1,5 +1,5 @@ /* - * "$Id: jobs.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: jobs.c 6889 2007-08-29 22:23:35Z mike $" * * Job status CGI for the Common UNIX Printing System (CUPS). * @@ -77,7 +77,7 @@ main(int argc, /* I - Number of command-line arguments */ * Do the operation... */ - if ((op = cgiGetVariable("OP")) != NULL && job_id > 0) + if ((op = cgiGetVariable("OP")) != NULL && job_id > 0 && cgiIsPOST()) { /* * Do the operation... @@ -204,5 +204,5 @@ do_job_op(http_t *http, /* I - HTTP connection */ /* - * End of "$Id: jobs.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: jobs.c 6889 2007-08-29 22:23:35Z mike $". */ diff --git a/cgi-bin/printers.c b/cgi-bin/printers.c index 068547cb4f..82e19a16ff 100644 --- a/cgi-bin/printers.c +++ b/cgi-bin/printers.c @@ -1,5 +1,5 @@ /* - * "$Id: printers.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: printers.c 6889 2007-08-29 22:23:35Z mike $" * * Printer status CGI for the Common UNIX Printing System (CUPS). * @@ -101,7 +101,7 @@ main(int argc, /* I - Number of command-line arguments */ * Get the default printer... */ - if (!op) + if (!op || !cgiIsPOST()) { /* * Get the default destination... @@ -315,9 +315,7 @@ show_all_printers(http_t *http, /* I - Connection to server */ count; /* Number of printers */ const char *var; /* Form variable */ void *search; /* Search data */ - char url[1024], /* URL for prev/next/this */ - *urlptr, /* Position in URL */ - *urlend; /* End of URL */ + char val[1024]; /* Form variable */ fprintf(stderr, "DEBUG: show_all_printers(http=%p, user=\"%s\")\n", @@ -363,7 +361,8 @@ show_all_printers(http_t *http, /* I - Connection to server */ * Get a list of matching job objects. */ - if ((var = cgiGetVariable("QUERY")) != NULL) + if ((var = cgiGetVariable("QUERY")) != NULL && + !cgiGetVariable("CLEAR")) search = cgiCompileSearch(var); else search = NULL; @@ -391,8 +390,8 @@ show_all_printers(http_t *http, /* I - Connection to server */ if (first < 0) first = 0; - sprintf(url, "%d", count); - cgiSetVariable("TOTAL", url); + sprintf(val, "%d", count); + cgiSetVariable("TOTAL", val); if ((var = cgiGetVariable("ORDER")) != NULL) ascending = !strcasecmp(var, "asc"); @@ -446,40 +445,18 @@ show_all_printers(http_t *http, /* I - Connection to server */ * Save navigation URLs... */ - urlend = url + sizeof(url); - - if ((var = cgiGetVariable("QUERY")) != NULL) - { - strlcpy(url, "/printers/?QUERY=", sizeof(url)); - urlptr = url + strlen(url); - - cgiFormEncode(urlptr, var, urlend - urlptr); - urlptr += strlen(urlptr); - - strlcpy(urlptr, "&", urlend - urlptr); - urlptr += strlen(urlptr); - } - else - { - strlcpy(url, "/printers/?", sizeof(url)); - urlptr = url + strlen(url); - } - - snprintf(urlptr, urlend - urlptr, "FIRST=%d", first); - cgiSetVariable("THISURL", url); + cgiSetVariable("THISURL", "/printers/"); if (first > 0) { - snprintf(urlptr, urlend - urlptr, "FIRST=%d&ORDER=%s", - first - CUPS_PAGE_MAX, ascending ? "asc" : "dec"); - cgiSetVariable("PREVURL", url); + sprintf(val, "%d", first - CUPS_PAGE_MAX); + cgiSetVariable("PREV", val); } if ((first + CUPS_PAGE_MAX) < count) { - snprintf(urlptr, urlend - urlptr, "FIRST=%d&ORDER=%s", - first + CUPS_PAGE_MAX, ascending ? "asc" : "dec"); - cgiSetVariable("NEXTURL", url); + sprintf(val, "%d", first + CUPS_PAGE_MAX); + cgiSetVariable("NEXT", val); } /* @@ -629,5 +606,5 @@ show_printer(http_t *http, /* I - Connection to server */ /* - * End of "$Id: printers.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: printers.c 6889 2007-08-29 22:23:35Z mike $". */ diff --git a/cgi-bin/template.c b/cgi-bin/template.c index 021de82f53..0d301e11ae 100644 --- a/cgi-bin/template.c +++ b/cgi-bin/template.c @@ -1,5 +1,5 @@ /* - * "$Id: template.c 6799 2007-08-15 19:33:36Z mike $" + * "$Id: template.c 6986 2007-09-25 15:34:52Z mike $" * * CGI template function. * @@ -26,6 +26,7 @@ #include "cgi-private.h" #include +#include /* @@ -229,6 +230,7 @@ cgi_copy(FILE *out, /* I - Output file */ compare[1024]; /* Comparison string */ int result; /* Result of comparison */ int uriencode; /* Encode as URI */ + regex_t re; /* Regular expression to match */ fprintf(stderr, "DEBUG2: %*sStarting at file position %ld...\n", indent, "", @@ -250,7 +252,7 @@ cgi_copy(FILE *out, /* I - Output file */ uriencode = 0; for (s = name; (ch = getc(in)) != EOF;) - if (strchr("}]<>=! \t\n", ch)) + if (strchr("}]<>=!~ \t\n", ch)) break; else if (s == name && ch == '%') uriencode = 1; @@ -417,6 +419,7 @@ cgi_copy(FILE *out, /* I - Output file */ * {namevalue?true:false} Greater than * {name!value?true:false} Not equal + * {name~refex?true:false} Regex match */ op = ch; @@ -516,6 +519,39 @@ cgi_copy(FILE *out, /* I - Output file */ case '!' : result = strcasecmp(outptr, compare) != 0; break; + case '~' : + fprintf(stderr, "DEBUG: Regular expression \"%s\"\n", compare); + + if (regcomp(&re, compare, REG_EXTENDED | REG_ICASE)) + { + fprintf(stderr, + "ERROR: Unable to compile regular expresion \"%s\"!\n", + compare); + result = 0; + } + else + { + regmatch_t matches[10]; + + result = 0; + + if (!regexec(&re, outptr, 10, matches, 0)) + { + int i; + for (i = 0; i < 10; i ++) + { + fprintf(stderr, "DEBUG: matches[%d].rm_so=%d\n", i, + (int)matches[i].rm_so); + if (matches[i].rm_so < 0) + break; + + result ++; + } + } + + regfree(&re); + } + break; default : result = 1; break; @@ -663,5 +699,5 @@ cgi_puturi(const char *s, /* I - String to output */ /* - * End of "$Id: template.c 6799 2007-08-15 19:33:36Z mike $". + * End of "$Id: template.c 6986 2007-09-25 15:34:52Z mike $". */ diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4 index 2c76b569a2..5e98a39330 100644 --- a/config-scripts/cups-common.m4 +++ b/config-scripts/cups-common.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-common.m4 6981 2007-09-19 21:51:55Z mike $" +dnl "$Id: cups-common.m4 6964 2007-09-17 21:33:57Z mike $" dnl dnl Common configuration stuff for the Common UNIX Printing System (CUPS). dnl @@ -20,11 +20,11 @@ dnl Set the name of the config header file... AC_CONFIG_HEADER(config.h) dnl Versio number information... -CUPS_VERSION="1.3.3" +CUPS_VERSION="1.4svn" CUPS_REVISION="" -#if test -z "$CUPS_REVISION" -a -d .svn; then -# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`" -#fi +if test -z "$CUPS_REVISION" -a -d .svn; then + CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`" +fi AC_SUBST(CUPS_VERSION) AC_SUBST(CUPS_REVISION) @@ -287,5 +287,5 @@ AC_SUBST(DEFAULT_IPP_PORT) AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT) dnl -dnl End of "$Id: cups-common.m4 6981 2007-09-19 21:51:55Z mike $". +dnl End of "$Id: cups-common.m4 6964 2007-09-17 21:33:57Z mike $". dnl diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4 index beec9d6173..5bfcd6a876 100644 --- a/config-scripts/cups-compiler.m4 +++ b/config-scripts/cups-compiler.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-compiler.m4 6976 2007-09-18 20:39:31Z mike $" +dnl "$Id: cups-compiler.m4 6975 2007-09-18 20:37:09Z mike $" dnl dnl Compiler stuff for the Common UNIX Printing System (CUPS). dnl @@ -498,5 +498,5 @@ case $uname in esac dnl -dnl End of "$Id: cups-compiler.m4 6976 2007-09-18 20:39:31Z mike $". +dnl End of "$Id: cups-compiler.m4 6975 2007-09-18 20:37:09Z mike $". dnl diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4 index 86e1d55622..4105ba17f2 100644 --- a/config-scripts/cups-directories.m4 +++ b/config-scripts/cups-directories.m4 @@ -1,5 +1,5 @@ dnl -dnl "$Id: cups-directories.m4 6976 2007-09-18 20:39:31Z mike $" +dnl "$Id: cups-directories.m4 6975 2007-09-18 20:37:09Z mike $" dnl dnl Directory stuff for the Common UNIX Printing System (CUPS). dnl @@ -163,7 +163,7 @@ if test x$rcdir = x; then RCSTOP="25" ;; - Linux | GNU) + Linux | GNU | GNU/k*BSD*) # Linux/HURD seems to choose an init.d directory at random... if test -d /sbin/init.d; then # SuSE @@ -229,6 +229,47 @@ fi AC_SUBST(XINETD) +dnl LPD sharing support... +AC_ARG_WITH(lpdconfig, [ --with-lpdconfig set URI for LPD config file], + LPDCONFIG="$withval", LPDCONFIG="") + +if test "x$LPDCONFIG" = x; then + if test -f /System/Library/LaunchDaemons/org.cups.cups-lpd.plist; then + LPDCONFIG="launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist" + elif test "x$XINETD" != x; then + LPDCONFIG="xinetd://$XINETD/cups-lpd" + fi +fi + +if test "x$LPDCONFIG" = xoff; then + AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LPD_CONFIG, "") +else + AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LPD_CONFIG, "$LPDCONFIG") +fi + +dnl SMB sharing support... +AC_ARG_WITH(smbconfig, [ --with-smbconfig set URI for Samba config file], + SMBCONFIG="$withval", SMBCONFIG="") + +if test "x$SMBCONFIG" = x; then + if test -f /System/Library/LaunchDaemons/smbd.plist; then + SMBCONFIG="launchd:///System/Library/LaunchDaemons/smbd.plist" + else + for dir in /etc /etc/samba /usr/local/etc; do + if test -f $dir/smb.conf; then + SMBCONFIG="samba://$dir/smb.conf" + break + fi + done + fi +fi + +if test "x$SMBCONFIG" = xoff; then + AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SMB_CONFIG, "") +else + AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SMB_CONFIG, "$SMBCONFIG") +fi + dnl Setup default locations... # Cache data... AC_ARG_WITH(cachedir, [ --with-cachedir set path for cache files],cachedir="$withval",cachedir="") @@ -297,12 +338,11 @@ fi AC_SUBST(CUPS_FONTPATH) AC_DEFINE_UNQUOTED(CUPS_FONTPATH, "$CUPS_FONTPATH") -# Locale data (initial assignment allows us not to require autoconf 2.60) -localedir="${localedir:=}" -if test "$localedir" = "\${datarootdir}/locale" -o "$localedir" = ""; then +# Locale data +if test "$localedir" = "\${datarootdir}/locale"; then case "$uname" in Linux | GNU | *BSD* | Darwin*) - CUPS_LOCALEDIR="$datadir/locale" + CUPS_LOCALEDIR="$datarootdir/locale" ;; OSF1* | AIX*) @@ -367,5 +407,5 @@ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$localstatedir/run/cups") AC_SUBST(CUPS_STATEDIR) dnl -dnl End of "$Id: cups-directories.m4 6976 2007-09-18 20:39:31Z mike $". +dnl End of "$Id: cups-directories.m4 6975 2007-09-18 20:37:09Z mike $". dnl diff --git a/config.h.in b/config.h.in index 4c4a217141..2d1c5cdb39 100644 --- a/config.h.in +++ b/config.h.in @@ -1,5 +1,5 @@ /* - * "$Id: config.h.in 6878 2007-08-29 17:22:26Z mike $" + * "$Id: config.h.in 6930 2007-09-08 00:28:06Z mike $" * * Configuration file for the Common UNIX Printing System (CUPS). * @@ -69,6 +69,14 @@ #define CUPS_DEFAULT_PRINTCAP "/etc/printcap" +/* + * Default Samba and LPD config files... + */ + +#define CUPS_DEFAULT_SMB_CONFIG_FILE "" +#define CUPS_DEFAULT_LPD_CONFIG_FILE "" + + /* * Default MaxCopies value... */ @@ -547,5 +555,5 @@ #endif /* !_CUPS_CONFIG_H_ */ /* - * End of "$Id: config.h.in 6878 2007-08-29 17:22:26Z mike $". + * End of "$Id: config.h.in 6930 2007-09-08 00:28:06Z mike $". */ diff --git a/cups/adminutil.c b/cups/adminutil.c index a20643e117..f4a492ee79 100644 --- a/cups/adminutil.c +++ b/cups/adminutil.c @@ -1,5 +1,5 @@ /* - * "$Id: adminutil.c 6741 2007-07-27 19:26:53Z mike $" + * "$Id: adminutil.c 6930 2007-09-08 00:28:06Z mike $" * * Administration utility API definitions for the Common UNIX Printing * System (CUPS). @@ -1458,6 +1458,8 @@ _cupsAdminSetServerSettings( !strcasecmp(line, "BrowseAddress") || !strcasecmp(line, "BrowseAllow") || !strcasecmp(line, "BrowseDeny") || + !strcasecmp(line, "BrowseLocalProtocols") || + !strcasecmp(line, "BrowseRemoteProtocols") || !strcasecmp(line, "BrowseOrder")) && (remote_printers >= 0 || share_printers >= 0)) { @@ -1474,6 +1476,11 @@ _cupsAdminSetServerSettings( if (new_remote_printers || new_share_printers) { + const char *localp = cupsGetOption("BrowseLocalProtocols", + num_settings, settings); + const char *remotep = cupsGetOption("BrowseRemoteProtocols", + num_settings, settings); + if (new_remote_printers && new_share_printers) cupsFilePuts(temp, "# Enable printer sharing and shared printers.\n"); @@ -1488,10 +1495,30 @@ _cupsAdminSetServerSettings( cupsFilePuts(temp, "BrowseOrder allow,deny\n"); if (new_remote_printers) + { cupsFilePuts(temp, "BrowseAllow all\n"); + if (!remotep || !*remotep) + cupsFilePuts(temp, "BrowseRemoteProtocols " + CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS "\n"); + else if (remotep) + cupsFilePrintf(temp, "BrowseRemoteProtocols %s\n", remotep); + } + else + cupsFilePuts(temp, "BrowseRemoteProtocols\n"); + if (new_share_printers) + { cupsFilePuts(temp, "BrowseAddress @LOCAL\n"); + + if (!localp || !*localp) + cupsFilePuts(temp, "BrowseLocalProtocols " + CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS "\n"); + else if (localp) + cupsFilePrintf(temp, "BrowseLocalProtocols %s\n", localp); + } + else + cupsFilePuts(temp, "BrowseLocalProtocols\n"); } else { @@ -2346,5 +2373,5 @@ write_option(cups_file_t *dstfp, /* I - PPD file */ /* - * End of "$Id: adminutil.c 6741 2007-07-27 19:26:53Z mike $". + * End of "$Id: adminutil.c 6930 2007-09-08 00:28:06Z mike $". */ diff --git a/cups/cups.h b/cups/cups.h index 3890ae1998..25807ab0ac 100644 --- a/cups/cups.h +++ b/cups/cups.h @@ -1,5 +1,5 @@ /* - * "$Id: cups.h 6981 2007-09-19 21:51:55Z mike $" + * "$Id: cups.h 6870 2007-08-27 21:13:35Z mike $" * * API definitions for the Common UNIX Printing System (CUPS). * @@ -59,10 +59,10 @@ extern "C" { * Constants... */ -# define CUPS_VERSION 1.0303 +# define CUPS_VERSION 1.0400 # define CUPS_VERSION_MAJOR 1 -# define CUPS_VERSION_MINOR 3 -# define CUPS_VERSION_PATCH 3 +# define CUPS_VERSION_MINOR 4 +# define CUPS_VERSION_PATCH 0 # define CUPS_DATE_ANY -1 @@ -248,6 +248,10 @@ extern void cupsSetDefaultDest(const char *name, int num_dests, cups_dest_t *dests); +/**** New in CUPS 1.4 ****/ +extern http_status_t cupsGetPPD3(http_t *http, const char *name, + time_t *modtime, char *buffer, + size_t bufsize); # ifdef __cplusplus } @@ -256,5 +260,5 @@ extern void cupsSetDefaultDest(const char *name, #endif /* !_CUPS_CUPS_H_ */ /* - * End of "$Id: cups.h 6981 2007-09-19 21:51:55Z mike $". + * End of "$Id: cups.h 6870 2007-08-27 21:13:35Z mike $". */ diff --git a/cups/dest.c b/cups/dest.c index afc4ea0c42..245f81dda7 100644 --- a/cups/dest.c +++ b/cups/dest.c @@ -1,5 +1,5 @@ /* - * "$Id: dest.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: dest.c 6943 2007-09-10 23:00:33Z mike $" * * User-defined destination (and option) support for the Common UNIX * Printing System (CUPS). @@ -127,7 +127,7 @@ cupsAddDest(const char *name, /* I - Destination name */ * Initialize the destination... */ - dest->name = strdup(name); + dest->name = _cupsStrAlloc(name); dest->is_default = 0; dest->num_options = 0; dest->options = (cups_option_t *)0; @@ -140,7 +140,7 @@ cupsAddDest(const char *name, /* I - Destination name */ * Copy options from the primary instance... */ - dest->instance = strdup(instance); + dest->instance = _cupsStrAlloc(instance); if ((parent = cupsGetDest(name, NULL, num_dests + 1, *dests)) != NULL) { @@ -174,10 +174,8 @@ cupsFreeDests(int num_dests, /* I - Number of destinations */ for (i = num_dests, dest = dests; i > 0; i --, dest ++) { - free(dest->name); - - if (dest->instance) - free(dest->instance); + _cupsStrFree(dest->name); + _cupsStrFree(dest->instance); cupsFreeOptions(dest->num_options, dest->options); } @@ -483,6 +481,8 @@ cupsRemoveDest(const char *name, /* I - Destination name */ * Free memory... */ + _cupsStrFree(dest->name); + _cupsStrFree(dest->instance); cupsFreeOptions(dest->num_options, dest->options); /* @@ -1293,5 +1293,5 @@ cups_get_sdests(http_t *http, /* I - HTTP connection */ /* - * End of "$Id: dest.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: dest.c 6943 2007-09-10 23:00:33Z mike $". */ diff --git a/cups/file.c b/cups/file.c index eaebda5c70..e7c7b0b15a 100644 --- a/cups/file.c +++ b/cups/file.c @@ -1,5 +1,5 @@ /* - * "$Id: file.c 6963 2007-09-17 20:35:54Z mike $" + * "$Id: file.c 6962 2007-09-17 20:35:47Z mike $" * * File functions for the Common UNIX Printing System (CUPS). * @@ -2136,5 +2136,5 @@ cups_write(cups_file_t *fp, /* I - CUPS file */ /* - * End of "$Id: file.c 6963 2007-09-17 20:35:54Z mike $". + * End of "$Id: file.c 6962 2007-09-17 20:35:47Z mike $". */ diff --git a/cups/http-addr.c b/cups/http-addr.c index 58504ca1df..bde526ffe8 100644 --- a/cups/http-addr.c +++ b/cups/http-addr.c @@ -1,5 +1,5 @@ /* - * "$Id: http-addr.c 6816 2007-08-20 20:16:00Z mike $" + * "$Id: http-addr.c 6814 2007-08-20 20:09:25Z mike $" * * HTTP address routines for the Common UNIX Printing System (CUPS). * @@ -552,5 +552,5 @@ httpGetHostname(http_t *http, /* I - HTTP connection or NULL */ /* - * End of "$Id: http-addr.c 6816 2007-08-20 20:16:00Z mike $". + * End of "$Id: http-addr.c 6814 2007-08-20 20:09:25Z mike $". */ diff --git a/cups/http-private.h b/cups/http-private.h index c36eb8d011..30ed0a2ad6 100644 --- a/cups/http-private.h +++ b/cups/http-private.h @@ -1,5 +1,5 @@ /* - * "$Id: http-private.h 6934 2007-09-10 16:46:20Z mike $" + * "$Id: http-private.h 6933 2007-09-10 16:45:59Z mike $" * * Private HTTP definitions for the Common UNIX Printing System (CUPS). * @@ -266,5 +266,5 @@ extern void _cups_freeifaddrs(struct ifaddrs *addrs); #endif /* !_CUPS_HTTP_PRIVATE_H_ */ /* - * End of "$Id: http-private.h 6934 2007-09-10 16:46:20Z mike $". + * End of "$Id: http-private.h 6933 2007-09-10 16:45:59Z mike $". */ diff --git a/cups/ipp-support.c b/cups/ipp-support.c index e747602d8c..eaf4850023 100644 --- a/cups/ipp-support.c +++ b/cups/ipp-support.c @@ -1,5 +1,5 @@ /* - * "$Id: ipp-support.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: ipp-support.c 6879 2007-08-29 20:26:50Z mike $" * * Internet Printing Protocol support functions for the Common UNIX * Printing System (CUPS). @@ -150,6 +150,10 @@ static char * const ipp_std_ops[] = "CUPS-Move-Job", "CUPS-Authenticate-Job", "CUPS-Get-PPD" + }, + * const ipp_cups_ops2[] = + { + "CUPS-Get-Document" }; @@ -244,6 +248,8 @@ ippOpString(ipp_op_t op) /* I - Operation ID */ return ("windows-ext"); else if (op >= CUPS_GET_DEFAULT && op <= CUPS_GET_PPD) return (ipp_cups_ops[op - CUPS_GET_DEFAULT]); + else if (op == CUPS_GET_DOCUMENT) + return (ipp_cups_ops2[0]); /* * No, build an "unknown-xxxx" operation string... @@ -278,6 +284,10 @@ ippOpValue(const char *name) /* I - Textual name */ if (!strcasecmp(name, ipp_cups_ops[i])) return ((ipp_op_t)(i + 0x4001)); + for (i = 0; i < (sizeof(ipp_cups_ops2) / sizeof(ipp_cups_ops2[0])); i ++) + if (!strcasecmp(name, ipp_cups_ops2[i])) + return ((ipp_op_t)(i + 0x4027)); + if (!strcasecmp(name, "CUPS-Add-Class")) return (CUPS_ADD_MODIFY_CLASS); @@ -361,5 +371,5 @@ ippSetPort(int p) /* I - Port number to use */ /* - * End of "$Id: ipp-support.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: ipp-support.c 6879 2007-08-29 20:26:50Z mike $". */ diff --git a/cups/ipp.h b/cups/ipp.h index 1f6dd85ba9..804bc95669 100644 --- a/cups/ipp.h +++ b/cups/ipp.h @@ -1,5 +1,5 @@ /* - * "$Id: ipp.h 6649 2007-07-11 21:46:42Z mike $" + * "$Id: ipp.h 6879 2007-08-29 20:26:50Z mike $" * * Internet Printing Protocol definitions for the Common UNIX Printing * System (CUPS). @@ -246,7 +246,8 @@ typedef enum ipp_op_e /**** IPP operations... ****/ CUPS_GET_PPDS, /* Get a list of supported drivers */ CUPS_MOVE_JOB, /* Move a job to a different printer */ CUPS_AUTHENTICATE_JOB, /* Authenticate a job @since CUPS 1.2@ */ - CUPS_GET_PPD /* Get a PPD file @since CUPS 1.3@ */ + CUPS_GET_PPD, /* Get a PPD file @since CUPS 1.3@ */ + CUPS_GET_DOCUMENT = 0x4027 /* Get a document file @since CUPS 1.4@ */ } ipp_op_t; /* Old names for the operations */ @@ -492,5 +493,5 @@ extern ipp_state_t ippWriteIO(void *dst, ipp_iocb_t cb, int blocking, #endif /* !_CUPS_IPP_H_ */ /* - * End of "$Id: ipp.h 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: ipp.h 6879 2007-08-29 20:26:50Z mike $". */ diff --git a/cups/language.c b/cups/language.c index a615eecba0..c1af03a3d9 100644 --- a/cups/language.c +++ b/cups/language.c @@ -1,5 +1,5 @@ /* - * "$Id: language.c 6917 2007-09-05 21:14:17Z mike $" + * "$Id: language.c 6916 2007-09-05 21:14:08Z mike $" * * I18N/language support for the Common UNIX Printing System (CUPS). * @@ -1371,5 +1371,5 @@ cups_unquote(char *d, /* O - Unquoted string */ /* - * End of "$Id: language.c 6917 2007-09-05 21:14:17Z mike $". + * End of "$Id: language.c 6916 2007-09-05 21:14:08Z mike $". */ diff --git a/cups/libcups.exp b/cups/libcups.exp index 6d3e6e0c82..fdd5e775c8 100644 --- a/cups/libcups.exp +++ b/cups/libcups.exp @@ -116,6 +116,7 @@ _cupsGetOption _cupsGetPassword _cupsGetPPD _cupsGetPPD2 +_cupsGetPPD3 _cupsGetPrinters _cupsGetServerPPD _cupsLangDefault diff --git a/cups/localize.c b/cups/localize.c index 347b9d97e2..c03786ff35 100644 --- a/cups/localize.c +++ b/cups/localize.c @@ -1,5 +1,5 @@ /* - * "$Id: localize.c 6883 2007-08-29 21:05:17Z mike $" + * "$Id: localize.c 6882 2007-08-29 21:05:10Z mike $" * * PPD custom option routines for the Common UNIX Printing System (CUPS). * @@ -520,5 +520,5 @@ ppd_localized_attr(ppd_file_t *ppd, /* I - PPD file */ /* - * End of "$Id: localize.c 6883 2007-08-29 21:05:17Z mike $". + * End of "$Id: localize.c 6882 2007-08-29 21:05:10Z mike $". */ diff --git a/cups/mark.c b/cups/mark.c index 98720bf01a..689aefb0ff 100644 --- a/cups/mark.c +++ b/cups/mark.c @@ -1,5 +1,5 @@ /* - * "$Id: mark.c 6942 2007-09-10 22:55:00Z mike $" + * "$Id: mark.c 6939 2007-09-10 21:18:02Z mike $" * * Option marking routines for the Common UNIX Printing System (CUPS). * @@ -465,9 +465,9 @@ ppdMarkOption(ppd_file_t *ppd, /* I - PPD file record */ case PPD_CUSTOM_PASSWORD : case PPD_CUSTOM_STRING : if (cparam->current.custom_string) - free(cparam->current.custom_string); + _cupsStrFree(cparam->current.custom_string); - cparam->current.custom_string = strdup(choice + 7); + cparam->current.custom_string = _cupsStrAlloc(choice + 7); break; } } @@ -542,9 +542,9 @@ ppdMarkOption(ppd_file_t *ppd, /* I - PPD file record */ case PPD_CUSTOM_PASSWORD : case PPD_CUSTOM_STRING : if (cparam->current.custom_string) - free(cparam->current.custom_string); + _cupsStrFree(cparam->current.custom_string); - cparam->current.custom_string = strdup(val->value); + cparam->current.custom_string = _cupsStrAlloc(val->value); break; } } @@ -724,5 +724,5 @@ ppd_defaults(ppd_file_t *ppd, /* I - PPD file */ /* - * End of "$Id: mark.c 6942 2007-09-10 22:55:00Z mike $". + * End of "$Id: mark.c 6939 2007-09-10 21:18:02Z mike $". */ diff --git a/cups/options.c b/cups/options.c index 493756dde8..b0d703e63b 100644 --- a/cups/options.c +++ b/cups/options.c @@ -1,5 +1,5 @@ /* - * "$Id: options.c 6703 2007-07-20 21:28:10Z mike $" + * "$Id: options.c 6943 2007-09-10 23:00:33Z mike $" * * Option routines for the Common UNIX Printing System (CUPS). * @@ -72,7 +72,7 @@ cupsAddOption(const char *name, /* I - Name of option */ */ for (i = 0, temp = *options; i < num_options; i ++, temp ++) - if (strcasecmp(temp->name, name) == 0) + if (!strcasecmp(temp->name, name)) break; if (i >= num_options) @@ -92,7 +92,7 @@ cupsAddOption(const char *name, /* I - Name of option */ *options = temp; temp += num_options; - temp->name = strdup(name); + temp->name = _cupsStrAlloc(name); num_options ++; } else @@ -101,10 +101,10 @@ cupsAddOption(const char *name, /* I - Name of option */ * Match found; free the old value... */ - free(temp->value); + _cupsStrFree(temp->value); } - temp->value = strdup(value); + temp->value = _cupsStrAlloc(value); return (num_options); } @@ -127,8 +127,8 @@ cupsFreeOptions( for (i = 0; i < num_options; i ++) { - free(options[i].name); - free(options[i].value); + _cupsStrFree(options[i].name); + _cupsStrFree(options[i].value); } free(options); @@ -691,9 +691,8 @@ cupsRemoveOption( num_options --; i --; - free(option->name); - if (option->value) - free(option->value); + _cupsStrFree(option->name); + _cupsStrFree(option->value); if (i > 0) memmove(option, option + 1, i * sizeof(cups_option_t)); @@ -812,5 +811,5 @@ ppd_mark_choices(ppd_file_t *ppd, /* I - PPD file */ /* - * End of "$Id: options.c 6703 2007-07-20 21:28:10Z mike $". + * End of "$Id: options.c 6943 2007-09-10 23:00:33Z mike $". */ diff --git a/cups/ppd.c b/cups/ppd.c index 779722070e..a2a7ef1a90 100644 --- a/cups/ppd.c +++ b/cups/ppd.c @@ -1,5 +1,5 @@ /* - * "$Id: ppd.c 6942 2007-09-10 22:55:00Z mike $" + * "$Id: ppd.c 6937 2007-09-10 21:13:31Z mike $" * * PPD file routines for the Common UNIX Printing System (CUPS). * @@ -87,6 +87,17 @@ #define PPD_HASHSIZE 512 /* Size of hash */ +/* + * Line buffer structure... + */ + +typedef struct _ppd_line_s +{ + char *buffer; /* Pointer to buffer */ + size_t bufsize; /* Size of the buffer */ +} _ppd_line_t; + + /* * Local functions... */ @@ -115,8 +126,9 @@ static ppd_group_t *ppd_get_group(ppd_file_t *ppd, const char *name, cups_encoding_t encoding); static ppd_option_t *ppd_get_option(ppd_group_t *group, const char *name); static int ppd_hash_option(ppd_option_t *option); -static int ppd_read(cups_file_t *fp, char *keyword, char *option, - char *text, char **string, int ignoreblank, +static int ppd_read(cups_file_t *fp, _ppd_line_t *line, + char *keyword, char *option, char *text, + char **string, int ignoreblank, _cups_globals_t *cg); @@ -148,12 +160,12 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ * Free all strings at the top level... */ - ppd_free(ppd->lang_encoding); - ppd_free(ppd->nickname); - ppd_free(ppd->patches); - ppd_free(ppd->jcl_begin); - ppd_free(ppd->jcl_end); - ppd_free(ppd->jcl_ps); + _cupsStrFree(ppd->lang_encoding); + _cupsStrFree(ppd->nickname); + _cupsStrFree(ppd->patches); + _cupsStrFree(ppd->jcl_begin); + _cupsStrFree(ppd->jcl_end); + _cupsStrFree(ppd->jcl_ps); /* * Free any emulations... @@ -163,8 +175,8 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ { for (i = ppd->num_emulations, emul = ppd->emulations; i > 0; i --, emul ++) { - ppd_free(emul->start); - ppd_free(emul->stop); + _cupsStrFree(emul->start); + _cupsStrFree(emul->stop); } ppd_free(ppd->emulations); @@ -206,9 +218,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ if (ppd->num_filters > 0) { for (i = ppd->num_filters, filter = ppd->filters; i > 0; i --, filter ++) - { - ppd_free(*filter); - } + _cupsStrFree(*filter); ppd_free(ppd->filters); } @@ -220,9 +230,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ if (ppd->num_fonts > 0) { for (i = ppd->num_fonts, font = ppd->fonts; i > 0; i --, font ++) - { - ppd_free(*font); - } + _cupsStrFree(*font); ppd_free(ppd->fonts); } @@ -242,7 +250,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ { for (i = ppd->num_attrs, attr = ppd->attrs; i > 0; i --, attr ++) { - ppd_free((*attr)->value); + _cupsStrFree((*attr)->value); ppd_free(*attr); } @@ -268,7 +276,7 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */ case PPD_CUSTOM_PASSCODE : case PPD_CUSTOM_PASSWORD : case PPD_CUSTOM_STRING : - ppd_free(cparam->current.custom_string); + _cupsStrFree(cparam->current.custom_string); break; default : @@ -425,6 +433,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ { int i, j, k; /* Looping vars */ int count; /* Temporary count */ + _ppd_line_t line; /* Line buffer */ ppd_file_t *ppd; /* PPD file record */ ppd_group_t *group, /* Current group */ *subgroup; /* Current sub-group */ @@ -538,7 +547,10 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ * Grab the first line and make sure it reads '*PPD-Adobe: "major.minor"'... */ - mask = ppd_read(fp, keyword, name, text, &string, 0, cg); + line.buffer = NULL; + line.bufsize = 0; + + mask = ppd_read(fp, &line, keyword, name, text, &string, 0, cg); DEBUG_printf(("mask=%x, keyword=\"%s\"...\n", mask, keyword)); @@ -553,14 +565,14 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ if (cg->ppd_status == PPD_OK) cg->ppd_status = PPD_MISSING_PPDADOBE4; - ppd_free(string); + _cupsStrFree(string); return (NULL); } DEBUG_printf(("ppdOpen: keyword = %s, string = %p\n", keyword, string)); - ppd_free(string); + _cupsStrFree(string); /* * Allocate memory for the PPD file record... @@ -598,7 +610,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ ui_keyword = 0; encoding = CUPS_ISO8859_1; - while ((mask = ppd_read(fp, keyword, name, text, &string, 1, cg)) != 0) + while ((mask = ppd_read(fp, &line, keyword, name, text, &string, 1, cg)) != 0) { #ifdef DEBUG printf("mask = %x, keyword = \"%s\"", mask, keyword); @@ -744,7 +756,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ * Say all PPD files are UTF-8, since we convert to UTF-8... */ - ppd->lang_encoding = strdup("UTF-8"); + ppd->lang_encoding = _cupsStrAlloc("UTF-8"); encoding = _ppdGetEncoding(string); } else if (!strcmp(keyword, "LanguageVersion")) @@ -765,10 +777,10 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ cupsCharsetToUTF8(utf8, string, sizeof(utf8), encoding); - ppd->nickname = strdup((char *)utf8); + ppd->nickname = _cupsStrAlloc((char *)utf8); } else - ppd->nickname = strdup(string); + ppd->nickname = _cupsStrAlloc(string); } else if (!strcmp(keyword, "Product")) ppd->product = string; @@ -778,17 +790,17 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ ppd->ttrasterizer = string; else if (!strcmp(keyword, "JCLBegin")) { - ppd->jcl_begin = strdup(string); + ppd->jcl_begin = _cupsStrAlloc(string); ppd_decode(ppd->jcl_begin); /* Decode quoted string */ } else if (!strcmp(keyword, "JCLEnd")) { - ppd->jcl_end = strdup(string); + ppd->jcl_end = _cupsStrAlloc(string); ppd_decode(ppd->jcl_end); /* Decode quoted string */ } else if (!strcmp(keyword, "JCLToPSInterpreter")) { - ppd->jcl_ps = strdup(string); + ppd->jcl_ps = _cupsStrAlloc(string); ppd_decode(ppd->jcl_ps); /* Decode quoted string */ } else if (!strcmp(keyword, "AccurateScreensSupport")) @@ -840,8 +852,6 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ if (filter == NULL) { - ppd_free(filter); - cg->ppd_status = PPD_ALLOC_ERROR; goto error; @@ -880,7 +890,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ } ppd->fonts = tempfonts; - ppd->fonts[ppd->num_fonts] = strdup(name); + ppd->fonts[ppd->num_fonts] = _cupsStrAlloc(name); ppd->num_fonts ++; } else if (!strncmp(keyword, "ParamCustom", 11)) @@ -1179,7 +1189,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ else if (!strcmp(keyword, "JobPatchFile")) { if (ppd->patches == NULL) - ppd->patches = strdup(string); + ppd->patches = _cupsStrAlloc(string); else { temp = realloc(ppd->patches, strlen(ppd->patches) + @@ -1298,7 +1308,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ option->section = PPD_ORDER_ANY; - ppd_free(string); + _cupsStrFree(string); string = NULL; } else if (!strcmp(keyword, "JCLOpenUI")) @@ -1377,14 +1387,14 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ option->section = PPD_ORDER_JCL; group = NULL; - ppd_free(string); + _cupsStrFree(string); string = NULL; } else if (!strcmp(keyword, "CloseUI") || !strcmp(keyword, "JCLCloseUI")) { option = NULL; - ppd_free(string); + _cupsStrFree(string); string = NULL; } else if (!strcmp(keyword, "OpenGroup")) @@ -1431,14 +1441,14 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ if (group == NULL) goto error; - ppd_free(string); + _cupsStrFree(string); string = NULL; } else if (!strcmp(keyword, "CloseGroup")) { group = NULL; - ppd_free(string); + _cupsStrFree(string); string = NULL; } else if (!strcmp(keyword, "OrderDependency") || @@ -1497,7 +1507,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ option->order = order; } - ppd_free(string); + _cupsStrFree(string); string = NULL; } else if (!strncmp(keyword, "Default", 7)) @@ -1781,7 +1791,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ * Don't add this one as an attribute... */ - ppd_free(string); + _cupsStrFree(string); string = NULL; } else if (!strcmp(keyword, "PaperDimension")) @@ -1803,7 +1813,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ size->width = (float)_cupsStrScand(string, &sptr, loc); size->length = (float)_cupsStrScand(sptr, NULL, loc); - ppd_free(string); + _cupsStrFree(string); string = NULL; } else if (!strcmp(keyword, "ImageableArea")) @@ -1827,7 +1837,7 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ size->right = (float)_cupsStrScand(sptr, &sptr, loc); size->top = (float)_cupsStrScand(sptr, NULL, loc); - ppd_free(string); + _cupsStrFree(string); string = NULL; } else if (option != NULL && @@ -1878,9 +1888,12 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ (mask & (PPD_KEYWORD | PPD_STRING)) == (PPD_KEYWORD | PPD_STRING)) ppd_add_attr(ppd, keyword, name, text, string); else - ppd_free(string); + _cupsStrFree(string); } + if (line.buffer) + free(line.buffer); + /* * Reset language preferences... */ @@ -1959,7 +1972,10 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */ error: - ppd_free(string); + if (line.buffer) + free(line.buffer); + + _cupsStrFree(string); ppdClose(ppd); @@ -2418,7 +2434,7 @@ ppd_free_option(ppd_option_t *option) /* I - Option to free */ i > 0; i --, choice ++) { - ppd_free(choice->code); + _cupsStrFree(choice->code); } ppd_free(option->choices); @@ -2636,6 +2652,7 @@ ppd_hash_option(ppd_option_t *option) /* I - Option */ static int /* O - Bitmask of fields read */ ppd_read(cups_file_t *fp, /* I - File to read from */ + _ppd_line_t *line, /* I - Line buffer */ char *keyword, /* O - Keyword from line */ char *option, /* O - Option from line */ char *text, /* O - Human-readable text from line */ @@ -2654,16 +2671,8 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ *optptr, /* Option pointer */ *textptr, /* Text pointer */ *strptr, /* Pointer into string */ - *lineptr, /* Current position in line buffer */ - *line; /* Line buffer */ - int linesize; /* Current size of line buffer */ - - /* - * Range check everything... - */ + *lineptr; /* Current position in line buffer */ - if (!fp || !keyword || !option || !text || !string) - return (0); /* * Now loop until we have a valid line... @@ -2672,11 +2681,15 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ *string = NULL; col = 0; startline = cg->ppd_line + 1; - linesize = 1024; - line = malloc(linesize); - if (!line) - return (0); + if (!line->buffer) + { + line->bufsize = 1024; + line->buffer = malloc(1024); + + if (!line->buffer) + return (0); + } do { @@ -2684,13 +2697,13 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ * Read the line... */ - lineptr = line; + lineptr = line->buffer; endquote = 0; colon = 0; while ((ch = cupsFileGetChar(fp)) != EOF) { - if (lineptr >= (line + linesize - 1)) + if (lineptr >= (line->buffer + line->bufsize - 1)) { /* * Expand the line buffer... @@ -2699,8 +2712,8 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ char *temp; /* Temporary line pointer */ - linesize += 1024; - if (linesize > 262144) + line->bufsize += 1024; + if (line->bufsize > 262144) { /* * Don't allow lines longer than 256k! @@ -2709,24 +2722,20 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cg->ppd_line = startline; cg->ppd_status = PPD_LINE_TOO_LONG; - free(line); - return (0); } - temp = realloc(line, linesize); + temp = realloc(line->buffer, line->bufsize); if (!temp) { cg->ppd_line = startline; cg->ppd_status = PPD_LINE_TOO_LONG; - free(line); - return (0); } - lineptr = temp + (lineptr - line); - line = temp; + lineptr = temp + (lineptr - line->buffer); + line->buffer = temp; } if (ch == '\r' || ch == '\n') @@ -2754,7 +2763,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cupsFileGetChar(fp); } - if (lineptr == line && ignoreblank) + if (lineptr == line->buffer && ignoreblank) continue; /* Skip blank lines */ ch = '\n'; @@ -2773,8 +2782,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cg->ppd_line = startline; cg->ppd_status = PPD_ILLEGAL_CHARACTER; - free(line); - return (0); } else if (ch != 0x1a) @@ -2795,12 +2802,10 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cg->ppd_line = startline; cg->ppd_status = PPD_LINE_TOO_LONG; - free(line); - return (0); } - if (ch == ':' && strncmp(line, "*%", 2) != 0) + if (ch == ':' && strncmp(line->buffer, "*%", 2) != 0) colon = 1; if (ch == '\"' && colon) @@ -2845,8 +2850,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cg->ppd_line = startline; cg->ppd_status = PPD_ILLEGAL_CHARACTER; - free(line); - return (0); } else if (ch != 0x1a) @@ -2862,8 +2865,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cg->ppd_line = startline; cg->ppd_status = PPD_LINE_TOO_LONG; - free(line); - return (0); } } @@ -2908,8 +2909,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cg->ppd_line = startline; cg->ppd_status = PPD_ILLEGAL_CHARACTER; - free(line); - return (0); } else if (ch != 0x1a) @@ -2925,14 +2924,12 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cg->ppd_line = startline; cg->ppd_status = PPD_LINE_TOO_LONG; - free(line); - return (0); } } } - if (lineptr > line && lineptr[-1] == '\n') + if (lineptr > line->buffer && lineptr[-1] == '\n') lineptr --; *lineptr = '\0'; @@ -2946,40 +2943,34 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ * reading the PPD when we get to the start of this data. */ - if (!strcmp(line, "*%APLWORKSET START")) - { - free(line); + if (!strcmp(line->buffer, "*%APLWORKSET START")) return (0); - } - if (ch == EOF && lineptr == line) - { - free(line); + if (ch == EOF && lineptr == line->buffer) return (0); - } /* * Now parse it... */ mask = 0; - lineptr = line + 1; + lineptr = line->buffer + 1; keyword[0] = '\0'; option[0] = '\0'; text[0] = '\0'; *string = NULL; - if ((!line[0] || /* Blank line */ - !strncmp(line, "*%", 2) || /* Comment line */ - !strcmp(line, "*End")) && /* End of multi-line string */ + if ((!line->buffer[0] || /* Blank line */ + !strncmp(line->buffer, "*%", 2) || /* Comment line */ + !strcmp(line->buffer, "*End")) && /* End of multi-line string */ ignoreblank) /* Ignore these? */ { startline = cg->ppd_line + 1; continue; } - if (!strcmp(line, "*")) /* (Bad) comment line */ + if (!strcmp(line->buffer, "*")) /* (Bad) comment line */ { if (cg->ppd_conform == PPD_CONFORM_RELAXED) { @@ -2991,34 +2982,29 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cg->ppd_line = startline; cg->ppd_status = PPD_ILLEGAL_MAIN_KEYWORD; - free(line); return (0); } } - if (line[0] != '*') /* All lines start with an asterisk */ + if (line->buffer[0] != '*') /* All lines start with an asterisk */ { /* * Allow lines consisting of just whitespace... */ - for (lineptr = line; *lineptr; lineptr ++) + for (lineptr = line->buffer; *lineptr; lineptr ++) if (!isspace(*lineptr & 255)) break; if (*lineptr) { cg->ppd_status = PPD_MISSING_ASTERISK; - free(line); return (0); } else if (ignoreblank) continue; else - { - free(line); return (0); - } } /* @@ -3033,7 +3019,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ (keyptr - keyword) >= (PPD_MAX_NAME - 1)) { cg->ppd_status = PPD_ILLEGAL_MAIN_KEYWORD; - free(line); return (0); } @@ -3067,7 +3052,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ (optptr - option) >= (PPD_MAX_NAME - 1)) { cg->ppd_status = PPD_ILLEGAL_OPTION_KEYWORD; - free(line); return (0); } @@ -3079,7 +3063,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ if (isspace(*lineptr & 255) && cg->ppd_conform == PPD_CONFORM_STRICT) { cg->ppd_status = PPD_ILLEGAL_WHITESPACE; - free(line); return (0); } @@ -3106,7 +3089,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ (textptr - text) >= (PPD_MAX_LINE - 1)) { cg->ppd_status = PPD_ILLEGAL_TRANSLATION; - free(line); return (0); } @@ -3119,7 +3101,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ if (textlen > PPD_MAX_TEXT && cg->ppd_conform == PPD_CONFORM_STRICT) { cg->ppd_status = PPD_ILLEGAL_TRANSLATION; - free(line); return (0); } @@ -3132,7 +3113,6 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ if (isspace(*lineptr & 255) && cg->ppd_conform == PPD_CONFORM_STRICT) { cg->ppd_status = PPD_ILLEGAL_WHITESPACE; - free(line); return (0); } @@ -3156,21 +3136,14 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ if (*strptr == '\"') { /* - * Quoted string by itself... + * Quoted string by itself, remove quotes... */ - *string = malloc(strlen(lineptr) + 1); - - strptr = *string; - - for (; *lineptr != '\0'; lineptr ++) - if (*lineptr != '\"') - *strptr++ = *lineptr; - - *strptr = '\0'; + *strptr = '\0'; + lineptr ++; } - else - *string = strdup(lineptr); + + *string = _cupsStrAlloc(lineptr); /* DEBUG_printf(("string = \"%s\", lineptr = \"%s\"\n", *string, lineptr));*/ @@ -3179,12 +3152,10 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ } while (mask == 0); - free(line); - return (mask); } /* - * End of "$Id: ppd.c 6942 2007-09-10 22:55:00Z mike $". + * End of "$Id: ppd.c 6937 2007-09-10 21:13:31Z mike $". */ diff --git a/cups/request.c b/cups/request.c index cee2436873..14741e95c8 100644 --- a/cups/request.c +++ b/cups/request.c @@ -1,5 +1,5 @@ /* - * "$Id: request.c 6712 2007-07-24 00:13:05Z mike $" + * "$Id: request.c 6879 2007-08-29 20:26:50Z mike $" * * IPP utilities for the Common UNIX Printing System (CUPS). * @@ -17,6 +17,7 @@ * Contents: * * cupsDoFileRequest() - Do an IPP request with a file. + * cupsDoIORequest() - Do an IPP request with file descriptors. * cupsDoRequest() - Do an IPP request. * _cupsSetError() - Set the last IPP status code and status-message. * _cupsSetHTTPError() - Set the last error using the HTTP status. @@ -552,5 +553,5 @@ _cupsSetHTTPError(http_status_t status) /* I - HTTP status code */ /* - * End of "$Id: request.c 6712 2007-07-24 00:13:05Z mike $". + * End of "$Id: request.c 6879 2007-08-29 20:26:50Z mike $". */ diff --git a/cups/test.ppd b/cups/test.ppd index 0add09e97e..77d42ecfcb 100644 --- a/cups/test.ppd +++ b/cups/test.ppd @@ -1,6 +1,6 @@ *PPD-Adobe: "4.3" *% -*% "$Id: test.ppd 6799 2007-08-15 19:33:36Z mike $" +*% "$Id: test.ppd 6795 2007-08-15 18:02:26Z mike $" *% *% Test PPD file for the Common UNIX Printing System (CUPS). *% @@ -199,5 +199,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 6799 2007-08-15 19:33:36Z mike $". +*% End of "$Id: test.ppd 6795 2007-08-15 18:02:26Z mike $". *% diff --git a/cups/testfile.c b/cups/testfile.c index db78a2cf7e..6a0bd9057b 100644 --- a/cups/testfile.c +++ b/cups/testfile.c @@ -1,5 +1,5 @@ /* - * "$Id: testfile.c 6963 2007-09-17 20:35:54Z mike $" + * "$Id: testfile.c 6962 2007-09-17 20:35:47Z mike $" * * File test program for the Common UNIX Printing System (CUPS). * @@ -496,5 +496,5 @@ read_write_tests(int compression) /* I - Use compression? */ /* - * End of "$Id: testfile.c 6963 2007-09-17 20:35:54Z mike $". + * End of "$Id: testfile.c 6962 2007-09-17 20:35:47Z mike $". */ diff --git a/cups/testppd.c b/cups/testppd.c index afb252f48f..dcd31d2cfa 100644 --- a/cups/testppd.c +++ b/cups/testppd.c @@ -1,5 +1,5 @@ /* - * "$Id: testppd.c 6799 2007-08-15 19:33:36Z mike $" + * "$Id: testppd.c 6936 2007-09-10 18:15:36Z mike $" * * PPD test program for the Common UNIX Printing System (CUPS). * @@ -235,8 +235,6 @@ main(int argc, /* I - Number of command-line arguments */ status ++; printf("FAIL (\"%s\" instead of \"Number 1 Foo Reason\")\n", buffer); } - - ppdClose(ppd); } else { @@ -362,15 +360,27 @@ main(int argc, /* I - Number of command-line arguments */ attr = (ppd_attr_t *)cupsArrayNext(ppd->sorted_attrs)) printf(" *%s %s/%s: \"%s\"\n", attr->name, attr->spec, attr->text, attr->value ? attr->value : ""); - - ppdClose(ppd); } } +#ifdef __APPLE__ + if (getenv("MallocStackLogging") && getenv("MallocStackLoggingNoCompact")) + { + char command[1024]; /* malloc_history command */ + + snprintf(command, sizeof(command), "malloc_history %d -all_by_size", + getpid()); + fflush(stdout); + system(command); + } +#endif /* __APPLE__ */ + + ppdClose(ppd); + return (status); } /* - * End of "$Id: testppd.c 6799 2007-08-15 19:33:36Z mike $". + * End of "$Id: testppd.c 6936 2007-09-10 18:15:36Z mike $". */ diff --git a/cups/util.c b/cups/util.c index c6021d15fb..142c70a7af 100644 --- a/cups/util.c +++ b/cups/util.c @@ -1,5 +1,5 @@ /* - * "$Id: util.c 6649 2007-07-11 21:46:42Z mike $" + * "$Id: util.c 7014 2007-10-10 21:57:43Z mike $" * * Printing utilities for the Common UNIX Printing System (CUPS). * @@ -30,6 +30,8 @@ * server. * cupsGetPPD2() - Get the PPD file for a printer on the specified * server. + * cupsGetPPD3() - Get the PPD file for a printer on the specified + * server if it has changed. * cupsGetPrinters() - Get a list of printers from the default server. * cupsGetServerPPD() - Get an available PPD file from the server. * cupsLastError() - Return the last IPP status code. @@ -91,7 +93,6 @@ cupsCancelJob(const char *name, /* I - Name of printer or class */ uri[HTTP_MAX_URI]; /* Printer URI */ ipp_t *request, /* IPP request */ *response; /* IPP response */ - cups_lang_t *language; /* Language info */ _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ @@ -129,21 +130,7 @@ cupsCancelJob(const char *name, /* I - Name of printer or class */ * [requesting-user-name] */ - request = ippNew(); - - request->request.op.operation_id = IPP_CANCEL_JOB; - request->request.op.request_id = 1; - - language = cupsLangDefault(); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, cupsLangEncoding(language)); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, - language != NULL ? language->language : "C"); - - cupsLangFree(language); + request = ippNewRequest(IPP_CANCEL_JOB); ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); @@ -205,7 +192,6 @@ cupsGetClasses(char ***classes) /* O - Classes */ ipp_t *request, /* IPP Request */ *response; /* IPP Response */ ipp_attribute_t *attr; /* Current attribute */ - cups_lang_t *language; /* Default language */ char **temp; /* Temporary pointer */ _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ @@ -237,20 +223,7 @@ cupsGetClasses(char ***classes) /* O - Classes */ * requested-attributes */ - request = ippNew(); - - request->request.op.operation_id = CUPS_GET_CLASSES; - request->request.op.request_id = 1; - - language = cupsLangDefault(); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, cupsLangEncoding(language)); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, language->language); - - cupsLangFree(language); + request = ippNewRequest(CUPS_GET_CLASSES); ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", NULL, "printer-name"); @@ -371,7 +344,6 @@ cupsGetDefault2(http_t *http) /* I - HTTP connection */ ipp_t *request, /* IPP Request */ *response; /* IPP Response */ ipp_attribute_t *attr; /* Current attribute */ - cups_lang_t *language; /* Default language */ const char *var; /* Environment variable */ _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ @@ -403,20 +375,7 @@ cupsGetDefault2(http_t *http) /* I - HTTP connection */ * attributes-natural-language */ - request = ippNew(); - - request->request.op.operation_id = CUPS_GET_DEFAULT; - request->request.op.request_id = 1; - - language = cupsLangDefault(); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, cupsLangEncoding(language)); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, language->language); - - cupsLangFree(language); + request = ippNewRequest(CUPS_GET_DEFAULT); /* * Do the request and get back a response... @@ -491,7 +450,6 @@ cupsGetJobs2(http_t *http, /* I - HTTP connection */ ipp_t *request, /* IPP Request */ *response; /* IPP Response */ ipp_attribute_t *attr; /* Current attribute */ - cups_lang_t *language; /* Default language */ cups_job_t *temp; /* Temporary pointer */ int id, /* job-id */ priority, /* job-priority */ @@ -564,20 +522,7 @@ cupsGetJobs2(http_t *http, /* I - HTTP connection */ * requested-attributes */ - request = ippNew(); - - request->request.op.operation_id = IPP_GET_JOBS; - request->request.op.request_id = 1; - - language = cupsLangDefault(); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, cupsLangEncoding(language)); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, language->language); - - cupsLangFree(language); + request = ippNewRequest(IPP_GET_JOBS); ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); @@ -758,6 +703,8 @@ const char * /* O - Filename for PPD file */ cupsGetPPD(const char *name) /* I - Printer name */ { _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ + time_t modtime = 0; /* Modification time */ + /* * See if we can connect to the server... @@ -774,7 +721,13 @@ cupsGetPPD(const char *name) /* I - Printer name */ * Return the PPD file... */ - return (cupsGetPPD2(cg->http, name)); + cg->ppd_filename[0] = '\0'; + + if (cupsGetPPD3(cg->http, name, &modtime, cg->ppd_filename, + sizeof(cg->ppd_filename)) == HTTP_OK) + return (cg->ppd_filename); + else + return (NULL); } @@ -790,6 +743,43 @@ cupsGetPPD(const char *name) /* I - Printer name */ const char * /* O - Filename for PPD file */ cupsGetPPD2(http_t *http, /* I - HTTP connection */ const char *name) /* I - Printer name */ +{ + _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ + time_t modtime = 0; /* Modification time */ + + + cg->ppd_filename[0] = '\0'; + + if (cupsGetPPD3(http, name, &modtime, cg->ppd_filename, + sizeof(cg->ppd_filename)) == HTTP_OK) + return (cg->ppd_filename); + else + return (NULL); +} + + +/* + * 'cupsGetPPD3()' - Get the PPD file for a printer on the specified + * server if it has changed. + * + * The "modtime" parameter contains the modification time of any + * locally-cached content and is updated with the time from the PPD file on + * the server. + * + * The "buffer" parameter contains the local PPD filename. If it contains + * the empty string, a new temporary file is created, otherwise the existing + * file will be overwritten as needed. + * + * On success, HTTP_OK is returned for a new PPD file and HTTP_NOT_MODIFIED + * if the existing PPD file is up-to-date. Any other status is an error. + */ + +http_status_t /* O - HTTP status */ +cupsGetPPD3(http_t *http, /* I - HTTP connection */ + const char *name, /* I - Printer name */ + time_t *modtime, /* IO - Modification time */ + char *buffer, /* I - Filename buffer */ + size_t bufsize) /* I - Size of filename buffer */ { int http_port; /* Port number */ char http_hostname[HTTP_MAX_HOST]; @@ -808,17 +798,32 @@ cupsGetPPD2(http_t *http, /* I - HTTP connection */ * Range check input... */ - DEBUG_printf(("cupsGetPPD2(http=%p, name=\"%s\")\n", http, - name ? name : "(null)")); + DEBUG_printf(("cupsGetPPD3(http=%p, name=\"%s\", modtime=%p(%d), buffer=%p, " + "bufsize=%d)\n", http, name ? name : "(null)", modtime, + modtime ? *modtime : 0, buffer, (int)bufsize)); - if (!http || !name) + if (!http) { - if (!http) - _cupsSetError(IPP_INTERNAL_ERROR, "No HTTP connection!"); - else - _cupsSetError(IPP_INTERNAL_ERROR, "No printer name!"); + _cupsSetError(IPP_INTERNAL_ERROR, "No HTTP connection!"); + return (HTTP_NOT_ACCEPTABLE); + } - return (NULL); + if (!name) + { + _cupsSetError(IPP_INTERNAL_ERROR, "No printer name!"); + return (HTTP_NOT_ACCEPTABLE); + } + + if (!modtime) + { + _cupsSetError(IPP_INTERNAL_ERROR, "No modification time!"); + return (HTTP_NOT_ACCEPTABLE); + } + + if (!buffer || bufsize <= 1) + { + _cupsSetError(IPP_INTERNAL_ERROR, "Bad filename buffer!"); + return (HTTP_NOT_ACCEPTABLE); } /* @@ -827,7 +832,7 @@ cupsGetPPD2(http_t *http, /* I - HTTP connection */ if (!cups_get_printer_uri(http, name, hostname, sizeof(hostname), &port, resource, sizeof(resource), 0)) - return (NULL); + return (HTTP_NOT_FOUND); DEBUG_printf(("Printer hostname=\"%s\", port=%d\n", hostname, port)); @@ -872,14 +877,19 @@ cupsGetPPD2(http_t *http, /* I - HTTP connection */ { DEBUG_puts("Unable to connect to server!"); - return (NULL); + return (HTTP_SERVICE_UNAVAILABLE); } /* * Get a temp file... */ - if ((fd = cupsTempFd(cg->ppd_filename, sizeof(cg->ppd_filename))) < 0) + if (buffer[0]) + fd = open(buffer, O_CREAT | O_TRUNC | O_WRONLY, 0600); + else + fd = cupsTempFd(buffer, bufsize); + + if (fd < 0) { /* * Can't open file; close the server connection and return NULL... @@ -890,7 +900,7 @@ cupsGetPPD2(http_t *http, /* I - HTTP connection */ if (http2 != http) httpClose(http2); - return (NULL); + return (HTTP_SERVER_ERROR); } /* @@ -899,6 +909,10 @@ cupsGetPPD2(http_t *http, /* I - HTTP connection */ strlcat(resource, ".ppd", sizeof(resource)); + if (*modtime > 0) + httpSetField(http2, HTTP_FIELD_IF_MODIFIED_SINCE, + httpGetDateString(*modtime)); + status = cupsGetFd(http2, resource, fd); close(fd); @@ -910,7 +924,9 @@ cupsGetPPD2(http_t *http, /* I - HTTP connection */ * See if we actually got the file or an error... */ - if (status != HTTP_OK) + if (status == HTTP_OK) + *modtime = httpGetDateTime(httpGetField(http2, HTTP_FIELD_DATE)); + else if (status != HTTP_NOT_MODIFIED) { switch (status) { @@ -930,15 +946,13 @@ cupsGetPPD2(http_t *http, /* I - HTTP connection */ } unlink(cg->ppd_filename); - - return (NULL); } /* * Return the PPD file... */ - return (cg->ppd_filename); + return (status); } @@ -957,7 +971,6 @@ cupsGetPrinters(char ***printers) /* O - Printers */ ipp_t *request, /* IPP Request */ *response; /* IPP Response */ ipp_attribute_t *attr; /* Current attribute */ - cups_lang_t *language; /* Default language */ char **temp; /* Temporary pointer */ _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ @@ -989,20 +1002,7 @@ cupsGetPrinters(char ***printers) /* O - Printers */ * requested-attributes */ - request = ippNew(); - - request->request.op.operation_id = CUPS_GET_PRINTERS; - request->request.op.request_id = 1; - - language = cupsLangDefault(); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, cupsLangEncoding(language)); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, language->language); - - cupsLangFree(language); + request = ippNewRequest(CUPS_GET_PRINTERS); ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", NULL, "printer-name"); @@ -1270,7 +1270,6 @@ cupsPrintFiles2(http_t *http, /* I - HTTP connection */ ipp_t *response; /* IPP response */ ipp_attribute_t *attr; /* IPP job-id attribute */ char uri[HTTP_MAX_URI]; /* Printer URI */ - cups_lang_t *language; /* Language to use */ int jobid; /* New job ID */ const char *base; /* Basename of current filename */ @@ -1302,35 +1301,19 @@ cupsPrintFiles2(http_t *http, /* I - HTTP connection */ return (0); } - /* - * Setup the request data... - */ - - language = cupsLangDefault(); - /* * Build a standard CUPS URI for the printer and fill the standard IPP * attributes... */ - if ((request = ippNew()) == NULL) + if ((request = ippNewRequest(num_files == 1 ? IPP_PRINT_JOB : + IPP_CREATE_JOB)) == NULL) { _cupsSetError(IPP_INTERNAL_ERROR, NULL); return (0); } - request->request.op.operation_id = num_files == 1 ? IPP_PRINT_JOB : - IPP_CREATE_JOB; - request->request.op.request_id = 1; - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, cupsLangEncoding(language)); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, - language != NULL ? language->language : "C"); - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); @@ -1392,21 +1375,11 @@ cupsPrintFiles2(http_t *http, /* I - HTTP connection */ * attributes... */ - if ((request = ippNew()) == NULL) + if ((request = ippNewRequest(IPP_SEND_DOCUMENT)) == NULL) return (0); - request->request.op.operation_id = IPP_SEND_DOCUMENT; - request->request.op.request_id = 1; - snprintf(uri, sizeof(uri), "ipp://localhost/jobs/%d", jobid); - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, - "attributes-charset", NULL, cupsLangEncoding(language)); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, - "attributes-natural-language", NULL, - language != NULL ? language->language : "C"); - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "job-uri", NULL, uri); @@ -1458,8 +1431,6 @@ cupsPrintFiles2(http_t *http, /* I - HTTP connection */ ippDelete(response); } - cupsLangFree(language); - return (jobid); } @@ -1728,5 +1699,5 @@ cups_get_printer_uri( /* - * End of "$Id: util.c 6649 2007-07-11 21:46:42Z mike $". + * End of "$Id: util.c 7014 2007-10-10 21:57:43Z mike $". */ diff --git a/data/Makefile b/data/Makefile index 9b37aed52d..f060e382dd 100644 --- a/data/Makefile +++ b/data/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 6649 2007-07-11 21:46:42Z mike $" +# "$Id: Makefile 7014 2007-10-10 21:57:43Z mike $" # # Datafile makefile for the Common UNIX Printing System (CUPS). # @@ -67,31 +67,6 @@ CHARMAPS = \ windows-950.txt CHARSETS = \ - windows-874 \ - windows-1250 \ - windows-1251 \ - windows-1252 \ - windows-1253 \ - windows-1254 \ - windows-1255 \ - windows-1256 \ - windows-1257 \ - windows-1258 \ - koi8-r \ - koi8-u \ - iso-8859-1 \ - iso-8859-2 \ - iso-8859-3 \ - iso-8859-4 \ - iso-8859-5 \ - iso-8859-6 \ - iso-8859-7 \ - iso-8859-8 \ - iso-8859-9 \ - iso-8859-10 \ - iso-8859-13 \ - iso-8859-14 \ - iso-8859-15 \ utf-8 DATAFILES = \ @@ -171,5 +146,5 @@ uninstall: # -# End of "$Id: Makefile 6649 2007-07-11 21:46:42Z mike $". +# End of "$Id: Makefile 7014 2007-10-10 21:57:43Z mike $". # diff --git a/desktop/cups-128.png b/desktop/cups-128.png index cffc239d64..341536d9b8 100644 Binary files a/desktop/cups-128.png and b/desktop/cups-128.png differ diff --git a/desktop/cups-16.png b/desktop/cups-16.png index a75e8ae192..833adac246 100644 Binary files a/desktop/cups-16.png and b/desktop/cups-16.png differ diff --git a/desktop/cups-256.png b/desktop/cups-256.png new file mode 100644 index 0000000000..43abffbf1b Binary files /dev/null and b/desktop/cups-256.png differ diff --git a/desktop/cups-32.png b/desktop/cups-32.png index 30513f3697..42e29d3299 100644 Binary files a/desktop/cups-32.png and b/desktop/cups-32.png differ diff --git a/desktop/cups-512.png b/desktop/cups-512.png new file mode 100644 index 0000000000..3ba454d028 Binary files /dev/null and b/desktop/cups-512.png differ diff --git a/desktop/cups-64.png b/desktop/cups-64.png index b4f764a1f9..15a07cbd6b 100644 Binary files a/desktop/cups-64.png and b/desktop/cups-64.png differ diff --git a/desktop/cups.icns b/desktop/cups.icns new file mode 100644 index 0000000000..a61122bcf3 Binary files /dev/null and b/desktop/cups.icns differ diff --git a/desktop/cups.svg b/desktop/cups.svg new file mode 100644 index 0000000000..cb1085b4b0 --- /dev/null +++ b/desktop/cups.svg @@ -0,0 +1,429 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + CUPS Icon + + + Michael Sweet + + + + + Apple Inc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/Makefile b/doc/Makefile index 9b7dd88122..6ce51d17e1 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile 6824 2007-08-20 22:21:15Z mike $" +# "$Id: Makefile 6900 2007-08-30 17:17:51Z mike $" # # Documentation makefile for the Common UNIX Printing System (CUPS). # @@ -22,84 +22,25 @@ include ../Makedefs WEBPAGES = \ cups.css \ cups-printable.css \ - favicon.ico \ + favicon.png \ index.html \ robots.txt -WEBBUTTONS = \ - images/button-accept-jobs.gif \ - images/button-add-class.gif \ - images/button-add-printer.gif \ - images/button-add-rss-subscription.gif \ - images/button-add-this-printer.gif \ - images/button-cancel-all-jobs.gif \ - images/button-cancel-job.gif \ - images/button-cancel-subscription.gif \ - images/button-change-settings.gif \ - images/button-clean-print-heads.gif \ - images/button-clear.gif \ - images/button-continue.gif \ - images/button-delete-class.gif \ - images/button-delete-printer.gif \ - images/button-edit-configuration-file.gif \ - images/button-export-samba.gif \ - images/button-find-new-printers.gif \ - images/button-help.gif \ - images/button-hold-job.gif \ - images/button-manage-classes.gif \ - images/button-manage-jobs.gif \ - images/button-manage-printers.gif \ - images/button-manage-server.gif \ - images/button-modify-class.gif \ - images/button-modify-printer.gif \ - images/button-move-job.gif \ - images/button-move-jobs.gif \ - images/button-print-self-test-page.gif \ - images/button-print-test-page.gif \ - images/button-publish-printer.gif \ - images/button-reject-jobs.gif \ - images/button-release-job.gif \ - images/button-restart-job.gif \ - images/button-save-changes.gif \ - images/button-search.gif \ - images/button-set-allowed-users.gif \ - images/button-set-as-default.gif \ - images/button-set-printer-options.gif \ - images/button-show-active.gif \ - images/button-show-all.gif \ - images/button-show-completed.gif \ - images/button-show-next.gif \ - images/button-show-previous.gif \ - images/button-sort-ascending.gif \ - images/button-sort-descending.gif \ - images/button-start-class.gif \ - images/button-start-printer.gif \ - images/button-stop-class.gif \ - images/button-stop-printer.gif \ - images/button-unpublish-printer.gif \ - images/button-use-default-config.gif \ - images/button-view-access-log.gif \ - images/button-view-error-log.gif \ - images/button-view-page-log.gif \ - images/button-view-printable-version.gif WEBIMAGES = \ - images/bottom-left.gif \ - images/bottom-right.gif \ - images/classes.gif \ + images/classes.png \ + images/cups.png \ images/cups-block-diagram.gif \ - images/esp-logo.gif \ - images/happy.gif \ - images/logo.gif \ - images/printer-idle.gif \ - images/printer-processing.gif \ - images/printer-stopped.gif \ + images/cups-icon.png \ + images/left.gif \ + images/printer-idle.png \ + images/printer-processing.png \ + images/printer-stopped.png \ images/raster.png \ - images/raster.svg \ + images/right.gif \ + images/sel.gif \ + images/shadow.png \ images/smiley.jpg \ - images/tab-left.gif \ - images/tab-right.gif \ - images/top-left.gif \ - images/top-middle.gif \ - images/top-right.gif \ + images/unsel-hover.gif \ + images/unsel.gif \ images/web-add-this-printer.gif \ images/web-password.gif \ images/web-printer-driver.gif \ @@ -211,7 +152,7 @@ install: all $(INSTALL_LANGUAGES) $(INSTALL_MAN) $$file $(DOCDIR)/help; \ done $(INSTALL_DIR) -m 755 $(DOCDIR)/images - for file in $(WEBIMAGES) $(WEBBUTTONS); do \ + for file in $(WEBIMAGES); do \ $(INSTALL_MAN) $$file $(DOCDIR)/images; \ done @@ -243,7 +184,7 @@ uninstall: $(UNINSTALL_LANGUAGES) for file in $(HELPFILES); do \ $(INSTALL_MAN) $(DOCDIR)/help/$$file; \ done - for file in $(WEBIMAGES) $(WEBBUTTONS); do \ + for file in $(WEBIMAGES); do \ $(INSTALL_MAN) $(DOCDIR)/images/$$file; \ done -$(RMDIR) $(DOCDIR)/images @@ -254,9 +195,6 @@ uninstall-languages: -for lang in $(LANGUAGES); do \ $(RM) $(DOCDIR)/$$lang/index.html; \ $(RM) $(DOCDIR)/$$lang/cups.css; \ - for file in $(WEBBUTTONS); do \ - $(RM) $(DOCDIR)/$$lang/images/$$file; \ - done \ $(RMDIR) $(DOCDIR)/$$lang/images; \ $(RMDIR) $(DOCDIR)/$$lang; \ done diff --git a/doc/cups.css b/doc/cups.css index 026042412e..6d356f6d05 100644 --- a/doc/cups.css +++ b/doc/cups.css @@ -1,5 +1,5 @@ BODY { - background: #cccc99; + background: #e8e8e8; color: #000000; font-family: sans-serif; } @@ -39,40 +39,101 @@ P.formula { } BLOCKQUOTE { - background: #bbbb88; - border: solid thin #999966; - padding: 10pt; + background: #e1e1e1; + border: inset 1px #dddddd; + padding: 10px; + /* These are not implemented by all browsers, but that's OK */ + border-radius: 5px; + -moz-border-radius: 5px; +} + +A IMG { + border: none; +} + +A:link:hover IMG { + background: #e0e0e0; + border-radius: 10px; + -moz-border-radius: 10px; } A:link, A:visited { text-decoration: none; - font-weight: bold; - color: #993300; + color: #000099; } A:link:hover, A:visited:hover, A:active { text-decoration: underline; - font-weight: bold; - color: #bb5500; + color: #990099; +} + +TABLE.page { + border: none; + border-collapse: collapse; + height: 100%; + margin: 0; + padding: 0; + width: 100%; +} + +TD.body { + height: 100%; + vertical-align: top; +} + +TD.sel, TD.unsel { + border-left: thin solid #aaaaaa; + font-size: 120%; + padding: 0px 5px; + text-align: center; + vertical-align: middle; + width: 14%; +} + +TD.sel { + background: url(images/sel.gif); } -A.sel, TR.sel { - background-color: #eeeebb; - color: #993300; +TD.unsel { + background: url(images/unsel.gif); } -TR.sel TD { - padding: 4pt; +TD.sel A, TD.sel A:hover { + color: #ffffff; + font-weight: normal; + text-decoration: none; } -A.unsel, A.unsel:visited { - background-color: #666633; - color: #e8e8b8; +TD.unsel A, TD.unsel A:visited { + color: #333333; + font-weight: normal; } -A.unsel:link:hover, A.unsel:visited:hover, A.unsel:active { - background-color: #999966; - color: #663300; +TD.unsel:hover { + background: url(images/unsel-hover.gif); + color: #ffffff; +} + +TD.unsel A:link:hover, TD.unsel A:visited:hover, TD.unsel A:active { + color: #ffffff; + font-weight: normal; + text-decoration: none; +} + +TD.trailer { + background: #e1e1e1; + border: solid thin #cccccc; + color: #666666; + font-size: 80%; + padding: 5px; +} + +TD.trailer A { + color: #666699; +} + +FORM { + display: inline; } INPUT[TYPE="TEXT"], TEXTAREA { @@ -89,31 +150,20 @@ SUB, SUP { font-size: 50%; } -TR.header, TR.header TH, TH.header, TR.trailer, TR.trailer TH, TH.trailer { - background-color: #bbbb88; -} - -TR.page, TD.page { - background-color: #eeeebb; - height: 100%; - padding-top: 20pt; - padding-bottom: 20pt; -} - TR.data, TD.data, TR.data TD { padding: 5; - border-bottom: solid 2pt #000000; + border-bottom: solid 1pt #999999; } TR.data TH { - border-bottom: solid 2pt #000000; + border-bottom: solid 1pt #999999; padding-top: 10pt; padding-left: 5pt; text-align: left; } DIV.table TABLE { - border: solid thin #999966; + border: solid thin #999999; border-spacing: 0; margin-left: auto; margin-right: auto; @@ -129,14 +179,14 @@ DIV.table CAPTION { } DIV.table TABLE TD { - border: solid thin #bbbb88; + border: solid thin #bbbbbb; padding-top: 5pt; } DIV.table TABLE TH { - background: #bbbb88; + background: #bbbbbb; border: none; - border-bottom: solid thin #999966; + border-bottom: solid thin #999999; } DIV.figure TABLE { @@ -183,27 +233,14 @@ H2 SPAN.info, H3 SPAN.info, H4 SPAN.info { } H2.title, H3.title { - border-bottom: solid 2pt #000000; -} - -IMG.button { - border: none; - padding: 2pt; - vertical-align: middle; + border-bottom: solid 1pt #999999; } DIV.sidebar { - background: #ddddaa; - border: solid 2px #cccc99; float: right; min-width: 25%; - margin-left: 10pt; + margin-left: 10px; max-width: 33%; - padding: 5pt; - /* These are not implemented by all browsers, but that's OK */ - border-radius: 10pt; - -moz-border-radius: 10pt; - box-shadow: 5pt 5pt 5pt #cccccc; } DIV.sidebar P.l0 { @@ -230,15 +267,26 @@ DIV.sidebar P.l2 { text-indent: -18pt; } -TABLE.pager { - background: #cccc99; - border: solid thin #999966; - margin-top: 10pt; - padding: 2pt; +TABLE.inset { + background: #e1e1e1; + border: inset 1px #dddddd; + padding: 0; /* These are not implemented by all browsers, but that's OK */ - border-radius: 10pt; - -moz-border-radius: 10pt; - box-shadow: 5pt 5pt 5pt #cccccc; + border-radius: 5px; + -moz-border-radius: 5px; +} + +TABLE.inset CAPTION { + caption-side: top; + color: #666666; + font-size: 80%; + margin-left: 10px; + margin-bottom: 2px; + text-align: left; +} + +TABLE.inset TD { + padding: 5px; } DT { diff --git a/doc/de/images/button-accept-jobs.gif b/doc/de/images/button-accept-jobs.gif deleted file mode 100644 index ab57159450..0000000000 Binary files a/doc/de/images/button-accept-jobs.gif and /dev/null differ diff --git a/doc/de/images/button-add-class.gif b/doc/de/images/button-add-class.gif deleted file mode 100644 index 3cfd28ccee..0000000000 Binary files a/doc/de/images/button-add-class.gif and /dev/null differ diff --git a/doc/de/images/button-add-printer.gif b/doc/de/images/button-add-printer.gif deleted file mode 100644 index 49b4bcb855..0000000000 Binary files a/doc/de/images/button-add-printer.gif and /dev/null differ diff --git a/doc/de/images/button-add-rss-subscription.gif b/doc/de/images/button-add-rss-subscription.gif deleted file mode 100644 index 5a4d93ce24..0000000000 Binary files a/doc/de/images/button-add-rss-subscription.gif and /dev/null differ diff --git a/doc/de/images/button-add-this-printer.gif b/doc/de/images/button-add-this-printer.gif deleted file mode 100644 index df9c7c02ae..0000000000 Binary files a/doc/de/images/button-add-this-printer.gif and /dev/null differ diff --git a/doc/de/images/button-cancel-all-jobs.gif b/doc/de/images/button-cancel-all-jobs.gif deleted file mode 100644 index bb92d2059c..0000000000 Binary files a/doc/de/images/button-cancel-all-jobs.gif and /dev/null differ diff --git a/doc/de/images/button-cancel-job.gif b/doc/de/images/button-cancel-job.gif deleted file mode 100644 index 48821df67d..0000000000 Binary files a/doc/de/images/button-cancel-job.gif and /dev/null differ diff --git a/doc/de/images/button-cancel-subscription.gif b/doc/de/images/button-cancel-subscription.gif deleted file mode 100644 index 29cbf90d6d..0000000000 Binary files a/doc/de/images/button-cancel-subscription.gif and /dev/null differ diff --git a/doc/de/images/button-change-settings.gif b/doc/de/images/button-change-settings.gif deleted file mode 100644 index 0c0c4f5408..0000000000 Binary files a/doc/de/images/button-change-settings.gif and /dev/null differ diff --git a/doc/de/images/button-clean-print-heads.gif b/doc/de/images/button-clean-print-heads.gif deleted file mode 100644 index 14c64744ab..0000000000 Binary files a/doc/de/images/button-clean-print-heads.gif and /dev/null differ diff --git a/doc/de/images/button-clear.gif b/doc/de/images/button-clear.gif deleted file mode 100644 index 1002f4db2d..0000000000 Binary files a/doc/de/images/button-clear.gif and /dev/null differ diff --git a/doc/de/images/button-continue.gif b/doc/de/images/button-continue.gif deleted file mode 100644 index b8a55bfc84..0000000000 Binary files a/doc/de/images/button-continue.gif and /dev/null differ diff --git a/doc/de/images/button-delete-class.gif b/doc/de/images/button-delete-class.gif deleted file mode 100644 index 6cab405d91..0000000000 Binary files a/doc/de/images/button-delete-class.gif and /dev/null differ diff --git a/doc/de/images/button-delete-printer.gif b/doc/de/images/button-delete-printer.gif deleted file mode 100644 index 1991ba0099..0000000000 Binary files a/doc/de/images/button-delete-printer.gif and /dev/null differ diff --git a/doc/de/images/button-edit-configuration-file.gif b/doc/de/images/button-edit-configuration-file.gif deleted file mode 100644 index fdba122762..0000000000 Binary files a/doc/de/images/button-edit-configuration-file.gif and /dev/null differ diff --git a/doc/de/images/button-export-samba.gif b/doc/de/images/button-export-samba.gif deleted file mode 100644 index a9f51a9a34..0000000000 Binary files a/doc/de/images/button-export-samba.gif and /dev/null differ diff --git a/doc/de/images/button-find-new-printers.gif b/doc/de/images/button-find-new-printers.gif deleted file mode 100644 index 24a8221bd3..0000000000 Binary files a/doc/de/images/button-find-new-printers.gif and /dev/null differ diff --git a/doc/de/images/button-help.gif b/doc/de/images/button-help.gif deleted file mode 100644 index 8079e44312..0000000000 Binary files a/doc/de/images/button-help.gif and /dev/null differ diff --git a/doc/de/images/button-hold-job.gif b/doc/de/images/button-hold-job.gif deleted file mode 100644 index 955f9a4e78..0000000000 Binary files a/doc/de/images/button-hold-job.gif and /dev/null differ diff --git a/doc/de/images/button-manage-classes.gif b/doc/de/images/button-manage-classes.gif deleted file mode 100644 index 6489ebc9a2..0000000000 Binary files a/doc/de/images/button-manage-classes.gif and /dev/null differ diff --git a/doc/de/images/button-manage-jobs.gif b/doc/de/images/button-manage-jobs.gif deleted file mode 100644 index 4d4e553484..0000000000 Binary files a/doc/de/images/button-manage-jobs.gif and /dev/null differ diff --git a/doc/de/images/button-manage-printers.gif b/doc/de/images/button-manage-printers.gif deleted file mode 100644 index 26feda4e5e..0000000000 Binary files a/doc/de/images/button-manage-printers.gif and /dev/null differ diff --git a/doc/de/images/button-manage-server.gif b/doc/de/images/button-manage-server.gif deleted file mode 100644 index 16a879590c..0000000000 Binary files a/doc/de/images/button-manage-server.gif and /dev/null differ diff --git a/doc/de/images/button-modify-class.gif b/doc/de/images/button-modify-class.gif deleted file mode 100644 index e163da7f6b..0000000000 Binary files a/doc/de/images/button-modify-class.gif and /dev/null differ diff --git a/doc/de/images/button-modify-printer.gif b/doc/de/images/button-modify-printer.gif deleted file mode 100644 index a9ec147652..0000000000 Binary files a/doc/de/images/button-modify-printer.gif and /dev/null differ diff --git a/doc/de/images/button-move-job.gif b/doc/de/images/button-move-job.gif deleted file mode 100644 index 700b9beafd..0000000000 Binary files a/doc/de/images/button-move-job.gif and /dev/null differ diff --git a/doc/de/images/button-move-jobs.gif b/doc/de/images/button-move-jobs.gif deleted file mode 100644 index 5da7788163..0000000000 Binary files a/doc/de/images/button-move-jobs.gif and /dev/null differ diff --git a/doc/de/images/button-print-self-test-page.gif b/doc/de/images/button-print-self-test-page.gif deleted file mode 100644 index d5d3aab60e..0000000000 Binary files a/doc/de/images/button-print-self-test-page.gif and /dev/null differ diff --git a/doc/de/images/button-print-test-page.gif b/doc/de/images/button-print-test-page.gif deleted file mode 100644 index 01dc7573f4..0000000000 Binary files a/doc/de/images/button-print-test-page.gif and /dev/null differ diff --git a/doc/de/images/button-publish-printer.gif b/doc/de/images/button-publish-printer.gif deleted file mode 100644 index 181cb2767f..0000000000 Binary files a/doc/de/images/button-publish-printer.gif and /dev/null differ diff --git a/doc/de/images/button-reject-jobs.gif b/doc/de/images/button-reject-jobs.gif deleted file mode 100644 index e23cfca908..0000000000 Binary files a/doc/de/images/button-reject-jobs.gif and /dev/null differ diff --git a/doc/de/images/button-release-job.gif b/doc/de/images/button-release-job.gif deleted file mode 100644 index d353700d0b..0000000000 Binary files a/doc/de/images/button-release-job.gif and /dev/null differ diff --git a/doc/de/images/button-restart-job.gif b/doc/de/images/button-restart-job.gif deleted file mode 100644 index 97449c1c81..0000000000 Binary files a/doc/de/images/button-restart-job.gif and /dev/null differ diff --git a/doc/de/images/button-save-changes.gif b/doc/de/images/button-save-changes.gif deleted file mode 100644 index 661c59060d..0000000000 Binary files a/doc/de/images/button-save-changes.gif and /dev/null differ diff --git a/doc/de/images/button-search.gif b/doc/de/images/button-search.gif deleted file mode 100644 index 9378f8d17b..0000000000 Binary files a/doc/de/images/button-search.gif and /dev/null differ diff --git a/doc/de/images/button-set-allowed-users.gif b/doc/de/images/button-set-allowed-users.gif deleted file mode 100644 index a62eb100a4..0000000000 Binary files a/doc/de/images/button-set-allowed-users.gif and /dev/null differ diff --git a/doc/de/images/button-set-as-default.gif b/doc/de/images/button-set-as-default.gif deleted file mode 100644 index c2a33a97ae..0000000000 Binary files a/doc/de/images/button-set-as-default.gif and /dev/null differ diff --git a/doc/de/images/button-set-printer-options.gif b/doc/de/images/button-set-printer-options.gif deleted file mode 100644 index daf8710943..0000000000 Binary files a/doc/de/images/button-set-printer-options.gif and /dev/null differ diff --git a/doc/de/images/button-show-active.gif b/doc/de/images/button-show-active.gif deleted file mode 100644 index 4a2270e6e0..0000000000 Binary files a/doc/de/images/button-show-active.gif and /dev/null differ diff --git a/doc/de/images/button-show-all.gif b/doc/de/images/button-show-all.gif deleted file mode 100644 index 8564af952f..0000000000 Binary files a/doc/de/images/button-show-all.gif and /dev/null differ diff --git a/doc/de/images/button-show-completed.gif b/doc/de/images/button-show-completed.gif deleted file mode 100644 index ad03d3e481..0000000000 Binary files a/doc/de/images/button-show-completed.gif and /dev/null differ diff --git a/doc/de/images/button-show-next.gif b/doc/de/images/button-show-next.gif deleted file mode 100644 index c3a18e9688..0000000000 Binary files a/doc/de/images/button-show-next.gif and /dev/null differ diff --git a/doc/de/images/button-show-previous.gif b/doc/de/images/button-show-previous.gif deleted file mode 100644 index 426180f1e3..0000000000 Binary files a/doc/de/images/button-show-previous.gif and /dev/null differ diff --git a/doc/de/images/button-sort-ascending.gif b/doc/de/images/button-sort-ascending.gif deleted file mode 100644 index a544d2b9df..0000000000 Binary files a/doc/de/images/button-sort-ascending.gif and /dev/null differ diff --git a/doc/de/images/button-sort-descending.gif b/doc/de/images/button-sort-descending.gif deleted file mode 100644 index 076533dbc7..0000000000 Binary files a/doc/de/images/button-sort-descending.gif and /dev/null differ diff --git a/doc/de/images/button-start-class.gif b/doc/de/images/button-start-class.gif deleted file mode 100644 index e5170346ac..0000000000 Binary files a/doc/de/images/button-start-class.gif and /dev/null differ diff --git a/doc/de/images/button-start-printer.gif b/doc/de/images/button-start-printer.gif deleted file mode 100644 index 4bab122f89..0000000000 Binary files a/doc/de/images/button-start-printer.gif and /dev/null differ diff --git a/doc/de/images/button-stop-class.gif b/doc/de/images/button-stop-class.gif deleted file mode 100644 index 5bce808514..0000000000 Binary files a/doc/de/images/button-stop-class.gif and /dev/null differ diff --git a/doc/de/images/button-stop-printer.gif b/doc/de/images/button-stop-printer.gif deleted file mode 100644 index 934486074e..0000000000 Binary files a/doc/de/images/button-stop-printer.gif and /dev/null differ diff --git a/doc/de/images/button-unpublish-printer.gif b/doc/de/images/button-unpublish-printer.gif deleted file mode 100644 index ecf33fa512..0000000000 Binary files a/doc/de/images/button-unpublish-printer.gif and /dev/null differ diff --git a/doc/de/images/button-use-default-config.gif b/doc/de/images/button-use-default-config.gif deleted file mode 100644 index 930b2948d1..0000000000 Binary files a/doc/de/images/button-use-default-config.gif and /dev/null differ diff --git a/doc/de/images/button-view-access-log.gif b/doc/de/images/button-view-access-log.gif deleted file mode 100644 index 82ad70b7ba..0000000000 Binary files a/doc/de/images/button-view-access-log.gif and /dev/null differ diff --git a/doc/de/images/button-view-error-log.gif b/doc/de/images/button-view-error-log.gif deleted file mode 100644 index c90c0bff5a..0000000000 Binary files a/doc/de/images/button-view-error-log.gif and /dev/null differ diff --git a/doc/de/images/button-view-page-log.gif b/doc/de/images/button-view-page-log.gif deleted file mode 100644 index cc7a22f1ab..0000000000 Binary files a/doc/de/images/button-view-page-log.gif and /dev/null differ diff --git a/doc/de/images/button-view-printable-version.gif b/doc/de/images/button-view-printable-version.gif deleted file mode 100644 index e7b4e9c3ca..0000000000 Binary files a/doc/de/images/button-view-printable-version.gif and /dev/null differ diff --git a/doc/de/index.html.in b/doc/de/index.html.in deleted file mode 100644 index b7c9b22c31..0000000000 --- a/doc/de/index.html.in +++ /dev/null @@ -1,128 +0,0 @@ - - - - - Startseite - CUPS @CUPS_VERSION@@CUPS_REVISION@ - - - - - - - - - - - - - - - - - - - - - - - -

Common UNIX Printing System @CUPS_VERSION@@CUPS_REVISION@

- -  Startseite   - -   Verwaltung   - -   Klassen   - -   Dokumentation/Hilfe   - -   Aufträge   - -   Drucker   - -
  - -

Herzlich Willkommen!

- -

Auf diesen Seiten können Sie Ihre Drucker und Aufträge überwachen, -sowie auch Verwaltungsaufgaben durchzuführen. Klicken Sie auf einen der -oberen Karteireiter oder eine der Schaltflächen um eine Tätigkeit auszuführen.

- -

-Hilfe -Klasse hinzufügen -Drucker hinzufügen -Klassen verwalten -Aufträge verwalten -Drucker verwalten -Server verwalten -

- -

Wenn Sie nach einem Benutzernamen und Passwort gefragt werden, -geben Sie bitte Ihren Benutzernamen und Ihr Passwort oder -den Benutzernamen und das Passwort des "root" Benutzers ein.

- -

Über CUPS

- -

-Happy Computer and Printer - -CUPS stellt eine portierbare Druckerschicht für -UNIX®-basierte Betriebssysteme bereit. Es wird entwickelt -und gepflegt von Apple Inc. um eine Standard Druckerlösung zu fördern. CUPS ist das -Standard Drucksystem welches von MacOS® X und den meisten -Linux® Distributionen verwendet wird.

- -

CUPS benutzt das Internet Printing Protocol ("IPP") als -Basis für die Verwaltung von Druckaufträge und Warteschlangen und fügt -Drucker-Browsing und PostScript Printer Description ("PPD") basierte -Druckeigenschaften hinzu um komplexe Druckumgebungen optimale zu -unterstützen.

- -

Druckertreiber und Unterstützung

- -

Besuchen Sie die offizielle CUPS Seite um Druckertreiber und -Unterstützung zu erhalten:

- -
-    www.cups.org
-
- -
 
- -

Das Common UNIX Printing System, CUPS, und das CUPS Logo sind -eingetragene Warenzeichen der Apple Inc. -CUPS ist urheberrechtlich geschützt 2007 von Apple Inc, alle Rechte vorbehalten.

- -
- - diff --git a/doc/es/images/button-accept-jobs.gif b/doc/es/images/button-accept-jobs.gif deleted file mode 100644 index 3e635b771e..0000000000 Binary files a/doc/es/images/button-accept-jobs.gif and /dev/null differ diff --git a/doc/es/images/button-add-class.gif b/doc/es/images/button-add-class.gif deleted file mode 100644 index 366dbf9ced..0000000000 Binary files a/doc/es/images/button-add-class.gif and /dev/null differ diff --git a/doc/es/images/button-add-printer.gif b/doc/es/images/button-add-printer.gif deleted file mode 100644 index 44f8d53976..0000000000 Binary files a/doc/es/images/button-add-printer.gif and /dev/null differ diff --git a/doc/es/images/button-add-rss-subscription.gif b/doc/es/images/button-add-rss-subscription.gif deleted file mode 100644 index 2dbb859f7a..0000000000 Binary files a/doc/es/images/button-add-rss-subscription.gif and /dev/null differ diff --git a/doc/es/images/button-add-this-printer.gif b/doc/es/images/button-add-this-printer.gif deleted file mode 100644 index 94198d484b..0000000000 Binary files a/doc/es/images/button-add-this-printer.gif and /dev/null differ diff --git a/doc/es/images/button-cancel-all-jobs.gif b/doc/es/images/button-cancel-all-jobs.gif deleted file mode 100644 index 557c39e53f..0000000000 Binary files a/doc/es/images/button-cancel-all-jobs.gif and /dev/null differ diff --git a/doc/es/images/button-cancel-job.gif b/doc/es/images/button-cancel-job.gif deleted file mode 100644 index dd29b02124..0000000000 Binary files a/doc/es/images/button-cancel-job.gif and /dev/null differ diff --git a/doc/es/images/button-cancel-subscription.gif b/doc/es/images/button-cancel-subscription.gif deleted file mode 100644 index 5c8a4d6543..0000000000 Binary files a/doc/es/images/button-cancel-subscription.gif and /dev/null differ diff --git a/doc/es/images/button-change-settings.gif b/doc/es/images/button-change-settings.gif deleted file mode 100644 index c0ea42de20..0000000000 Binary files a/doc/es/images/button-change-settings.gif and /dev/null differ diff --git a/doc/es/images/button-clean-print-heads.gif b/doc/es/images/button-clean-print-heads.gif deleted file mode 100644 index 2e833c8eaa..0000000000 Binary files a/doc/es/images/button-clean-print-heads.gif and /dev/null differ diff --git a/doc/es/images/button-clear.gif b/doc/es/images/button-clear.gif deleted file mode 100644 index 4476911bf3..0000000000 Binary files a/doc/es/images/button-clear.gif and /dev/null differ diff --git a/doc/es/images/button-continue.gif b/doc/es/images/button-continue.gif deleted file mode 100644 index f6c27a6478..0000000000 Binary files a/doc/es/images/button-continue.gif and /dev/null differ diff --git a/doc/es/images/button-delete-class.gif b/doc/es/images/button-delete-class.gif deleted file mode 100644 index c7de009522..0000000000 Binary files a/doc/es/images/button-delete-class.gif and /dev/null differ diff --git a/doc/es/images/button-delete-printer.gif b/doc/es/images/button-delete-printer.gif deleted file mode 100644 index e1f4b110bd..0000000000 Binary files a/doc/es/images/button-delete-printer.gif and /dev/null differ diff --git a/doc/es/images/button-edit-configuration-file.gif b/doc/es/images/button-edit-configuration-file.gif deleted file mode 100644 index f12a903798..0000000000 Binary files a/doc/es/images/button-edit-configuration-file.gif and /dev/null differ diff --git a/doc/es/images/button-export-samba.gif b/doc/es/images/button-export-samba.gif deleted file mode 100644 index 42d9d30b47..0000000000 Binary files a/doc/es/images/button-export-samba.gif and /dev/null differ diff --git a/doc/es/images/button-find-new-printers.gif b/doc/es/images/button-find-new-printers.gif deleted file mode 100644 index 301d32e319..0000000000 Binary files a/doc/es/images/button-find-new-printers.gif and /dev/null differ diff --git a/doc/es/images/button-help.gif b/doc/es/images/button-help.gif deleted file mode 100644 index 37ee0de62c..0000000000 Binary files a/doc/es/images/button-help.gif and /dev/null differ diff --git a/doc/es/images/button-hold-job.gif b/doc/es/images/button-hold-job.gif deleted file mode 100644 index 74ead76557..0000000000 Binary files a/doc/es/images/button-hold-job.gif and /dev/null differ diff --git a/doc/es/images/button-manage-classes.gif b/doc/es/images/button-manage-classes.gif deleted file mode 100644 index a3d80dc31a..0000000000 Binary files a/doc/es/images/button-manage-classes.gif and /dev/null differ diff --git a/doc/es/images/button-manage-jobs.gif b/doc/es/images/button-manage-jobs.gif deleted file mode 100644 index 6a2d949154..0000000000 Binary files a/doc/es/images/button-manage-jobs.gif and /dev/null differ diff --git a/doc/es/images/button-manage-printers.gif b/doc/es/images/button-manage-printers.gif deleted file mode 100644 index 25008b6489..0000000000 Binary files a/doc/es/images/button-manage-printers.gif and /dev/null differ diff --git a/doc/es/images/button-manage-server.gif b/doc/es/images/button-manage-server.gif deleted file mode 100644 index b53c87a782..0000000000 Binary files a/doc/es/images/button-manage-server.gif and /dev/null differ diff --git a/doc/es/images/button-modify-class.gif b/doc/es/images/button-modify-class.gif deleted file mode 100644 index b7069e0043..0000000000 Binary files a/doc/es/images/button-modify-class.gif and /dev/null differ diff --git a/doc/es/images/button-modify-printer.gif b/doc/es/images/button-modify-printer.gif deleted file mode 100644 index ee5a683550..0000000000 Binary files a/doc/es/images/button-modify-printer.gif and /dev/null differ diff --git a/doc/es/images/button-move-job.gif b/doc/es/images/button-move-job.gif deleted file mode 100644 index d5cf9c3763..0000000000 Binary files a/doc/es/images/button-move-job.gif and /dev/null differ diff --git a/doc/es/images/button-move-jobs.gif b/doc/es/images/button-move-jobs.gif deleted file mode 100644 index b2fd0a35b4..0000000000 Binary files a/doc/es/images/button-move-jobs.gif and /dev/null differ diff --git a/doc/es/images/button-print-self-test-page.gif b/doc/es/images/button-print-self-test-page.gif deleted file mode 100644 index 9e2d8cbaa4..0000000000 Binary files a/doc/es/images/button-print-self-test-page.gif and /dev/null differ diff --git a/doc/es/images/button-print-test-page.gif b/doc/es/images/button-print-test-page.gif deleted file mode 100644 index 07058119e3..0000000000 Binary files a/doc/es/images/button-print-test-page.gif and /dev/null differ diff --git a/doc/es/images/button-publish-printer.gif b/doc/es/images/button-publish-printer.gif deleted file mode 100644 index f05a81790f..0000000000 Binary files a/doc/es/images/button-publish-printer.gif and /dev/null differ diff --git a/doc/es/images/button-reject-jobs.gif b/doc/es/images/button-reject-jobs.gif deleted file mode 100644 index 6ad9fad90e..0000000000 Binary files a/doc/es/images/button-reject-jobs.gif and /dev/null differ diff --git a/doc/es/images/button-release-job.gif b/doc/es/images/button-release-job.gif deleted file mode 100644 index 0e17928199..0000000000 Binary files a/doc/es/images/button-release-job.gif and /dev/null differ diff --git a/doc/es/images/button-restart-job.gif b/doc/es/images/button-restart-job.gif deleted file mode 100644 index 8a716919c3..0000000000 Binary files a/doc/es/images/button-restart-job.gif and /dev/null differ diff --git a/doc/es/images/button-save-changes.gif b/doc/es/images/button-save-changes.gif deleted file mode 100644 index 1dc1a38311..0000000000 Binary files a/doc/es/images/button-save-changes.gif and /dev/null differ diff --git a/doc/es/images/button-search.gif b/doc/es/images/button-search.gif deleted file mode 100644 index d25e74525a..0000000000 Binary files a/doc/es/images/button-search.gif and /dev/null differ diff --git a/doc/es/images/button-set-allowed-users.gif b/doc/es/images/button-set-allowed-users.gif deleted file mode 100644 index c61bbed567..0000000000 Binary files a/doc/es/images/button-set-allowed-users.gif and /dev/null differ diff --git a/doc/es/images/button-set-as-default.gif b/doc/es/images/button-set-as-default.gif deleted file mode 100644 index 6111ada3c3..0000000000 Binary files a/doc/es/images/button-set-as-default.gif and /dev/null differ diff --git a/doc/es/images/button-set-printer-options.gif b/doc/es/images/button-set-printer-options.gif deleted file mode 100644 index fc3d00034a..0000000000 Binary files a/doc/es/images/button-set-printer-options.gif and /dev/null differ diff --git a/doc/es/images/button-show-active.gif b/doc/es/images/button-show-active.gif deleted file mode 100644 index c8732474e9..0000000000 Binary files a/doc/es/images/button-show-active.gif and /dev/null differ diff --git a/doc/es/images/button-show-all.gif b/doc/es/images/button-show-all.gif deleted file mode 100644 index da63054113..0000000000 Binary files a/doc/es/images/button-show-all.gif and /dev/null differ diff --git a/doc/es/images/button-show-completed.gif b/doc/es/images/button-show-completed.gif deleted file mode 100644 index 83785d8fe4..0000000000 Binary files a/doc/es/images/button-show-completed.gif and /dev/null differ diff --git a/doc/es/images/button-show-next.gif b/doc/es/images/button-show-next.gif deleted file mode 100644 index 9a5f25051e..0000000000 Binary files a/doc/es/images/button-show-next.gif and /dev/null differ diff --git a/doc/es/images/button-show-previous.gif b/doc/es/images/button-show-previous.gif deleted file mode 100644 index 2a338a1f2e..0000000000 Binary files a/doc/es/images/button-show-previous.gif and /dev/null differ diff --git a/doc/es/images/button-sort-ascending.gif b/doc/es/images/button-sort-ascending.gif deleted file mode 100644 index 0a6c2bf6f6..0000000000 Binary files a/doc/es/images/button-sort-ascending.gif and /dev/null differ diff --git a/doc/es/images/button-sort-descending.gif b/doc/es/images/button-sort-descending.gif deleted file mode 100644 index 0e7466ff8c..0000000000 Binary files a/doc/es/images/button-sort-descending.gif and /dev/null differ diff --git a/doc/es/images/button-start-class.gif b/doc/es/images/button-start-class.gif deleted file mode 100644 index 79e585bef4..0000000000 Binary files a/doc/es/images/button-start-class.gif and /dev/null differ diff --git a/doc/es/images/button-start-printer.gif b/doc/es/images/button-start-printer.gif deleted file mode 100644 index e0a6a5b4c1..0000000000 Binary files a/doc/es/images/button-start-printer.gif and /dev/null differ diff --git a/doc/es/images/button-stop-class.gif b/doc/es/images/button-stop-class.gif deleted file mode 100644 index 6f1466256c..0000000000 Binary files a/doc/es/images/button-stop-class.gif and /dev/null differ diff --git a/doc/es/images/button-stop-printer.gif b/doc/es/images/button-stop-printer.gif deleted file mode 100644 index b057546783..0000000000 Binary files a/doc/es/images/button-stop-printer.gif and /dev/null differ diff --git a/doc/es/images/button-unpublish-printer.gif b/doc/es/images/button-unpublish-printer.gif deleted file mode 100644 index 8e0772dc49..0000000000 Binary files a/doc/es/images/button-unpublish-printer.gif and /dev/null differ diff --git a/doc/es/images/button-use-default-config.gif b/doc/es/images/button-use-default-config.gif deleted file mode 100644 index 6ccefbb741..0000000000 Binary files a/doc/es/images/button-use-default-config.gif and /dev/null differ diff --git a/doc/es/images/button-view-access-log.gif b/doc/es/images/button-view-access-log.gif deleted file mode 100644 index 202015cf64..0000000000 Binary files a/doc/es/images/button-view-access-log.gif and /dev/null differ diff --git a/doc/es/images/button-view-error-log.gif b/doc/es/images/button-view-error-log.gif deleted file mode 100644 index ca93057136..0000000000 Binary files a/doc/es/images/button-view-error-log.gif and /dev/null differ diff --git a/doc/es/images/button-view-page-log.gif b/doc/es/images/button-view-page-log.gif deleted file mode 100644 index b9c078ec57..0000000000 Binary files a/doc/es/images/button-view-page-log.gif and /dev/null differ diff --git a/doc/es/images/button-view-printable-version.gif b/doc/es/images/button-view-printable-version.gif deleted file mode 100644 index 23e401c2f5..0000000000 Binary files a/doc/es/images/button-view-printable-version.gif and /dev/null differ diff --git a/doc/es/images/buttons_es.txt b/doc/es/images/buttons_es.txt deleted file mode 100644 index 5d78f62980..0000000000 --- a/doc/es/images/buttons_es.txt +++ /dev/null @@ -1,55 +0,0 @@ -button-accept-jobs.gif green Aceptar trabajos -button-add-class.gif standard Añadir clase -button-add-printer.gif standard Añadir impresora -button-add-rss-subscription.gif standard Añadir subscripción RSS -button-add-this-printer.gif standard Añadir esta impresora -button-cancel-all-jobs.gif black Cancelar todos los trabajos -button-cancel-job.gif black Cancelar trabajo -button-cancel-subscription.gif standard Cancelar subscripción -button-change-settings.gif standard Cambiar especificaciones -button-clean-print-heads.gif standard Limpiar cabezales de impresión -button-clear.gif standard Borrar -button-continue.gif standard Siguiente -button-delete-class.gif black Borrar clase -button-delete-printer.gif black Borrar impresora -button-edit-configuration-file.gif standard Editar archivo configuración -button-export-samba.gif standard Exportar impresoras a Samba -button-find-new-printers.gif standard Encontrar nuevas impresoras -button-help.gif standard Ayuda -button-hold-job.gif red Retener trabajo -button-manage-classes.gif standard Administrar clases -button-manage-jobs.gif standard Administrar trabajos -button-manage-printers.gif standard Administrar impresoras -button-manage-server.gif standard Administrar servidor -button-modify-class.gif standard Modificar clase -button-modify-printer.gif standard Modificar impresora -button-move-job.gif standard Mover trabajo -button-move-jobs.gif standard Mover todos los trabajos -button-print-self-test-page.gif standard Imprimir página de auto prueba -button-print-test-page.gif standard Imprimir página de prueba -button-publish-printer.gif standard Publicar impresora -button-reject-jobs.gif red Rechazar trabajos -button-release-job.gif green Liberar trabajo -button-restart-job.gif standard Reimprimir trabajo -button-save-changes.gif standard Guardar cambios -button-search.gif standard Buscar -button-set-allowed-users.gif standard Cambiar usuarios permitidos -button-set-as-default.gif standard Poner como predeterminada -button-set-printer-options.gif standard Cambiar opciones impresora -button-show-active.gif standard Mostrar trabajos activos -button-show-all.gif standard Mostrar todos los trabajos -button-show-completed.gif standard Mostrar trabajos completados -button-show-next.gif standard Mostrar siguiente -button-show-previous.gif standard Mostrar anterior -button-sort-ascending.gif standard @UP Orden ascendente @UP -button-sort-descending.gif standard @DOWN Orden descendente @DOWN -button-start-class.gif green Iniciar clase -button-start-printer.gif green Iniciar impresora -button-stop-class.gif red Detener clase -button-stop-printer.gif red Detener impresora -button-unpublish-printer.gif standard No publicar impresora -button-use-default-config.gif standard Usar archivo de configuración predeterminado -button-view-access-log.gif standard Ver archivo de registro de accesos -button-view-error-log.gif standard Ver archivo de registro de errores -button-view-page-log.gif standard Ver archivo de registro de páginas -button-view-printable-version.gif standard Ver versión imprimible diff --git a/doc/es/index.html.in b/doc/es/index.html.in deleted file mode 100644 index 09c7749494..0000000000 --- a/doc/es/index.html.in +++ /dev/null @@ -1,132 +0,0 @@ - - - - - Inicio - CUPS @CUPS_VERSION@@CUPS_REVISION@ - - - - - - - - - - - - - - - - - - - - - - - -

Common UNIX Printing System @CUPS_VERSION@@CUPS_REVISION@

- -  Inicio   - -   Administración   - -   Clases   - -   Documentación/Ayuda   - -   Trabajos   - -   Impresoras   - -
  - -

¡Bienvenido!

- -

Estas páginas web permiten monitorizar sus impresoras y trabajos -así como realizar tareas de administración del sistema. -Haga clic en cualquiera de las pestañas de la parte superior o en los -botones de la parte inferior para realizar la tarea correspondiente.

- -

-Ayuda -Añadir clase -Añadir impresora -Administrar clases -Administrar trabajos -Administrar impresoras -Administrar servidor -

- -

Si se le pide un nombre de usuario y contraseña, -introduzca su nombre de usuario y su contraseña o el usuario y -contraseña de "root".

- -

Acerca de CUPS

- -

-Ordenador feliz e impresora - -CUPS proporciona una capa de impresión portable -para sistemas operativos basados en -UNIX®. Está desarrollado y mantenido -por Apple Inc. para favorecer una solución de impresión -estandar. CUPS es el sistema de impresión estandar usado en -MacOS® X y la mayoría de distribuciones -Linux®.

- -

CUPS usa el Protocolo de Impresión de Internet ("IPP") como -base para gestionar los trabajos y colas de impresión y añade -búsqueda de impresoras en red y opciones de impresión -basadas en archivos de descripción de impresora PostScript ("PPD") -para soporte de impresión del mundo real.

- -

Para controladores de impresoras y asistencia

- -

Visite la página oficial de CUPS para controladores de impresoras -y asistencia:

- -
-    www.cups.org
-
- -
 
- -

Common UNIX Printing System, CUPS, y el logo de CUPS son -marcas registradas de Apple Inc. -Los derechos de copia de CUPS 2007 son de Apple Inc. -Todos los derechos reservados.

- -
- - diff --git a/doc/et/images/button-accept-jobs.gif b/doc/et/images/button-accept-jobs.gif deleted file mode 100644 index 38521be7d5..0000000000 Binary files a/doc/et/images/button-accept-jobs.gif and /dev/null differ diff --git a/doc/et/images/button-add-class.gif b/doc/et/images/button-add-class.gif deleted file mode 100644 index fc6a4ad218..0000000000 Binary files a/doc/et/images/button-add-class.gif and /dev/null differ diff --git a/doc/et/images/button-add-printer.gif b/doc/et/images/button-add-printer.gif deleted file mode 100644 index 6c8d04a3de..0000000000 Binary files a/doc/et/images/button-add-printer.gif and /dev/null differ diff --git a/doc/et/images/button-add-this-printer.gif b/doc/et/images/button-add-this-printer.gif deleted file mode 100644 index 54f19ff1d5..0000000000 Binary files a/doc/et/images/button-add-this-printer.gif and /dev/null differ diff --git a/doc/et/images/button-cancel-all-jobs.gif b/doc/et/images/button-cancel-all-jobs.gif deleted file mode 100644 index 50d31fa435..0000000000 Binary files a/doc/et/images/button-cancel-all-jobs.gif and /dev/null differ diff --git a/doc/et/images/button-cancel-job.gif b/doc/et/images/button-cancel-job.gif deleted file mode 100644 index d731ed7095..0000000000 Binary files a/doc/et/images/button-cancel-job.gif and /dev/null differ diff --git a/doc/et/images/button-change-settings.gif b/doc/et/images/button-change-settings.gif deleted file mode 100644 index 8bcc0a20ac..0000000000 Binary files a/doc/et/images/button-change-settings.gif and /dev/null differ diff --git a/doc/et/images/button-clean-print-heads.gif b/doc/et/images/button-clean-print-heads.gif deleted file mode 100644 index 3b5472c358..0000000000 Binary files a/doc/et/images/button-clean-print-heads.gif and /dev/null differ diff --git a/doc/et/images/button-clear.gif b/doc/et/images/button-clear.gif deleted file mode 100644 index bff0e60e30..0000000000 Binary files a/doc/et/images/button-clear.gif and /dev/null differ diff --git a/doc/et/images/button-continue.gif b/doc/et/images/button-continue.gif deleted file mode 100644 index fbc1f95f38..0000000000 Binary files a/doc/et/images/button-continue.gif and /dev/null differ diff --git a/doc/et/images/button-delete-class.gif b/doc/et/images/button-delete-class.gif deleted file mode 100644 index ae0d7ca5a6..0000000000 Binary files a/doc/et/images/button-delete-class.gif and /dev/null differ diff --git a/doc/et/images/button-delete-printer.gif b/doc/et/images/button-delete-printer.gif deleted file mode 100644 index 00ed5a5040..0000000000 Binary files a/doc/et/images/button-delete-printer.gif and /dev/null differ diff --git a/doc/et/images/button-edit-configuration-file.gif b/doc/et/images/button-edit-configuration-file.gif deleted file mode 100644 index a846b9680a..0000000000 Binary files a/doc/et/images/button-edit-configuration-file.gif and /dev/null differ diff --git a/doc/et/images/button-export-samba.gif b/doc/et/images/button-export-samba.gif deleted file mode 100644 index f595ebb226..0000000000 Binary files a/doc/et/images/button-export-samba.gif and /dev/null differ diff --git a/doc/et/images/button-help.gif b/doc/et/images/button-help.gif deleted file mode 100644 index 64e5b24b80..0000000000 Binary files a/doc/et/images/button-help.gif and /dev/null differ diff --git a/doc/et/images/button-hold-job.gif b/doc/et/images/button-hold-job.gif deleted file mode 100644 index c364193130..0000000000 Binary files a/doc/et/images/button-hold-job.gif and /dev/null differ diff --git a/doc/et/images/button-manage-classes.gif b/doc/et/images/button-manage-classes.gif deleted file mode 100644 index e26ed65290..0000000000 Binary files a/doc/et/images/button-manage-classes.gif and /dev/null differ diff --git a/doc/et/images/button-manage-jobs.gif b/doc/et/images/button-manage-jobs.gif deleted file mode 100644 index 79841b79b3..0000000000 Binary files a/doc/et/images/button-manage-jobs.gif and /dev/null differ diff --git a/doc/et/images/button-manage-printers.gif b/doc/et/images/button-manage-printers.gif deleted file mode 100644 index 680db58e51..0000000000 Binary files a/doc/et/images/button-manage-printers.gif and /dev/null differ diff --git a/doc/et/images/button-manage-server.gif b/doc/et/images/button-manage-server.gif deleted file mode 100644 index 1909ee7e06..0000000000 Binary files a/doc/et/images/button-manage-server.gif and /dev/null differ diff --git a/doc/et/images/button-modify-class.gif b/doc/et/images/button-modify-class.gif deleted file mode 100644 index b88c3faa15..0000000000 Binary files a/doc/et/images/button-modify-class.gif and /dev/null differ diff --git a/doc/et/images/button-modify-printer.gif b/doc/et/images/button-modify-printer.gif deleted file mode 100644 index 93483dd394..0000000000 Binary files a/doc/et/images/button-modify-printer.gif and /dev/null differ diff --git a/doc/et/images/button-move-job.gif b/doc/et/images/button-move-job.gif deleted file mode 100644 index 3d55566e9c..0000000000 Binary files a/doc/et/images/button-move-job.gif and /dev/null differ diff --git a/doc/et/images/button-move-jobs.gif b/doc/et/images/button-move-jobs.gif deleted file mode 100644 index 49585e3512..0000000000 Binary files a/doc/et/images/button-move-jobs.gif and /dev/null differ diff --git a/doc/et/images/button-print-self-test-page.gif b/doc/et/images/button-print-self-test-page.gif deleted file mode 100644 index 17d5b0c2f2..0000000000 Binary files a/doc/et/images/button-print-self-test-page.gif and /dev/null differ diff --git a/doc/et/images/button-print-test-page.gif b/doc/et/images/button-print-test-page.gif deleted file mode 100644 index bbe06edd71..0000000000 Binary files a/doc/et/images/button-print-test-page.gif and /dev/null differ diff --git a/doc/et/images/button-publish-printer.gif b/doc/et/images/button-publish-printer.gif deleted file mode 100644 index 8ecd812030..0000000000 Binary files a/doc/et/images/button-publish-printer.gif and /dev/null differ diff --git a/doc/et/images/button-reject-jobs.gif b/doc/et/images/button-reject-jobs.gif deleted file mode 100644 index aaccb43f5b..0000000000 Binary files a/doc/et/images/button-reject-jobs.gif and /dev/null differ diff --git a/doc/et/images/button-release-job.gif b/doc/et/images/button-release-job.gif deleted file mode 100644 index e369f03c95..0000000000 Binary files a/doc/et/images/button-release-job.gif and /dev/null differ diff --git a/doc/et/images/button-restart-job.gif b/doc/et/images/button-restart-job.gif deleted file mode 100644 index beac40a72c..0000000000 Binary files a/doc/et/images/button-restart-job.gif and /dev/null differ diff --git a/doc/et/images/button-save-changes.gif b/doc/et/images/button-save-changes.gif deleted file mode 100644 index 870f8d52d2..0000000000 Binary files a/doc/et/images/button-save-changes.gif and /dev/null differ diff --git a/doc/et/images/button-search.gif b/doc/et/images/button-search.gif deleted file mode 100644 index 43824d516a..0000000000 Binary files a/doc/et/images/button-search.gif and /dev/null differ diff --git a/doc/et/images/button-set-allowed-users.gif b/doc/et/images/button-set-allowed-users.gif deleted file mode 100644 index 261c13c469..0000000000 Binary files a/doc/et/images/button-set-allowed-users.gif and /dev/null differ diff --git a/doc/et/images/button-set-as-default.gif b/doc/et/images/button-set-as-default.gif deleted file mode 100644 index fdc7066f57..0000000000 Binary files a/doc/et/images/button-set-as-default.gif and /dev/null differ diff --git a/doc/et/images/button-set-printer-options.gif b/doc/et/images/button-set-printer-options.gif deleted file mode 100644 index 2a0441ad37..0000000000 Binary files a/doc/et/images/button-set-printer-options.gif and /dev/null differ diff --git a/doc/et/images/button-show-active.gif b/doc/et/images/button-show-active.gif deleted file mode 100644 index 34cc73989f..0000000000 Binary files a/doc/et/images/button-show-active.gif and /dev/null differ diff --git a/doc/et/images/button-show-all.gif b/doc/et/images/button-show-all.gif deleted file mode 100644 index 61280064bb..0000000000 Binary files a/doc/et/images/button-show-all.gif and /dev/null differ diff --git a/doc/et/images/button-show-completed.gif b/doc/et/images/button-show-completed.gif deleted file mode 100644 index 165dbe0fae..0000000000 Binary files a/doc/et/images/button-show-completed.gif and /dev/null differ diff --git a/doc/et/images/button-show-next.gif b/doc/et/images/button-show-next.gif deleted file mode 100644 index 57031e9eb3..0000000000 Binary files a/doc/et/images/button-show-next.gif and /dev/null differ diff --git a/doc/et/images/button-show-previous.gif b/doc/et/images/button-show-previous.gif deleted file mode 100644 index d32f7a81bd..0000000000 Binary files a/doc/et/images/button-show-previous.gif and /dev/null differ diff --git a/doc/et/images/button-sort-ascending.gif b/doc/et/images/button-sort-ascending.gif deleted file mode 100644 index 0d92546326..0000000000 Binary files a/doc/et/images/button-sort-ascending.gif and /dev/null differ diff --git a/doc/et/images/button-sort-descending.gif b/doc/et/images/button-sort-descending.gif deleted file mode 100644 index 0ac534dade..0000000000 Binary files a/doc/et/images/button-sort-descending.gif and /dev/null differ diff --git a/doc/et/images/button-start-class.gif b/doc/et/images/button-start-class.gif deleted file mode 100644 index e13a45152c..0000000000 Binary files a/doc/et/images/button-start-class.gif and /dev/null differ diff --git a/doc/et/images/button-start-printer.gif b/doc/et/images/button-start-printer.gif deleted file mode 100644 index e4a462c4cb..0000000000 Binary files a/doc/et/images/button-start-printer.gif and /dev/null differ diff --git a/doc/et/images/button-stop-class.gif b/doc/et/images/button-stop-class.gif deleted file mode 100644 index b395262137..0000000000 Binary files a/doc/et/images/button-stop-class.gif and /dev/null differ diff --git a/doc/et/images/button-stop-printer.gif b/doc/et/images/button-stop-printer.gif deleted file mode 100644 index 65e69ae1dd..0000000000 Binary files a/doc/et/images/button-stop-printer.gif and /dev/null differ diff --git a/doc/et/images/button-unpublish-printer.gif b/doc/et/images/button-unpublish-printer.gif deleted file mode 100644 index e1883234ba..0000000000 Binary files a/doc/et/images/button-unpublish-printer.gif and /dev/null differ diff --git a/doc/et/images/button-use-default-config.gif b/doc/et/images/button-use-default-config.gif deleted file mode 100644 index 00318d5946..0000000000 Binary files a/doc/et/images/button-use-default-config.gif and /dev/null differ diff --git a/doc/et/images/button-view-access-log.gif b/doc/et/images/button-view-access-log.gif deleted file mode 100644 index 36dac05998..0000000000 Binary files a/doc/et/images/button-view-access-log.gif and /dev/null differ diff --git a/doc/et/images/button-view-error-log.gif b/doc/et/images/button-view-error-log.gif deleted file mode 100644 index 8c871ce95a..0000000000 Binary files a/doc/et/images/button-view-error-log.gif and /dev/null differ diff --git a/doc/et/images/button-view-page-log.gif b/doc/et/images/button-view-page-log.gif deleted file mode 100644 index 13f2ca706b..0000000000 Binary files a/doc/et/images/button-view-page-log.gif and /dev/null differ diff --git a/doc/et/images/button-view-printable-version.gif b/doc/et/images/button-view-printable-version.gif deleted file mode 100644 index 4b8e0c6523..0000000000 Binary files a/doc/et/images/button-view-printable-version.gif and /dev/null differ diff --git a/doc/et/index.html.in b/doc/et/index.html.in deleted file mode 100644 index bcf1aae05e..0000000000 --- a/doc/et/index.html.in +++ /dev/null @@ -1,127 +0,0 @@ - - - - - Kodu - CUPS @CUPS_VERSION@@CUPS_REVISION@ - - - - - - - - - - - - - - - - - - - - - - - -

Common UNIX Printing System @CUPS_VERSION@@CUPS_REVISION@

- -  Kodu   - -   Haldus   - -   Klassid   - -   Dokumentatsioon/Abi   - -   Tööd   - -   Printerid   - -
  - -

Tere tulemast!

- -

Käesolevad veebileheküljed võimaldavad Teil jälgida oma printereid ja töid -ning süsteemi hallata. Klõpsake vajalike ülesannete sooritamiseks mõnele -ülal paiknevale sakile või all asuvale nupule.

- -

-Abi -Lisa klass -Lisa printer -Halda klasse -Halda töid -Halda printereid -Halda serverit -

- -

Kui Teie käest päritakse kasutajanime ja parooli, sisestage enda -või administraatori (root) kasutajanimi ja parool.

- -

CUPS-i info

- -

-Happy Computer and Printer - -CUPS pakub porditavat trükkimiskihti -UNIX® põhistele operatsioonisüsteemidele. CUPS-i töötas -välja ja hooldab Apple Inc, -selle siht on edendada standardseid trükkimislahendusi. CUPS on -standardne trükkimissüsteem, mida kasutavad MacOS® X ja -suurem osa Linux® distributsioone.

- -

CUPS kasutab Interneti trükkimisprotokolli ("IPP") -trükitööde ja järjekordade haldamiseks, lisades sellele -võrguprinterite kasutamise ning PostScript-printerikirjelduste ("PPD") -põhise trükkimise võimalused trükkimise maksimaalseks hõlbustamiseks.

- -

Printeridraiveritest ja abist

- -

Printeridraiverite ja muu abi leidmiseks külastage CUPS-i -ametlikku veebilehekülge:

- -
-    www.cups.org
-
- -
 
- -

Common UNIX Printing System, CUPS ja CUPS-i logo on -firma Apple Inc. kaubamärgid. CUPS-i autoriõigus 2007: Apple Inc, -kõik õigused kaitstud.

- -
- - diff --git a/doc/favicon.ico b/doc/favicon.ico deleted file mode 100644 index f3aa3068b5..0000000000 Binary files a/doc/favicon.ico and /dev/null differ diff --git a/doc/favicon.png b/doc/favicon.png new file mode 100644 index 0000000000..dda0497a2f Binary files /dev/null and b/doc/favicon.png differ diff --git a/doc/fr/images/button-accept-jobs.gif b/doc/fr/images/button-accept-jobs.gif deleted file mode 100644 index 76596039d9..0000000000 Binary files a/doc/fr/images/button-accept-jobs.gif and /dev/null differ diff --git a/doc/fr/images/button-add-class.gif b/doc/fr/images/button-add-class.gif deleted file mode 100644 index 4870f31ffc..0000000000 Binary files a/doc/fr/images/button-add-class.gif and /dev/null differ diff --git a/doc/fr/images/button-add-printer.gif b/doc/fr/images/button-add-printer.gif deleted file mode 100644 index 813eaf8b93..0000000000 Binary files a/doc/fr/images/button-add-printer.gif and /dev/null differ diff --git a/doc/fr/images/button-add-this-printer.gif b/doc/fr/images/button-add-this-printer.gif deleted file mode 100644 index 92d3d83a06..0000000000 Binary files a/doc/fr/images/button-add-this-printer.gif and /dev/null differ diff --git a/doc/fr/images/button-cancel-all-jobs.gif b/doc/fr/images/button-cancel-all-jobs.gif deleted file mode 100644 index 6ee51b7d11..0000000000 Binary files a/doc/fr/images/button-cancel-all-jobs.gif and /dev/null differ diff --git a/doc/fr/images/button-cancel-job.gif b/doc/fr/images/button-cancel-job.gif deleted file mode 100644 index bbffe120b5..0000000000 Binary files a/doc/fr/images/button-cancel-job.gif and /dev/null differ diff --git a/doc/fr/images/button-change-settings.gif b/doc/fr/images/button-change-settings.gif deleted file mode 100644 index 3d6e59a36f..0000000000 Binary files a/doc/fr/images/button-change-settings.gif and /dev/null differ diff --git a/doc/fr/images/button-clean-print-heads.gif b/doc/fr/images/button-clean-print-heads.gif deleted file mode 100644 index da5649258a..0000000000 Binary files a/doc/fr/images/button-clean-print-heads.gif and /dev/null differ diff --git a/doc/fr/images/button-clear.gif b/doc/fr/images/button-clear.gif deleted file mode 100644 index bbf4fe34bd..0000000000 Binary files a/doc/fr/images/button-clear.gif and /dev/null differ diff --git a/doc/fr/images/button-continue.gif b/doc/fr/images/button-continue.gif deleted file mode 100644 index c203ca7c49..0000000000 Binary files a/doc/fr/images/button-continue.gif and /dev/null differ diff --git a/doc/fr/images/button-delete-class.gif b/doc/fr/images/button-delete-class.gif deleted file mode 100644 index bbff5bc86a..0000000000 Binary files a/doc/fr/images/button-delete-class.gif and /dev/null differ diff --git a/doc/fr/images/button-delete-printer.gif b/doc/fr/images/button-delete-printer.gif deleted file mode 100644 index d3328a608d..0000000000 Binary files a/doc/fr/images/button-delete-printer.gif and /dev/null differ diff --git a/doc/fr/images/button-edit-configuration-file.gif b/doc/fr/images/button-edit-configuration-file.gif deleted file mode 100644 index 779940919c..0000000000 Binary files a/doc/fr/images/button-edit-configuration-file.gif and /dev/null differ diff --git a/doc/fr/images/button-export-samba.gif b/doc/fr/images/button-export-samba.gif deleted file mode 100644 index 4b63edf8c2..0000000000 Binary files a/doc/fr/images/button-export-samba.gif and /dev/null differ diff --git a/doc/fr/images/button-help.gif b/doc/fr/images/button-help.gif deleted file mode 100644 index 5640d3819f..0000000000 Binary files a/doc/fr/images/button-help.gif and /dev/null differ diff --git a/doc/fr/images/button-hold-job.gif b/doc/fr/images/button-hold-job.gif deleted file mode 100644 index bd42ee29a5..0000000000 Binary files a/doc/fr/images/button-hold-job.gif and /dev/null differ diff --git a/doc/fr/images/button-manage-classes.gif b/doc/fr/images/button-manage-classes.gif deleted file mode 100644 index a96ef74e17..0000000000 Binary files a/doc/fr/images/button-manage-classes.gif and /dev/null differ diff --git a/doc/fr/images/button-manage-jobs.gif b/doc/fr/images/button-manage-jobs.gif deleted file mode 100644 index 66e25cac07..0000000000 Binary files a/doc/fr/images/button-manage-jobs.gif and /dev/null differ diff --git a/doc/fr/images/button-manage-printers.gif b/doc/fr/images/button-manage-printers.gif deleted file mode 100644 index 6c0a946750..0000000000 Binary files a/doc/fr/images/button-manage-printers.gif and /dev/null differ diff --git a/doc/fr/images/button-manage-server.gif b/doc/fr/images/button-manage-server.gif deleted file mode 100644 index bcb6e3eedf..0000000000 Binary files a/doc/fr/images/button-manage-server.gif and /dev/null differ diff --git a/doc/fr/images/button-modify-class.gif b/doc/fr/images/button-modify-class.gif deleted file mode 100644 index e9187b9665..0000000000 Binary files a/doc/fr/images/button-modify-class.gif and /dev/null differ diff --git a/doc/fr/images/button-modify-printer.gif b/doc/fr/images/button-modify-printer.gif deleted file mode 100644 index 4972f8d11d..0000000000 Binary files a/doc/fr/images/button-modify-printer.gif and /dev/null differ diff --git a/doc/fr/images/button-move-job.gif b/doc/fr/images/button-move-job.gif deleted file mode 100644 index 104d044d3d..0000000000 Binary files a/doc/fr/images/button-move-job.gif and /dev/null differ diff --git a/doc/fr/images/button-move-jobs.gif b/doc/fr/images/button-move-jobs.gif deleted file mode 100644 index 5894ce3952..0000000000 Binary files a/doc/fr/images/button-move-jobs.gif and /dev/null differ diff --git a/doc/fr/images/button-print-self-test-page.gif b/doc/fr/images/button-print-self-test-page.gif deleted file mode 100644 index dc0b3ce935..0000000000 Binary files a/doc/fr/images/button-print-self-test-page.gif and /dev/null differ diff --git a/doc/fr/images/button-print-test-page.gif b/doc/fr/images/button-print-test-page.gif deleted file mode 100644 index 6e90992309..0000000000 Binary files a/doc/fr/images/button-print-test-page.gif and /dev/null differ diff --git a/doc/fr/images/button-publish-printer.gif b/doc/fr/images/button-publish-printer.gif deleted file mode 100644 index 51fbc050f1..0000000000 Binary files a/doc/fr/images/button-publish-printer.gif and /dev/null differ diff --git a/doc/fr/images/button-reject-jobs.gif b/doc/fr/images/button-reject-jobs.gif deleted file mode 100644 index 690bbaa3ae..0000000000 Binary files a/doc/fr/images/button-reject-jobs.gif and /dev/null differ diff --git a/doc/fr/images/button-release-job.gif b/doc/fr/images/button-release-job.gif deleted file mode 100644 index dd053b4fa5..0000000000 Binary files a/doc/fr/images/button-release-job.gif and /dev/null differ diff --git a/doc/fr/images/button-restart-job.gif b/doc/fr/images/button-restart-job.gif deleted file mode 100644 index 0f111a92b1..0000000000 Binary files a/doc/fr/images/button-restart-job.gif and /dev/null differ diff --git a/doc/fr/images/button-save-changes.gif b/doc/fr/images/button-save-changes.gif deleted file mode 100644 index f13b94d19e..0000000000 Binary files a/doc/fr/images/button-save-changes.gif and /dev/null differ diff --git a/doc/fr/images/button-search.gif b/doc/fr/images/button-search.gif deleted file mode 100644 index 633193e78b..0000000000 Binary files a/doc/fr/images/button-search.gif and /dev/null differ diff --git a/doc/fr/images/button-set-allowed-users.gif b/doc/fr/images/button-set-allowed-users.gif deleted file mode 100644 index 195460c18e..0000000000 Binary files a/doc/fr/images/button-set-allowed-users.gif and /dev/null differ diff --git a/doc/fr/images/button-set-as-default.gif b/doc/fr/images/button-set-as-default.gif deleted file mode 100644 index c06b56e75c..0000000000 Binary files a/doc/fr/images/button-set-as-default.gif and /dev/null differ diff --git a/doc/fr/images/button-set-printer-options.gif b/doc/fr/images/button-set-printer-options.gif deleted file mode 100644 index 5223d3a45e..0000000000 Binary files a/doc/fr/images/button-set-printer-options.gif and /dev/null differ diff --git a/doc/fr/images/button-show-active.gif b/doc/fr/images/button-show-active.gif deleted file mode 100644 index 0328159a5d..0000000000 Binary files a/doc/fr/images/button-show-active.gif and /dev/null differ diff --git a/doc/fr/images/button-show-all.gif b/doc/fr/images/button-show-all.gif deleted file mode 100644 index 4e6c6a8d44..0000000000 Binary files a/doc/fr/images/button-show-all.gif and /dev/null differ diff --git a/doc/fr/images/button-show-completed.gif b/doc/fr/images/button-show-completed.gif deleted file mode 100644 index 7a71e5a314..0000000000 Binary files a/doc/fr/images/button-show-completed.gif and /dev/null differ diff --git a/doc/fr/images/button-show-next.gif b/doc/fr/images/button-show-next.gif deleted file mode 100644 index 4817478fcc..0000000000 Binary files a/doc/fr/images/button-show-next.gif and /dev/null differ diff --git a/doc/fr/images/button-show-previous.gif b/doc/fr/images/button-show-previous.gif deleted file mode 100644 index 1b1ee4badd..0000000000 Binary files a/doc/fr/images/button-show-previous.gif and /dev/null differ diff --git a/doc/fr/images/button-sort-ascending.gif b/doc/fr/images/button-sort-ascending.gif deleted file mode 100644 index 41db4f698e..0000000000 Binary files a/doc/fr/images/button-sort-ascending.gif and /dev/null differ diff --git a/doc/fr/images/button-sort-descending.gif b/doc/fr/images/button-sort-descending.gif deleted file mode 100644 index 9bd48d9fba..0000000000 Binary files a/doc/fr/images/button-sort-descending.gif and /dev/null differ diff --git a/doc/fr/images/button-start-class.gif b/doc/fr/images/button-start-class.gif deleted file mode 100644 index fa10ce6823..0000000000 Binary files a/doc/fr/images/button-start-class.gif and /dev/null differ diff --git a/doc/fr/images/button-start-printer.gif b/doc/fr/images/button-start-printer.gif deleted file mode 100644 index cc0f3ddb53..0000000000 Binary files a/doc/fr/images/button-start-printer.gif and /dev/null differ diff --git a/doc/fr/images/button-stop-class.gif b/doc/fr/images/button-stop-class.gif deleted file mode 100644 index 913abd08a1..0000000000 Binary files a/doc/fr/images/button-stop-class.gif and /dev/null differ diff --git a/doc/fr/images/button-stop-printer.gif b/doc/fr/images/button-stop-printer.gif deleted file mode 100644 index f4eef6ecb2..0000000000 Binary files a/doc/fr/images/button-stop-printer.gif and /dev/null differ diff --git a/doc/fr/images/button-unpublish-printer.gif b/doc/fr/images/button-unpublish-printer.gif deleted file mode 100644 index 699cd2debb..0000000000 Binary files a/doc/fr/images/button-unpublish-printer.gif and /dev/null differ diff --git a/doc/fr/images/button-use-default-config.gif b/doc/fr/images/button-use-default-config.gif deleted file mode 100644 index cfc56599e8..0000000000 Binary files a/doc/fr/images/button-use-default-config.gif and /dev/null differ diff --git a/doc/fr/images/button-view-access-log.gif b/doc/fr/images/button-view-access-log.gif deleted file mode 100644 index 195457d8f9..0000000000 Binary files a/doc/fr/images/button-view-access-log.gif and /dev/null differ diff --git a/doc/fr/images/button-view-error-log.gif b/doc/fr/images/button-view-error-log.gif deleted file mode 100644 index 8f699e0fd1..0000000000 Binary files a/doc/fr/images/button-view-error-log.gif and /dev/null differ diff --git a/doc/fr/images/button-view-page-log.gif b/doc/fr/images/button-view-page-log.gif deleted file mode 100644 index b7751f4793..0000000000 Binary files a/doc/fr/images/button-view-page-log.gif and /dev/null differ diff --git a/doc/fr/images/button-view-printable-version.gif b/doc/fr/images/button-view-printable-version.gif deleted file mode 100644 index 84c5bc9f10..0000000000 Binary files a/doc/fr/images/button-view-printable-version.gif and /dev/null differ diff --git a/doc/fr/index.html.in b/doc/fr/index.html.in deleted file mode 100644 index a10365f35b..0000000000 --- a/doc/fr/index.html.in +++ /dev/null @@ -1,126 +0,0 @@ - - - - - Accueil - CUPS @CUPS_VERSION@@CUPS_REVISION@ - - - - - - - - - - - - - - - - - - - - - - - -

Common UNIX Printing System @CUPS_VERSION@@CUPS_REVISION@

- -  Accueil   - -   Administration   - -   Classes   - -   Documentation/Aide   - -   Tâches   - -   Imprimantes   - -
  - -

Bienvenue !

- -

Ces pages Web vous permettent de gérer vos imprimantes et vos tâches -d'impression comme d'administrer le système. Cliquez sur les onglets ci-dessus ou -sur les boutons ci-dessous pour effectuer une action.

- -

-Aide -Ajouter une classe -Ajouter une imprimante -Administrer les classes -Administrer les tâches -Administrer les imprimantes -Administrer le serveur -

- -

Si l'on vous demande de vous identifier, utilisez votre nom d'utilisateur et -votre mot de passe UNIX ou bien identifiez-vous en tant que "root".

- -

À propos de CUPS

- -

-Ordinateur content et imprimante - -CUPS propose une interface portable pour l'impression sur les systèmes -UNIX®. Ce logiciel est développé et maintenu par Apple Inc. afin de promouvoir une solution standard pour l'impression. CUPS -est le système d'impression standard de MacOS® X et de la -plupart des distributions Linux®.

- -

CUPS repose sur le protocole IPP ( Internet Printing Protocol ) pour la gestion des tâches -d'impression et, pour être utilisable en pratique, y ajoute la détection -d'imprimantes en réseau et des options d'impression fondées sur le format PPD ( -PostScript Printer Description ).

- -

Pilotes d'imprimante et Assistance

- -

Visitez le site officiel de CUPS pour avoir des pilotes d'imprimante ou toute -autre assistance:

- -
-    www.cups.org
-
- -
 
- -

Le logiciel CUPS ( Common UNIX Printing System ) et son logo sont -propriété commerciale de Apple Inc. CUPS -est sous copyright 2007 par Apple Inc, Tous -Droits Réservés.

- -
- - diff --git a/doc/he/cups.css b/doc/he/cups.css deleted file mode 100644 index 705f6f1a24..0000000000 --- a/doc/he/cups.css +++ /dev/null @@ -1,265 +0,0 @@ -BODY { - background: #cccc99; - color: #000000; - font-family: sans-serif; - direction: rtl; -} - -H1, H2, H3, H4, H5, H6, P, TD, TH { - font-family: sans-serif; -} - -KBD { - color: #006600; - font-family: monospace; - font-weight: bold; -} - -PRE { - font-family: monospace; -} - -PRE.command { - color: #7f0000; - margin-left: 36pt; -} - -PRE.command EM { - color: #3f0000; -} - -P.command { - color: #7f0000; - font-family: monospace; - margin-left: 36pt; -} - -P.formula { - font-style: italic; - margin-left: 36pt; -} - -BLOCKQUOTE { - background: #bbbb88; - border: solid thin #999966; - padding: 10pt; -} - -A:link, A:visited { - text-decoration: none; - font-weight: bold; - color: #993300; -} - -A:link:hover, A:visited:hover, A:active { - text-decoration: underline; - font-weight: bold; - color: #bb5500; -} - -A.sel, TR.sel { - background-color: #eeeebb; - color: #993300; -} - -TR.sel TD { - padding: 4pt; -} - -A.unsel, A.unsel:visited { - background-color: #666633; - color: #e8e8b8; -} - -A.unsel:link:hover, A.unsel:visited:hover, A.unsel:active { - background-color: #999966; - color: #663300; -} - -INPUT[TYPE="TEXT"], TEXTAREA { - font-family: monospace; -} - -INPUT[TYPE="IMAGE"] { - border: none; - padding: 2pt; - vertical-align: bottom; -} - -SUB, SUP { - font-size: 50%; -} - -TR.header, TR.header TH, TH.header, TR.trailer, TR.trailer TH, TH.trailer { - background-color: #bbbb88; -} - -TR.page, TD.page { - background-color: #eeeebb; - height: 100%; - padding-top: 20pt; - padding-bottom: 20pt; -} - -TR.data, TD.data, TR.data TD { - padding: 5; - border-bottom: solid 2pt #000000; -} - -TR.data TH { - border-bottom: solid 2pt #000000; - padding-top: 10pt; - padding-right: 5pt; - text-align: right; -} - -DIV.table TABLE { - border: solid thin #999966; - border-spacing: 0; - margin-left: auto; - margin-right: auto; -} - -DIV.table CAPTION { - caption-side: top; - font-size: 120%; - font-style: italic; - font-weight: bold; - margin-left: auto; - margin-right: auto; -} - -DIV.table TABLE TD { - border: solid thin #bbbb88; - padding-top: 5pt; -} - -DIV.table TABLE TH { - background: #bbbb88; - border: none; - border-bottom: solid thin #999966; -} - -DIV.figure TABLE { - margin-left: auto; - margin-right: auto; -} - -DIV.figure CAPTION { - caption-side: bottom; - font-size: 120%; - font-style: italic; - font-weight: bold; - margin-left: auto; - margin-right: auto; -} - -TH.label { - padding-top: 5pt; - text-align: right; - vertical-align: top; -} - -HR { - border: solid thin; -} - -SPAN.info { - background: #000000; - border: thin solid #000000; - color: #ffffff; - font-size: 80%; - font-style: italic; - font-weight: bold; - white-space: nowrap; -} - -H2 SPAN.info, H3 SPAN.info { - float: right; - font-size: 100%; -} - -.conflict { - color: red; -} - -H2.title, H3.title { - border-bottom: solid 2pt #000000; -} - -IMG.button { - border: none; - padding: 2pt; - vertical-align: middle; -} - -DIV.sidebar { - background: #ddddaa; - border: solid 2px #cccc99; - float: right; - margin-left: 10pt; - padding: 5pt; - width: 25%; - /* These are not implemented by all browsers, but that's OK */ - border-radius: 10pt; - -moz-border-radius: 10pt; - box-shadow: 5pt 5pt 5pt #cccccc; -} - -DIV.sidebar P.l0 { - margin-bottom: 0; - margin-left: 0; - margin-right: 0; - margin-top: 12pt; -} - -DIV.sidebar P.l1 { - margin-bottom: 0; - margin-left: 36pt; - margin-right: 0; - margin-top: 0; - text-indent: -18pt; -} - -DIV.sidebar P.l2 { - font-style: italic; - margin-bottom: 0; - margin-left: 54pt; - margin-right: 0; - margin-top: 0; - text-indent: -18pt; -} - -TABLE.pager { - background: #cccc99; - border: solid thin #999966; - margin-top: 10pt; - padding: 2pt; - /* These are not implemented by all browsers, but that's OK */ - border-radius: 10pt; - -moz-border-radius: 10pt; - box-shadow: 5pt 5pt 5pt #cccccc; -} - -DT { - margin-left: 36pt; - margin-top: 12pt; -} - -DD { - margin-left: 54pt; -} - -DL.category DT { - font-weight: bold; -} - -P.summary { - margin-left: 54pt; - font-family: monospace; -} - -SPAN.message { - font-style: italic; - font-size: smaller; -} diff --git a/doc/he/images/button-accept-jobs.gif b/doc/he/images/button-accept-jobs.gif deleted file mode 100644 index 3fe7ab67ba..0000000000 Binary files a/doc/he/images/button-accept-jobs.gif and /dev/null differ diff --git a/doc/he/images/button-add-class.gif b/doc/he/images/button-add-class.gif deleted file mode 100644 index 68df2a3896..0000000000 Binary files a/doc/he/images/button-add-class.gif and /dev/null differ diff --git a/doc/he/images/button-add-printer.gif b/doc/he/images/button-add-printer.gif deleted file mode 100644 index d6bea515bc..0000000000 Binary files a/doc/he/images/button-add-printer.gif and /dev/null differ diff --git a/doc/he/images/button-add-this-printer.gif b/doc/he/images/button-add-this-printer.gif deleted file mode 100644 index 2a53369d03..0000000000 Binary files a/doc/he/images/button-add-this-printer.gif and /dev/null differ diff --git a/doc/he/images/button-cancel-all-jobs.gif b/doc/he/images/button-cancel-all-jobs.gif deleted file mode 100644 index f41b04404b..0000000000 Binary files a/doc/he/images/button-cancel-all-jobs.gif and /dev/null differ diff --git a/doc/he/images/button-cancel-job.gif b/doc/he/images/button-cancel-job.gif deleted file mode 100644 index f438e6c8b5..0000000000 Binary files a/doc/he/images/button-cancel-job.gif and /dev/null differ diff --git a/doc/he/images/button-change-settings.gif b/doc/he/images/button-change-settings.gif deleted file mode 100644 index 9c91f422a0..0000000000 Binary files a/doc/he/images/button-change-settings.gif and /dev/null differ diff --git a/doc/he/images/button-clean-print-heads.gif b/doc/he/images/button-clean-print-heads.gif deleted file mode 100644 index 98a15ec935..0000000000 Binary files a/doc/he/images/button-clean-print-heads.gif and /dev/null differ diff --git a/doc/he/images/button-clear.gif b/doc/he/images/button-clear.gif deleted file mode 100644 index cb61c9c1f5..0000000000 Binary files a/doc/he/images/button-clear.gif and /dev/null differ diff --git a/doc/he/images/button-continue.gif b/doc/he/images/button-continue.gif deleted file mode 100644 index 1026bb8a1e..0000000000 Binary files a/doc/he/images/button-continue.gif and /dev/null differ diff --git a/doc/he/images/button-delete-class.gif b/doc/he/images/button-delete-class.gif deleted file mode 100644 index 67590d0771..0000000000 Binary files a/doc/he/images/button-delete-class.gif and /dev/null differ diff --git a/doc/he/images/button-delete-printer.gif b/doc/he/images/button-delete-printer.gif deleted file mode 100644 index e41fd6cdaf..0000000000 Binary files a/doc/he/images/button-delete-printer.gif and /dev/null differ diff --git a/doc/he/images/button-edit-configuration-file.gif b/doc/he/images/button-edit-configuration-file.gif deleted file mode 100644 index 6dc7746c79..0000000000 Binary files a/doc/he/images/button-edit-configuration-file.gif and /dev/null differ diff --git a/doc/he/images/button-export-samba.gif b/doc/he/images/button-export-samba.gif deleted file mode 100644 index 7de828886a..0000000000 Binary files a/doc/he/images/button-export-samba.gif and /dev/null differ diff --git a/doc/he/images/button-help.gif b/doc/he/images/button-help.gif deleted file mode 100644 index 7319d651c2..0000000000 Binary files a/doc/he/images/button-help.gif and /dev/null differ diff --git a/doc/he/images/button-hold-job.gif b/doc/he/images/button-hold-job.gif deleted file mode 100644 index 455bf857ce..0000000000 Binary files a/doc/he/images/button-hold-job.gif and /dev/null differ diff --git a/doc/he/images/button-manage-classes.gif b/doc/he/images/button-manage-classes.gif deleted file mode 100644 index 0491eda869..0000000000 Binary files a/doc/he/images/button-manage-classes.gif and /dev/null differ diff --git a/doc/he/images/button-manage-jobs.gif b/doc/he/images/button-manage-jobs.gif deleted file mode 100644 index c245e840bc..0000000000 Binary files a/doc/he/images/button-manage-jobs.gif and /dev/null differ diff --git a/doc/he/images/button-manage-printers.gif b/doc/he/images/button-manage-printers.gif deleted file mode 100644 index 81e0f27dff..0000000000 Binary files a/doc/he/images/button-manage-printers.gif and /dev/null differ diff --git a/doc/he/images/button-manage-server.gif b/doc/he/images/button-manage-server.gif deleted file mode 100644 index 987680ba2f..0000000000 Binary files a/doc/he/images/button-manage-server.gif and /dev/null differ diff --git a/doc/he/images/button-modify-class.gif b/doc/he/images/button-modify-class.gif deleted file mode 100644 index 8a57edd16a..0000000000 Binary files a/doc/he/images/button-modify-class.gif and /dev/null differ diff --git a/doc/he/images/button-modify-printer.gif b/doc/he/images/button-modify-printer.gif deleted file mode 100644 index 0e2e272166..0000000000 Binary files a/doc/he/images/button-modify-printer.gif and /dev/null differ diff --git a/doc/he/images/button-move-job.gif b/doc/he/images/button-move-job.gif deleted file mode 100644 index 8ecf2e2697..0000000000 Binary files a/doc/he/images/button-move-job.gif and /dev/null differ diff --git a/doc/he/images/button-move-jobs.gif b/doc/he/images/button-move-jobs.gif deleted file mode 100644 index 9bd3da15a5..0000000000 Binary files a/doc/he/images/button-move-jobs.gif and /dev/null differ diff --git a/doc/he/images/button-print-self-test-page.gif b/doc/he/images/button-print-self-test-page.gif deleted file mode 100644 index c0ce8b1452..0000000000 Binary files a/doc/he/images/button-print-self-test-page.gif and /dev/null differ diff --git a/doc/he/images/button-print-test-page.gif b/doc/he/images/button-print-test-page.gif deleted file mode 100644 index 4776db3b9e..0000000000 Binary files a/doc/he/images/button-print-test-page.gif and /dev/null differ diff --git a/doc/he/images/button-publish-printer.gif b/doc/he/images/button-publish-printer.gif deleted file mode 100644 index fa87119f23..0000000000 Binary files a/doc/he/images/button-publish-printer.gif and /dev/null differ diff --git a/doc/he/images/button-reject-jobs.gif b/doc/he/images/button-reject-jobs.gif deleted file mode 100644 index cd7b2239ac..0000000000 Binary files a/doc/he/images/button-reject-jobs.gif and /dev/null differ diff --git a/doc/he/images/button-release-job.gif b/doc/he/images/button-release-job.gif deleted file mode 100644 index d7a29107af..0000000000 Binary files a/doc/he/images/button-release-job.gif and /dev/null differ diff --git a/doc/he/images/button-restart-job.gif b/doc/he/images/button-restart-job.gif deleted file mode 100644 index 944684d046..0000000000 Binary files a/doc/he/images/button-restart-job.gif and /dev/null differ diff --git a/doc/he/images/button-save-changes.gif b/doc/he/images/button-save-changes.gif deleted file mode 100644 index b8a995ddd1..0000000000 Binary files a/doc/he/images/button-save-changes.gif and /dev/null differ diff --git a/doc/he/images/button-search.gif b/doc/he/images/button-search.gif deleted file mode 100644 index bb48febb78..0000000000 Binary files a/doc/he/images/button-search.gif and /dev/null differ diff --git a/doc/he/images/button-set-allowed-users.gif b/doc/he/images/button-set-allowed-users.gif deleted file mode 100644 index 497449db6b..0000000000 Binary files a/doc/he/images/button-set-allowed-users.gif and /dev/null differ diff --git a/doc/he/images/button-set-as-default.gif b/doc/he/images/button-set-as-default.gif deleted file mode 100644 index c1b0c349bd..0000000000 Binary files a/doc/he/images/button-set-as-default.gif and /dev/null differ diff --git a/doc/he/images/button-set-printer-options.gif b/doc/he/images/button-set-printer-options.gif deleted file mode 100644 index 2cd8e38841..0000000000 Binary files a/doc/he/images/button-set-printer-options.gif and /dev/null differ diff --git a/doc/he/images/button-show-active.gif b/doc/he/images/button-show-active.gif deleted file mode 100644 index 1fdfa11537..0000000000 Binary files a/doc/he/images/button-show-active.gif and /dev/null differ diff --git a/doc/he/images/button-show-all.gif b/doc/he/images/button-show-all.gif deleted file mode 100644 index faeac9a58e..0000000000 Binary files a/doc/he/images/button-show-all.gif and /dev/null differ diff --git a/doc/he/images/button-show-completed.gif b/doc/he/images/button-show-completed.gif deleted file mode 100644 index e818e177c2..0000000000 Binary files a/doc/he/images/button-show-completed.gif and /dev/null differ diff --git a/doc/he/images/button-show-next.gif b/doc/he/images/button-show-next.gif deleted file mode 100644 index e2b0e5558c..0000000000 Binary files a/doc/he/images/button-show-next.gif and /dev/null differ diff --git a/doc/he/images/button-show-previous.gif b/doc/he/images/button-show-previous.gif deleted file mode 100644 index cb254be7a0..0000000000 Binary files a/doc/he/images/button-show-previous.gif and /dev/null differ diff --git a/doc/he/images/button-sort-ascending.gif b/doc/he/images/button-sort-ascending.gif deleted file mode 100644 index 64d11a66f0..0000000000 Binary files a/doc/he/images/button-sort-ascending.gif and /dev/null differ diff --git a/doc/he/images/button-sort-descending.gif b/doc/he/images/button-sort-descending.gif deleted file mode 100644 index 6f3a47fa49..0000000000 Binary files a/doc/he/images/button-sort-descending.gif and /dev/null differ diff --git a/doc/he/images/button-start-class.gif b/doc/he/images/button-start-class.gif deleted file mode 100644 index ae3e5ee1d4..0000000000 Binary files a/doc/he/images/button-start-class.gif and /dev/null differ diff --git a/doc/he/images/button-start-printer.gif b/doc/he/images/button-start-printer.gif deleted file mode 100644 index 37a146e11d..0000000000 Binary files a/doc/he/images/button-start-printer.gif and /dev/null differ diff --git a/doc/he/images/button-stop-class.gif b/doc/he/images/button-stop-class.gif deleted file mode 100644 index cccc5872e3..0000000000 Binary files a/doc/he/images/button-stop-class.gif and /dev/null differ diff --git a/doc/he/images/button-stop-printer.gif b/doc/he/images/button-stop-printer.gif deleted file mode 100644 index e0811dfa17..0000000000 Binary files a/doc/he/images/button-stop-printer.gif and /dev/null differ diff --git a/doc/he/images/button-unpublish-printer.gif b/doc/he/images/button-unpublish-printer.gif deleted file mode 100644 index 4c29397851..0000000000 Binary files a/doc/he/images/button-unpublish-printer.gif and /dev/null differ diff --git a/doc/he/images/button-use-default-config.gif b/doc/he/images/button-use-default-config.gif deleted file mode 100644 index 2f6986cfc6..0000000000 Binary files a/doc/he/images/button-use-default-config.gif and /dev/null differ diff --git a/doc/he/images/button-view-access-log.gif b/doc/he/images/button-view-access-log.gif deleted file mode 100644 index 3322c6bfd2..0000000000 Binary files a/doc/he/images/button-view-access-log.gif and /dev/null differ diff --git a/doc/he/images/button-view-error-log.gif b/doc/he/images/button-view-error-log.gif deleted file mode 100644 index d53beec7cc..0000000000 Binary files a/doc/he/images/button-view-error-log.gif and /dev/null differ diff --git a/doc/he/images/button-view-page-log.gif b/doc/he/images/button-view-page-log.gif deleted file mode 100644 index e06d156326..0000000000 Binary files a/doc/he/images/button-view-page-log.gif and /dev/null differ diff --git a/doc/he/images/button-view-printable-version.gif b/doc/he/images/button-view-printable-version.gif deleted file mode 100644 index 19a5a78f93..0000000000 Binary files a/doc/he/images/button-view-printable-version.gif and /dev/null differ diff --git a/doc/he/index.html.in b/doc/he/index.html.in deleted file mode 100644 index afb900d456..0000000000 --- a/doc/he/index.html.in +++ /dev/null @@ -1,122 +0,0 @@ - - - - - דף הבית - CUPS @CUPS_VERSION@@CUPS_REVISION@ - - - - - - - - - - - - - - - - - - - - - - - -

Common UNIX Printing System @CUPS_VERSION@@CUPS_REVISION@

- -  ×“×£ הבית   - -   × ×™×”ול   - -   ×ž×—לקות   - -   ×ª×™×¢×•ד/עזרה   - -   ×¢×‘ודות   - -   ×ž×“פסות   - -
  - -

ברוכים הבאים!

- -

דפי אינטרנט אלה מאפשרים לך לנטר את המדפסות והעבודות שלך כמו גם -לבצע משימות ניהול המערכת. הקלק/י על מי מהלשוניות למעלה או על הלחצנים למטה -כדי לבצע משימה.

- -

-עזרה -הוסף מחלקה -הוסף מדפסת -נהל מחלקות -נהל עבודות -נהל מדפסות -נהל שרת -

- -

אם את/ה מתבקש/ת לספק שם משתמש וסיסמה, נא הקלד/י את שם המשתמש והסיסמה -המשמשים אותך לכניסה או שם המשתמש "root" והסיסמה.

- -

אודות CUPS

- -

-מחשב ומדפסת שמחים - -CUPS מספקת ממשק הדפסה נייד למערכות הפעלה מבוססות ®UNIX. -התוכנה מפותחת ומתוחזקת ×¢"י Apple Inc. כדי לקדם פתרון הדפסה תקני. CUPS היא מערכת ההדפסה התקנית המותקנת -על MacOS® X ורוב מערכות ה- ®Linux.

- -

CUPS משתמשת ב Internet Printing Protocol ("IPP") כבסיס לניהול -עבודות ותורי הדפסה ומוסיפה אפשרויות לחיפוש מדפסות רשת והדפסה מבוססת על -PostScript Printer Description ("PPD") כדי לתמוך -בהדפסות ב"עולם-האמיתי".

- -

עבור מנהלי התקני מדפסות וסיוע

- -

בקרו באתר הרשמי של CUPS עבור מנהלי התקני מדפסות וסיוע:

- -
-    www.cups.org
-
- -
 
- -

The Common UNIX Printing System, CUPS, and the CUPS logo are the -trademark property of Apple Inc. -CUPS is copyright 2007 by Apple Inc, All Rights Reserved.

- -
- - diff --git a/doc/help/api-array.html b/doc/help/api-array.html index 20ba85e95d..aabafd45f7 100644 --- a/doc/help/api-array.html +++ b/doc/help/api-array.html @@ -4,7 +4,7 @@ Array API - +