From 94da7e344cb567db8e531e263f5f4ede0f989162 Mon Sep 17 00:00:00 2001 From: msweet Date: Wed, 25 Mar 2009 00:42:10 +0000 Subject: [PATCH] Merge changes from CUPS 1.4svn-r8469. git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1338 a1ca3aef-8c08-0410-bb20-df032aa958be --- CHANGES.txt | 7 +- config-scripts/cups-compiler.m4 | 2 + cups/conflicts.c | 1 + cups/http-support.c | 3 + cups/request.c | 2 +- doc/help/spec-ipp.html | 14 +- locale/cups.pot | 76 +++-- locale/cups_da.po | 5 +- locale/cups_de.po | 5 +- locale/cups_es.po | 585 +++++++++++++++++++++++--------- locale/cups_fi.po | 5 +- locale/cups_fr.po | 5 +- locale/cups_it.po | 5 +- locale/cups_ja.po | 5 +- locale/cups_ko.po | 5 +- locale/cups_nl.po | 5 +- locale/cups_no.po | 5 +- locale/cups_pl.po | 5 +- locale/cups_pt.po | 5 +- locale/cups_pt_BR.po | 5 +- locale/cups_ru.po | 5 +- locale/cups_sv.po | 5 +- locale/cups_zh.po | 5 +- locale/cups_zh_TW.po | 5 +- ppdc/genstrings.cxx | 5 +- ppdc/ppdc-array.cxx | 8 +- ppdc/ppdc-attr.cxx | 10 +- ppdc/ppdc-catalog.cxx | 6 +- ppdc/ppdc-choice.cxx | 6 +- ppdc/ppdc-constraint.cxx | 6 +- ppdc/ppdc-driver.cxx | 31 +- ppdc/ppdc-file.cxx | 2 +- ppdc/ppdc-filter.cxx | 7 +- ppdc/ppdc-font.cxx | 10 +- ppdc/ppdc-group.cxx | 9 +- ppdc/ppdc-mediasize.cxx | 6 +- ppdc/ppdc-message.cxx | 6 +- ppdc/ppdc-option.cxx | 11 +- ppdc/ppdc-profile.cxx | 7 +- ppdc/ppdc-shared.cxx | 10 +- ppdc/ppdc-source.cxx | 14 +- ppdc/ppdc-string.cxx | 6 +- ppdc/ppdc-variable.cxx | 7 +- ppdc/ppdc.h | 55 +++ scheduler/auth.c | 18 +- scheduler/classes.c | 3 + scheduler/client.c | 69 ++-- scheduler/cups-driverd.cxx | 9 +- scheduler/job.c | 5 +- scheduler/log.c | 6 +- scheduler/main.c | 5 +- scheduler/printers.c | 5 + scheduler/statbuf.c | 4 +- scheduler/util.c | 4 +- templates/es/search.tmpl | 2 +- templates/ja/search.tmpl | 2 +- templates/pl/search.tmpl | 2 +- templates/ru/search.tmpl | 2 +- templates/search.tmpl | 2 +- 59 files changed, 809 insertions(+), 321 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 7cacef1d8..928166abf 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,9 +1,14 @@ -CHANGES.txt - 2009-03-18 +CHANGES.txt - 2009-03-23 ------------------------ CHANGES IN CUPS V1.4b3 - Documentation fixes (STR #3044, STR #3057) + - If a CGI process died before sending its MIME headers, the request + would hang on the client. + - The printer/class/job search feature on the web interface did not + work (STR #3132) + - The scheduler did not write the printers out for classes. - CUPS-Get-PPDs did not work properly when filtering by language, product, or psversion (STR #3136) - The scheduler now kills job filters when it takes more than 30 seconds diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4 index b51d7cc5c..e0c462963 100644 --- a/config-scripts/cups-compiler.m4 +++ b/config-scripts/cups-compiler.m4 @@ -36,12 +36,14 @@ fi dnl Debug printfs can slow things down, so provide a separate option for that if test x$enable_debug_printfs = xyes; then CFLAGS="$CFLAGS -DDEBUG" + CXXFLAGS="$CXXFLAGS -DDEBUG" fi dnl Debug guards use an extra 4 bytes for some structures like strings in the dnl string pool, so provide a separate option for that if test x$enable_debug_guards = xyes; then CFLAGS="$CFLAGS -DDEBUG_GUARDS" + CXXFLAGS="$CXXFLAGS -DDEBUG_GUARDS" fi dnl Unit tests take up time during a compile... diff --git a/cups/conflicts.c b/cups/conflicts.c index 138a0c119..254138a49 100644 --- a/cups/conflicts.c +++ b/cups/conflicts.c @@ -536,6 +536,7 @@ cupsResolveConflicts( cupsFreeOptions(num_newopts, newopts); + cupsArrayDelete(active); cupsArrayDelete(pass); cupsArrayDelete(resolvers); diff --git a/cups/http-support.c b/cups/http-support.c index a8b6b2e41..342c383b2 100644 --- a/cups/http-support.c +++ b/cups/http-support.c @@ -1238,6 +1238,9 @@ httpStatus(http_status_t status) /* I - HTTP status code */ case HTTP_SERVICE_UNAVAILABLE : s = _("Service Unavailable"); break; + case HTTP_SERVER_ERROR : + s = _("Internal Server Error"); + break; default : s = _("Unknown"); diff --git a/cups/request.c b/cups/request.c index 2af5c2efd..bf291eabf 100644 --- a/cups/request.c +++ b/cups/request.c @@ -266,7 +266,7 @@ cupsDoIORequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP } if (status == HTTP_FORBIDDEN || status == HTTP_ERROR || - status == HTTP_SERVICE_UNAVAILABLE) + status >= HTTP_SERVER_ERROR) { _cupsSetHTTPError(status); break; diff --git a/doc/help/spec-ipp.html b/doc/help/spec-ipp.html index 7f3bab908..f0272f893 100644 --- a/doc/help/spec-ipp.html +++ b/doc/help/spec-ipp.html @@ -1799,10 +1799,10 @@ CUPS-Move-Job Response:

CUPS 1.2CUPS-Authenticate-Job Operation

-

The CUPS-Authenticate-Job operation (0x400E) authenticate a -print job for printing. Typically this is used when printing to a -remote server. The authentication information is passed in the -HTTP request.

+

The CUPS-Authenticate-Job operation (0x400E) authenticates a print job for +printing, releasing the job if it is held. Typically this is used when printing +to a remote server. The authentication information is passed in the HTTP +request; the HTTP connection is normally encrypted for this type of request.

CUPS-Authenticate-Job Request

@@ -1836,6 +1836,12 @@ CUPS-Authenticate-Job request:
The client OPTIONALLY supplies one or more authentication values as specified by the "auth-info-required" attribute. +
"job-hold-until" (keyword | name(MAX)):CUPS 1.3 + +
The client OPTIONALLY supplies a new job-hold-until value for the + job. If specified and not the "no-hold" value, the job is held instead + of released for printing. +

CUPS-Authenticate-Job Response

diff --git a/locale/cups.pot b/locale/cups.pot index c547fc25a..8221f5f0b 100644 --- a/locale/cups.pot +++ b/locale/cups.pot @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1065,7 +1065,7 @@ msgstr "" msgid "%s accepting requests since %s\n" msgstr "" -#: scheduler/ipp.c:10441 +#: scheduler/ipp.c:10467 #, c-format msgid "%s cannot be changed." msgstr "" @@ -2498,7 +2498,7 @@ msgstr "" msgid "Bad custom parameter" msgstr "" -#: cups/http-support.c:1333 +#: cups/http-support.c:1336 #, c-format msgid "Bad device URI \"%s\"!\n" msgstr "" @@ -2513,7 +2513,7 @@ msgstr "" msgid "Bad device-uri scheme \"%s\"!" msgstr "" -#: scheduler/ipp.c:9862 scheduler/ipp.c:11339 +#: scheduler/ipp.c:9888 scheduler/ipp.c:11365 #, c-format msgid "Bad document-format \"%s\"!" msgstr "" @@ -2527,7 +2527,7 @@ msgstr "" msgid "Bad font attribute: %s\n" msgstr "" -#: scheduler/ipp.c:10457 +#: scheduler/ipp.c:10483 msgid "Bad job-priority value!" msgstr "" @@ -2540,14 +2540,14 @@ msgstr "" msgid "Bad job-sheets value type!" msgstr "" -#: scheduler/ipp.c:10487 +#: scheduler/ipp.c:10513 msgid "Bad job-state value!" msgstr "" #: scheduler/ipp.c:3661 scheduler/ipp.c:4017 scheduler/ipp.c:6624 #: scheduler/ipp.c:6766 scheduler/ipp.c:8036 scheduler/ipp.c:8290 -#: scheduler/ipp.c:9133 scheduler/ipp.c:9358 scheduler/ipp.c:9775 -#: scheduler/ipp.c:10350 +#: scheduler/ipp.c:9133 scheduler/ipp.c:9358 scheduler/ipp.c:9801 +#: scheduler/ipp.c:10376 #, c-format msgid "Bad job-uri attribute \"%s\"!" msgstr "" @@ -2726,7 +2726,7 @@ msgstr "" msgid "Continuous" msgstr "" -#: scheduler/ipp.c:8583 scheduler/ipp.c:8599 scheduler/ipp.c:9878 +#: scheduler/ipp.c:8583 scheduler/ipp.c:8599 scheduler/ipp.c:9904 #, c-format msgid "Could not scan type \"%s\"!" msgstr "" @@ -3030,7 +3030,7 @@ msgid "ERROR: No fonts in charset file %s\n" msgstr "" #: driver/rastertoescpx.c:1906 driver/rastertopclx.c:1931 -#: filter/rastertoepson.c:1128 filter/rastertohp.c:858 +#: filter/rastertoepson.c:1128 filter/rastertohp.c:857 #: filter/rastertolabel.c:1283 msgid "ERROR: No pages found!\n" msgstr "" @@ -3220,7 +3220,7 @@ msgid "ERROR: Unable to open print file %s: %s\n" msgstr "" #: driver/rastertoescpx.c:1806 driver/rastertopclx.c:1831 -#: filter/rastertoepson.c:1000 filter/rastertohp.c:727 +#: filter/rastertoepson.c:1000 filter/rastertohp.c:726 #: filter/rastertolabel.c:1148 #, c-format msgid "ERROR: Unable to open raster file - %s\n" @@ -3462,7 +3462,7 @@ msgstr "" msgid "Enter password:" msgstr "" -#: scheduler/client.c:2326 +#: scheduler/client.c:2328 msgid "Enter your username and password or the root username and password to access this page. If you are using Kerberos authentication, make sure you have a valid Kerberos ticket." msgstr "" @@ -3595,7 +3595,7 @@ msgstr "" #: scheduler/ipp.c:3639 scheduler/ipp.c:3942 scheduler/ipp.c:6601 #: scheduler/ipp.c:6743 scheduler/ipp.c:8013 scheduler/ipp.c:9110 -#: scheduler/ipp.c:9335 scheduler/ipp.c:9752 scheduler/ipp.c:10327 +#: scheduler/ipp.c:9335 scheduler/ipp.c:9778 scheduler/ipp.c:10353 msgid "Got a printer-uri attribute but no job-id!" msgstr "" @@ -3661,7 +3661,7 @@ msgstr "" msgid "INFO: Loading image file...\n" msgstr "" -#: cups/http-support.c:1400 +#: cups/http-support.c:1403 msgid "INFO: Looking for printer...\n" msgstr "" @@ -3716,7 +3716,7 @@ msgid "INFO: Printer not connected; will retry in 30 seconds...\n" msgstr "" #: driver/rastertoescpx.c:1873 driver/rastertopclx.c:1895 -#: filter/rastertoepson.c:1079 filter/rastertohp.c:804 +#: filter/rastertoepson.c:1079 filter/rastertohp.c:803 #: filter/rastertolabel.c:1235 #, c-format msgid "INFO: Printing page %d, %d%% complete...\n" @@ -3728,7 +3728,7 @@ msgid "INFO: Printing page %d...\n" msgstr "" #: backend/socket.c:461 driver/rastertoescpx.c:1911 driver/rastertopclx.c:1936 -#: filter/rastertoepson.c:1133 filter/rastertohp.c:863 +#: filter/rastertoepson.c:1133 filter/rastertohp.c:862 #: filter/rastertolabel.c:1288 msgid "INFO: Ready to print.\n" msgstr "" @@ -3916,6 +3916,10 @@ msgstr "" msgid "Interlock open." msgstr "" +#: cups/http-support.c:1242 +msgid "Internal Server Error" +msgstr "" + #: cups/ppd.c:341 msgid "Internal error" msgstr "" @@ -3960,7 +3964,7 @@ msgstr "" #: scheduler/ipp.c:3680 scheduler/ipp.c:4045 scheduler/ipp.c:6642 #: scheduler/ipp.c:6784 scheduler/ipp.c:7890 scheduler/ipp.c:8054 #: scheduler/ipp.c:8263 scheduler/ipp.c:8308 scheduler/ipp.c:9151 -#: scheduler/ipp.c:9376 scheduler/ipp.c:9793 scheduler/ipp.c:10368 +#: scheduler/ipp.c:9376 scheduler/ipp.c:9819 scheduler/ipp.c:10394 #, c-format msgid "Job #%d does not exist!" msgstr "" @@ -3980,7 +3984,7 @@ msgstr "" msgid "Job #%d is already completed - can't cancel." msgstr "" -#: scheduler/ipp.c:8350 scheduler/ipp.c:10383 +#: scheduler/ipp.c:8350 scheduler/ipp.c:10409 #, c-format msgid "Job #%d is finished and cannot be altered!" msgstr "" @@ -4034,7 +4038,7 @@ msgstr "" msgid "Job UUID: " msgstr "" -#: scheduler/ipp.c:10465 +#: scheduler/ipp.c:10491 msgid "Job is completed and cannot be changed." msgstr "" @@ -4042,7 +4046,7 @@ msgstr "" msgid "Job operation failed:" msgstr "" -#: scheduler/ipp.c:10501 scheduler/ipp.c:10520 scheduler/ipp.c:10531 +#: scheduler/ipp.c:10527 scheduler/ipp.c:10546 scheduler/ipp.c:10557 msgid "Job state cannot be changed." msgstr "" @@ -4341,7 +4345,7 @@ msgstr "" msgid "No error-status" msgstr "" -#: scheduler/ipp.c:8549 scheduler/ipp.c:9844 +#: scheduler/ipp.c:8549 scheduler/ipp.c:9870 msgid "No file!?!" msgstr "" @@ -4964,9 +4968,9 @@ msgstr "" #: scheduler/ipp.c:6349 scheduler/ipp.c:6886 scheduler/ipp.c:7516 #: scheduler/ipp.c:7572 scheduler/ipp.c:7880 scheduler/ipp.c:8121 #: scheduler/ipp.c:8211 scheduler/ipp.c:8244 scheduler/ipp.c:8564 -#: scheduler/ipp.c:8955 scheduler/ipp.c:9035 scheduler/ipp.c:10236 -#: scheduler/ipp.c:10691 scheduler/ipp.c:11019 scheduler/ipp.c:11086 -#: scheduler/ipp.c:11369 +#: scheduler/ipp.c:8955 scheduler/ipp.c:9035 scheduler/ipp.c:10262 +#: scheduler/ipp.c:10717 scheduler/ipp.c:11045 scheduler/ipp.c:11112 +#: scheduler/ipp.c:11395 msgid "The printer or class was not found." msgstr "" @@ -5198,7 +5202,7 @@ msgstr "" msgid "Unable to find destination for job!" msgstr "" -#: cups/http-support.c:1430 +#: cups/http-support.c:1433 msgid "Unable to find printer!\n" msgstr "" @@ -5311,7 +5315,7 @@ msgstr "" msgid "Units" msgstr "" -#: cups/http-support.c:1243 cups/ppd.c:360 +#: cups/http-support.c:1246 cups/ppd.c:360 msgid "Unknown" msgstr "" @@ -5320,12 +5324,12 @@ msgstr "" msgid "Unknown printer error (%s)!" msgstr "" -#: scheduler/ipp.c:10892 +#: scheduler/ipp.c:10918 #, c-format msgid "Unknown printer-error-policy \"%s\"." msgstr "" -#: scheduler/ipp.c:10876 +#: scheduler/ipp.c:10902 #, c-format msgid "Unknown printer-op-policy \"%s\"." msgstr "" @@ -5335,27 +5339,27 @@ msgstr "" msgid "Unsupported character set \"%s\"!" msgstr "" -#: scheduler/ipp.c:8530 scheduler/ipp.c:9825 +#: scheduler/ipp.c:8530 scheduler/ipp.c:9851 #, c-format msgid "Unsupported compression \"%s\"!" msgstr "" -#: scheduler/ipp.c:11322 +#: scheduler/ipp.c:11348 #, c-format msgid "Unsupported compression attribute %s!" msgstr "" -#: scheduler/ipp.c:11350 +#: scheduler/ipp.c:11376 #, c-format msgid "Unsupported format \"%s\"!" msgstr "" -#: scheduler/ipp.c:1418 scheduler/ipp.c:9959 +#: scheduler/ipp.c:1418 scheduler/ipp.c:9985 #, c-format msgid "Unsupported format '%s'!" msgstr "" -#: scheduler/ipp.c:8664 scheduler/ipp.c:9942 +#: scheduler/ipp.c:8664 scheduler/ipp.c:9968 #, c-format msgid "Unsupported format '%s/%s'!" msgstr "" @@ -5390,7 +5394,7 @@ msgstr "" #: backend/parallel.c:127 backend/scsi.c:157 backend/serial.c:165 #: backend/socket.c:132 backend/usb.c:183 filter/bannertops.c:118 #: filter/hpgl-main.c:148 filter/imagetops.c:115 filter/imagetoraster.c:207 -#: filter/pstops.c:255 filter/rastertoepson.c:987 filter/rastertohp.c:714 +#: filter/pstops.c:255 filter/rastertoepson.c:987 filter/rastertohp.c:713 #: filter/rastertolabel.c:1135 filter/textcommon.c:518 #, c-format msgid "Usage: %s job-id user title copies options [file]\n" @@ -5453,7 +5457,7 @@ msgid "" " --[no-]user-cancel-any Allow/prevent users to cancel any job\n" msgstr "" -#: scheduler/main.c:2102 +#: scheduler/main.c:2096 msgid "" "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n" "\n" @@ -5704,7 +5708,7 @@ msgstr "" msgid "Yes" msgstr "" -#: scheduler/client.c:2336 +#: scheduler/client.c:2338 #, c-format msgid "You must access this page using the URL https://%s:%d%s." msgstr "" diff --git a/locale/cups_da.po b/locale/cups_da.po index 3a835d1ee..cf0449b10 100644 --- a/locale/cups_da.po +++ b/locale/cups_da.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3169,6 +3169,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Sikkerhedsafbryder åben." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Intern fejl" diff --git a/locale/cups_de.po b/locale/cups_de.po index de93fea43..009f5ee72 100644 --- a/locale/cups_de.po +++ b/locale/cups_de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3198,6 +3198,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Die Verriegelung ist offen." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Interner Fehler" diff --git a/locale/cups_es.po b/locale/cups_es.po index 4891b4d3e..5d45ea8e0 100644 --- a/locale/cups_es.po +++ b/locale/cups_es.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-03-16 19:35+0100\n" "Last-Translator: Juan Pablo González Riopedre \n" "Language-Team: Spanish\n" @@ -245,24 +245,31 @@ msgstr "" " REF: Página 15, sección 3.2.\n" msgid " WARN Default choices conflicting!\n" -msgstr " ADVERTENCIA Las preferencias predeterminadas están en conflicto.\n" +msgstr "" +" ADVERTENCIA Las preferencias predeterminadas están en conflicto.\n" #, c-format msgid "" -" WARN Duplex option keyword %s may not work as expected and should be named Duplex!\n" +" WARN Duplex option keyword %s may not work as expected and should " +"be named Duplex!\n" " REF: Page 122, section 5.17\n" msgstr "" -" ADVERTENCIA La clave de opción Duplex %s puede que no funcione como se espera y debería llamarse Duplex.\n" +" ADVERTENCIA La clave de opción Duplex %s puede que no funcione " +"como se espera y debería llamarse Duplex.\n" " REF: Página 122, sección 5.17\n" -msgid " WARN File contains a mix of CR, LF, and CR LF line endings!\n" -msgstr " ADVERTENCIA El archivo contiene una mezcla de líneas acabadas en CR, LF y CR LF.\n" +msgid "" +" WARN File contains a mix of CR, LF, and CR LF line endings!\n" +msgstr "" +" ADVERTENCIA El archivo contiene una mezcla de líneas acabadas en " +"CR, LF y CR LF.\n" msgid "" " WARN LanguageEncoding required by PPD 4.3 spec.\n" " REF: Pages 56-57, section 5.3.\n" msgstr "" -" ADVERTENCIA Se necesita LanguageEncoding por especificación de PPD 4.3.\n" +" ADVERTENCIA Se necesita LanguageEncoding por especificación de " +"PPD 4.3.\n" " REF: Páginas 56-57, sección 5.3.\n" #, c-format @@ -273,11 +280,16 @@ msgid "" " WARN Manufacturer required by PPD 4.3 spec.\n" " REF: Pages 58-59, section 5.3.\n" msgstr "" -" ADVERTENCIA Se necesita Manufacturer por especificación de PPD 4.3.\n" +" ADVERTENCIA Se necesita Manufacturer por especificación de PPD " +"4.3.\n" " REF: Páginas 58-59, sección 5.3.\n" -msgid " WARN Non-Windows PPD files should use lines ending with only LF, not CR LF!\n" -msgstr " ADVERTENCIA Los archivos PPD que no sean de Windows deben tener líneas que acaben sólo en LF, no en CR LF.\n" +msgid "" +" WARN Non-Windows PPD files should use lines ending with only LF, " +"not CR LF!\n" +msgstr "" +" ADVERTENCIA Los archivos PPD que no sean de Windows deben tener " +"líneas que acaben sólo en LF, no en CR LF.\n" #, c-format msgid "" @@ -291,28 +303,32 @@ msgid "" " WARN PCFileName longer than 8.3 in violation of PPD spec.\n" " REF: Pages 61-62, section 5.3.\n" msgstr "" -" ADVERTENCIA PCFileName es mas largo que 8.3 violando la especificación PPD.\n" +" ADVERTENCIA PCFileName es mas largo que 8.3 violando la " +"especificación PPD.\n" " REF: Páginas 61-62, sección 5.3.\n" msgid "" " WARN Protocols contains PJL but JCL attributes are not set.\n" " REF: Pages 78-79, section 5.7.\n" msgstr "" -" ADVERTENCIA Los protocolos contienen PJL pero no se especifican los atributos JCL.\n" +" ADVERTENCIA Los protocolos contienen PJL pero no se especifican " +"los atributos JCL.\n" " REF: Páginas 78-79, sección 5.7.\n" msgid "" " WARN Protocols contains both PJL and BCP; expected TBCP.\n" " REF: Pages 78-79, section 5.7.\n" msgstr "" -" ADVERTENCIA Los protocolos contienen a ambos, PJL y BCP; se esperaba TBCP.\n" +" ADVERTENCIA Los protocolos contienen a ambos, PJL y BCP; se " +"esperaba TBCP.\n" " REF: Páginas 78-79, sección 5.7.\n" msgid "" " WARN ShortNickName required by PPD 4.3 spec.\n" " REF: Pages 64-65, section 5.3.\n" msgstr "" -" ADVERTENCIA Se necesita ShortNickName por especificación de PPD 4.3.\n" +" ADVERTENCIA Se necesita ShortNickName por especificación de PPD " +"4.3.\n" " REF: Páginas 64-65, sección 5.3.\n" #, c-format @@ -333,11 +349,15 @@ msgstr "" #, c-format msgid " %s Bad UTF-8 \"%s\" translation string for option %s!\n" -msgstr " %s Cadena de traducción UTF-8 \"%s\" incorrecta para opción %s.\n" +msgstr "" +" %s Cadena de traducción UTF-8 \"%s\" incorrecta para opción %s.\n" #, c-format -msgid " %s Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n" -msgstr " %s Cadena de traducción UTF-8 \"%s\" incorrecta para opción %s, preferencia %s.\n" +msgid "" +" %s Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n" +msgstr "" +" %s Cadena de traducción UTF-8 \"%s\" incorrecta para opción %s, " +"preferencia %s.\n" #, c-format msgid " %s Bad cupsFilter value \"%s\"!\n" @@ -377,7 +397,8 @@ msgstr " %s Falta cadena de traducción \"%s\" para opción %s.\n" #, c-format msgid " %s Missing \"%s\" translation string for option %s, choice %s!\n" -msgstr " %s Falta cadena de traducción \"%s\" para opción %s, preferencia %s.\n" +msgstr "" +" %s Falta cadena de traducción \"%s\" para opción %s, preferencia %s.\n" #, c-format msgid " %s Missing APDialogExtension file \"%s\"\n" @@ -417,11 +438,13 @@ msgstr "" #, c-format msgid " %s Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n" -msgstr " %s Falta la preferencia *%s %s en UIConstraint \"*%s %s *%s %s\".\n" +msgstr "" +" %s Falta la preferencia *%s %s en UIConstraint \"*%s %s *%s %s\".\n" #, c-format msgid " %s Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n" -msgstr " %s Falta la preferencia *%s %s en cupsUIConstraints %s: \"%s\".\n" +msgstr "" +" %s Falta la preferencia *%s %s en cupsUIConstraints %s: \"%s\".\n" #, c-format msgid " %s Missing cupsFilter file \"%s\"\n" @@ -484,12 +507,16 @@ msgid " %s cupsUIResolver %s causes a loop!\n" msgstr " %s cupsUIResolver %s genera un bucle.\n" #, c-format -msgid " %s cupsUIResolver %s does not list at least two different options!\n" -msgstr " %s cupsUIResolver %s no lista al menos dos opciones diferentes.\n" +msgid "" +" %s cupsUIResolver %s does not list at least two different options!\n" +msgstr "" +" %s cupsUIResolver %s no lista al menos dos opciones diferentes.\n" #, c-format msgid " **FAIL** %s choice names %s and %s differ only by case!\n" -msgstr " **FALLO** %s nombres de opción %s y %s se diferencian sólo en la capitalización.\n" +msgstr "" +" **FALLO** %s nombres de opción %s y %s se diferencian sólo en la " +"capitalización.\n" #, c-format msgid "" @@ -599,7 +626,8 @@ msgstr "" #, c-format msgid " **FAIL** Bad LanguageEncoding %s - must be ISOLatin1!\n" -msgstr " **FALLO** LanguageEncoding %s incorrecto: debería ser ISOLatin1.\n" +msgstr "" +" **FALLO** LanguageEncoding %s incorrecto: debería ser ISOLatin1.\n" #, c-format msgid " **FAIL** Bad LanguageVersion %s - must be English!\n" @@ -607,19 +635,31 @@ msgstr " **FALLO** LanguageVersion %s incorrecto: debería ser Inglés.\n" #, c-format msgid " **FAIL** Default option code cannot be interpreted: %s\n" -msgstr " **FALLO** El código de opción predeterminado no puede ser interpretado: %s\n" +msgstr "" +" **FALLO** El código de opción predeterminado no puede ser " +"interpretado: %s\n" #, c-format -msgid " **FAIL** Default translation string for option %s choice %s contains 8-bit characters!\n" -msgstr " **FALLO** Cadena de traducción predeterminada para opción %s preferencia %s contiene caracteres de 8-bits.\n" +msgid "" +" **FAIL** Default translation string for option %s choice %s contains " +"8-bit characters!\n" +msgstr "" +" **FALLO** Cadena de traducción predeterminada para opción %s " +"preferencia %s contiene caracteres de 8-bits.\n" #, c-format -msgid " **FAIL** Default translation string for option %s contains 8-bit characters!\n" -msgstr " **FALLO** Cadena de traducción predeterminada para opción %s contiene caracteres de 8-bits.\n" +msgid "" +" **FAIL** Default translation string for option %s contains 8-bit " +"characters!\n" +msgstr "" +" **FALLO** Cadena de traducción predeterminada para opción %s contiene " +"caracteres de 8-bits.\n" #, c-format msgid " **FAIL** Group names %s and %s differ only by case!\n" -msgstr " **FALLO** Nombres de grupo %s y %s se diferencian sólo en la capitalización.\n" +msgstr "" +" **FALLO** Nombres de grupo %s y %s se diferencian sólo en la " +"capitalización.\n" #, c-format msgid " **FAIL** Multiple occurrences of %s choice name %s!\n" @@ -627,7 +667,9 @@ msgstr " **FALLO** Múltiples apariciones de %s nombre de opción %s.\n" #, c-format msgid " **FAIL** Option names %s and %s differ only by case!\n" -msgstr " **FALLO** Nombres de opción %s y %s se diferencian sólo en la capitalización.\n" +msgstr "" +" **FALLO** Nombres de opción %s y %s se diferencian sólo en la " +"capitalización.\n" #, c-format msgid "" @@ -994,8 +1036,11 @@ msgid "%s: Don't know what to do!\n" msgstr "%s: No sé que hay que hacer.\n" #, c-format -msgid "%s: Error - %s environment variable names non-existent destination \"%s\"!\n" -msgstr "%s: Error - %s nombres de variables de entorno no existen en destino \"%s\".\n" +msgid "" +"%s: Error - %s environment variable names non-existent destination \"%s\"!\n" +msgstr "" +"%s: Error - %s nombres de variables de entorno no existen en destino \"%s" +"\".\n" #, c-format msgid "%s: Error - bad job ID!\n" @@ -1003,11 +1048,16 @@ msgstr "%s: Error - ID de trabajo incorrecta.\n" #, c-format msgid "%s: Error - cannot print files and alter jobs simultaneously!\n" -msgstr "%s: Error - no se pueden imprimir archivos y alterar trabajos al mismo tiempo.\n" +msgstr "" +"%s: Error - no se pueden imprimir archivos y alterar trabajos al mismo " +"tiempo.\n" #, c-format -msgid "%s: Error - cannot print from stdin if files or a job ID are provided!\n" -msgstr "%s: Error - no se puede imprimir desde stdin si se proporcionan archivos o una ID de trabajo.\n" +msgid "" +"%s: Error - cannot print from stdin if files or a job ID are provided!\n" +msgstr "" +"%s: Error - no se puede imprimir desde stdin si se proporcionan archivos o " +"una ID de trabajo.\n" #, c-format msgid "%s: Error - expected character set after '-S' option!\n" @@ -1094,8 +1144,12 @@ msgid "%s: Error - expected value after '-%c' option!\n" msgstr "%s: Error - se esperaba un valor tras la opción '%c'.\n" #, c-format -msgid "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' option!\n" -msgstr "%s: Error - se necesita \"completed\", \"not completed\", o \"all\" tras la opción '-W'.\n" +msgid "" +"%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' " +"option!\n" +msgstr "" +"%s: Error - se necesita \"completed\", \"not completed\", o \"all\" tras la " +"opción '-W'.\n" #, c-format msgid "%s: Error - no default destination available.\n" @@ -1155,7 +1209,8 @@ msgstr "%s: Cadena de filtro \"%s\" inválida\n" #, c-format msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n" -msgstr "%s: Se necesita un ID de trabajo ('-i id_trabajo') antes de '-H restart'.\n" +msgstr "" +"%s: Se necesita un ID de trabajo ('-i id_trabajo') antes de '-H restart'.\n" #, c-format msgid "%s: No filter to convert from %s/%s to %s/%s!\n" @@ -1214,8 +1269,12 @@ msgid "%s: Unknown source MIME type %s/%s!\n" msgstr "%s: Tipo MIME de origen %s/%s desconocido.\n" #, c-format -msgid "%s: Warning - '%c' format modifier not supported - output may not be correct!\n" -msgstr "%s: Advertencia - no se admite el uso del modificador de formato '%c' - la salida puede no ser correcta.\n" +msgid "" +"%s: Warning - '%c' format modifier not supported - output may not be " +"correct!\n" +msgstr "" +"%s: Advertencia - no se admite el uso del modificador de formato '%c' - la " +"salida puede no ser correcta.\n" #, c-format msgid "%s: Warning - character set option ignored!\n" @@ -1234,8 +1293,11 @@ msgid "%s: Warning - mode option ignored!\n" msgstr "%s: Advertencia - opción de modo no tenida en cuenta.\n" #, c-format -msgid "%s: error - %s environment variable names non-existent destination \"%s\"!\n" -msgstr "%s: error - %s nombres de variables de entorno no existen en destino \"%s\".\n" +msgid "" +"%s: error - %s environment variable names non-existent destination \"%s\"!\n" +msgstr "" +"%s: error - %s nombres de variables de entorno no existen en destino \"%s" +"\".\n" #, c-format msgid "%s: error - expected option=value after '-o' option!\n" @@ -1840,10 +1902,14 @@ msgid "?Invalid help command unknown\n" msgstr "?Comando de ayuda inválido desconocido\n" msgid "A Samba password is required to export printer drivers!" -msgstr "Se requiere una contraseña Samba para exportar los controladores de impresora." +msgstr "" +"Se requiere una contraseña Samba para exportar los controladores de " +"impresora." msgid "A Samba username is required to export printer drivers!" -msgstr "Se requiere un nombre de usuario Samba para exportar los controladores de impresora." +msgstr "" +"Se requiere un nombre de usuario Samba para exportar los controladores de " +"impresora." #, c-format msgid "A class named \"%s\" already exists!" @@ -1963,7 +2029,9 @@ msgstr "Aplicador" #, c-format msgid "Attempt to set %s printer-state to bad value %d!" -msgstr "Se ha intentado cambiar el valor printer-state de %s a un valor incorrecto %d." +msgstr "" +"Se ha intentado cambiar el valor printer-state de %s a un valor incorrecto %" +"d." #, c-format msgid "Attribute groups are out of order (%x < %x)!" @@ -2314,11 +2382,13 @@ msgstr "Dymo" #, c-format msgid "EMERG: Unable to allocate memory for page info: %s\n" -msgstr "EMERG: No se ha podido asignar memoria para la información de página: %s\n" +msgstr "" +"EMERG: No se ha podido asignar memoria para la información de página: %s\n" #, c-format msgid "EMERG: Unable to allocate memory for pages array: %s\n" -msgstr "EMERG: No se ha podido asignar memoria para la secuencia de páginas: %s\n" +msgstr "" +"EMERG: No se ha podido asignar memoria para la secuencia de páginas: %s\n" msgid "EPL1 Label Printer" msgstr "Impresora de etiquetas EPL1" @@ -2411,7 +2481,9 @@ msgid "ERROR: Fatal USB error!\n" msgstr "ERROR: Error fatal de USB.\n" msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n" -msgstr "ERROR: Se ha detectado un comando HP-GL/2 no válido; no se puede imprimir el archivo.\n" +msgstr "" +"ERROR: Se ha detectado un comando HP-GL/2 no válido; no se puede imprimir el " +"archivo.\n" #, c-format msgid "ERROR: Missing %%EndProlog!\n" @@ -2421,16 +2493,23 @@ msgstr "ERROR: Falta %%EndProlog.\n" msgid "ERROR: Missing %%EndSetup!\n" msgstr "ERROR: Falta %%EndSetup.\n" -msgid "ERROR: Missing device URI on command-line and no DEVICE_URI environment variable!\n" -msgstr "ERROR: Falta URI del dispositivo en la línea de comandos y no hay variable de entorno DEVICE_URI.\n" +msgid "" +"ERROR: Missing device URI on command-line and no DEVICE_URI environment " +"variable!\n" +msgstr "" +"ERROR: Falta URI del dispositivo en la línea de comandos y no hay variable " +"de entorno DEVICE_URI.\n" #, c-format msgid "ERROR: Missing value on line %d of banner file!\n" msgstr "ERROR: Falta el valor en la línea %d del archivo de rótulo.\n" #, c-format -msgid "ERROR: Need a msgid line before any translation strings on line %d of %s!\n" -msgstr "ERROR: Se necesita una línea msgid antes de cualquier cadena de traducción en línea %d de %s.\n" +msgid "" +"ERROR: Need a msgid line before any translation strings on line %d of %s!\n" +msgstr "" +"ERROR: Se necesita una línea msgid antes de cualquier cadena de traducción " +"en línea %d de %s.\n" #, c-format msgid "ERROR: No %%BoundingBox: comment in header!\n" @@ -2440,8 +2519,12 @@ msgstr "ERROR: No hay comentario %%BoundingBox: en la cabecera.\n" msgid "ERROR: No %%Pages: comment in header!\n" msgstr "ERROR: No hay comentario %%Pages: en la cabecera.\n" -msgid "ERROR: No device URI found in argv[0] or in DEVICE_URI environment variable!\n" -msgstr "ERROR: No se ha encontrado el URI del dispositivo en argv[0] o en la variable de entorno DEVICE_URI.\n" +msgid "" +"ERROR: No device URI found in argv[0] or in DEVICE_URI environment " +"variable!\n" +msgstr "" +"ERROR: No se ha encontrado el URI del dispositivo en argv[0] o en la " +"variable de entorno DEVICE_URI.\n" #, c-format msgid "ERROR: No fonts in charset file %s\n" @@ -2478,7 +2561,9 @@ msgid "ERROR: Remote host did not accept data file (%d)\n" msgstr "ERROR: El ordenador remoto no ha aceptado el archivo de datos (%d)\n" msgid "ERROR: There was a timeout error while sending data to the printer\n" -msgstr "ERROR: Hay un error de tiempo de espera mientras se enviaban datos a la impresora\n" +msgstr "" +"ERROR: Hay un error de tiempo de espera mientras se enviaban datos a la " +"impresora\n" #, c-format msgid "ERROR: Unable to add file %d to job: %s\n" @@ -2496,7 +2581,9 @@ msgstr "ERROR: No se ha podido crear socket" #, c-format msgid "ERROR: Unable to create temporary compressed print file: %s\n" -msgstr "ERROR: No se ha podido crear el archivo de impresión temporal comprimido: %s\n" +msgstr "" +"ERROR: No se ha podido crear el archivo de impresión temporal comprimido: %" +"s\n" msgid "ERROR: Unable to create temporary file" msgstr "ERROR: No se ha podido crear el archivo temporal" @@ -2523,7 +2610,9 @@ msgstr "ERROR: No se ha podido obtener una respuesta PAP" #, c-format msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n" -msgstr "ERROR: No se ha podido obtener el archivo PPD para la impresora \"%s\" - %s.\n" +msgstr "" +"ERROR: No se ha podido obtener el archivo PPD para la impresora \"%s\" - %" +"s.\n" msgid "ERROR: Unable to get default AppleTalk zone" msgstr "ERROR: No se ha podido conseguir la zona AppleTalk predeterminada" @@ -2597,7 +2686,9 @@ msgstr "ERROR: No se ha podido abrir el archivo de trama de datos - %s\n" #, c-format msgid "ERROR: Unable to open temporary compressed print file: %s\n" -msgstr "ERROR: No se ha podido abrir el archivo de impresión temporal comprimido: %s\n" +msgstr "" +"ERROR: No se ha podido abrir el archivo de impresión temporal comprimido: %" +"s\n" #, c-format msgid "ERROR: Unable to print %d text columns!\n" @@ -2631,7 +2722,8 @@ msgid "ERROR: Unable to send PAP tickle request" msgstr "ERROR: No se ha podido enviar una petición PAP" msgid "ERROR: Unable to send initial PAP send data request" -msgstr "ERROR: No se ha podido enviar la petición inicial de datos de envío PAP" +msgstr "" +"ERROR: No se ha podido enviar la petición inicial de datos de envío PAP" #, c-format msgid "ERROR: Unable to send print data (%d)\n" @@ -2669,14 +2761,16 @@ msgid "ERROR: Unable to write print data: %s\n" msgstr "ERROR: No se han podido escribir los datos de impresión: %s\n" msgid "ERROR: Unable to write raster data to driver!\n" -msgstr "ERROR: No se ha podido escribir la trama de datos (raster) al controlador.\n" +msgstr "" +"ERROR: No se ha podido escribir la trama de datos (raster) al controlador.\n" msgid "ERROR: Unable to write to temporary file" msgstr "ERROR: No se ha podido escribir al archivo temporal" #, c-format msgid "ERROR: Unable to write uncompressed document data: %s\n" -msgstr "ERROR: No se han podido escribir los datos de documento sin comprimir: %s\n" +msgstr "" +"ERROR: No se han podido escribir los datos de documento sin comprimir: %s\n" #, c-format msgid "ERROR: Unexpected text on line %d of %s!\n" @@ -2720,19 +2814,28 @@ msgstr "ERROR: Valor gamma %s no permitido; usando gamma=1000.\n" #, c-format msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n" -msgstr "ERROR: Valor de number-up (páginas por hoja) %d no permitido; usando number-up=1.\n" +msgstr "" +"ERROR: Valor de number-up (páginas por hoja) %d no permitido; usando number-" +"up=1.\n" #, c-format -msgid "ERROR: Unsupported number-up-layout value %s, using number-up-layout=lrtb!\n" -msgstr "ERROR: Valor de number-up-layout (disposición de páginas por hoja) %s no permitido; usando number-up-layout=lrtb.\n" +msgid "" +"ERROR: Unsupported number-up-layout value %s, using number-up-layout=lrtb!\n" +msgstr "" +"ERROR: Valor de number-up-layout (disposición de páginas por hoja) %s no " +"permitido; usando number-up-layout=lrtb.\n" #, c-format msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n" -msgstr "ERROR: Valor de page-border (borde de página) %s no permitido; usando page-border=none (ninguno).\n" +msgstr "" +"ERROR: Valor de page-border (borde de página) %s no permitido; usando page-" +"border=none (ninguno).\n" #, c-format msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n" -msgstr "ERROR: Se ha detectado un desbordamiento de doc_printf (%d bytes); cancelando.\n" +msgstr "" +"ERROR: Se ha detectado un desbordamiento de doc_printf (%d bytes); " +"cancelando.\n" #, c-format msgid "ERROR: pdftops filter crashed on signal %d!\n" @@ -2750,8 +2853,12 @@ msgstr "ERROR: pictwpstops se ha cerrado con la señal %d.\n" msgid "ERROR: pictwpstops exited with status %d!\n" msgstr "ERROR: pictwpstops se ha cerrado con el estado %d.\n" -msgid "ERROR: recoverable: Unable to connect to printer; will retry in 30 seconds...\n" -msgstr "ERROR: recuperable: No se ha podido establecer conexión con la impresora; reintento en 30 segundos...\n" +msgid "" +"ERROR: recoverable: Unable to connect to printer; will retry in 30 " +"seconds...\n" +msgstr "" +"ERROR: recuperable: No se ha podido establecer conexión con la impresora; " +"reintento en 30 segundos...\n" msgid "ERROR: select() failed" msgstr "ERROR: select() ha fallado" @@ -2777,8 +2884,14 @@ msgstr "Introduzca nuevamente la contraseña:" msgid "Enter password:" msgstr "Introduzca la contraseña:" -msgid "Enter your username and password or the root username and password to access this page. If you are using Kerberos authentication, make sure you have a valid Kerberos ticket." -msgstr "Introduzca su nombre de usuario y contraseña o el nombre de usuario y contraseña de root para poder acceder a esta página. Si está usando autentificación Kerberos, asegúrese de que tiene un ticket Kerberos válido." +msgid "" +"Enter your username and password or the root username and password to access " +"this page. If you are using Kerberos authentication, make sure you have a " +"valid Kerberos ticket." +msgstr "" +"Introduzca su nombre de usuario y contraseña o el nombre de usuario y " +"contraseña de root para poder acceder a esta página. Si está usando " +"autentificación Kerberos, asegúrese de que tiene un ticket Kerberos válido." msgid "Envelope Feed" msgstr "Alimentador de sobre" @@ -2838,8 +2951,12 @@ msgid "File Folder - 9/16 x 3 7/16\"" msgstr "Carpeta de archivosr - 9/16 x 3 7/16 pulg." #, c-format -msgid "File device URIs have been disabled! To enable, see the FileDevice directive in \"%s/cupsd.conf\"." -msgstr "Los URIs del dispositivo de archivo han sido deshabilitados. Para habilitarlos, vea la directiva FileDevice en \"%s/cupsd.conf\"." +msgid "" +"File device URIs have been disabled! To enable, see the FileDevice directive " +"in \"%s/cupsd.conf\"." +msgstr "" +"Los URIs del dispositivo de archivo han sido deshabilitados. Para " +"habilitarlos, vea la directiva FileDevice en \"%s/cupsd.conf\"." msgid "Folio" msgstr "Folio" @@ -2928,7 +3045,9 @@ msgid "INFO: Opening connection\n" msgstr "INFO: Abriendo la conexión\n" msgid "INFO: Print file sent, waiting for printer to finish...\n" -msgstr "INFO: Archivo de impresión enviado; esperando a que finalice la impresora...\n" +msgstr "" +"INFO: Archivo de impresión enviado; esperando a que finalice la " +"impresora...\n" msgid "INFO: Printer busy; will retry in 10 seconds...\n" msgstr "INFO: Impresora ocupada; reintento en 10 segundos...\n" @@ -2941,7 +3060,8 @@ msgstr "INFO: Impresora ocupada; reintento en 5 segundos...\n" #, c-format msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n" -msgstr "INFO: La impresora no es compatible con IPP/%d.%d, probando IPP/1.0...\n" +msgstr "" +"INFO: La impresora no es compatible con IPP/%d.%d, probando IPP/1.0...\n" msgid "INFO: Printer is busy; will retry in 5 seconds...\n" msgstr "INFO: La impresora está ocupada; reintento en 5 segundos...\n" @@ -3011,7 +3131,9 @@ msgid "INFO: Starting page %d...\n" msgstr "INFO: Iniciando página %d...\n" msgid "INFO: Unable to contact printer, queuing on next printer in class...\n" -msgstr "INFO: No se ha podido contactar con la impresora; poniendo en cola en la siguiente impresora de la clase...\n" +msgstr "" +"INFO: No se ha podido contactar con la impresora; poniendo en cola en la " +"siguiente impresora de la clase...\n" #, c-format msgid "INFO: Using default AppleTalk zone \"%s\"\n" @@ -3110,6 +3232,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Dispositivo de seguridad abierto." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Error interno" @@ -3556,7 +3681,8 @@ msgstr "La salida de la impresora %s se ha enviado a %s\n" #, c-format msgid "Output for printer %s is sent to remote printer %s on %s\n" -msgstr "La salida de la impresora %s se ha enviado a la impresora remota %s en %s\n" +msgstr "" +"La salida de la impresora %s se ha enviado a la impresora remota %s en %s\n" #, c-format msgid "Output for printer %s/%s is sent to %s\n" @@ -3564,7 +3690,9 @@ msgstr "La salida de la impresora %s/%s se ha enviado a %s\n" #, c-format msgid "Output for printer %s/%s is sent to remote printer %s on %s\n" -msgstr "La salida de la impresora %s/%s se ha enviado a la impresora remota %s en %s\n" +msgstr "" +"La salida de la impresora %s/%s se ha enviado a la impresora remota %s en %" +"s\n" msgid "Output tray missing!" msgstr "Falta la bandeja de salida." @@ -3745,8 +3873,10 @@ msgstr "Se ha alcanzado el límite de cuota." msgid "Rank Owner Job File(s) Total Size\n" msgstr "Rango Propiet. Trabajo Archivo(s) Tamaño total\n" -msgid "Rank Owner Pri Job Files Total Size\n" -msgstr "Rango Propiet. Pri Trabajo Archivos Tamaño total\n" +msgid "" +"Rank Owner Pri Job Files Total Size\n" +msgstr "" +"Rango Propiet. Pri Trabajo Archivos Tamaño total\n" msgid "Reject Jobs" msgstr "Rechazar trabajos" @@ -3884,18 +4014,29 @@ msgstr "No se ha podido encontrar el archivo PPD \"%s\"." msgid "The PPD file \"%s\" could not be opened: %s" msgstr "No se ha podido abrir el archivo PPD \"%s\": %s" -msgid "The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)." -msgstr "El nombre de la clase sólo puede contener hasta 127 caracteres imprimibles y no puede contener espacios, barras (/), o la almohadilla (#)." +msgid "" +"The class name may only contain up to 127 printable characters and may not " +"contain spaces, slashes (/), or the pound sign (#)." +msgstr "" +"El nombre de la clase sólo puede contener hasta 127 caracteres imprimibles y " +"no puede contener espacios, barras (/), o la almohadilla (#)." -msgid "The notify-lease-duration attribute cannot be used with job subscriptions." -msgstr "El atributo notify-lease-duration no puede ser usado con subscripciones de trabajos." +msgid "" +"The notify-lease-duration attribute cannot be used with job subscriptions." +msgstr "" +"El atributo notify-lease-duration no puede ser usado con subscripciones de " +"trabajos." #, c-format msgid "The notify-user-data value is too large (%d > 63 octets)!" msgstr "El valor notify-user-data es demasiado grande (%d > 63 octetos)." -msgid "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)." -msgstr "El nombre de la impresora sólo puede contener hasta 127 caracteres imprimibles y no puede contener espacios, barras (/), o la almohadilla (#)." +msgid "" +"The printer name may only contain up to 127 printable characters and may not " +"contain spaces, slashes (/), or the pound sign (#)." +msgstr "" +"El nombre de la impresora sólo puede contener hasta 127 caracteres " +"imprimibles y no puede contener espacios, barras (/), o la almohadilla (#)." msgid "The printer or class is not shared!" msgstr "La impresora o clase no está compartida." @@ -3910,14 +4051,24 @@ msgstr "El printer-uri \"%s\" contiene caracteres incorrectos." msgid "The printer-uri attribute is required!" msgstr "Se necesita el atributo printer-uri." -msgid "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"." -msgstr "El printer-uri debe ser de la forma \"ipp://NOMBRE_ORDENADOR/classes/NOMBRE_CLASE\"." +msgid "" +"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"." +msgstr "" +"El printer-uri debe ser de la forma \"ipp://NOMBRE_ORDENADOR/classes/" +"NOMBRE_CLASE\"." -msgid "The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"." -msgstr "El printer-uri debe ser de la forma \"ipp://NOMBRE_ORDENADOR/printers/NOMBRE_IMPRESORA\"." +msgid "" +"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"." +msgstr "" +"El printer-uri debe ser de la forma \"ipp://NOMBRE_ORDENADOR/printers/" +"NOMBRE_IMPRESORA\"." -msgid "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)." -msgstr "El nombre de la subscripción no puede contener espacios, barras (/), signos de interrogación (?), o la almohadilla (#)." +msgid "" +"The subscription name may not contain spaces, slashes (/), question marks " +"(?), or the pound sign (#)." +msgstr "" +"El nombre de la subscripción no puede contener espacios, barras (/), signos " +"de interrogación (?), o la almohadilla (#)." msgid "There are too many subscriptions." msgstr "Hay demasiadas subscripciones." @@ -4027,15 +4178,21 @@ msgstr "No se ha podido conectar al servidor." #, c-format msgid "Unable to copy 64-bit CUPS printer driver files (%d)!" -msgstr "No se han podido copiar los archivos del controlador de impresora de 64-bit de CUPS (%d)." +msgstr "" +"No se han podido copiar los archivos del controlador de impresora de 64-bit " +"de CUPS (%d)." #, c-format msgid "Unable to copy 64-bit Windows printer driver files (%d)!" -msgstr "No se han podido copiar los archivos del controlador de impresora de 64-bit de Windows (%d)." +msgstr "" +"No se han podido copiar los archivos del controlador de impresora de 64-bit " +"de Windows (%d)." #, c-format msgid "Unable to copy CUPS printer driver files (%d)!" -msgstr "No se han podido copiar los archivos del controlador de impresora de CUPS (%d)." +msgstr "" +"No se han podido copiar los archivos del controlador de impresora de CUPS (%" +"d)." #, c-format msgid "Unable to copy PPD file - %s!" @@ -4046,11 +4203,15 @@ msgstr "No se ha podido copiar el archivo PPD." #, c-format msgid "Unable to copy Windows 2000 printer driver files (%d)!" -msgstr "No se han podido copiar los archivos del controlador de impresora de Windows 2000 (%d)." +msgstr "" +"No se han podido copiar los archivos del controlador de impresora de Windows " +"2000 (%d)." #, c-format msgid "Unable to copy Windows 9x printer driver files (%d)!" -msgstr "No se han podido copiar los archivos del controlador de impresora de Windows 9x (%d)." +msgstr "" +"No se han podido copiar los archivos del controlador de impresora de Windows " +"9x (%d)." #, c-format msgid "Unable to copy interface script - %s!" @@ -4100,11 +4261,15 @@ msgstr "No se ha podido obtener el estado de la impresora" #, c-format msgid "Unable to install Windows 2000 printer driver files (%d)!" -msgstr "No se han podido instalar los archivos del controlador de impresora de Windows 2000 (%d)." +msgstr "" +"No se han podido instalar los archivos del controlador de impresora de " +"Windows 2000 (%d)." #, c-format msgid "Unable to install Windows 9x printer driver files (%d)!" -msgstr "No se han podido instalar los archivos del controlador de impresora de Windows 9x (%d)." +msgstr "" +"No se han podido instalar los archivos del controlador de impresora de " +"Windows 9x (%d)." msgid "Unable to modify class:" msgstr "No se ha podido modificar la clase:" @@ -4143,7 +4308,8 @@ msgstr "No se ha podido enviar un comando al controlador de la impresora." #, c-format msgid "Unable to set Windows printer driver (%d)!" -msgstr "No se ha podido configurar el controlador de impresora de Windows (%d)." +msgstr "" +"No se ha podido configurar el controlador de impresora de Windows (%d)." msgid "Unable to set options:" msgstr "No se han podido cambiar las opciones:" @@ -4264,13 +4430,18 @@ msgstr "" "Opciones:\n" "\n" " -e Usar cada filtro del archivo PPD\n" -" -f nombre_archivo Establecer el archivo a convertir (de lo contrario, stdin)\n" -" -o nombre_archivo Establecer el archivo a generar (de lo contrario, stdout)\n" -" -i tipo/mime Establecer el tipo MIME de entrada (de lo contrario, auto-typed)\n" -" -j tipo/mime Establecer el tipo MIME de salida (de lo contrario, application/pdf)\n" +" -f nombre_archivo Establecer el archivo a convertir (de lo " +"contrario, stdin)\n" +" -o nombre_archivo Establecer el archivo a generar (de lo " +"contrario, stdout)\n" +" -i tipo/mime Establecer el tipo MIME de entrada (de lo contrario, " +"auto-typed)\n" +" -j tipo/mime Establecer el tipo MIME de salida (de lo contrario, " +"application/pdf)\n" " -P nombre_archivo.ppd Establecer el archivo PPD\n" " -a 'nombre=valor ...' Establecer opciones\n" -" -U nombre_usuario Establecer un nombre de usuario para el trabajo\n" +" -U nombre_usuario Establecer un nombre de usuario para el " +"trabajo\n" " -J título Establecer el título\n" " -c copias Establecer el número de copias\n" " -u Borrar el archivo PPD al finalizar\n" @@ -4292,7 +4463,8 @@ msgstr "" " cupsaddsmb [opciones] -a\n" "\n" "Opciones:\n" -" -E Hace que se use encriptación en la conexión con el servidor\n" +" -E Hace que se use encriptación en la conexión con el " +"servidor\n" " -H servidor_samba Usa el servidor SAMBA especificado\n" " -U usuario_samba Autentifica usando el usuario SAMBA especificado\n" " -a Exporta todas las impresoras\n" @@ -4327,8 +4499,10 @@ msgstr "" " --[no-]remote-admin Activar o desactivar la administración remota\n" " --[no-]remote-any Permitir o impedir el acceso desde Internet\n" " --[no-]remote-printers Mostrar u ocultar las impresoras remotas\n" -" --[no-]share-printers Activar o desactivar la compartición de impresoras\n" -" --[no-]user-cancel-any Permitir o impedir a los usuarios cancelar cualquier trabajo\n" +" --[no-]share-printers Activar o desactivar la compartición de " +"impresoras\n" +" --[no-]user-cancel-any Permitir o impedir a los usuarios cancelar " +"cualquier trabajo\n" msgid "" "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n" @@ -4366,7 +4540,8 @@ msgstr "" "\n" " -c cupsd.conf Establecer el archivo cupsd.conf a usar\n" " -e Usar cada filtro del archivo PPD\n" -" -j job-id[,N] Filtrar el archivo N del trabajo especificado (el valor predeterminado es el archivo 1)\n" +" -j job-id[,N] Filtrar el archivo N del trabajo especificado (el valor " +"predeterminado es el archivo 1)\n" " -n copias Establecer el número de copias\n" " -o nombre=valor Establecer opciones\n" " -p nombre_archivo.ppd Establecer el archivo PPD\n" @@ -4380,7 +4555,8 @@ msgid "" "\n" " -h Show program usage\n" "\n" -" Note: this program only validates the DSC comments, not the PostScript itself.\n" +" Note: this program only validates the DSC comments, not the PostScript " +"itself.\n" msgstr "" "Uso: cupstestdsc [opciones] nombre_archivo.ps [... nombre_archivo.ps]\n" " cupstestdsc [opciones] -\n" @@ -4389,7 +4565,8 @@ msgstr "" "\n" " -h Muestra cómo se usa el programa\n" "\n" -" Nota: este programa sólo valida los comentarios DSC, no el PostScript en sí mismo.\n" +" Nota: este programa sólo valida los comentarios DSC, no el PostScript en " +"sí mismo.\n" msgid "" "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n" @@ -4398,20 +4575,23 @@ msgid "" "Options:\n" "\n" " -R root-directory Set alternate root\n" -" -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}\n" +" -W {all,none,constraints,defaults,duplex,filters,profiles,sizes," +"translations}\n" " Issue warnings instead of errors\n" " -q Run silently\n" " -r Use 'relaxed' open mode\n" " -v Be slightly verbose\n" " -vv Be very verbose\n" msgstr "" -"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN.ppd[.gz]]\n" +"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN.ppd" +"[.gz]]\n" " programa | cupstestppd [opciones] -\n" "\n" "Opciones:\n" "\n" " -R directorio-raíz Establecer directorio raíz alternativo\n" -" -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}\n" +" -W {all,none,constraints,defaults,duplex,filters,profiles,sizes," +"translations}\n" " Emitir avisos (warnings) en vez de errores\n" " -q Ejecución silenciosa\n" " -r Usar modo abierto 'relajado'\n" @@ -4444,8 +4624,11 @@ msgstr "" " lppasswd [-g nombre_grupo] -a [nombre_usuario]\n" " lppasswd [-g nombre_grupo] -x [nombre_usuario]\n" -msgid "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n" -msgstr "Uso: lpq (-P dest) (-U nombre_usuario) (-h nombre_ordenador(:puerto)) (-l) (+intervalo)\n" +msgid "" +"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n" +msgstr "" +"Uso: lpq (-P dest) (-U nombre_usuario) (-h nombre_ordenador(:puerto)) (-l) " +"(+intervalo)\n" msgid "" "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n" @@ -4516,7 +4699,8 @@ msgid "" " -I include-dir Add include directory to search path.\n" " -v Be verbose (more v's for more verbosity).\n" msgstr "" -"Uso: ppdpo [opciones] -o nombre_archivo.po nombre_archivo.drv [ ... nombre_archivoN.drv ]\n" +"Uso: ppdpo [opciones] -o nombre_archivo.po nombre_archivo.drv [ ... " +"nombre_archivoN.drv ]\n" "Opciones:\n" " -D nombre=valor Establecer la variable nombre al valor.\n" " -I include-dir Añadir el directorio include a la ruta de búsqueda.\n" @@ -4540,7 +4724,8 @@ msgstr "WARNING: Añadiendo sólo las primeras %d impresoras encontradas" #, c-format msgid "WARNING: Boolean expected for waiteof option \"%s\"\n" -msgstr "WARNING: Se esperaba un valor booleano para la opción waiteof \"%s\".\n" +msgstr "" +"WARNING: Se esperaba un valor booleano para la opción waiteof \"%s\".\n" msgid "WARNING: Failed to read side-channel request!\n" msgstr "WARNING: No se ha podido leer la petición del canal lateral.\n" @@ -4556,23 +4741,41 @@ msgid "WARNING: Printer sent unexpected EOF\n" msgstr "WARNING: La impresora envió un EOF inesperado\n" #, c-format -msgid "WARNING: Remote host did not respond with command status byte after %d seconds!\n" -msgstr "WARNING: El ordenador remoto no ha respondido con el byte de estado del comando después de %d segundos.\n" +msgid "" +"WARNING: Remote host did not respond with command status byte after %d " +"seconds!\n" +msgstr "" +"WARNING: El ordenador remoto no ha respondido con el byte de estado del " +"comando después de %d segundos.\n" #, c-format -msgid "WARNING: Remote host did not respond with control status byte after %d seconds!\n" -msgstr "WARNING: El ordenador remoto no ha respondido con el byte de estado de control después de %d segundos.\n" +msgid "" +"WARNING: Remote host did not respond with control status byte after %d " +"seconds!\n" +msgstr "" +"WARNING: El ordenador remoto no ha respondido con el byte de estado de " +"control después de %d segundos.\n" #, c-format -msgid "WARNING: Remote host did not respond with data status byte after %d seconds!\n" -msgstr "WARNING: El ordenador remoto no ha respondido con el byte de estado de los datos después de %d segundos.\n" +msgid "" +"WARNING: Remote host did not respond with data status byte after %d " +"seconds!\n" +msgstr "" +"WARNING: El ordenador remoto no ha respondido con el byte de estado de los " +"datos después de %d segundos.\n" #, c-format msgid "WARNING: SCSI command timed out (%d); retrying...\n" -msgstr "WARNING: Agotado el tiempo de espera para el comando SCSI (%d); reintentando...\n" +msgstr "" +"WARNING: Agotado el tiempo de espera para el comando SCSI (%d); " +"reintentando...\n" -msgid "WARNING: This document does not conform to the Adobe Document Structuring Conventions and may not print correctly!\n" -msgstr "WARNING: Este documento no se ajusta a las Convenciones de Estructuración de Documentos de Adobe y puede que no se imprima correctamente.\n" +msgid "" +"WARNING: This document does not conform to the Adobe Document Structuring " +"Conventions and may not print correctly!\n" +msgstr "" +"WARNING: Este documento no se ajusta a las Convenciones de Estructuración de " +"Documentos de Adobe y puede que no se imprima correctamente.\n" #, c-format msgid "WARNING: Unable to open \"%s:%s\": %s\n" @@ -4606,18 +4809,28 @@ msgid "WARNING: number expected for status option \"%s\"\n" msgstr "WARNING: se esperaba un número para la opción de estado \"%s\"\n" #, c-format -msgid "WARNING: recoverable: Network host '%s' is busy; will retry in %d seconds...\n" -msgstr "WARNING: recuperable: El ordenador de red '%s' está ocupado; reintento en %d segundos...\n" +msgid "" +"WARNING: recoverable: Network host '%s' is busy; will retry in %d " +"seconds...\n" +msgstr "" +"WARNING: recuperable: El ordenador de red '%s' está ocupado; reintento en %d " +"segundos...\n" msgid "Warning, no Windows 2000 printer drivers are installed!" -msgstr "Advertencia, no está instalado ningún controlador de impresora de Windows 2000." +msgstr "" +"Advertencia, no está instalado ningún controlador de impresora de Windows " +"2000." msgid "Yes" msgstr "Si" #, c-format -msgid "You must access this page using the URL https://%s:%d%s." -msgstr "Debe acceder a esta página usando el URL https://%s:%d%s." +msgid "" +"You must access this page using the URL https://%" +"s:%d%s." +msgstr "" +"Debe acceder a esta página usando el URL https://" +"%s:%d%s." msgid "You4 Envelope" msgstr "Sobre You4" @@ -4663,7 +4876,9 @@ msgid "cupsctl: Unknown option \"-%c\"!\n" msgstr "cupsctl: Opción \"-%c\" desconocida.\n" msgid "cupsd: Expected config filename after \"-c\" option!\n" -msgstr "cupsd: Se esperaba un nombre de archivo de configuración tras la opción \"-c\".\n" +msgstr "" +"cupsd: Se esperaba un nombre de archivo de configuración tras la opción \"-c" +"\".\n" msgid "cupsd: Unable to get current directory!\n" msgstr "cupsd: No se ha podido obtener el directorio actual.\n" @@ -4677,7 +4892,9 @@ msgid "cupsd: Unknown option \"%c\" - aborting!\n" msgstr "cupsd: Opción \"%c\" desconocida - cancelando.\n" msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n" -msgstr "cupsd: el uso de launchd(8) no ha sido compilado, ejecutándose en modo normal.\n" +msgstr "" +"cupsd: el uso de launchd(8) no ha sido compilado, ejecutándose en modo " +"normal.\n" #, c-format msgid "cupsfilter: Invalid document number %d!\n" @@ -4727,7 +4944,8 @@ msgid "job-printer-uri attribute missing!" msgstr "Falta el atributo job-printer-uri." msgid "lpadmin: Class name can only contain printable characters!\n" -msgstr "lpadmin: El nombre de la clase sólo puede contener caracteres imprimibles.\n" +msgstr "" +"lpadmin: El nombre de la clase sólo puede contener caracteres imprimibles.\n" msgid "lpadmin: Expected PPD after '-P' option!\n" msgstr "lpadmin: Se esperaba un PPD tras la opción '-P'.\n" @@ -4786,7 +5004,9 @@ msgid "lpadmin: Printer %s is not a member of class %s.\n" msgstr "lpadmin: La impresora %s no es miembro de la clase %s.\n" msgid "lpadmin: Printer name can only contain printable characters!\n" -msgstr "lpadmin: El nombre de la impresora sólo puede contener caracteres imprimibles.\n" +msgstr "" +"lpadmin: El nombre de la impresora sólo puede contener caracteres " +"imprimibles.\n" msgid "" "lpadmin: Unable to add a printer to the class:\n" @@ -4876,13 +5096,15 @@ msgid "lpadmin: Unknown option '%c'!\n" msgstr "lpadmin: Opción '%c' desconocida.\n" msgid "lpadmin: Warning - content type list ignored!\n" -msgstr "lpadmin: Advertencia - lista de tipo de contenido no tenida en cuenta.\n" +msgstr "" +"lpadmin: Advertencia - lista de tipo de contenido no tenida en cuenta.\n" msgid "lpc> " msgstr "lpc> " msgid "lpinfo: Expected 1284 device ID string after --device-id!\n" -msgstr "lpinfo: Se esperaba una cadena ID de dispositivo 1284 tras --device-id.\n" +msgstr "" +"lpinfo: Se esperaba una cadena ID de dispositivo 1284 tras --device-id.\n" msgid "lpinfo: Expected language after --language!\n" msgstr "lpinfo: Se esperaba un idioma tras --language.\n" @@ -4982,7 +5204,9 @@ msgstr "lppasswd: No se ha podido escribir en el archivo de contraseñas: %s\n" #, c-format msgid "lppasswd: failed to backup old password file: %s\n" -msgstr "lppasswd: falló al hacer una copia de seguridad del antiguo archivo de contraseñas: %s\n" +msgstr "" +"lppasswd: falló al hacer una copia de seguridad del antiguo archivo de " +"contraseñas: %s\n" #, c-format msgid "lppasswd: failed to rename password file: %s\n" @@ -4993,8 +5217,12 @@ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n" msgstr "lppasswd: el usuario \"%s\" y el grupo \"%s\" no existen.\n" #, c-format -msgid "lpstat: error - %s environment variable names non-existent destination \"%s\"!\n" -msgstr "lpstat: error - Los nombre de variable de entorno %s no existen en el destino \"%s\".\n" +msgid "" +"lpstat: error - %s environment variable names non-existent destination \"%s" +"\"!\n" +msgstr "" +"lpstat: error - Los nombre de variable de entorno %s no existen en el " +"destino \"%s\".\n" #, c-format msgid "members of class %s:\n" @@ -5070,7 +5298,8 @@ msgstr "ppdc: Se esperaba un valor lógico en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected charset after Font on line %d of %s!\n" -msgstr "ppdc: Se esperaba un juego de caracteres tras Font en la línea %d de %s.\n" +msgstr "" +"ppdc: Se esperaba un juego de caracteres tras Font en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected choice code on line %d of %s.\n" @@ -5082,7 +5311,8 @@ msgstr "ppdc: Se esperaba un nombre/texto apropiado en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n" -msgstr "ppdc: Se esperaba un orden de color para ColorModel en la línea %d de %s.\n" +msgstr "" +"ppdc: Se esperaba un orden de color para ColorModel en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n" @@ -5094,11 +5324,16 @@ msgstr "ppdc: Se esperaba compresión para ColorModel en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n" -msgstr "ppdc: Se esperaba una cadena de restricciones para UIConstraints en la línea %d de %s.\n" +msgstr "" +"ppdc: Se esperaba una cadena de restricciones para UIConstraints en la línea " +"%d de %s.\n" #, c-format -msgid "ppdc: Expected driver type keyword following DriverType on line %d of %s!\n" -msgstr "ppdc: Se esperaba una clave de tipo de controlador tras DriverType en la línea %d de %s.\n" +msgid "" +"ppdc: Expected driver type keyword following DriverType on line %d of %s!\n" +msgstr "" +"ppdc: Se esperaba una clave de tipo de controlador tras DriverType en la " +"línea %d de %s.\n" #, c-format msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n" @@ -5110,7 +5345,8 @@ msgstr "ppdc: Se esperaba una codificación tras Font en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected filename after #po %s on line %d of %s!\n" -msgstr "ppdc: Se esperaba un nombre de archivo tras #po %s en la línea %d de %s.\n" +msgstr "" +"ppdc: Se esperaba un nombre de archivo tras #po %s en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected group name/text on line %d of %s!\n" @@ -5162,15 +5398,19 @@ msgstr "ppdc: Se esperaba un nombre/texto tras %s en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected name/text after Installable on line %d of %s!\n" -msgstr "ppdc: Se esperaba un nombre/texto tras Installable en la línea %d de %s.\n" +msgstr "" +"ppdc: Se esperaba un nombre/texto tras Installable en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n" -msgstr "ppdc: Se esperaba un nombre/texto tras Resolution en la línea %d de %s.\n" +msgstr "" +"ppdc: Se esperaba un nombre/texto tras Resolution en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n" -msgstr "ppdc: Se esperaba una combinación nombre/texto para ColorModel en la línea %d de %s.\n" +msgstr "" +"ppdc: Se esperaba una combinación nombre/texto para ColorModel en la línea %" +"d de %s.\n" #, c-format msgid "ppdc: Expected option name/text on line %d of %s!\n" @@ -5186,19 +5426,29 @@ msgstr "ppdc: Se esperaba un tipo de opción en la línea %d de %s.\n" #, c-format msgid "ppdc: Expected override field after Resolution on line %d of %s!\n" -msgstr "ppdc: Se esperaba un campo de anulación tras Resolution en la línea %d de %s.\n" +msgstr "" +"ppdc: Se esperaba un campo de anulación tras Resolution en la línea %d de %" +"s.\n" #, c-format msgid "ppdc: Expected real number on line %d of %s!\n" msgstr "ppdc: Se esperaba un número real en la línea %d de %s.\n" #, c-format -msgid "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s!\n" -msgstr "ppdc: Se esperaba resolución/tipo de soporte tras ColorProfile en la línea %d de %s.\n" +msgid "" +"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %" +"s!\n" +msgstr "" +"ppdc: Se esperaba resolución/tipo de soporte tras ColorProfile en la línea %" +"d de %s.\n" #, c-format -msgid "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d of %s!\n" -msgstr "ppdc: Se esperaba resolución/tipo de soporte tras SimpleColorProfile en la línea %d de %s.\n" +msgid "" +"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d " +"of %s!\n" +msgstr "" +"ppdc: Se esperaba resolución/tipo de soporte tras SimpleColorProfile en la " +"línea %d de %s.\n" #, c-format msgid "ppdc: Expected selector after %s on line %d of %s!\n" @@ -5238,11 +5488,14 @@ msgstr "ppdc: Coste incorrecto para el filtro en la línea %d de %s.\n" #, c-format msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n" -msgstr "ppdc: Tipo MIME vacío incorrecto para el filtro en la línea %d de %s.\n" +msgstr "" +"ppdc: Tipo MIME vacío incorrecto para el filtro en la línea %d de %s.\n" #, c-format msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n" -msgstr "ppdc: Nombre de programa vacío incorrecto para el filtro en la línea %d de %s.\n" +msgstr "" +"ppdc: Nombre de programa vacío incorrecto para el filtro en la línea %d de %" +"s.\n" #, c-format msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n" @@ -5278,7 +5531,8 @@ msgstr "ppdc: No se ha proporcionado catálogo de mensajes para el idioma %s.\n" #, c-format msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n" -msgstr "ppdc: La opción %s redefinida con un tipo diferente en la línea %d de %s.\n" +msgstr "" +"ppdc: La opción %s redefinida con un tipo diferente en la línea %d de %s.\n" #, c-format msgid "ppdc: Option constraint must *name on line %d of %s!\n" @@ -5306,11 +5560,14 @@ msgstr "ppdc: No se ha podido ejecutar cupstestppd: %s\n" #, c-format msgid "ppdc: Unable to find #po file %s on line %d of %s!\n" -msgstr "ppdc: No se ha podido encontrar el archivo #po %s en la línea %d de %s.\n" +msgstr "" +"ppdc: No se ha podido encontrar el archivo #po %s en la línea %d de %s.\n" #, c-format msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n" -msgstr "ppdc: No se ha podido encontrar el archivo include \"%s\" en la línea %d de %s.\n" +msgstr "" +"ppdc: No se ha podido encontrar el archivo include \"%s\" en la línea %d de %" +"s.\n" #, c-format msgid "ppdc: Unable to find localization for \"%s\" - %s\n" @@ -5341,8 +5598,11 @@ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n" msgstr "ppdc: Elemento desconocido \"%s\" visto en la línea %d de %s.\n" #, c-format -msgid "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s!\n" -msgstr "ppdc: Caracteres finales desconocidos en el número real \"%s\" en la línea %d de %s.\n" +msgid "" +"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s!\n" +msgstr "" +"ppdc: Caracteres finales desconocidos en el número real \"%s\" en la línea %" +"d de %s.\n" #, c-format msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n" @@ -5434,4 +5694,3 @@ msgstr "sin título" msgid "variable-bindings uses indefinite length" msgstr "variable-bindings usa una longitud indefinida" - diff --git a/locale/cups_fi.po b/locale/cups_fi.po index d0b415d18..99625b235 100644 --- a/locale/cups_fi.po +++ b/locale/cups_fi.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-12 15:10+0200\n" "Last-Translator: Teppo Turtiainen \n" "Language-Team: Finnish\n" @@ -3178,6 +3178,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Välilukko avoinna." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Sisäinen virhe" diff --git a/locale/cups_fr.po b/locale/cups_fr.po index be6dc0130..b2f441fbf 100644 --- a/locale/cups_fr.po +++ b/locale/cups_fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3218,6 +3218,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Dispositif de verrouillage ouvert." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Erreur interne" diff --git a/locale/cups_it.po b/locale/cups_it.po index e9b29516e..81a7a8ddc 100644 --- a/locale/cups_it.po +++ b/locale/cups_it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3180,6 +3180,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Interblocco aperto." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Errore interno" diff --git a/locale/cups_ja.po b/locale/cups_ja.po index 578fb5a44..71a529dd8 100644 --- a/locale/cups_ja.po +++ b/locale/cups_ja.po @@ -31,7 +31,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-20 16:43+0900\n" "Last-Translator: OPFC TRANSCUPS \n" "Language-Team: OPFC TRANSCUPS \n" @@ -3203,6 +3203,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "インターロックが開いています。" +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "内部エラー" diff --git a/locale/cups_ko.po b/locale/cups_ko.po index 5d3b0bd54..881295608 100644 --- a/locale/cups_ko.po +++ b/locale/cups_ko.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3153,6 +3153,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "연동 장치가 열려 있음." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "내부 오류" diff --git a/locale/cups_nl.po b/locale/cups_nl.po index 0bc5ed716..c3323042e 100644 --- a/locale/cups_nl.po +++ b/locale/cups_nl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3200,6 +3200,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Interlock open." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Interne fout" diff --git a/locale/cups_no.po b/locale/cups_no.po index 56dc365a5..110f9908b 100644 --- a/locale/cups_no.po +++ b/locale/cups_no.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3160,6 +3160,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Sikkerhetsenhet åpen." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Intern feil" diff --git a/locale/cups_pl.po b/locale/cups_pl.po index fae724b43..9ed1eb57b 100644 --- a/locale/cups_pl.po +++ b/locale/cups_pl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3183,6 +3183,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Rygiel jest otwarty." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Błąd wewnętrzny" diff --git a/locale/cups_pt.po b/locale/cups_pt.po index 15ee389e4..6331fe445 100644 --- a/locale/cups_pt.po +++ b/locale/cups_pt.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3188,6 +3188,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Bloqueio aberto." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Erro interno" diff --git a/locale/cups_pt_BR.po b/locale/cups_pt_BR.po index 8f9747966..8b57ffe1d 100644 --- a/locale/cups_pt_BR.po +++ b/locale/cups_pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3194,6 +3194,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Conexão aberta." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Erro interno" diff --git a/locale/cups_ru.po b/locale/cups_ru.po index 05e40e950..2b90ff0a4 100644 --- a/locale/cups_ru.po +++ b/locale/cups_ru.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3173,6 +3173,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Открыт замок." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Внутренняя ошибка" diff --git a/locale/cups_sv.po b/locale/cups_sv.po index cd805e1c4..b00c0dfef 100644 --- a/locale/cups_sv.po +++ b/locale/cups_sv.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3162,6 +3162,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Spärrmekanism öppen." +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "Internt fel" diff --git a/locale/cups_zh.po b/locale/cups_zh.po index 222e448a7..de7a5b814 100644 --- a/locale/cups_zh.po +++ b/locale/cups_zh.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3127,6 +3127,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "互锁打开。" +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "内部错误" diff --git a/locale/cups_zh_TW.po b/locale/cups_zh_TW.po index b00766936..fef92917d 100644 --- a/locale/cups_zh_TW.po +++ b/locale/cups_zh_TW.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: CUPS 1.4\n" "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n" -"POT-Creation-Date: 2009-03-13 15:08-0700\n" +"POT-Creation-Date: 2009-03-23 14:56-0700\n" "PO-Revision-Date: 2009-02-16 12:00-0800\n" "Last-Translator: Apple Inc.\n" "Language-Team: Apple Inc.\n" @@ -3128,6 +3128,9 @@ msgstr "Intellitech" msgid "Interlock open." msgstr "Interlock 已打開。" +msgid "Internal Server Error" +msgstr "" + msgid "Internal error" msgstr "內部錯誤" diff --git a/ppdc/genstrings.cxx b/ppdc/genstrings.cxx index 46bfeb391..1fec252bf 100644 --- a/ppdc/genstrings.cxx +++ b/ppdc/genstrings.cxx @@ -7,7 +7,7 @@ // the standard media and sample driver strings. The results are picked up // by GNU gettext and placed in the CUPS message catalog. // -// Copyright 2008 by Apple Inc. +// Copyright 2008-2009 by Apple Inc. // // These coded instructions, statements, and computer programs are the // property of Apple Inc. and are protected by Federal copyright @@ -91,6 +91,9 @@ main(void) message = (ppdcMessage *)catalog->messages->next()) write_cstring(message->id->value); + src->release(); + catalog->release(); + // Return with no errors. return (0); } diff --git a/ppdc/ppdc-array.cxx b/ppdc/ppdc-array.cxx index 41b0dcb5b..30bd48319 100644 --- a/ppdc/ppdc-array.cxx +++ b/ppdc/ppdc-array.cxx @@ -3,7 +3,7 @@ // // Array class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -34,7 +34,10 @@ // ppdcArray::ppdcArray(ppdcArray *a) + : ppdcShared() { + PPDC_NEW; + if (a) { count = a->count; @@ -70,6 +73,8 @@ ppdcArray::ppdcArray(ppdcArray *a) ppdcArray::~ppdcArray() { + PPDC_DELETE; + for (int i = 0; i < count; i ++) data[i]->release(); @@ -99,7 +104,6 @@ ppdcArray::add(ppdcShared *d) data = temp; } - d->retain(); data[count++] = d; } diff --git a/ppdc/ppdc-attr.cxx b/ppdc/ppdc-attr.cxx index 22b1f50e8..67b93e9af 100644 --- a/ppdc/ppdc-attr.cxx +++ b/ppdc/ppdc-attr.cxx @@ -3,7 +3,7 @@ // // Attribute class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -14,8 +14,8 @@ // // Contents: // -// ppdcAttr::ppdcAttr() - Create an attribute. -// ppdcAttr::~ppdcAttr() - Destroy an attribute. +// ppdcAttr::ppdcAttr() - Create an attribute. +// ppdcAttr::~ppdcAttr() - Destroy an attribute. // // @@ -36,6 +36,8 @@ ppdcAttr::ppdcAttr(const char *n, // I - Name bool loc) // I - Localize this attribute? : ppdcShared() { + PPDC_NEW; + name = new ppdcString(n); selector = new ppdcString(s); text = new ppdcString(t); @@ -50,6 +52,8 @@ ppdcAttr::ppdcAttr(const char *n, // I - Name ppdcAttr::~ppdcAttr() { + PPDC_DELETE; + name->release(); selector->release(); text->release(); diff --git a/ppdc/ppdc-catalog.cxx b/ppdc/ppdc-catalog.cxx index e67754a5b..4f4995c70 100644 --- a/ppdc/ppdc-catalog.cxx +++ b/ppdc/ppdc-catalog.cxx @@ -3,7 +3,7 @@ // // Shared message catalog class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2006 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -69,6 +69,8 @@ ppdcCatalog::ppdcCatalog(const char *l, // I - Locale // Global information + PPDC_NEW; + locale = new ppdcString(l); filename = new ppdcString(f); messages = new ppdcArray(); @@ -106,6 +108,8 @@ ppdcCatalog::ppdcCatalog(const char *l, // I - Locale ppdcCatalog::~ppdcCatalog() { + PPDC_DELETE; + locale->release(); filename->release(); messages->release(); diff --git a/ppdc/ppdc-choice.cxx b/ppdc/ppdc-choice.cxx index 8ce9628e0..03dc646e9 100644 --- a/ppdc/ppdc-choice.cxx +++ b/ppdc/ppdc-choice.cxx @@ -3,7 +3,7 @@ // // Option choice class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -34,6 +34,8 @@ ppdcChoice::ppdcChoice(const char *n, // I - Name of choice const char *c) // I - Code of choice : ppdcShared() { + PPDC_NEW; + name = new ppdcString(n); text = new ppdcString(t); code = new ppdcString(c); @@ -46,6 +48,8 @@ ppdcChoice::ppdcChoice(const char *n, // I - Name of choice ppdcChoice::~ppdcChoice() { + PPDC_DELETE; + name->release(); text->release(); code->release(); diff --git a/ppdc/ppdc-constraint.cxx b/ppdc/ppdc-constraint.cxx index 76953a44a..f0a6c76a1 100644 --- a/ppdc/ppdc-constraint.cxx +++ b/ppdc/ppdc-constraint.cxx @@ -3,7 +3,7 @@ // // Contraint class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -35,6 +35,8 @@ ppdcConstraint::ppdcConstraint(const char *o1, // I - First option const char *c2) // I - Second choice : ppdcShared() { + PPDC_NEW; + option1 = new ppdcString(o1); choice1 = new ppdcString(c1); option2 = new ppdcString(o2); @@ -48,6 +50,8 @@ ppdcConstraint::ppdcConstraint(const char *o1, // I - First option ppdcConstraint::~ppdcConstraint() { + PPDC_DELETE; + option1->release(); choice1->release(); option2->release(); diff --git a/ppdc/ppdc-driver.cxx b/ppdc/ppdc-driver.cxx index 2321000a2..8453cce30 100644 --- a/ppdc/ppdc-driver.cxx +++ b/ppdc/ppdc-driver.cxx @@ -14,18 +14,20 @@ // // Contents: // -// ppdcDriver::ppdcDriver() - Create a new printer driver. -// ppdcDriver::~ppdcDriver() - Destroy a printer driver. -// ppdcDriver::find_attr() - Find an attribute. -// ppdcDriver::find_group() - Find a group. -// ppdcDriver::find_option() - Find an option. -// ppdcDriver::set_default_size() - Set the default size name. -// ppdcDriver::set_file_name() - Set the full filename. -// ppdcDriver::set_manufacturer() - Set the manufacturer name. -// ppdcDriver::set_model_name() - Set the model name. -// ppdcDriver::set_pc_file_name() - Set the PC filename. -// ppdcDriver::set_version() - Set the version string. -// ppdcDriver::write_ppd_file() - Write a PPD file... +// ppdcDriver::ppdcDriver() - Create a new printer driver. +// ppdcDriver::~ppdcDriver() - Destroy a printer driver. +// ppdcDriver::find_attr() - Find an attribute. +// ppdcDriver::find_group() - Find a group. +// ppdcDriver::find_option() - Find an option. +// ppdcDriver::set_custom_size_code() - Set the custom page size code. +// ppdcDriver::set_default_font() - Set the default font name. +// ppdcDriver::set_default_size() - Set the default size name. +// ppdcDriver::set_file_name() - Set the full filename. +// ppdcDriver::set_manufacturer() - Set the manufacturer name. +// ppdcDriver::set_model_name() - Set the model name. +// ppdcDriver::set_pc_file_name() - Set the PC filename. +// ppdcDriver::set_version() - Set the version string. +// ppdcDriver::write_ppd_file() - Write a PPD file... // // @@ -41,10 +43,13 @@ // ppdcDriver::ppdcDriver(ppdcDriver *d) // I - Printer driver template + : ppdcShared() { ppdcGroup *g; // Current group + PPDC_NEW; + if (d) { // Bump the use count of any strings we inherit... @@ -140,6 +145,8 @@ ppdcDriver::ppdcDriver(ppdcDriver *d) // I - Printer driver template ppdcDriver::~ppdcDriver() { + PPDC_DELETE; + copyright->release(); if (manufacturer) diff --git a/ppdc/ppdc-file.cxx b/ppdc/ppdc-file.cxx index 7f05bb7eb..171eb1d80 100644 --- a/ppdc/ppdc-file.cxx +++ b/ppdc/ppdc-file.cxx @@ -3,7 +3,7 @@ // // File class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the diff --git a/ppdc/ppdc-filter.cxx b/ppdc/ppdc-filter.cxx index bb610bf3a..a99fd608a 100644 --- a/ppdc/ppdc-filter.cxx +++ b/ppdc/ppdc-filter.cxx @@ -3,7 +3,7 @@ // // Filter class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -32,7 +32,10 @@ ppdcFilter::ppdcFilter(const char *t, // I - MIME type const char *p, // I - Filter program int c) // I - Relative cost + : ppdcShared() { + PPDC_NEW; + mime_type = new ppdcString(t); program = new ppdcString(p); cost = c; @@ -45,6 +48,8 @@ ppdcFilter::ppdcFilter(const char *t, // I - MIME type ppdcFilter::~ppdcFilter() { + PPDC_DELETE; + mime_type->release(); program->release(); } diff --git a/ppdc/ppdc-font.cxx b/ppdc/ppdc-font.cxx index 4a43b5c8d..c2d9fed63 100644 --- a/ppdc/ppdc-font.cxx +++ b/ppdc/ppdc-font.cxx @@ -3,7 +3,7 @@ // // Shared font class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -14,8 +14,8 @@ // // Contents: // -// ppdcFont::ppdcFont() - Create a shared font. -// ppdcFont::~ppdcFont() - Destroy a shared font. +// ppdcFont::ppdcFont() - Create a shared font. +// ppdcFont::~ppdcFont() - Destroy a shared font. // // @@ -36,6 +36,8 @@ ppdcFont::ppdcFont(const char *n, // I - Name of font ppdcFontStatus s) // I - Font status : ppdcShared() { + PPDC_NEW; + name = new ppdcString(n); encoding = new ppdcString(e); version = new ppdcString(v); @@ -50,6 +52,8 @@ ppdcFont::ppdcFont(const char *n, // I - Name of font ppdcFont::~ppdcFont() { + PPDC_DELETE; + name->release(); encoding->release(); version->release(); diff --git a/ppdc/ppdc-group.cxx b/ppdc/ppdc-group.cxx index 6f63cdffb..1924dc751 100644 --- a/ppdc/ppdc-group.cxx +++ b/ppdc/ppdc-group.cxx @@ -3,7 +3,7 @@ // // Group class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -14,7 +14,6 @@ // // Contents: // -// ppdcGroup::ppdcGroup() - Create a new group. // ppdcGroup::ppdcGroup() - Copy a new group. // ppdcGroup::~ppdcGroup() - Destroy a group. // ppdcGroup::find_option() - Find an option in a group. @@ -34,6 +33,8 @@ ppdcGroup::ppdcGroup(const char *n, // I - Name of group const char *t) // I - Text of group { + PPDC_NEW; + name = new ppdcString(n); text = new ppdcString(t); options = new ppdcArray(); @@ -49,6 +50,8 @@ ppdcGroup::ppdcGroup(ppdcGroup *g) // I - Group template ppdcOption *o; // Current option + PPDC_NEW; + g->name->retain(); g->text->retain(); @@ -67,6 +70,8 @@ ppdcGroup::ppdcGroup(ppdcGroup *g) // I - Group template ppdcGroup::~ppdcGroup() { + PPDC_DELETE; + name->release(); text->release(); options->release(); diff --git a/ppdc/ppdc-mediasize.cxx b/ppdc/ppdc-mediasize.cxx index 36c93b430..b80481b7e 100644 --- a/ppdc/ppdc-mediasize.cxx +++ b/ppdc/ppdc-mediasize.cxx @@ -3,7 +3,7 @@ // // Shared media size class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -41,6 +41,8 @@ ppdcMediaSize::ppdcMediaSize(const char *n, // I - Name of media size const char *rc) // I - PageRegion code, if any : ppdcShared() { + PPDC_NEW; + name = new ppdcString(n); text = new ppdcString(t); width = w; @@ -69,6 +71,8 @@ ppdcMediaSize::ppdcMediaSize(const char *n, // I - Name of media size ppdcMediaSize::~ppdcMediaSize() { + PPDC_DELETE; + name->release(); text->release(); size_code->release(); diff --git a/ppdc/ppdc-message.cxx b/ppdc/ppdc-message.cxx index 5f7c2203b..69bcd19a1 100644 --- a/ppdc/ppdc-message.cxx +++ b/ppdc/ppdc-message.cxx @@ -3,7 +3,7 @@ // // Shared message class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -33,6 +33,8 @@ ppdcMessage::ppdcMessage(const char *i, // I - ID const char *s) // I - Text : ppdcShared() { + PPDC_NEW; + id = new ppdcString(i); string = new ppdcString(s); } @@ -44,6 +46,8 @@ ppdcMessage::ppdcMessage(const char *i, // I - ID ppdcMessage::~ppdcMessage() { + PPDC_DELETE; + id->release(); string->release(); } diff --git a/ppdc/ppdc-option.cxx b/ppdc/ppdc-option.cxx index 5a33a4eb3..8ad1c5c08 100644 --- a/ppdc/ppdc-option.cxx +++ b/ppdc/ppdc-option.cxx @@ -3,7 +3,7 @@ // // Option class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -14,7 +14,6 @@ // // Contents: // -// ppdcOption::ppdcOption() - Create a new option. // ppdcOption::ppdcOption() - Copy a new option. // ppdcOption::~ppdcOption() - Destroy an option. // ppdcOption::find_choice() - Find an option choice. @@ -37,9 +36,9 @@ ppdcOption::ppdcOption(ppdcOptType ot, // I - Option type const char *t, // I - Option text ppdcOptSection s, // I - Section float o) // I - Ordering number + : ppdcShared() { -// printf("ppdcOption(ot=%d, n=\"%s\", t=\"%s\"), this=%p\n", -// ot, n, t, this); + PPDC_NEW; type = ot; name = new ppdcString(n); @@ -57,6 +56,8 @@ ppdcOption::ppdcOption(ppdcOptType ot, // I - Option type ppdcOption::ppdcOption(ppdcOption *o) // I - Template option { + PPDC_NEW; + o->name->retain(); o->text->retain(); if (o->defchoice) @@ -78,6 +79,8 @@ ppdcOption::ppdcOption(ppdcOption *o) // I - Template option ppdcOption::~ppdcOption() { + PPDC_DELETE; + name->release(); text->release(); if (defchoice) diff --git a/ppdc/ppdc-profile.cxx b/ppdc/ppdc-profile.cxx index e047df970..0e85cae87 100644 --- a/ppdc/ppdc-profile.cxx +++ b/ppdc/ppdc-profile.cxx @@ -3,7 +3,7 @@ // // Color profile class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -34,7 +34,10 @@ ppdcProfile::ppdcProfile(const char *r, // I - Resolution name float d, // I - Density float g, // I - Gamma const float *p) // I - 3x3 transform matrix + : ppdcShared() { + PPDC_NEW; + resolution = new ppdcString(r); media_type = new ppdcString(m); density = d; @@ -50,6 +53,8 @@ ppdcProfile::ppdcProfile(const char *r, // I - Resolution name ppdcProfile::~ppdcProfile() { + PPDC_DELETE; + resolution->release(); media_type->release(); } diff --git a/ppdc/ppdc-shared.cxx b/ppdc/ppdc-shared.cxx index d8697a929..551fd72ab 100644 --- a/ppdc/ppdc-shared.cxx +++ b/ppdc/ppdc-shared.cxx @@ -3,7 +3,7 @@ // // Shared data class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -53,6 +53,10 @@ ppdcShared::~ppdcShared() void ppdcShared::release(void) { +#ifdef DEBUG + fprintf(stderr, "DEBUG: %p release %s use=%d\n", this, class_name(), use); +#endif // DEBUG + use --; if (!use) delete this; @@ -67,6 +71,10 @@ void ppdcShared::retain() { use ++; + +#ifdef DEBUG + fprintf(stderr, "DEBUG: %p retain %s use=%d\n", this, class_name(), use); +#endif // DEBUG } diff --git a/ppdc/ppdc-source.cxx b/ppdc/ppdc-source.cxx index d431dc6b6..c06109a82 100644 --- a/ppdc/ppdc-source.cxx +++ b/ppdc/ppdc-source.cxx @@ -19,6 +19,8 @@ // ppdcSource::add_include() - Add an include directory. // ppdcSource::find_driver() - Find a driver. // ppdcSource::find_include() - Find an include file. +// ppdcSource::find_po() - Find a message catalog for the given +// locale... // ppdcSource::find_size() - Find a media size. // ppdcSource::find_variable() - Find a variable. // ppdcSource::get_attr() - Get an attribute. @@ -29,18 +31,19 @@ // ppdcSource::get_color_profile() - Get a color profile definition. // ppdcSource::get_color_space() - Get an old-style colorspace value. // ppdcSource::get_constraint() - Get a constraint. -// ppdcSource::get_custom_size() - Get a custom media size definition -// from a file. +// ppdcSource::get_custom_size() - Get a custom media size definition from +// a file. +// ppdcSource::get_duplex() - Get a duplex option. // ppdcSource::get_filter() - Get a filter. // ppdcSource::get_float() - Get a single floating-point number. // ppdcSource::get_font() - Get a font definition. // ppdcSource::get_generic() - Get a generic old-style option. // ppdcSource::get_group() - Get an option group. // ppdcSource::get_installable() - Get an installable option. -// ppdcSource::get_integer() - Get an integer value from a string. // ppdcSource::get_integer() - Get an integer value from a file. // ppdcSource::get_measurement() - Get a measurement value. // ppdcSource::get_option() - Get an option definition. +// ppdcSource::get_po() - Get a message catalog. // ppdcSource::get_resolution() - Get an old-style resolution option. // ppdcSource::get_simple_profile() - Get a simple color profile definition. // ppdcSource::get_size() - Get a media size definition from a file. @@ -93,7 +96,10 @@ const char *ppdcSource::driver_types[] = ppdcSource::ppdcSource(const char *f, // I - File to read cups_file_t *ffp)// I - File pointer to use + : ppdcShared() { + PPDC_NEW; + filename = new ppdcString(f); base_fonts = new ppdcArray(); drivers = new ppdcArray(); @@ -115,6 +121,8 @@ ppdcSource::ppdcSource(const char *f, // I - File to read ppdcSource::~ppdcSource() { + PPDC_DELETE; + filename->release(); base_fonts->release(); drivers->release(); diff --git a/ppdc/ppdc-string.cxx b/ppdc/ppdc-string.cxx index 9ceae9374..90a42c447 100644 --- a/ppdc/ppdc-string.cxx +++ b/ppdc/ppdc-string.cxx @@ -3,7 +3,7 @@ // // Shared string class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -32,6 +32,8 @@ ppdcString::ppdcString(const char *v) // I - String : ppdcShared() { + PPDC_NEWVAL(v); + if (v) { value = new char[strlen(v) + 1]; @@ -48,6 +50,8 @@ ppdcString::ppdcString(const char *v) // I - String ppdcString::~ppdcString() { + PPDC_DELETE; + if (value) delete[] value; } diff --git a/ppdc/ppdc-variable.cxx b/ppdc/ppdc-variable.cxx index bbe2bdb10..e7708c730 100644 --- a/ppdc/ppdc-variable.cxx +++ b/ppdc/ppdc-variable.cxx @@ -3,7 +3,7 @@ // // Variable class for the CUPS PPD Compiler. // -// Copyright 2007-2008 by Apple Inc. +// Copyright 2007-2009 by Apple Inc. // Copyright 2002-2005 by Easy Software Products. // // These coded instructions, statements, and computer programs are the @@ -32,7 +32,10 @@ ppdcVariable::ppdcVariable(const char *n, // I - Name of variable const char *v) // I - Value of variable + : ppdcShared() { + PPDC_NEW; + name = new ppdcString(n); value = new ppdcString(v); } @@ -44,6 +47,8 @@ ppdcVariable::ppdcVariable(const char *n, // I - Name of variable ppdcVariable::~ppdcVariable() { + PPDC_DELETE; + name->release(); value->release(); } diff --git a/ppdc/ppdc.h b/ppdc/ppdc.h index e8e6f2b23..b75f40dec 100644 --- a/ppdc/ppdc.h +++ b/ppdc/ppdc.h @@ -27,6 +27,23 @@ # include +// +// Macros... +// + +# ifdef DEBUG +# define PPDC_NAME(s) const char *class_name() { return (s); } +# define PPDC_NEW fprintf(stderr, "DEBUG: %p new %s\n", this, class_name()) +# define PPDC_NEWVAL(s) fprintf(stderr, "DEBUG: %p new %s(\"%s\")\n", this, class_name(), s) +# define PPDC_DELETE fprintf(stderr, "DEBUG: %p delete %s\n", this, class_name()) +# else +# define PPDC_NAME(s) +# define PPDC_NEW +# define PPDC_NEWVAL(s) +# define PPDC_DELETE +# endif // DEBUG + + // // Enumerations... // @@ -96,6 +113,10 @@ class ppdcShared //// Shared Data Value ppdcShared(); virtual ~ppdcShared(); +# ifdef DEBUG + virtual const char *class_name() = 0; +# endif // DEBUG + void retain(); void release(); }; @@ -113,6 +134,8 @@ class ppdcArray //// Shared Array ppdcArray(ppdcArray *a = 0); ~ppdcArray(); + PPDC_NAME("ppdcArray") + void add(ppdcShared *d); ppdcShared *first(); ppdcShared *next(); @@ -128,6 +151,8 @@ class ppdcString //// Shared String ppdcString(const char *v); ~ppdcString(); + + PPDC_NAME("ppdcString") }; class ppdcInteger //// Shared integer @@ -138,6 +163,8 @@ class ppdcInteger //// Shared integer int *value; // Integer value ppdcInteger(int *v) { value = v; } + + PPDC_NAME("ppdcInteger") }; class ppdcMessage //// Translation message @@ -150,6 +177,8 @@ class ppdcMessage //// Translation message ppdcMessage(const char *i, const char *s); ~ppdcMessage(); + + PPDC_NAME("ppdcMessage") }; class ppdcCatalog //// Translation catalog @@ -164,6 +193,8 @@ class ppdcCatalog //// Translation catalog ppdcCatalog(const char *l, const char *f = 0); ~ppdcCatalog(); + PPDC_NAME("ppdcCatalog") + void add_message(const char *id, const char *string = NULL); const char *find_message(const char *id); int load_messages(const char *f); @@ -184,6 +215,8 @@ class ppdcAttr //// Attribute ppdcAttr(const char *n, const char *s, const char *t, const char *v, bool loc = false); ~ppdcAttr(); + + PPDC_NAME("ppdcAttr") }; class ppdcFont //// Shared Font @@ -200,6 +233,8 @@ class ppdcFont //// Shared Font ppdcFont(const char *n, const char *e, const char *v, const char *c, ppdcFontStatus s); ~ppdcFont(); + + PPDC_NAME("ppdcFont") }; class ppdcChoice //// Option Choice @@ -213,6 +248,8 @@ class ppdcChoice //// Option Choice ppdcChoice(const char *n, const char *t, const char *c); ~ppdcChoice(); + + PPDC_NAME("ppdcChoice") }; class ppdcOption //// Option @@ -233,6 +270,8 @@ class ppdcOption //// Option ppdcOption(ppdcOption *o); ~ppdcOption(); + PPDC_NAME("ppdcOption") + void add_choice(ppdcChoice *c) { choices->add(c); } ppdcChoice *find_choice(const char *n); void set_defchoice(ppdcChoice *c); @@ -251,6 +290,8 @@ class ppdcGroup //// Group of Options ppdcGroup(ppdcGroup *g); ~ppdcGroup(); + PPDC_NAME("ppdcGroup") + void add_option(ppdcOption *o) { options->add(o); } ppdcOption *find_option(const char *n); }; @@ -268,6 +309,8 @@ class ppdcConstraint //// Constraint ppdcConstraint(const char *o1, const char *c1, const char *o2, const char *c2); ~ppdcConstraint(); + + PPDC_NAME("ppdcConstraint") }; class ppdcFilter //// Filter Program @@ -281,6 +324,8 @@ class ppdcFilter //// Filter Program ppdcFilter(const char *t, const char *p, int c); ~ppdcFilter(); + + PPDC_NAME("ppdcFilter") }; class ppdcMediaSize //// Media Size @@ -303,6 +348,8 @@ class ppdcMediaSize //// Media Size float lm, float bm, float rm, float tm, const char *sc = 0, const char *rc = 0); ~ppdcMediaSize(); + + PPDC_NAME("ppdcMediaSize") }; class ppdcProfile //// Color Profile @@ -318,6 +365,8 @@ class ppdcProfile //// Color Profile ppdcProfile(const char *r, const char *m, float d, float g, const float *p); ~ppdcProfile(); + + PPDC_NAME("ppdcProfile") }; class ppdcSource; @@ -361,6 +410,8 @@ class ppdcDriver //// Printer Driver Data ppdcDriver(ppdcDriver *d = 0); ~ppdcDriver(); + PPDC_NAME("ppdcDriver") + void add_attr(ppdcAttr *a) { attrs->add(a); } void add_constraint(ppdcConstraint *c) { constraints->add(c); } void add_copyright(const char *c) { @@ -401,6 +452,8 @@ class ppdcVariable //// Variable Definition ppdcVariable(const char *n, const char *v); ~ppdcVariable(); + PPDC_NAME("ppdcVariable") + void set_value(const char *v); }; @@ -441,6 +494,8 @@ class ppdcSource //// Source File ppdcSource(const char *f = 0, cups_file_t *ffp = (cups_file_t *)0); ~ppdcSource(); + PPDC_NAME("ppdcSource") + static void add_include(const char *d); ppdcDriver *find_driver(const char *f); static char *find_include(const char *f, const char *base, char *n, diff --git a/scheduler/auth.c b/scheduler/auth.c index cc2f9a412..abf55e3e2 100644 --- a/scheduler/auth.c +++ b/scheduler/auth.c @@ -687,15 +687,6 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */ # endif /* PAM_TTY */ # endif /* HAVE_PAM_SET_ITEM */ -# ifdef HAVE_PAM_SETCRED - pamerr = pam_setcred(pamh, PAM_ESTABLISH_CRED | PAM_SILENT); - if (pamerr != PAM_SUCCESS) - cupsdLogMessage(CUPSD_LOG_WARN, - "cupsdAuthorize: pam_setcred() " - "returned %d (%s)!", pamerr, - pam_strerror(pamh, pamerr)); -# endif /* HAVE_PAM_SETCRED */ - pamerr = pam_authenticate(pamh, PAM_SILENT); if (pamerr != PAM_SUCCESS) { @@ -707,6 +698,15 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */ return; } +# ifdef HAVE_PAM_SETCRED + pamerr = pam_setcred(pamh, PAM_ESTABLISH_CRED | PAM_SILENT); + if (pamerr != PAM_SUCCESS) + cupsdLogMessage(CUPSD_LOG_WARN, + "cupsdAuthorize: pam_setcred() " + "returned %d (%s)!", pamerr, + pam_strerror(pamh, pamerr)); +# endif /* HAVE_PAM_SETCRED */ + pamerr = pam_acct_mgmt(pamh, PAM_SILENT); if (pamerr != PAM_SUCCESS) { diff --git a/scheduler/classes.c b/scheduler/classes.c index d9ea99758..d34697600 100644 --- a/scheduler/classes.c +++ b/scheduler/classes.c @@ -792,6 +792,9 @@ cupsdSaveAllClasses(void) pclass->job_sheets[1]); cupsFilePutConf(fp, "JobSheets", value); + for (i = 0; i < pclass->num_printers; i ++) + cupsFilePrintf(fp, "Printer %s\n", pclass->printers[i]->name); + cupsFilePrintf(fp, "QuotaPeriod %d\n", pclass->quota_period); cupsFilePrintf(fp, "PageLimit %d\n", pclass->page_limit); cupsFilePrintf(fp, "KLimit %d\n", pclass->k_limit); diff --git a/scheduler/client.c b/scheduler/client.c index 97ac047f1..ecd91a04b 100644 --- a/scheduler/client.c +++ b/scheduler/client.c @@ -17,30 +17,32 @@ * * Contents: * - * cupsdAcceptClient() - Accept a new client. - * cupsdCloseAllClients() - Close all remote clients immediately. - * cupsdCloseClient() - Close a remote client. - * cupsdFlushHeader() - Flush the header fields to the client. - * cupsdReadClient() - Read data from a client. - * cupsdSendCommand() - Send output from a command via HTTP. - * cupsdSendError() - Send an error message via HTTP. - * cupsdSendHeader() - Send an HTTP request. - * cupsdUpdateCGI() - Read status messages from CGI scripts and programs. - * cupsdWriteClient() - Write data to a client as needed. - * check_if_modified() - Decode an "If-Modified-Since" line. - * compare_clients() - Compare two client connections. - * data_ready() - Check whether data is available from a client. - * encrypt_client() - Enable encryption for the client... - * get_cdsa_certificate() - Convert a keychain name into the CFArrayRef - * required by SSLSetCertificate. - * get_file() - Get a filename and state info. - * install_conf_file() - Install a configuration file. - * is_cgi() - Is the resource a CGI script/program? - * is_path_absolute() - Is a path absolute and free of relative elements. - * make_certificate() - Make a self-signed SSL/TLS certificate. - * pipe_command() - Pipe the output of a command to the remote client. - * write_file() - Send a file via HTTP. - * write_pipe() - Flag that data is available on the CGI pipe. + * cupsdAcceptClient() - Accept a new client. + * cupsdCloseAllClients() - Close all remote clients immediately. + * cupsdCloseClient() - Close a remote client. + * cupsdFlushHeader() - Flush the header fields to the client. + * cupsdReadClient() - Read data from a client. + * cupsdSendCommand() - Send output from a command via HTTP. + * cupsdSendError() - Send an error message via HTTP. + * cupsdSendHeader() - Send an HTTP request. + * cupsdUpdateCGI() - Read status messages from CGI scripts and + * programs. + * cupsdWriteClient() - Write data to a client as needed. + * check_if_modified() - Decode an "If-Modified-Since" line. + * compare_clients() - Compare two client connections. + * data_ready() - Check whether data is available from a client. + * encrypt_client() - Enable encryption for the client... + * get_cdsa_certificate() - Get a SSL/TLS certificate from the System + * keychain. + * get_file() - Get a filename and state info. + * install_conf_file() - Install a configuration file. + * is_cgi() - Is the resource a CGI script/program? + * is_path_absolute() - Is a path absolute and free of relative elements + * (i.e. ".."). + * make_certificate() - Make a self-signed SSL/TLS certificate. + * pipe_command() - Pipe the output of a command to the remote client. + * write_file() - Send a file via HTTP. + * write_pipe() - Flag that data is available on the CGI pipe. */ /* @@ -2817,16 +2819,21 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */ if (bytes <= 0 || (con->http.state != HTTP_GET_SEND && con->http.state != HTTP_POST_SEND)) { - cupsdLogRequest(con, HTTP_OK); + if (!con->sent_header && !con->response) + cupsdSendError(con, HTTP_SERVER_ERROR, CUPSD_AUTH_NONE); + else + { + cupsdLogRequest(con, HTTP_OK); - httpFlushWrite(HTTP(con)); + httpFlushWrite(HTTP(con)); - if (con->http.data_encoding == HTTP_ENCODE_CHUNKED && con->sent_header == 1) - { - if (httpWrite2(HTTP(con), "", 0) < 0) + if (con->http.data_encoding == HTTP_ENCODE_CHUNKED && con->sent_header == 1) { - cupsdCloseClient(con); - return; + if (httpWrite2(HTTP(con), "", 0) < 0) + { + cupsdCloseClient(con); + return; + } } } diff --git a/scheduler/cups-driverd.cxx b/scheduler/cups-driverd.cxx index 0f4e4a7c5..a7498b5d2 100644 --- a/scheduler/cups-driverd.cxx +++ b/scheduler/cups-driverd.cxx @@ -3,9 +3,9 @@ * * PPD/driver support for the Common UNIX Printing System (CUPS). * - * This program handles listing and installing both static PPD files - * in CUPS_DATADIR/model and dynamically generated PPD files using - * the driver helper programs in CUPS_SERVERBIN/driver. + * This program handles listing and installing static PPD files, PPD files + * created from driver information files, and dynamically generated PPD files + * using driver helper programs. * * Copyright 2007-2009 by Apple Inc. * Copyright 1997-2007 by Easy Software Products. @@ -73,7 +73,8 @@ static const char * const ppd_types[] = /* ppd-type values */ "pdf", "raster", "fax", - "unknown" + "unknown", + "drv" }; diff --git a/scheduler/job.c b/scheduler/job.c index cce7d23e4..d5d40cf7b 100644 --- a/scheduler/job.c +++ b/scheduler/job.c @@ -4007,8 +4007,7 @@ update_job(cupsd_job_t *job) /* I - Job to check */ #endif /* __APPLE__ */ else { - if (loglevel != CUPSD_LOG_INFO && loglevel > LogLevel) - cupsdLogJob(job, loglevel, "%s", message); + cupsdLogJob(job, loglevel, "%s", message); if (loglevel < CUPSD_LOG_DEBUG) { @@ -4018,7 +4017,7 @@ update_job(cupsd_job_t *job) /* I - Job to check */ event |= CUPSD_EVENT_PRINTER_STATE | CUPSD_EVENT_JOB_PROGRESS; - if (loglevel <= job->status_level) + if (loglevel < job->status_level) { /* * Some messages show in the job-printer-state-message attribute... diff --git a/scheduler/log.c b/scheduler/log.c index df4788581..f3bfd08bd 100644 --- a/scheduler/log.c +++ b/scheduler/log.c @@ -200,7 +200,11 @@ cupsdLogJob(cupsd_job_t *job, /* I - Job */ * See if we want to log this message... */ - if (TestConfigFile || level > LogLevel || !ErrorLog) + if (TestConfigFile || !ErrorLog) + return (1); + + if (level > LogLevel || + (level == CUPSD_LOG_INFO && LogLevel < CUPSD_LOG_DEBUG)) return (1); /* diff --git a/scheduler/main.c b/scheduler/main.c index 3a8668902..9d6b8f8d6 100644 --- a/scheduler/main.c +++ b/scheduler/main.c @@ -1718,8 +1718,8 @@ process_children(void) else job->status = -status; /* Backend failed */ - if (!(job->printer->type & CUPS_PRINTER_FAX) && - job->status_level >= CUPSD_LOG_ERROR) + if ((!(job->printer->type & CUPS_PRINTER_FAX) || job->filters[i]) && + job->status_level > CUPSD_LOG_ERROR) { job->status_level = CUPSD_LOG_ERROR; @@ -1761,7 +1761,6 @@ process_children(void) cupsdContinueJob(job); } } - break; } } diff --git a/scheduler/printers.c b/scheduler/printers.c index 47142db2b..7fdb4e510 100644 --- a/scheduler/printers.c +++ b/scheduler/printers.c @@ -2448,6 +2448,11 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */ } } + if ((oldattr = ippFindAttribute(oldattrs, "marker-message", + IPP_TAG_TEXT)) != NULL) + ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_TEXT, "marker-message", + NULL, oldattr->values[0].string.text); + if ((oldattr = ippFindAttribute(oldattrs, "marker-low-levels", IPP_TAG_INTEGER)) != NULL) { diff --git a/scheduler/statbuf.c b/scheduler/statbuf.c index 9e422418e..6da11175a 100644 --- a/scheduler/statbuf.c +++ b/scheduler/statbuf.c @@ -289,7 +289,7 @@ cupsdStatBufUpdate( if (sb->prefix[0]) { if (*loglevel > CUPSD_LOG_NONE && - (*loglevel != CUPSD_LOG_INFO || LogLevel == CUPSD_LOG_DEBUG2)) + (*loglevel != CUPSD_LOG_INFO || LogLevel >= CUPSD_LOG_DEBUG)) { /* * General status message; send it to the error_log file... @@ -300,7 +300,7 @@ cupsdStatBufUpdate( else cupsdLogMessage(*loglevel, "%s %s", sb->prefix, message); } - else if (*loglevel < CUPSD_LOG_NONE && LogLevel == CUPSD_LOG_DEBUG2) + else if (*loglevel < CUPSD_LOG_NONE && LogLevel >= CUPSD_LOG_DEBUG) cupsdLogMessage(CUPSD_LOG_DEBUG2, "%s %s", sb->prefix, sb->buffer); } diff --git a/scheduler/util.c b/scheduler/util.c index 3e1f898f3..48716d366 100644 --- a/scheduler/util.c +++ b/scheduler/util.c @@ -3,7 +3,7 @@ * * Mini-daemon utility functions for the Common UNIX Printing System (CUPS). * - * Copyright 2007-2008 by Apple Inc. + * Copyright 2007-2009 by Apple Inc. * Copyright 1997-2005 by Easy Software Products. * * These coded instructions, statements, and computer programs are the @@ -391,6 +391,8 @@ cupsdSendIPPHeader( /* * Send IPP/1.1 response header: version number (2 bytes), status code * (2 bytes), and request ID (4 bytes)... + * + * TODO: Add version number (IPP/2.x and IPP/1.0) support. */ putchar(1); diff --git a/templates/es/search.tmpl b/templates/es/search.tmpl index 8d812a3b6..3f430689c 100644 --- a/templates/es/search.tmpl +++ b/templates/es/search.tmpl @@ -1,4 +1,4 @@ -
+ {WHICH_JOBS?:} {ORDER?:} diff --git a/templates/ja/search.tmpl b/templates/ja/search.tmpl index 1f1431aad..3e819952c 100644 --- a/templates/ja/search.tmpl +++ b/templates/ja/search.tmpl @@ -1,4 +1,4 @@ - + {WHICH_JOBS?:} {ORDER?:} diff --git a/templates/pl/search.tmpl b/templates/pl/search.tmpl index 593071a79..0851d8516 100644 --- a/templates/pl/search.tmpl +++ b/templates/pl/search.tmpl @@ -1,4 +1,4 @@ - + {WHICH_JOBS?:} {ORDER?:} diff --git a/templates/ru/search.tmpl b/templates/ru/search.tmpl index 80dbf8ee1..64266599d 100644 --- a/templates/ru/search.tmpl +++ b/templates/ru/search.tmpl @@ -1,4 +1,4 @@ - + {WHICH_JOBS?:} {ORDER?:} diff --git a/templates/search.tmpl b/templates/search.tmpl index 9e05e6ecb..755269ea3 100644 --- a/templates/search.tmpl +++ b/templates/search.tmpl @@ -1,4 +1,4 @@ - + {WHICH_JOBS?:} {ORDER?:} -- 2.39.5