Comparar commits
274 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| 1539283f98 | |||
| a6dd739c02 | |||
| 929486aa64 | |||
| 579a5525e8 | |||
| f66b1d85f8 | |||
| 2c4c9ada65 | |||
| e1ac3f36d0 | |||
| c95282ef08 | |||
| 9e838da3db | |||
| 0d92ec1c6f | |||
| beb37da67b | |||
| fd32084d40 | |||
| ac9e295f23 | |||
| 778759a48f | |||
| ac79576a7f | |||
| 76d2c4481f | |||
| 1660d61202 | |||
| 3eb5ec664f | |||
| a17ce1d474 | |||
| 1e01455aeb | |||
| 5c2c2ab6a3 | |||
| 06a5a4d332 | |||
| 4cadd6202f | |||
| 2de7c5f81c | |||
| 8127ebd190 | |||
| e5fee178d9 | |||
| 077bd665bd | |||
| dfe5f3b95c | |||
| 616f3f56dd | |||
| f594a3db6d | |||
| d3ab37abea | |||
| 619d6d95eb | |||
| b95156db4c | |||
| ff82ce17bf | |||
| af62b316e7 | |||
| 073b3929a1 | |||
| 17cc92f131 | |||
| bd4b5b3ee1 | |||
| c77dede2ed | |||
| 4e02be68c1 | |||
| 0873f681e4 | |||
| c1de912d13 | |||
| fbcc927ded | |||
| 4feb1fe2e5 | |||
| c944b62ba8 | |||
| 44cb0dd233 | |||
| 3581e03de5 | |||
| 56f0cbeb27 | |||
| 656c109a1c | |||
| 159e027902 | |||
| 7271db11d2 | |||
| d07cb8d5dc | |||
| 15fe2ddc7f | |||
| df59b110ad | |||
| b056061b24 | |||
| 86d93a7539 | |||
| 4b4895dfe7 | |||
| b25f3cf080 | |||
| 63f8dcbd47 | |||
| 6a76f435d8 | |||
| d0bfbc98b6 | |||
| 561e0647a8 | |||
| 0fb02fb9ce | |||
| 187b9322c8 | |||
| 5192eac3e6 | |||
| 34646e298e | |||
| 3f72eb0187 | |||
| ada35e599c | |||
| 003c1790e9 | |||
| 73c6236f2c | |||
| 8aecb2299e | |||
| 658c64bf2e | |||
| 84047a015c | |||
| 739ad3f3ea | |||
| afd96090b5 | |||
| a0fccd8044 | |||
| 95f319b9dd | |||
| 13ceaad273 | |||
| 32987439c3 | |||
| e6062e8e9c | |||
| 0dfe699052 | |||
| 367068f32a | |||
| 0c7f533afd | |||
| 0fea18126c | |||
| ca75cc1354 | |||
| c6dbbca1f5 | |||
| ea95f7fe1a | |||
| b0bb6caa3a | |||
| cff3f79fb2 | |||
| f1b7e5634d | |||
| 516dacf7d3 | |||
| a9e8acf53d | |||
| 18dfe3cbe7 | |||
| 30df0a0309 | |||
| 818bbe7af2 | |||
| 9b440f8a5c | |||
| 3cd7b5e053 | |||
| 449f30b03d | |||
| c2532688fb | |||
| 08e8f007f4 | |||
| ead626d781 | |||
| 60bb47475a | |||
| ddf2ec7348 | |||
| 706a0485c5 | |||
| c65e1c4ffd | |||
| bb54b17e78 | |||
| c64170e5f6 | |||
| 0bb02bfa09 | |||
| 66d471becb | |||
| fe1a430545 | |||
| 53f8d64f84 | |||
| eb61cb5bf0 | |||
| a7aabde8fe | |||
| 699fe02075 | |||
| 19186c8bae | |||
| 7d26bf7d6c | |||
| d6ddd199f4 | |||
| a468069a20 | |||
| ab89234de2 | |||
| afad2da22d | |||
| 191be31cf1 | |||
| f28728ee32 | |||
| c5b7774cb8 | |||
| e22f464e37 | |||
| e28345e78d | |||
| f17549fbb4 | |||
| 06e1afc39b | |||
| a166e9337a | |||
| 7f4d7b8a51 | |||
| 564cd57de8 | |||
| 7c8fb0fc01 | |||
| 22974c5f32 | |||
| 092db1e29e | |||
| f6e7a0c53a | |||
| 728fd81076 | |||
| 27551f043a | |||
| b969d5af2b | |||
| 2da2477dac | |||
| dd6a3fd2ba | |||
| aed3d896a7 | |||
| a492d345e8 | |||
| 8e2e09c1e2 | |||
| b87ec78957 | |||
| 081027767a | |||
| fd96ad89ff | |||
| efb40dcacf | |||
| ab8a07ec22 | |||
| 6f7bfae71c | |||
| 123979a9db | |||
| 342395f9d1 | |||
| 314e45c21a | |||
| c283f46deb | |||
| 7b98191acd | |||
| f61dfc0df4 | |||
| 1055deceda | |||
| 117bf0d144 | |||
| 4ef3ee3749 | |||
| 7c91db71b3 | |||
| a8b28f1844 | |||
| 43bcc47b51 | |||
| 3145b7e6a8 | |||
| 6a3d63e638 | |||
| 6bfe0be46a | |||
| 378eeedf0f | |||
| a20d0ea003 | |||
| c4faa907bc | |||
| 625bb9ded6 | |||
| f89686dd3f | |||
| ead6e4884a | |||
| e16130570f | |||
| 141c8f96be | |||
| eb1573431f | |||
| 2fc81be235 | |||
| 7917399e29 | |||
| 60da78baeb | |||
| 4a9942a2f0 | |||
| 33baffa2a9 | |||
| 9bebe8c90d | |||
| 82341b0b45 | |||
| 77401306b8 | |||
| a0b79d3ad5 | |||
| 60645dd1d8 | |||
| 2fa1ba3cc0 | |||
| 3d90ace317 | |||
| fd21ed5d82 | |||
| cfd375ad10 | |||
| c88f441f94 | |||
| 3f76968f99 | |||
| 5e1c3dff00 | |||
| 9e44dfbe6c | |||
| 9661b11263 | |||
| 7ca56f9982 | |||
| 91bc88ebf7 | |||
| dda99de928 | |||
| 89f3668e0b | |||
| 336b669e2e | |||
| 841a2216d9 | |||
| 8d59b9f749 | |||
| c5f5c5a768 | |||
| db0c6e1dc6 | |||
| 67091b1b0e | |||
| 0e4593c0be | |||
| 6d14c1bbc6 | |||
| f84606244b | |||
| cfa8aa69a5 | |||
| 034b06df8f | |||
| aa0309120d | |||
| 060016a056 | |||
| 253dc4fceb | |||
| 01dee74c61 | |||
| c4c3624180 | |||
| accedcf822 | |||
| ac05c63065 | |||
| 1576d09baf | |||
| f05177e23d | |||
| f306ad4d32 | |||
| fce9ddcbee | |||
| 42a5ae2af8 | |||
| ec1305170b | |||
| 454619c757 | |||
| 0f32ec93ad | |||
| edf09ba912 | |||
| 84de5e9234 | |||
| 63b75fbef9 | |||
| 71dc43af7a | |||
| 982be458e6 | |||
| 7e38261379 | |||
| 704499ddee | |||
| 7118716713 | |||
| 4f63d6cdaf | |||
| 27ee2c4dd7 | |||
| 4b9c510fd7 | |||
| 7f9a23b9bf | |||
| 13696eb2c6 | |||
| 4f98c13cc3 | |||
| 89550f3f33 | |||
| 9fafba54bf | |||
| cd5cb66598 | |||
| 4b042bf6e3 | |||
| da9ffe2329 | |||
| e944dbd40f | |||
| 363746937a | |||
| 312370bd75 | |||
| 7be499d208 | |||
| 3d468ced3d | |||
| eb2cb9b09f | |||
| d56216499e | |||
| 105b26dede | |||
| e310189747 | |||
| 0e743fdf62 | |||
| a236979ee3 | |||
| 7ec1163068 | |||
| 054eee9cd0 | |||
| 6f2b9f6274 | |||
| 9bfae9a772 | |||
| 7db9341466 | |||
| 8f1fbdecb4 | |||
| 513f1b621c | |||
| d7b386888e | |||
| 6646208ba5 | |||
| c5d2b23327 | |||
| 47386fc106 | |||
| 3aca6b555e | |||
| d6db9ea1dc | |||
| 409f54979f | |||
| 25140c63ec | |||
| 7a16b8b30a | |||
| 87de8b54d7 | |||
| f1547f121c | |||
| d0df9cd337 | |||
| b00c84094b | |||
| 98491ecc6f | |||
| 4d8e89a654 | |||
| 11143dcf5b |
+5
-5
@@ -40,10 +40,13 @@ conf/mime.convs
|
||||
conf/pam.std
|
||||
conf/snmp.conf
|
||||
cups/locale/
|
||||
cups/rasterbench
|
||||
cups/test.pwg
|
||||
cups/test.raster
|
||||
cups/testadmin
|
||||
cups/testarray
|
||||
cups/testcache
|
||||
cups/testclient
|
||||
cups/testconflicts
|
||||
cups/testcreds
|
||||
cups/testcups
|
||||
@@ -57,6 +60,7 @@ cups/testlang
|
||||
cups/testoptions
|
||||
cups/testppd
|
||||
cups/testpwg
|
||||
cups/testraster
|
||||
cups/testsnmp
|
||||
cups/tlscheck
|
||||
desktop/cups.desktop
|
||||
@@ -65,14 +69,10 @@ doc/*/index.html
|
||||
filter/commandtops
|
||||
filter/gziptoany
|
||||
filter/pstops
|
||||
filter/rasterbench
|
||||
filter/rastertoepson
|
||||
filter/rastertohp
|
||||
filter/rastertolabel
|
||||
filter/rastertopwg
|
||||
filter/test.raster
|
||||
filter/testclient
|
||||
filter/testraster
|
||||
locale/checkpo
|
||||
locale/po2strings
|
||||
locale/strings2po
|
||||
@@ -117,7 +117,6 @@ scheduler/cups.sh
|
||||
scheduler/cups.xml
|
||||
scheduler/cupsd
|
||||
scheduler/cupsfilter
|
||||
scheduler/org.cups.cups-lpd.plist
|
||||
scheduler/org.cups.cups-lpdAT.service
|
||||
scheduler/org.cups.cupsd.path
|
||||
scheduler/org.cups.cupsd.service
|
||||
@@ -153,6 +152,7 @@ test/ippserver
|
||||
test/ippserver-shared
|
||||
test/ipptool
|
||||
test/ipptool-static
|
||||
test/pwg-raster-samples-*
|
||||
xcode/CUPS.xcodeproj/project.xcworkspace/
|
||||
xcode/CUPS.xcodeproj/xcuserdata/
|
||||
|
||||
|
||||
@@ -1,217 +0,0 @@
|
||||
CHANGES-1.0.txt
|
||||
---------------
|
||||
|
||||
CHANGES IN CUPS v1.0.5
|
||||
|
||||
- The HP-GL/2 filter did not correctly set the pen color
|
||||
for pens other than #1.
|
||||
- The scheduler would only accept 26 simultaneous jobs
|
||||
under some OS releases (mkstemp() limitation.) It now
|
||||
handles up to 2^32 simultaneous jobs.
|
||||
- The PostScript filter loaded the printer's PPD file
|
||||
twice.
|
||||
- The PAM authentication code now uses pam_strerror() to
|
||||
provide a textual error message in the error_log file.
|
||||
- The scheduler now copies PPD and interface script
|
||||
files instead of moving them; this fixes installations
|
||||
with a separate requests directory.
|
||||
- The PostScript RIP did not generate correct 6-color
|
||||
output.
|
||||
- Several filters were marking PPD options twice when
|
||||
they didn't need to.
|
||||
- The scheduler did not save the printer or class state
|
||||
after an accept-jobs or reject-jobs operation.
|
||||
- The cupsGetDefault() function now ignores the PRINTER
|
||||
environment variable if it is set to "lp".
|
||||
- New ippErrorString() function to get textual error
|
||||
messages.
|
||||
- Better error reporting in the System V commands.
|
||||
- The lpadmin and lpstat commands always tried to
|
||||
connect to the default server.
|
||||
- The text filter didn't load the charset files from the
|
||||
correct location.
|
||||
- Wasn't sending a WWW-Authenticate: field to HTTP
|
||||
clients when authentication was required.
|
||||
- httpSeparate() didn't always set the default port
|
||||
number for known methods.
|
||||
- The HP-GL/2 filter now looks for "PSwidth,length"
|
||||
instead of (the correct) "PSlength,width" as
|
||||
documented by HP. It appears that many major CAD
|
||||
applications are broken and this change allows the
|
||||
auto-rotation to work with them.
|
||||
- The IPP "printer-resolution" option was not being
|
||||
translated.
|
||||
- The charset files did not include the Microsoft
|
||||
"standard" characters from 128 to 159 (unused by the
|
||||
ISO-8859-x charsets)
|
||||
- The scheduler was chunking the Content-Type field from
|
||||
CGI programs; this problem was most noticeable with
|
||||
Microsoft Internet Explorer 5.
|
||||
- By popular demand, the printers, jobs, and classes
|
||||
CGIs no longer force a reload of the page every 10/30
|
||||
seconds.
|
||||
- The scheduler incorrectly required that the IPP client
|
||||
provide a document-format attribute for the
|
||||
validate-job operation.
|
||||
- Clients that sent bad IPP requests without the
|
||||
required attributes-natural-language and
|
||||
attributes-charset attributes would crash the
|
||||
scheduler.
|
||||
|
||||
|
||||
CHANGES IN CUPS v1.0.4
|
||||
|
||||
- Documentation updates.
|
||||
- Jobs would get stuck in the queue and wouldn't print
|
||||
until you enabled the queue.
|
||||
- The lp and lpr commands now catch SIGHUP and SIGINTR.
|
||||
- The lp and lpr commands now use sigaction or sigset
|
||||
when available.
|
||||
- CUPS library updates for WIN32/OS-2
|
||||
|
||||
|
||||
CHANGES IN CUPS v1.0.3
|
||||
|
||||
- Documentation updates.
|
||||
- The lpq man page was missing.
|
||||
- The configure script was not properly detecting the
|
||||
image libraries.
|
||||
- The top-level makefile was calling "make" instead of
|
||||
"$(MAKE)".
|
||||
- PostScript filter fixes for number-up, OutputOrder,
|
||||
and %Trailer.
|
||||
- The imagetops filter didn't end the base-85 encoding
|
||||
properly if the image data was not a multiple of 4
|
||||
bytes in length.
|
||||
- The imagetoraster filter didn't generate good banded
|
||||
RGB or CMY data (was dividing the line width by 4
|
||||
instead of 3...)
|
||||
- The imagetoraster filter now records the bounding
|
||||
box of the image on the page.
|
||||
- The CUPS image library cache code wasn't working as
|
||||
designed; images larger than the maximum RIP cache
|
||||
would eventually thrash using the same cache tile.
|
||||
- The CUPS image library TIFF loading code didn't
|
||||
handle unknown resolution units properly; the fixed
|
||||
code uses a default resolution of 128 PPI.
|
||||
- cupsGetClasses() and cupsGetPrinters() did not free
|
||||
existing strings if they ran out of memory.
|
||||
- The scheduler logs incorrectly contained 3 digits for
|
||||
the timezone offset instead of 4.
|
||||
- The scheduler now does a lookup for the default user
|
||||
and group ID; the previous hardcoded values caused
|
||||
problems with the LPD backend.
|
||||
- The cancel-job operation now allows any user in the
|
||||
system group to cancel any job.
|
||||
- The cancel-job operation stopped the print queue if
|
||||
the job was being printed.
|
||||
- Now only stop printers if the backend fails. If the
|
||||
filter fails then the failure is noted in the
|
||||
error_log and printing continues with the next file in
|
||||
the queue.
|
||||
- Now log whether a filter fails because of a signal
|
||||
or because it returned a non-zero exit status.
|
||||
- The root user now always passes the system group test.
|
||||
- Printers with an interface script and remote printers
|
||||
and classes didn't have a printer-make-and-model
|
||||
attribute.
|
||||
- Added logging of lost/timed-out remote printers.
|
||||
- The HP-GL/2 filter was scaling the pen width twice.
|
||||
- Updated the HP-GL/2 filter to use a single SP (Set
|
||||
Pen) procedure. This makes the output smaller and is
|
||||
more appropriate since the filter keeps track of the
|
||||
pen states already.
|
||||
- The scheduler didn't handle passwords with spaces.
|
||||
- The IPP backend now does multiple copies and retries
|
||||
if the destination server requires it (e.g. HP
|
||||
JetDirect.)
|
||||
- The disable command didn't implement the "-c" option
|
||||
(cancel all jobs.)
|
||||
- Changed the CMYK generation function for the image file
|
||||
and PostScript RIPs.
|
||||
- The lp command didn't support the "-h" option as
|
||||
documented.
|
||||
- The AppSocket, IPP, and LPD backends now retry on all
|
||||
network errors. This should prevent stopped queues
|
||||
caused by a printer being disconnected from the
|
||||
network or powered off.
|
||||
- The scheduler now restarts a job if the corresponding
|
||||
printer is modified.
|
||||
- The image RIPs now rotate the image if needed to fit
|
||||
on the page.
|
||||
|
||||
|
||||
CHANGES IN CUPS v1.0.2
|
||||
|
||||
- The HP-GL/2 filter didn't always scale the output
|
||||
correctly.
|
||||
- The HP-GL/2 filter now supports changing the page size
|
||||
automatically when the "fitplot" option is not used.
|
||||
- The cancel-job operation was expecting a resource name
|
||||
of the form "/job/#" instead of "/jobs/#"; this
|
||||
prevented the cancel and lprm commands from working.
|
||||
- The backends didn't log pages when files were printed
|
||||
using the "-oraw" option.
|
||||
- The authorization code did not work with the Slackware
|
||||
long shadow password package because its crypt() can
|
||||
return NULL.
|
||||
- The chunking code didn't work for reading the response
|
||||
of a POST request.
|
||||
- cupsGetPPD() now does authentication as needed.
|
||||
- The N-up code in the PostScript filter didn't work
|
||||
with some printers (grestoreall would restore the
|
||||
default blank page and device settings).
|
||||
- The N-up code in the PostScript filter didn't scale
|
||||
the pages to fit within the imageable area of the
|
||||
page.
|
||||
- Wasn't doing an fchown() on the request files. This
|
||||
caused problems when the default root account group
|
||||
and CUPS group were not the same.
|
||||
|
||||
|
||||
CHANGES IN CUPS v1.0.1
|
||||
|
||||
- Documentation updates.
|
||||
- Fixed a bunch of possible buffer-overflow conditions.
|
||||
- The scheduler now supports authentication using PAM.
|
||||
- Updated the Italian message file.
|
||||
- httpEncode64() didn't add an extra "=" if there was
|
||||
only one byte in the last three-byte group.
|
||||
- Now drop any trailing character set from the locale
|
||||
string (e.g. "en_US.ISO_8859-1" becomes "en_US")
|
||||
- Fixed "timezone" vs "tm_gmtoff" usage for BSD-based
|
||||
operating systems.
|
||||
- Updated IPP security so that "get" operations can be
|
||||
done from any resource name; this allows the CGIs to
|
||||
work with printer authentication enabled so long as
|
||||
authentication isn't turned on for the whole "site".
|
||||
- The IPP code didn't properly handle the "unsupported"
|
||||
group; this caused problems with the HP JetDirect since
|
||||
it doesn't seem to support the "copies" attribute.
|
||||
- The HTTP chunking code was missing a CR LF pair at the
|
||||
end of a 0-length chunk.
|
||||
- The httpSeparate() function didn't handle embedded
|
||||
usernames and passwords in the URI properly.
|
||||
- Doing "lpadmin -p printer -E" didn't restart printing
|
||||
if there were pending jobs.
|
||||
- The cancel-job operation now requires either a
|
||||
requesting-user-name attribute or an authenticated
|
||||
username.
|
||||
- The add-printer code did not report errors if the
|
||||
interface script or PPD file could not be renamed.
|
||||
- Request files are now created without world read
|
||||
permissions.
|
||||
- Added a cupsLastError() function to the CUPS API to
|
||||
retrieve the IPP error code from the last request.
|
||||
- Options are now case-insensitive.
|
||||
- The lpq command now provides 10 characters for the
|
||||
username instead of the original (Berkeley standard)
|
||||
7.
|
||||
- The cancel command needed a local CUPS server to work
|
||||
(or the appropriate ServerName in cupsd.conf)
|
||||
- The cancel and lprm commands didn't report the IPP
|
||||
error if the job could not be cancelled.
|
||||
- The lp and lpr commands didn't intercept SIGTERM to
|
||||
remove temporary files when printing from stdin.
|
||||
- The lp and lpr commands didn't report the IPP error if
|
||||
the job could not be printed.
|
||||
-3462
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
-1261
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -1,856 +0,0 @@
|
||||
CHANGES-1.3.txt
|
||||
---------------
|
||||
|
||||
CHANGES IN CUPS V1.3.11
|
||||
|
||||
- The scheduler did not prevent nested classes (STR #3211)
|
||||
- The scheduler did not reprint processing jobs that were moved to
|
||||
another destination (STR #3222)
|
||||
- The scheduler did not reset the current job file when stopping a
|
||||
printer (STR #3226)
|
||||
- The scheduler did not handle POSTs to custom CGIs properly (STR #3221)
|
||||
- The pdftops filter did not print landscape PDF pages properly
|
||||
(STR #2881)
|
||||
- The scheduler did not handle partial header lines properly from CGI
|
||||
programs (STR #3194)
|
||||
- The web interface could hang on OpenBSD (STR #3176, STR #3196)
|
||||
- The scheduler and cupsfilter utility did not handle rules starting
|
||||
with a negation operator properly (STR #3160)
|
||||
- The scheduler and cupsfilter utility would crash with certain MIME
|
||||
.types rules (STR #3159)
|
||||
- httpSetField wasn't bracketing IPv6 numeric addresses for the Host:
|
||||
field (STR #3164)
|
||||
- The ServerName, if specified, was not treated as a valid alias for the
|
||||
local system (STR #3167)
|
||||
- "make epm" did not work (STR #3166)
|
||||
- "lpstat -h server" showed non-shared printers (STR #3147)
|
||||
- "make check" did not work on Linux (STR #3161)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.10
|
||||
|
||||
- Documentation fixes (STR #2994, STR #2995, STR #3008, STR #3056,
|
||||
STR #3057)
|
||||
- SECURITY: The scheduler now protects against DNS rebinding attacks
|
||||
(STR #3118)
|
||||
- SECURITY: Fixed TIFF integer overflow in image filters (STR #3031)
|
||||
- The scheduler did not support the job-hold-until attribute with the
|
||||
Restart-Job operation (STR #3130)
|
||||
- SECURITY: The PNG image reading code did not validate the
|
||||
image size properly, leading to a potential buffer overflow
|
||||
(STR #2974)
|
||||
- The rastertohp driver did not set the 1-sided printing mode when
|
||||
needed (STR #3131)
|
||||
- Now use a wrapper program instead of our fork of the Xpdf code to
|
||||
support printing of PDF files. The new wrapper supports using Xpdf,
|
||||
poppler, or Ghostscript to convert PDF files to PostScript (STR #3129)
|
||||
- Long job names caused problems with some PJL printers (STR #3125)
|
||||
- The lpq command did not work when showing all destinations (STR #3117)
|
||||
- The scheduler used a codeset name of UTF8 which is not supported on
|
||||
Solaris (STR #3113)
|
||||
- cupsGetJobs() did not work with a NULL destination (STR #3107)
|
||||
- Fixed a localization problem for option choices (incorrectly) named
|
||||
"Custom" (STR #3106)
|
||||
- The fallback OpenSSL random number seeding would not work (STR #3079)
|
||||
- The scheduler might miss a child signal, causing high CPU usage.
|
||||
- The scheduler did not enforce quotas after the job history was
|
||||
unloaded (STR #3078)
|
||||
- The job-k-limit, job-page-limit, and job-quota-period attributes
|
||||
could not be set using the lpadmin command (STR #3077)
|
||||
- httpSeparateURI() did not error out on URIs with a missing port
|
||||
number after a colon.
|
||||
- Fixed a Valgrind-detected initialization error when creating a
|
||||
missing directory on startup.
|
||||
- The scheduler did not always read all of the HTTP headers from a
|
||||
CGI script/program.
|
||||
- The scheduler did not always set the "air" property in Bonjour/DNS-SD
|
||||
registrations.
|
||||
- The scheduler incorrectly compared Mac OS X UUIDs for access
|
||||
control, preventing access in certain configurations.
|
||||
- The IPP backend incorrectly reset the required authentication
|
||||
to Kerberos when authentication failed.
|
||||
- The scheduler no longer looks up the local hostname by default;
|
||||
turn on hostname lookups to restore the previous behavior.
|
||||
- The scheduler did not always load MIME type rules correctly
|
||||
(STR #3059)
|
||||
- The test page did not format correctly on A4 paper (STR #3060)
|
||||
- The web interface sometimes incorrectly redirected users to
|
||||
127.0.0.1 (STR #3022)
|
||||
- cupsPrintFile*() did not send the document filename for single
|
||||
file submissions (STR #3055)
|
||||
- The scheduler did not update the member-names attribute when
|
||||
removing the last printer from a class.
|
||||
- The scheduler did not report PPD Products with parenthesis
|
||||
in them properly (STR #3046)
|
||||
- The wrong italic fonts were listed in the UTF-8 charset file
|
||||
for the text filter.
|
||||
- The backends did not return an OK status for the
|
||||
CUPS_SC_CMD_GET_BIDI side-channel command (STR #3029)
|
||||
- The scheduler did not purge jobs that were missing a
|
||||
time-at-creation attribute, indicating a bad job control file
|
||||
(STR #3030)
|
||||
- The "-o job-hold-until=week-end" option did not work properly
|
||||
(STR #3025)
|
||||
- The Solaris USB printer device does not support select or poll
|
||||
(STR #3028)
|
||||
- The scheduler would crash if you exceeded the MaxSubscriptions
|
||||
limit.
|
||||
- The lp "-H immediate" option did not specify that the job
|
||||
should not be held (STR #3013)
|
||||
- The scheduler did not support the "Connection: close"
|
||||
HTTP header (STR #3010)
|
||||
- The mailto notifier didn't terminate messages properly
|
||||
(STR #3011)
|
||||
- Backends could spin trying to read back-channel data
|
||||
(STR #3001)
|
||||
- The HP-GL/2 filter was using the wrong default colors
|
||||
(STR #2966)
|
||||
- The scheduler incorrectly allowed Get-Jobs operations without a
|
||||
printer-uri (STR #2996)
|
||||
- The compression option was not being encoded properly
|
||||
(STR #2997)
|
||||
- Added a missing character map for JIS-X0213/ShiftJIS.
|
||||
- The scheduler now rejects ATTR: messages with empty values.
|
||||
- The scheduler could consume all CPU handling closed connections
|
||||
(STR #2988)
|
||||
- Fixed some configure script bugs with rc/xinetd directories
|
||||
(STR #2970)
|
||||
- The Epson sample driver PPDs contained errors (STR #2979)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.9
|
||||
|
||||
- SECURITY: The HP-GL/2 filter did not range check pen numbers
|
||||
(STR #2911)
|
||||
- SECURITY: The SGI image file reader did not range check
|
||||
16-bit run lengths (STR #2918)
|
||||
- SECURITY: The text filter did not range check cpi, lpi, or
|
||||
column values (STR #2919)
|
||||
- Documentation updates (STR #2904, STR #2944)
|
||||
- The French web admin page was never updated (STR #2963)
|
||||
- The IPP backend did not retry print jobs when the printer
|
||||
reported itself as busy or unavailable (STR #2951)
|
||||
- The "Set Allowed Users" web interface did not handle trailing
|
||||
whitespace correctly (STR #2956)
|
||||
- The PostScript filter did not work with Adobe applications
|
||||
using custom page sizes (STR #2968)
|
||||
- The Mac OS X USB backend did not work with some printers
|
||||
that reported a bad 1284 device ID.
|
||||
- The scheduler incorrectly resolved the client connection
|
||||
address when HostNameLookups was set to Off (STR #2946)
|
||||
- The IPP backend incorrectly stopped the local queue if
|
||||
the remote server reported the "paused" state.
|
||||
- The cupsGetDests() function did not catch all types of
|
||||
request errors.
|
||||
- The scheduler did not always log "job queued" messages
|
||||
(STR #2943)
|
||||
- The scheduler did not support destination filtering using
|
||||
the printer-location attribute properly (STR #2945)
|
||||
- The scheduler did not send the server-started,
|
||||
server-restarted, or server-stopped events (STR #2927)
|
||||
- The scheduler no longer enforces configuration file
|
||||
permissions on symlinked files (STR #2937)
|
||||
- CUPS now reinitializes the DNS resolver on failures
|
||||
(STR #2920)
|
||||
- The CUPS desktop menu item was broken (STR #2924)
|
||||
- The PPD parser was too strict about missing keyword
|
||||
values in "relaxed" mode.
|
||||
- The PostScript filter incorrectly mirrored landscape
|
||||
documents.
|
||||
- The scheduler did not correctly update the
|
||||
auth-info-required value(s) if the AuthType was Default.
|
||||
- The scheduler required Kerberos authentication for
|
||||
all operations on remote Kerberized printers instead
|
||||
of just for the operations that needed it.
|
||||
- The socket backend could wait indefinitely for back-
|
||||
channel data with some devices.
|
||||
- PJL panel messages were not reset correctly on older
|
||||
printers (STR #2909)
|
||||
- cupsfilter used the wrong default path (STR #2908)
|
||||
- Fixed address matching for "BrowseAddress @IF(name)"
|
||||
(STR #2910)
|
||||
- Fixed compiles on AIX.
|
||||
- Firefox 3 did not work with the CUPS web interface in SSL
|
||||
mode (STR #2892)
|
||||
- Custom options with multiple parameters were not emitted
|
||||
correctly.
|
||||
- Refined the cupstestppd utility.
|
||||
- ppdEmit*() did not support custom JCL options (STR #2889)
|
||||
- The cupstestppd utility incorrectly reported missing
|
||||
"en" base translations (STR #2887)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.8
|
||||
|
||||
- Documentation updates (STR #2785, STR #2861, STR #2862)
|
||||
- The scheduler did not add the ending job sheet when the
|
||||
job was released.
|
||||
- The IPP backend did not relay marker-* attributes.
|
||||
- The CUPS GNOME/KDE menu item was not localized for
|
||||
Chinese (STR #2880)
|
||||
- The CUPS GNOME/KDE menu item was not localized for
|
||||
Japanese (STR #2876)
|
||||
- The cupstestppd utility reported mixed line endings for
|
||||
Mac OS and Windows PPD files (STR #2874)
|
||||
- The pdftops filter did not print landscape orientation PDF
|
||||
pages correctly on all printers (STR #2850)
|
||||
- The scheduler did not handle expiring of implicit classes
|
||||
or their members properly, leading to a configuration where
|
||||
one of the members would have a short name (STR #2766)
|
||||
- The scheduler and cupstestppd utilities did not support
|
||||
cupsFilter and cupsPreFilter programs with spaces in their
|
||||
names (STR #2866)
|
||||
- Removed unused variables and assignments found by the
|
||||
LLVM "clang" tool.
|
||||
- Added NULL checks recommended by the LLVM "clang" tool.
|
||||
- The scheduler would crash if you started a printer that
|
||||
pointed to a backend that did not exist (STR #2865)
|
||||
- The ppdLocalize functions incorrectly mapped all generic
|
||||
locales to country-specific locales.
|
||||
- The cups-driverd program did not support Simplified Chinese
|
||||
or Traditional Chinese language version strings (STR #2851)
|
||||
- Added an Indonesian translation (STR #2792)
|
||||
- Fixed a timing issue in the backends that could cause data
|
||||
corruption with the CUPS_SC_CMD_DRAIN_OUTPUT side-channel
|
||||
command (STR #2858)
|
||||
- The scheduler did not support "HostNameLookups" with all of
|
||||
the boolean names (STR #2861)
|
||||
- Fixed a compile problem with glibc 2.8 (STR #2860)
|
||||
- The scheduler incorrectly filtered out queues with ACLs and
|
||||
authentication.
|
||||
- The PostScript filter did not support %%IncludeFeature lines
|
||||
in the page setup section of each page (STR #2831)
|
||||
- The scheduler did not generate printer-state events when the
|
||||
default printer was changed (STR #2764)
|
||||
- cupstestppd incorrectly reported a warning about the PPD format
|
||||
version in some locales (STR #2854)
|
||||
- cupsGetPPD() and friends incorrectly returned a PPD file for
|
||||
a class with no printers.
|
||||
- The member-uris values for local printers in a class returned
|
||||
by the scheduler did not reflect the connected hostname or
|
||||
port.
|
||||
- The CUPS PHP extension was not thread-safe (STR #2828)
|
||||
- The scheduler incorrectly added the document-format-default
|
||||
attribute to the list of "common" printer attributes, which
|
||||
over time would slow down the printing system (STR #2755,
|
||||
STR #2836)
|
||||
- The cups-deviced and cups-driverd helper programs did not set
|
||||
the CFProcessPath environment variable on Mac OS X (STR #2837)
|
||||
- "lpstat -p" could report the wrong job as printing (STR #2845)
|
||||
- The scheduler would crash when some cupsd.conf directives
|
||||
were missing values (STR #2849)
|
||||
- The web interface "move jobs" operation redirected users to
|
||||
the wrong URL (STR #2815)
|
||||
- The Polish web interface translation contained errors
|
||||
(STR #2815)
|
||||
- The scheduler did not report PostScript printer PPDs with
|
||||
filters as PostScript devices.
|
||||
- The scheduler did not set the job document-format attribute
|
||||
for jobs submitted using Create-Job and Send-Document.
|
||||
- cupsFileTell() did not work for log files opened in append
|
||||
mode (STR #2810)
|
||||
- The scheduler did not set QUERY_STRING all of the time
|
||||
for CGI scripts (STR #2781, STR #2816)
|
||||
- The scheduler now returns an error for bad job-sheets
|
||||
values (STR #2775)
|
||||
- Authenticated remote printing did not work over domain
|
||||
sockets (STR #2750)
|
||||
- The scheduler incorrectly logged errors for print filters
|
||||
when a job was canceled (STR #2806, #2808)
|
||||
- The scheduler no longer allows multiple RSS subscriptions
|
||||
with the same URI (STR #2789)
|
||||
- The scheduler now supports Kerberized printing with
|
||||
multiple server names (STR #2783)
|
||||
- "Satisfy any" did not work in IPP policies (STR #2782)
|
||||
- The CUPS imaging library would crash with very large
|
||||
images - more than 16Mx16M pixels (STR #2805)
|
||||
- The PNG image loading code would crash with large images
|
||||
(STR #2790)
|
||||
- The scheduler did not limit the total number of filters.
|
||||
- The scheduler now ensures that the RSS directory has
|
||||
the correct permissions.
|
||||
- The RSS notifier did not quote the feed URL in the RSS
|
||||
file it created (STR #2801)
|
||||
- The web interface allowed the creation and cancellation
|
||||
of RSS subscriptions without a username (STR #2774)
|
||||
- Increased the default MaxCopies value on Mac OS X to
|
||||
9999 to match the limit imposed by the print dialog.
|
||||
- The scheduler did not reject requests with an empty
|
||||
Content-Length field (STR #2787)
|
||||
- The scheduler did not log the current date and time and
|
||||
did not escape special characters in request URIs when
|
||||
logging bad requests to the access_log file (STR #2788)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.7
|
||||
|
||||
- CVE-2008-0047: cgiCompileSearch buffer overflow (STR #2729)
|
||||
- CVE-2008-1373: CUPS GIF image filter overflow (STR #2765)
|
||||
- Updated the "make check" tests to do a more thorough
|
||||
automated test.
|
||||
- cups-driverd complained about missing directories (STR
|
||||
#2777)
|
||||
- cupsaddsmb would leave the Samba username and password on
|
||||
disk if no Windows drivers were installed (STR #2779)
|
||||
- The Linux USB backend used 100% CPU when a printer was
|
||||
disconnected (STR #2769)
|
||||
- The sample raster drivers did not properly handle SIGTERM
|
||||
(STR #2770)
|
||||
- The scheduler sent notify_post() messages too often on
|
||||
Mac OS X.
|
||||
- Kerberos access to the web interface did not work
|
||||
(STR #2748)
|
||||
- The scheduler did not support "AuthType Default" in IPP
|
||||
policies (STR #2749)
|
||||
- The scheduler did not support the "HideImplicitMembers"
|
||||
directive as documented (STR #2760)
|
||||
- "make check" didn't return a non-zero exit code on
|
||||
error (STR #2758)
|
||||
- The scheduler incorrectly logged AUTH_foo environment
|
||||
variables in debug mode (STR #2751)
|
||||
- The image filters inverted PBM files (STR #2746)
|
||||
- cupsctl would crash if the scheduler was not running
|
||||
(STR #2741)
|
||||
- The scheduler could crash when printing using a port
|
||||
monitor (STR #2742)
|
||||
- The scheduler would crash if PAM was broken (STR #2734)
|
||||
- The image filters did not work with some CMYK JPEG files
|
||||
produced by Adobe applications (STR #2727)
|
||||
- The Mac OS X USB backend did not work with printers that
|
||||
did not report a make or model.
|
||||
- The job-sheets option was not encoded properly (STR #2715)
|
||||
- The scheduler incorrectly complained about missing LSB
|
||||
PPD directories.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.6
|
||||
|
||||
- Documentation updates (STR #2646, STR #2647, STR #2649)
|
||||
- Fixed a problem with the web interface "Use Kerberos
|
||||
Authentication" check box (STR #2703)
|
||||
- The scheduler unconditionally overwrote the printer-state-
|
||||
message with "process-name failed" when a filter or backend
|
||||
failed, preventing a useful error message from being shown
|
||||
to the user.
|
||||
- Policies on CUPS-Move-Job didn't work as expected (STR
|
||||
#2699)
|
||||
- The configure script only supported D-BUS on Linux
|
||||
(STR #2702)
|
||||
- The scheduler did not support </LimitExcept> (STR #2701)
|
||||
- The scheduler did not reset the job-hold-until attribute
|
||||
after a job's hold time was reached.
|
||||
- The scheduler did not support printer supply attributes
|
||||
(STR #1307)
|
||||
- The Kerberos credentials provided by some Windows KDCs
|
||||
were still too large - now use a dynamic buffer to
|
||||
support credentials up to 64k in size (STR #2695)
|
||||
- Printing a test page from the web interface incorrectly
|
||||
defaulted to the "guest" user (STR #2688)
|
||||
- The cupsEncodeOptions2() function did not parse multiple-
|
||||
value attribute values properly (STR #2690)
|
||||
- The scheduler incorrectly sent printer-stopped events for
|
||||
status updates from the print filters (STR #2680)
|
||||
- The IPP backend could crash when handling printer errors
|
||||
(STR #2667)
|
||||
- Multi-file jobs did not print to remote CUPS servers
|
||||
(STR #2673)
|
||||
- The scheduler did not provide the Apple language ID to
|
||||
job filters.
|
||||
- Kerberos authentication did not work with the web
|
||||
interface (STR #2606, STR #2669)
|
||||
- The requesing-user-name-allowed and -denied functionality
|
||||
did not work for Kerberos-authenticated usernames (STR
|
||||
#2670)
|
||||
- CUPS didn't compile on HP-UX 11i (STR #2679)
|
||||
- cupsEncodeOptions2() did not handle option values like
|
||||
"What's up, doc?" properly.
|
||||
- Added lots of memory allocation checks (Fortify)
|
||||
- The scheduler would crash if it was unable to add a job
|
||||
file (Fortify)
|
||||
- ppdOpen*() did not check all memory allocations (Coverity)
|
||||
- ippReadIO() did not check all memory allocations (Coverity)
|
||||
- The PostScript filter did not detect read errors (Coverity)
|
||||
- The scheduler did not check for a missing job-sheets-completed
|
||||
attribute when sending an event notification (Coverity)
|
||||
- "Set Printer Options" might not work with raw queues (Coverity)
|
||||
- cupsRasterInterpretPPD() could crash on certain PostScript
|
||||
errors (Coverity)
|
||||
- The USB backend did not check for back-channel support
|
||||
properly on all systems (Coverity)
|
||||
- Fixed memory leaks in the GIF and PNM image loading code
|
||||
(Coverity)
|
||||
- Removed some dead code in the CUPS API and scheduler (Coverity)
|
||||
- Fixed two overflow bugs in the HP-GL/2 filter (Coverity)
|
||||
- Fixed another ASN1 string parsing bug (STR #2665)
|
||||
- The RSS notifier directory was not installed with the
|
||||
correct permissions.
|
||||
- The standard CUPS backends could use 100% CPU while waiting
|
||||
for print data (STR #2664)
|
||||
- Filename-based MIME rules did not work (STR #2659)
|
||||
- The cups-polld program did not exit if the scheduler crashed
|
||||
(STR #2640)
|
||||
- The scheduler would crash if you tried to set the port-monitor
|
||||
on a raw queue (STR #2639)
|
||||
- The scheduler could crash if a polled remote printer was
|
||||
converted to a class (STR #2656)
|
||||
- The web interface and cupsctl did not correctly reflect
|
||||
the "allow printing from the Internet" state (STR #2650)
|
||||
- The scheduler incorrectly treated MIME types as case-
|
||||
sensitive (STR #2657)
|
||||
- The Java support classes did not send UTF-8 strings to
|
||||
the scheduler (STR #2651)
|
||||
- The CGI code did not handle interrupted POST requests
|
||||
properly (STR #2652)
|
||||
- The PostScript filter incorrectly handled number-up when
|
||||
the number of pages was evenly divisible by the number-up
|
||||
value.
|
||||
- The PDF filter incorrectly filtered pages when page-ranges
|
||||
and number-up were both specified (STR #2643)
|
||||
- The IPP backend did not handle printing of pictwps files
|
||||
to a non-Mac CUPS server properly.
|
||||
- The scheduler did not detect network interface changes
|
||||
on operating systems other than Mac OS X (STR #2631)
|
||||
- The scheduler now logs the UNIX error message when it
|
||||
is unable to create a request file such as a print job.
|
||||
- Added support for --enable-pie on Mac OS X.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.5
|
||||
|
||||
- The SNMP backend did not check for negative string
|
||||
lengths (STR #2589)
|
||||
- The scheduler incorrectly removed auth-info attributes,
|
||||
potentially leading to a loss of all options for a job.
|
||||
- The scheduler stopped sending CUPS browse packets on a
|
||||
restart when using fixed addresses (STR #2618)
|
||||
- Fixed PDF filter security issues (CVE-2007-4352
|
||||
CVE-2007-5392 CVE-2007-5393)
|
||||
- Changing settings would always change the DefaultAuthType
|
||||
and Allow lines (STR #2580)
|
||||
- The scheduler would crash when submitting an undefined
|
||||
format file from Samba with LogLevel debug2 (STR #2600)
|
||||
- The scheduler did not use poll() when epoll() was not
|
||||
supported by the running kernel (STR #2582)
|
||||
- Fixed a compile problem with Heimdal Kerberos (STR #2592)
|
||||
- The USB backend now retries connections to a printer
|
||||
indefinitely rather than stopping the queue.
|
||||
- Printers with untranslated JCL options were not exported
|
||||
to Samba correctly (STR #2570)
|
||||
- The USB backend did not work with some Minolta USB
|
||||
printers (STR #2604)
|
||||
- The strcasecmp() emulation code did not compile (STR
|
||||
#2612)
|
||||
- The scheduler would crash if a job was sent to an empty
|
||||
class (STR #2605)
|
||||
- The lpc command did not work in non-UTF-8 locales (STR
|
||||
#2595)
|
||||
- Subscriptions for printer-stopped events also received
|
||||
other state changes (STR #2572)
|
||||
- cupstestppd incorrectly reported translation errors for
|
||||
the "en" locale.
|
||||
- ppdOpen() did not handle custom options properly when the
|
||||
Custom attribute appeared before the OpenUI for that
|
||||
option.
|
||||
- The scheduler could crash when deleting a printer or
|
||||
listing old jobs.
|
||||
- The Mac OS X USB backend did not allow for requeuing of
|
||||
jobs submitted to a class.
|
||||
- lpmove didn't accept a job ID by itself.
|
||||
- The scheduler incorrectly removed job history information
|
||||
for remote print jobs.
|
||||
- The scheduler incorrectly sent the
|
||||
"com.apple.printerListChanged" message for printer state
|
||||
changes.
|
||||
- The PostScript filter drew the page borders (when enabled)
|
||||
outside the imageable area.
|
||||
- The LPD and IPP backends did not default to the correct
|
||||
port numbers when using alternate scheme names.
|
||||
- The scheduler incorrectly deleted hardwired remote
|
||||
printers on system sleep.
|
||||
- The scheduler would abort if a bad browse protocol name
|
||||
was listed in the cupsd.conf file.
|
||||
- The online cupsd.conf help file incorrectly showed
|
||||
"dns-sd" instead of "dnssd" for Bonjour sharing.
|
||||
- The scheduler could crash changing the port-monitor value.
|
||||
- The scheduler generated CoreFoundation errors when run as
|
||||
a background process.
|
||||
- When printing with number-up > 1, it was possible to get
|
||||
an extra blank page.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.4
|
||||
|
||||
- Documentation updates (STR #2560, STR #2563, STR #2569)
|
||||
- CUPS now maps the "nb" locale to "no" on all platforms
|
||||
(STR #2575)
|
||||
- CUPS did not work with a Windows 2003 R2 KDC (STR #2568)
|
||||
- ippReadIO() could read past the end of a buffer (STR
|
||||
#2561)
|
||||
- The scheduler would crash on shutdown if it was unable
|
||||
to create a Kerberos context.
|
||||
- Multiple AuthTypes in cupsd.conf did not work (STR
|
||||
#2545)
|
||||
- The snmp.conf file referenced the wrong man page (STR
|
||||
#2564)
|
||||
- The cupsaddsmb program didn't handle domain sockets
|
||||
properly (STR #2556)
|
||||
- The scheduler now validates device URIs when adding
|
||||
printers.
|
||||
- Updated httpSeparateURI() to support hostnames with
|
||||
the backslash character.
|
||||
- Updated the Japanese localization (STR #2546)
|
||||
- The parallel backend now gets the current IEEE-1284
|
||||
device ID string on Linux (STR #2553)
|
||||
- The IPP backend now checks the job status at
|
||||
variable intervals (from 1 to 10 seconds) instead
|
||||
of every 10 seconds for faster remote printing
|
||||
(STR #2548)
|
||||
- "lpr -p" and "lpr -l" did not work (STR #2544)
|
||||
- Compilation failed when a previous version of CUPS
|
||||
was installed and was included in the SSL include
|
||||
path (STR #2538)
|
||||
- The scheduler did not reject requests with charsets
|
||||
other than US-ASCII or UTF-8, and the CUPS API
|
||||
incorrectly passed the locale charset to the scheduler
|
||||
instead of UTF-8 (STR #2537)
|
||||
- cups-deviced did not filter out duplicate devices.
|
||||
- The AppleTalk backend incorrectly added a scheme
|
||||
listing when AppleTalk was disabled or no printers
|
||||
were found.
|
||||
- The PostScript filter generated N^2 copies when the
|
||||
printer supported collated copies and user requested
|
||||
reverse-order output.
|
||||
- The scheduler did not reprint all of the files in a
|
||||
job that was held.
|
||||
- The scheduler did not update the printcap file after
|
||||
removing stale remote queues.
|
||||
- The cupsd.conf man page incorrectly referenced
|
||||
"AuthType Kerberos" instead of "AuthType Negotiate".
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.3
|
||||
|
||||
- The scheduler did not use the attributes-natural-language
|
||||
attribute when passing the LANG environment variable to
|
||||
cups-deviced or cups-driverd.
|
||||
- The scheduler did not use the printer-op-policy when
|
||||
modifying classes or printers (STR #2525)
|
||||
- The auth-info-required attribute was not always updated
|
||||
for remote queues that required authentication.
|
||||
- The German web interface localization contained errors
|
||||
(STR #2523)
|
||||
- The Swedish localization contained errors (STR #2522)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.2
|
||||
|
||||
- The 1.3.1 release was incorrectly created from the
|
||||
1.4.x source tree (STR #2519)
|
||||
- Added support for 32/64-bit libraries on HP-UX
|
||||
(STR #2520)
|
||||
- The scheduler incorrectly used portrait as the default
|
||||
orientation (STR #2513)
|
||||
- The scheduler no longer writes the printcap file for
|
||||
every remote printer update (STR #2512)
|
||||
- Remote raw printing with multiple copies did not work
|
||||
(STR #2518)
|
||||
- Updated the configure script to require at least autoconf
|
||||
2.60 (STR #2515)
|
||||
- Some gzip'd PPD files were not read in their entirety
|
||||
(STR #2510)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.1
|
||||
|
||||
- Documentation updates.
|
||||
- The USB backend on Mac OS X could hang if the driver and
|
||||
printer did not match.
|
||||
- Delegated Kerberos credentials were not working.
|
||||
- "make distclean" incorrectly removed the edit-config.tmpl
|
||||
files (STR #2508)
|
||||
- Fix compile problem on HP-UX (STR #2501)
|
||||
- The cupstestppd utility now tests for resolutions greater
|
||||
than 99999 DPI to detect a missing "x" between the X and Y
|
||||
resolutions.
|
||||
- Fixed many problems in the various translations and added
|
||||
a new "checkpo" utility to validate them.
|
||||
- The cupstestppd utility now tests the custom page size code
|
||||
for CUPS raster drivers.
|
||||
- cupsLangDefault() did not attempt to return a language that
|
||||
was supported by the calling application.
|
||||
- If a remote printer stopped while a job was being sent, the
|
||||
local queue would also get stopped and the job re-queued,
|
||||
resulting in duplicate prints in some cases.
|
||||
- A few Apple-specific job options needed to be omitted when
|
||||
printing a banner page.
|
||||
- The new peer credential support did not compile on FreeBSD
|
||||
(STR #2495)
|
||||
- Direct links to help files did not set the current section
|
||||
so the table-of-contents was not shown.
|
||||
- The configure script did not support --localedir=foo (STR #2488)
|
||||
- The backends were not displaying their localized messages.
|
||||
- CUPS-Authenticate-Job did not require Kerberos authentication
|
||||
on queues protected by Kerberos.
|
||||
- The Zebra ZPL driver did not work with Brady label printers
|
||||
(STR #2487)
|
||||
- Norwegian wasn't localized on Mac OS X.
|
||||
- getnameinfo() returns an error on some systems when DNS is
|
||||
not available, leading to numerous problems (STR #2486)
|
||||
- The cupsfilter command did not work properly on Mac OS X.
|
||||
- The scheduler makefile contained a typo (STR #2483)
|
||||
- The TBCP and BCP port monitors did not handle the trailing
|
||||
CTRL-D in some PostScript output properly.
|
||||
- Fixed the localization instructions and German template for
|
||||
the "Find New Printers" button (STR #2478)
|
||||
- The web interface did not work with the Chinese localization
|
||||
(STR #2477)
|
||||
- The web interface home page did not work for languages that
|
||||
were only partially localized (STR #2472)
|
||||
- Updated the Spanish web interface localization (STR #2473)
|
||||
- ppdLocalize() did not work for country-specific localizations.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3.0
|
||||
|
||||
- The scheduler did not handle out-of-file conditions
|
||||
gracefully when accepting new connections, leading to
|
||||
heavy CPU usage.
|
||||
- The scheduler did not detect ServerBin misconfigurations
|
||||
(STR #2470)
|
||||
- "AuthType Default" did not work as expected when the
|
||||
"DefaultAuthType foo" line appeared after it in the
|
||||
cupsd.conf file.
|
||||
- The on-line help did not describe many common printing
|
||||
options (STR #1846)
|
||||
- The IPP backend did not return the "auth required" status
|
||||
when printing to a Kerberos-protected queue.
|
||||
- The scheduler was not looking in the correct directories
|
||||
for LSB PPD files (STR #2464)
|
||||
- Changed references to ESP Ghostscript to GPL Ghostscript
|
||||
(STR #2463)
|
||||
- The PostScript filter did not cleanly terminate when
|
||||
the job was canceled or stopped.
|
||||
- Fixed generation of Kerberos credentials for remote
|
||||
printing. Note that this requires a recent version of
|
||||
MIT Kerberos with a working krb5_cc_new_unique()
|
||||
function or Heimdal Kerberos.
|
||||
- Added Portuguese and updated Italian message catalogs.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3rc2
|
||||
|
||||
- Added more range checking to the pdftops filter.
|
||||
- The scheduler would crash if a remote IPP queue was stopped
|
||||
(STR #2460)
|
||||
- The scheduler did not allow "DefaultAuthType None".
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3rc1
|
||||
|
||||
- Updated the German localization (STR #2443)
|
||||
- cupsAdminGetServerSettings() did not handle </Foo> properly.
|
||||
- When lprm and cancel are run with no job ID, they now will
|
||||
cancel the first stopped job if no pending or processing
|
||||
jobs are left in the queue.
|
||||
- The scheduler now logs successful print jobs, filter
|
||||
failures, and the job file types at the default log
|
||||
level (STR #2458)
|
||||
- The scheduler now logs the usernames it is using for
|
||||
authorization at LogLevel debug instead of debug2 (STR #2448)
|
||||
- Added Intellitech Intellibar and Zebra CPCL PPDs to the list
|
||||
of installed PPDs.
|
||||
- Added 6" and 8" wide label sizes for the Zebra ZPL Label
|
||||
Printer driver (STR #2442)
|
||||
- The cupsaddsmb program and web interface now support
|
||||
exporting of 64-bit Windows drivers, when available
|
||||
(STR #2439)
|
||||
- Moving a job that was printing did not stop the job on the
|
||||
original printer (STR #2262)
|
||||
- The cups-lpd mini-daemon did not work on Mac OS X server.
|
||||
- Added httpGetAuthString() and httpSetAuthString() APIs to get
|
||||
and set the current (cached) authorization string to use for
|
||||
HTTP requests.
|
||||
- Updated the default cupsd.conf policy to list the
|
||||
"administrative" operations separately from the "printer
|
||||
control" operations so that it is easier to define a
|
||||
group of users that are "printer operators".
|
||||
- The web interface now pulls the default cupsd.conf file
|
||||
from cupsd.conf.default in the CUPS config directory.
|
||||
- Added a help file for using Kerberos with CUPS.
|
||||
- The scheduler now strips the "@KDC" portion of Kerberos
|
||||
usernames since those usernames typically do not appear in
|
||||
the group membership lists used by CUPS.
|
||||
- cupsMarkOptions() could (incorrectly) leave multiple option
|
||||
choices marked.
|
||||
- Backends could (incorrectly) run as root during discovery
|
||||
(STR #2454)
|
||||
- Avahi is now supported for DNS-SD (Bonjour) printer sharing
|
||||
(STR #2455)
|
||||
- The default cupsd.conf file had typos and old operation names
|
||||
(STR #2450)
|
||||
- The scheduler now erases authentication cache files using the
|
||||
7-pass US DoD algorithm.
|
||||
- Delegated Kerberos credentials (proxy authentication) did not
|
||||
work.
|
||||
- The filter makefile did not optimize the libcupsimage.2.dylib
|
||||
with a sectorder file.
|
||||
- The IPP backend incorrectly wrote an empty printer message
|
||||
when processing the "none" state reason.
|
||||
- The USB backend could deadlock on Mac OS X while performing
|
||||
a side-channel command.
|
||||
- The scheduler did not prevent remote queues from being
|
||||
shared/published.
|
||||
- The scheduler did not remove the temporary request file on
|
||||
authentication errors.
|
||||
- ppdLocalizeIPPReason() did not handle "scheme:" schemes or
|
||||
"file" URLs.
|
||||
- ppdLocalizeIPPReason() was not exported on Mac OS X.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.3b1
|
||||
|
||||
- Copyright updates - CUPS is now owned by Apple Inc.
|
||||
- Documentation updates (STR #1775, STR #2027, STR #2130,
|
||||
STR #2131, STR #2263, STR #2356, STR #2397)
|
||||
- Added new cupsfilter utility (STR #1734)
|
||||
- Added new job-printer-state-message and
|
||||
job-printer-state-reasons attributes to jobs (STR #2418)
|
||||
- Added LDAP+SSL support (STR #1967)
|
||||
- CUPS now supports authentication via peer credentials
|
||||
over domain sockets (STR #2242, STR #2277)
|
||||
- The CUPS sample driver PPDs are now generated by the PPD
|
||||
compiler and include all of the localized languages by
|
||||
default (STR #2164)
|
||||
- You can now specify "AuthType Default" in the cupsd.conf
|
||||
file to use the default authentication defined by the
|
||||
DefaultAuthType directive.
|
||||
- The SNMP backend no longer adds a default Address line
|
||||
when none is specified in the snmp.conf file; this allows
|
||||
the backend to be easily disabled as needed (STR #2434)
|
||||
- Added a new cupsctl command for doing basic changes to
|
||||
the cupsd.conf file (STR #1777)
|
||||
- Added a new ppdLocalizeIPPReason() function to get the
|
||||
localized text/URI for a given IPP reason keyword for a
|
||||
driver.
|
||||
- Removed the deskjet2.ppd driver, as it only worked with
|
||||
a very small subset of HP DeskJet printers and was
|
||||
confusing to users. The rastertohp driver still
|
||||
supports the deskjet2.ppd options for existing queues.
|
||||
- The scheduler did not add a trailing banner page if a
|
||||
client did not specify the last document in a job (STR
|
||||
#1711)
|
||||
- The scheduler did not report Bonjour shared printers as
|
||||
remote printers (STR #2384)
|
||||
- Added new -R and -W options to the cupstestppd program
|
||||
for greater control over the testing of PPDs.
|
||||
- Added a new cupsGetServerPPD() function for getting
|
||||
an available PPD from the server (STR #2334)
|
||||
- Added a new cupsDoIORequest() function for reading
|
||||
and writing files via IPP requests (STR #2334)
|
||||
- Added a new CUPS_GET_PPD operation for getting an
|
||||
available PPD file on the server (STR #2334)
|
||||
- CUPS_GET_PPDS now reports multiple ppd-product values
|
||||
based on the PPD ModelName and Product strings (STR
|
||||
#2334, STR #2383)
|
||||
- CUPS_GET_PPDS now reports the PSVersion attributes
|
||||
from a PPD file in the ppd-psversion attribute
|
||||
(STR #2334)
|
||||
- CUPS_GET_PPDS now reports the cupsModelNumber attribute
|
||||
from a PPD file in the ppd-model-number attribute (STR
|
||||
#2383)
|
||||
- CUPS_GET_PPDS now reports a driver type string in the
|
||||
ppd-type attribute based on the cupsFax and cupsFilter
|
||||
attributes in a PPD file (STR #2383)
|
||||
- Added a new printer attribute called "cups-version"
|
||||
which reports the version of CUPS that is running
|
||||
(STR #2240)
|
||||
- backendRunLoop() now aborts immediately on SIGTERM
|
||||
if no data has been written yet (STR #2103)
|
||||
- Due to poor IPP support from the vendors, the SNMP
|
||||
backend no longer tries IPP connections; instead,
|
||||
it now uses a lookup file with fallback to port 9100
|
||||
(socket://address) and 515 (lpd://address) printing
|
||||
(STR #2035, STR #2354)
|
||||
- The scheduler now recreates the CUPS log directory as
|
||||
needed (STR #2353)
|
||||
- cupsLangDefault() now maps new-style Apple locale names
|
||||
to the traditional ll_CC form (STR #2357)
|
||||
- Add new cupsArrayNew2() API to support hashed lookups
|
||||
of array elements (STR #2358)
|
||||
- ppdConflicts() optimizations (STR #2358)
|
||||
- The cupstestppd program now tests for existing filters,
|
||||
icons, profiles, and dialog extensions (STR #2326)
|
||||
- The web interface no longer lists new printers on the
|
||||
main administration page. Instead, a new "List Available
|
||||
Printers" button is provided that shows a separate page
|
||||
with the list of printers.
|
||||
- The web interface now supports setting the banner and
|
||||
policy options on raw printers and classes (STR #2238)
|
||||
- The socket backend now reads any pending back-channel
|
||||
data before shutting down the socket (STR #2325)
|
||||
- Added a new ErrorPolicy directive in the cupsd.conf
|
||||
file (STR #1871)
|
||||
- Printers that use JCL options are now exported to Samba
|
||||
correctly (STR #1985)
|
||||
- The IPP backend now relays printer-state-message values
|
||||
from the server to the client (STR #2109)
|
||||
- Added support for the PWG printer-alert and
|
||||
printer-alert-description attributes (STR #2088)
|
||||
- Added support for LPD "stream" mode (STR #2036)
|
||||
- The scheduler now reports the PostScript product string
|
||||
from PPD files in CUPS-Get-PPDs responses (STR #1900)
|
||||
- Raw printing with queues pointing to the file pseudo-
|
||||
device and multiple files and/or banners now works (STR
|
||||
#1933)
|
||||
- Added new public cupsAdminGetServerSettings() and
|
||||
cupsAdminSetServerSettings() APIs.
|
||||
- Added new "makebuttons" script in the "tools" directory
|
||||
for creating web interface buttons (STR #2231)
|
||||
- Added support for DNS-SD (aka "Bonjour") printer sharing
|
||||
(STR #1171)
|
||||
- Job operations (cancel, hold, release, etc.) from the
|
||||
web interface now return back to the original page (STR
|
||||
#2239)
|
||||
- The classes or printers list is now shown after a
|
||||
successful deletion from the web interface (STR #1999)
|
||||
- The default configuration now allows browse packets from
|
||||
any address (STR #2008)
|
||||
- The web interface now provides an "allow printing from the
|
||||
Internet" check box (STR #1897)
|
||||
- The notify-events-default and
|
||||
notify-lease-duration-default attributes can now be set
|
||||
(STR #1671)
|
||||
- Server-side default options are now sent to clients when
|
||||
the "printer-defaults" attribute group is requested (STR
|
||||
#1923)
|
||||
- Added support for Linux "relro" linker option (STR #1614)
|
||||
- CUPS now validates the number-up option value (STR #1329)
|
||||
- The on-line help now provides better search capabilities
|
||||
(STR #1701)
|
||||
- The web interface "Add This Printer" button now allows you
|
||||
to change the printer name, description, and location
|
||||
(STR #1646)
|
||||
- Added support for Mac OS X authorization services
|
||||
(STR #2206)
|
||||
- Added support for driver-specific pre-filters (STR #2108)
|
||||
- Added a new side-channel API for drivers and backends
|
||||
for basic device control and information queries (STR
|
||||
#1898)
|
||||
- The scheduler now uses poll(), epoll(), or /dev/kqueue
|
||||
instead of select() when possible (STR #1261)
|
||||
- Added new cupsArrayGetIndex() and cupsArrayGetInsert()
|
||||
functions to get the current index and insertion
|
||||
positions of an array.
|
||||
- Added a new --with-max-copies configure option (STR
|
||||
#2090)
|
||||
- Added new cupsRemoveDest() and cupsSetDefaultDest()
|
||||
functions.
|
||||
- Added support for cupsPJLCharset attribute in PPD files
|
||||
which specifies the character set that is used in PJL
|
||||
strings (STR #1969)
|
||||
- Moved the definition of the (private) _http_s structure
|
||||
to http-private.h; code that directly accesses the
|
||||
http_t members will no longer compile!
|
||||
- Added support for setting the document-format-default
|
||||
attribute on a per-printer basis.
|
||||
- Added support for IntelliBar label printers.
|
||||
@@ -1,843 +0,0 @@
|
||||
CHANGES-1.4.txt
|
||||
---------------
|
||||
|
||||
CHANGES IN CUPS V1.4.8
|
||||
|
||||
- The scheduler would delete job data files when restarted (STR #3880)
|
||||
- The network backends could crash if a printer returned a value of 0
|
||||
for the maximum capacity for a supply (STR #3875)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4.7
|
||||
|
||||
- Documentation changes (STR #3710, STR #3720, STR #3745, STR #3750,
|
||||
STR #3757, STR #3758, STR #3782, STR #3826, STR #3829, STR #3837)
|
||||
- Web interface fixes (STR #3412, STR #3345, STR #3455, STR #3707,
|
||||
STR #3755, STR #3769, STR #3783)
|
||||
- Configure script fixes (STR #3659, STR #3691)
|
||||
- Compilation fixes (STR #3718, STR #3771, STR #3774)
|
||||
- The imageto* filters could crash with bad GIF files (STR #3867)
|
||||
- The scheduler might leave old job data files in the spool directory
|
||||
(STR #3795)
|
||||
- CUPS did not work with locales using the ASCII character set
|
||||
(STR #3832)
|
||||
- httpAddrString() did not return a URI-style IPv6 numeric address
|
||||
(STR #3814)
|
||||
- Fixed an issue when reading compressed CUPS raster streams (STR #3812)
|
||||
- Fixed an issue with PostScript printer auto-configuration (STR #3443)
|
||||
- Fixed some compatibility issues with the libusb-based USB backend
|
||||
(STR #3799)
|
||||
- The network backends no longer try to collect SNMP supply and status
|
||||
information for raw queues (STR #3809)
|
||||
- The DBUS notifier did not report job state changes (STR #3805)
|
||||
- The scheduler did not always report that the "normal" print-quality
|
||||
value was supported (STR #3803)
|
||||
- The gziptoany filter did not report the correct error if it was unable
|
||||
to write the uncompressed document to the next filter or backend in
|
||||
the chain (STR #3797)
|
||||
- The Epson and Oki 9-pin drivers had a bad resolution option
|
||||
(STR #3798)
|
||||
- The scheduler did not always register the correct default ICC profile
|
||||
on Mac OS X.
|
||||
- The scheduler did not use the job owner when authorizing access for
|
||||
the CUPS-Get-Document operation, preventing non-admins from accessing
|
||||
their own jobs.
|
||||
- CUPS did not work with some printers that incorrectly implemented the
|
||||
HTTP/1.1 standard (STR #3778, STR #3791)
|
||||
- The scheduler did not retry fax jobs properly.
|
||||
- The scheduler now recognizes an empty cupsCommands PPD keyword as
|
||||
meaning that CUPS commands are not supported for a printer (STR #3773)
|
||||
- Fixed a crash bug in the scheduler when the application/octet-stream
|
||||
MIME type was not defined (STR #3690)
|
||||
- Polled printers were advertised more slowly than necessary (STR #3574)
|
||||
- cupsResolveConflicts() did not handle resolving multiple UIConstraints
|
||||
issues (STR #3705)
|
||||
- The SetEnv and PassEnv directives had no effect (STR #3664)
|
||||
- The libusb-based USB backend printed slowly to the LaserJet 1300 and
|
||||
other printers (STR #3405)
|
||||
- "lp" and "lpr" failed to print with Kerberos enabled (STR #3768)
|
||||
- The cupsctl program now displays an error if you try to directly set
|
||||
the Port or Listen directives (STR #3749)
|
||||
- PPD files with "*JobPatchFile: bla" no longer fail to load in relaxed
|
||||
conformance mode (STR #3747)
|
||||
- The scheduler generated a bad notify-text string for printer state
|
||||
change notifications (STR #3739)
|
||||
- The scheduler incorrectly updated printers.conf when it really needed
|
||||
to update classes.conf or remote.cache (STR #3726)
|
||||
- Hardwired remote printers with options did not work (STR #3717)
|
||||
- Accessing the CUPS web interface using a CNAME-based hostname would
|
||||
sometimes fail due to redirection to the actual hostname (STR #3701)
|
||||
- Subscription events had a misspelled attribute (STR #3693)
|
||||
- "make check" failed if LC_MESSAGES was set (STR #3765)
|
||||
- Fixed the configure script to always look for the pkg-config script
|
||||
(STR #3761)
|
||||
- The scheduler now only looks up interface hostnames if HostNameLookups
|
||||
are enabled (STR #3737)
|
||||
- Fixed a compilation problem on DragonFly BSD (STR #3738)
|
||||
- The default PageLogFormat value had the username and job ID swapped
|
||||
from CUPS 1.3.x (STR #3727)
|
||||
- The scheduler could crash if a browsed printer times out while a job
|
||||
is printing (STR #3754)
|
||||
- The scheduler incorrectly mapped custom page sizes to standard sizes
|
||||
(STR #3764)
|
||||
- cupsfilter and pstops did not map IPP attributes to PPD options due to
|
||||
a change in cupsMarkOptions (STR #3756)
|
||||
- The scheduler did not always show the most recent status message from
|
||||
the print filters (STR #3731)
|
||||
- The PostScript filter did not apply the mirror and number-up options
|
||||
properly, leading to offset and clipped output (STR #3732)
|
||||
- The network backends always reported "low toner" or "out of toner"
|
||||
states, even for inkjet printers (STR #3733)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4.6
|
||||
|
||||
- Fixed a "make check" issue on Solaris (STR #3729)
|
||||
- Regression: The pstops filter did not support landscape printing of
|
||||
PostScript files (STR #3722)
|
||||
- The scheduler killed retried (fax) jobs after restarting them
|
||||
(STR #3697)
|
||||
- The cupsAdminSetServerSettings() function disabled sharing when
|
||||
debug logging was enabled (STR #3712)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4.5
|
||||
|
||||
- Documentation fixes (STR #3542, STR #3650)
|
||||
- Localization fixes (STR #3635, STR #3636, STR #3647, STR #3666)
|
||||
- Security: Fixed a memory corruption bug reported in CVE-2010-2941
|
||||
(STR #3648)
|
||||
- The CUPS API incorrectly mapped the HTTP_UNAUTHORIZED status to the
|
||||
IPP_NOT_AUTHORIZED status code, when IPP_NOT_AUTHENTICATED would be
|
||||
the correct mapping (STR #3684)
|
||||
- The scheduler would restart jobs while shutting down (STR #3679)
|
||||
- Fixed a PPD loader bug that could cause a crash in cupsd (STR #3680)
|
||||
- Improved the mapping of non-standard PPD and PWG names (STR #3671)
|
||||
- The scheduler did not initialize Kerberos in all cases (STR #3662)
|
||||
- cupsAdminSetServerSettings duplicated Listen and Order lines
|
||||
(STR #3645)
|
||||
- Added DeviceN colorspace support to the CUPS Raster format (STR #3419)
|
||||
- ppdMarkDefaults() did not clear the marked field of the previous
|
||||
choices (STR #3642)
|
||||
- The serial backend would not allow a raw job to be canceled
|
||||
(STR #3649)
|
||||
- The socket backend could go into an infinite loop with certain
|
||||
printers (STR #3622)
|
||||
- Setting the PRINTER or LPDEST environment variables to "name/instance"
|
||||
did not work (STR #3485)
|
||||
- The scheduler did not handle the JobRetryLimit setting properly
|
||||
(STR #3466)
|
||||
- The lpstat command always showed a remote job ID of 0 for shared
|
||||
printers (STR #3627)
|
||||
- Increased the write timeout for the libusb-based USB backend to 5
|
||||
minutes (STR #3595)
|
||||
- The libusb-base USB backend did not check whether the printer has a
|
||||
serial number (STR #3590)
|
||||
- The lpadmin command did not support setting of custom option values
|
||||
(STR #3631)
|
||||
- The lpadmin command did not support setting of the location or
|
||||
description of a class (STR #3613)
|
||||
- The cupsaddsmb command did not give up after too many failed attempts
|
||||
(STR #3615)
|
||||
- The CUPS library no longer uses certain problematic ctype macros that
|
||||
change based on the locale's character set.
|
||||
- PJL value substitution of more than 9 values was broken (STR #3621)
|
||||
- Custom options with missing string values caused ppdEmit* to segfault
|
||||
(STR #3620)
|
||||
- Fixed an issue with the Italian version of the web interface
|
||||
(STR #3624)
|
||||
- Fixed the Solaris SMF configuration file for cups-lpd (STR #3611)
|
||||
- The scheduler did not set the notify-subscribed-event attribute when
|
||||
delivering printer-added or printer-modified events (STR #3608)
|
||||
- The mailto notifier could get into an infinite loop (STR #3609)
|
||||
- Date/time information was not shown in banner pages.
|
||||
- Relational operators were broken in #if/#elif/#else/#endif expressions
|
||||
for the PPD compiler.
|
||||
- Moving a job via the web interface failed without asking for
|
||||
authentication (STR #3559)
|
||||
- The scheduler now clears the printer-state-reasons when the driver is
|
||||
changed (STR #3570)
|
||||
- The web interface did not allow a user to change the driver
|
||||
(STR #3537, STR #3601)
|
||||
- The scheduler was not setting the PATH_INFO environment variable when
|
||||
needed (STR #3600)
|
||||
- The scheduler incorrectly set the CUPSD_AUTH_TYPE environment
|
||||
variable instead of AUTH_TYPE (STR #3599)
|
||||
- Fixed a buffer overrun in the PPD compiler (STR #3594)
|
||||
- Fixed some additional IPP job template attribute mapping issues in the
|
||||
scheduler.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4.4
|
||||
|
||||
- Documentation updates (STR #3453, STR #3527, STR #3528, STR #3529)
|
||||
- Security: The fix for CVE-2009-3553 was incomplete (STR #3490)
|
||||
- Security: The texttops filter did not check the results of allocations
|
||||
(STR #3516)
|
||||
- Security: The web admin interface could disclose the contents of
|
||||
memory (STR #3577)
|
||||
- Security: CUPS could overwrite files as root in directories owned or
|
||||
writable by non-root users (STR #3510)
|
||||
- The cups-config utility did not return the correct linker options on
|
||||
AIX (STR #3587)
|
||||
- Fixed some IPP conformance issues with the scheduler's
|
||||
ippget-event-life, operations-supported, output-bin, and sides
|
||||
attributes (STR #3554)
|
||||
- The OpenSSL interfaces have been made thread-safe and the GNU TLS
|
||||
interface is explicitly forbidden when threading is enabled
|
||||
(STR #3461)
|
||||
- Fixed an IPP conformance issue with the scheduler's Send-Document
|
||||
implementation (STR #3514)
|
||||
- Added additional validation checks for the 1284 device ID (STR #3534)
|
||||
- Fixed a problem with the RPM spec file (STR #3544)
|
||||
- The lpstat command did not limit the job list to the specified
|
||||
printers (STR #3541)
|
||||
- The cupsfilter command did not set the RIP_MAX_CACHE environment
|
||||
variable (STR #3531)
|
||||
- Fixed support for media-col and page size variants (STR #3394)
|
||||
- The PostScript filter did not support all media selection options for
|
||||
the first page (STR #3525)
|
||||
- The scheduler did not always remove job control files (STR #3425)
|
||||
- The scheduler could crash on restart if classes were defined
|
||||
(STR #3524)
|
||||
- The scheduler no longer looks up network interface hostnames by
|
||||
default on Mac OS X (STR #3523)
|
||||
- ippWriteIO did not write collection (member) attributes properly in
|
||||
all cases (STR #3521)
|
||||
- The "cupsctl --remote-any" and corresponding web interface check box
|
||||
(allow printing from the Internet) did not work reliably (STR #3520)
|
||||
- The lpq and lpr commands would sometimes choose different default
|
||||
printers (STR #3503)
|
||||
- cupsDo*Request did not flush error text, leading to multiple issues
|
||||
(STR #3325, STR #3519)
|
||||
- cupsDoAuthentication did not cancel password authentication after 3
|
||||
failures (STR #3518)
|
||||
- Fixed several LDAP browsing bugs (STR #3392)
|
||||
- The Dymo driver did not support copies (STR #3457)
|
||||
- The scheduler did not update the classes.conf file when deleting a
|
||||
printer belonging to a class (STR #3505)
|
||||
- The lppasswd command did not use localized password prompts
|
||||
(STR #3492)
|
||||
- The socket backend no longer waits for back-channel data on platforms
|
||||
other than Mac OS X (STR #3495)
|
||||
- The scheduler didn't send events when a printer started accepting or
|
||||
rejecting jobs (STR #3480)
|
||||
- The web interface now includes additional CSRF protection (STR #3498)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4.3
|
||||
|
||||
- SECURITY: The scheduler could try responding on a closed client
|
||||
connection, leading to a crash (STR #3200)
|
||||
- SECURITY: The lppasswd program allowed the localization files to be
|
||||
overridden when running in setuid mode (STR #3482)
|
||||
- Localization updates (STR #3352, STR #3409, STR #3422, STR #3452,
|
||||
STR #3473, STR #3502)
|
||||
- Documentation updates (STR #3451, STR #3504)
|
||||
- The IPP backend now sets the printer-state-message to "Ready to
|
||||
print." at the end of a successful job (STR #3460)
|
||||
- The PPD compiler did not correctly add the manufacturer to the output
|
||||
filename when using the "-m" option (STR #3469)
|
||||
- The IPP backend did not handle authentication properly for the Get-
|
||||
Printer-Attributes operation (STR 3458)
|
||||
- Getting SNMP values larger than 127 bytes did not work.
|
||||
- IPP conformance: Get-Jobs has a default value for requested-attributes
|
||||
(STR #3383)
|
||||
- cupsPrintFiles() did not report all errors (STR #3449)
|
||||
- cupsAddDest() could read freed memory (STR #3448)
|
||||
- The DBUS notifier did not build (STR #3447)
|
||||
- The scheduler would crash when an active printer was deleted.
|
||||
- The snmp backend did not work with some printers (STR #3413)
|
||||
- The web interface did not show the conflicting values when setting
|
||||
options (STR #3440)
|
||||
- Setting options in the web interface did not always work (STR #3439)
|
||||
- The scheduler did not use the Get-Job-Attributes policy for a printer
|
||||
(STR #3431)
|
||||
- The scheduler added two job-name attributes to each job object
|
||||
(STR #3428)
|
||||
- CSS files would not print (STR #3442)
|
||||
- The scheduler did not clean out completed jobs when PreserveJobHistory
|
||||
was turned off (STR #3425)
|
||||
- The web interface did not show completed jobs for a printer
|
||||
(STR #3436)
|
||||
- Authenticated printing did not always work when printing directly to
|
||||
a remote server (STR #3435)
|
||||
- The USB backend did not work on Solaris (STR #3423)
|
||||
- cupstestppd didn't catch problems with JobPatchFile definitions
|
||||
(STR #3421)
|
||||
- The socket backend could crash if a SNMP string had a negative length.
|
||||
- Fixed some termination issues with the USB backend on Mac OS X.
|
||||
- The side-channel APIs did not handle interrupts properly.
|
||||
- The network backends incorrectly cleared the media-empty-warning
|
||||
state.
|
||||
- The web interface did not allow users to successfully add serial
|
||||
printers (STR #3391)
|
||||
- cupsTempFd() did not work in some situations (STR #3382)
|
||||
- Some C API headers were missing C++ wrapper logic.
|
||||
- The PPD compiler did not localize single-language PPD options properly
|
||||
(STR #3386)
|
||||
- Modifying a printer from the web interface sometimes caused the wrong
|
||||
driver to be selected (STR #3418)
|
||||
- The scheduler did not handle out-of-memory conditions properly when
|
||||
loading a job (STR #3407)
|
||||
- When adding printers from the web interface, the dynamic updates of
|
||||
the device list made it hard to pick a device (STR #3406)
|
||||
- Fixed a typo in the web interface admin page template (STR 3403)
|
||||
- The web interface did not preserve the "printer is shared" state when
|
||||
modifying a printer (STR #3390)
|
||||
- The PPD compiler incorrectly inserted translations of empty strings
|
||||
(STR #3411)
|
||||
- The scheduler did not reset the SIGPIPE handler of child processes
|
||||
(STR #3399)
|
||||
- cupsGetNamedDest() incorrectly returned the default printer if the
|
||||
named printer did not exist (STR #3397)
|
||||
- Fixed a GNU TLS error handling bug (STR #3381)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4.2
|
||||
|
||||
- SECURITY: The CUPS web interface was vulnerable to several XSS and
|
||||
HTTP header/body attacks via attribute injection (STR #3367,
|
||||
STR #3401)
|
||||
- Fixed localization errors (STR #3359, STR #3372, STR #3380, STR #3387)
|
||||
- The documentation for classes.conf and printers.conf did not provide
|
||||
the correct instructions for manual changes (STR #3351)
|
||||
- The scheduler did not always rebuild printer cache files when the
|
||||
driver was changed (STR #3356)
|
||||
- The documentation makefile failed to install localizations when using
|
||||
newer versions of Bash (STR #3360)
|
||||
- The configure script did not use the --with-xinetd value for the
|
||||
default LPD configuration path (STR #3347)
|
||||
- The configure script incorrectly required glib for DBUS support
|
||||
(STR #3346)
|
||||
- The cupstestppd program incorrectly reported filters with bad
|
||||
permisssions as missing (STR #3363)
|
||||
- The cups.desktop file used the wrong locale names (STR #3358)
|
||||
- cupsSideChannelRead() did not return an error for short reads.
|
||||
- The installed PAM configuration file did not use the correct options
|
||||
with the pam_unix2 module (STR #3313)
|
||||
- The scheduler did not preserve default options that contained special
|
||||
characters (STR #3340)
|
||||
- The scheduler did not remove old pre-filters when updating a printer
|
||||
driver (STR #3342)
|
||||
- The HP/GL-2 filter did not check for early end-of-file (STR #3319)
|
||||
- The USB backend did not compile on some platforms (STR #3332)
|
||||
- cupsSideChannelSNMPWalk() could go into an infinite loop with broken
|
||||
SNMP implementations.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4.1
|
||||
|
||||
- Documention fixes (STR #3296)
|
||||
- SNMP supply levels and states were wrong for some printers.
|
||||
- The IPP backend did not update the auth-info-required value.
|
||||
- The libusb-based USB backend would hang at the end of the job
|
||||
(STR #3315, STR #3318)
|
||||
- DNS-SD registrations for raw queues had an empty "ty" key (STR #3299)
|
||||
- The JPEG and BMP MIME type rules were broken (STR #3284)
|
||||
- cupsGetNamedDest returned the default printer when the named
|
||||
destination did not exist (STR #3285)
|
||||
- The JobKillDelay was not triggered for canceled jobs (STR #3292)
|
||||
- The PPD compiler could get in an infinite loop (STR #3293)
|
||||
- The configure check for dns-sd.h was broken (STR #3297)
|
||||
- The "Query Printer for Default Options" page did not go away if the
|
||||
query job was held (STR #3302)
|
||||
- Boolean options did not show up as selected in the web interface
|
||||
(STR #3303)
|
||||
- The scheduler did not cache or report driver information files
|
||||
correctly, leading to a variety of issues (STR #3283, STR #3297,
|
||||
STR #3305)
|
||||
- cupsDoIORequest() did not abort on permanent errors (STR #3311)
|
||||
- Modifying a class in the web interface did not work (STR #3312)
|
||||
- BrowseLocalProtocols could be cleared when changing the sharing
|
||||
setting (STR #3287)
|
||||
- The scheduler could return an empty supported document format
|
||||
(STR #3308)
|
||||
- The PPD compiler generated invalid PPD files when the locale used
|
||||
something other than "." for the decimal point (STR #3300)
|
||||
- The IPP backend did not handle some non-comforming IPP printer
|
||||
implementations (STR #3262)
|
||||
- The scheduler leaked three file descriptors to each job filter
|
||||
(STR #3263)
|
||||
- The scheduler now uses a default CUPS-Get-Devices timeout of 15
|
||||
seconds (STR #3307)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4.0
|
||||
|
||||
- Localization updates (STR #3223, STR #3246, STR #3248, STR #3250)
|
||||
- Documentation updates (STR #3225, STR #3230, STR #3242, STR #3260)
|
||||
- The --with-pdftops configure option did not accept a full path to the
|
||||
filter (STR #3278)
|
||||
- The banner filter did not position the back side image correctly
|
||||
(STR #3277)
|
||||
- The dnssd backend could crash (STR #3272)
|
||||
- The 1284 device ID sometimes contained trailing garbage (STR #3266)
|
||||
- The USB backend returned different URIs for some printers than in
|
||||
CUPS 1.3 (STR #3259)
|
||||
- The scheduler did not do local job-hold-until processing for remote
|
||||
queues (STR #3258)
|
||||
- The scheduler did not try all possible SSL certificates on Mac OS X.
|
||||
- The scheduler did not always remove a file descriptor when using the
|
||||
kqueue interface (STR #3256)
|
||||
- The scheduler did not protect against bad job control files in all
|
||||
cases (STR #3253)
|
||||
- The scheduler did not encode "+" in model names (STR #3254)
|
||||
- The web interface didn't show the default options (STR #3244)
|
||||
- The IPP and LPD backends needed print data before they would do an
|
||||
SNMP query.
|
||||
- Fixed a GNU TLS compatibility issue (STR #3231)
|
||||
- Fixed a HTML error in the add and modify printer web interface
|
||||
templates (STR #3229)
|
||||
- The scheduler did not minimize the number of printer state events that
|
||||
were generated by filter STATE: messages, which could lead to poor
|
||||
performance.
|
||||
- The USB backend on Mac OS X did not cleanly cancel a job.
|
||||
- The network backends now set the connecting-to-device printer-state-
|
||||
reasons value when looking up the address and copying the print data
|
||||
for consistency.
|
||||
- The scheduler now supports the com.apple.print.recoverable-warning
|
||||
reason on all platforms.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4rc1
|
||||
|
||||
- The PPD compiler documentation was missing information on localization
|
||||
(STR #3212)
|
||||
- The IPP backend now reconnects after every request when talking to
|
||||
printers that claim IPP support but only use HTTP/1.0.
|
||||
- The PPD compiler crashed when both "Resolution" and "Group foo Option
|
||||
Resolution" were specified in the .drv file.
|
||||
- The PPD compiler's #if/#elif/#else/#endif did not work for undefined
|
||||
variables (STR #3210)
|
||||
- Static libraries could not be installed by a non-root user on systems
|
||||
needing a ranlib program (STR #3209)
|
||||
- The scheduler incorrectly always tried to copy Kerberos credentials
|
||||
for print jobs.
|
||||
- Updated the Spanish localization (STR #3204)
|
||||
- The scheduler crashed when getting the default paper size from
|
||||
libpaper (STR #3205, STR #3206)
|
||||
- The PPD compiler now defines six variables: CUPS_VERSION,
|
||||
CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR, CUPS_VERSION_PATCH,
|
||||
PLATFORM_NAME, and PLATFORM_ARCH (STR #3203)
|
||||
- Fixed a whitespace skipping bug in cupsRasterInterpretPPD.
|
||||
- The scheduler did not return HTTP 403 (Forbidden) for authenticated
|
||||
users that were not authorized to do IPP operations (STR #3193)
|
||||
- The scheduler did not report more than 8 Product strings from a PPD
|
||||
file. Some PPD files have as many as 24.
|
||||
- ppdOpen*() could crash if a keyword had no value string (something
|
||||
that cupstestppd looks for...)
|
||||
- cupsLangDefault() did not return the correct language on Mac OS X.
|
||||
- The Mac OS X USB backend did not handle aborted or stalled pipe
|
||||
conditions properly, which prevented drivers from ejecting partial
|
||||
pages when a job was canceled or held.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4b3
|
||||
|
||||
- Documentation fixes (STR #3044, STR #3057, STR #3153, STR #3158,
|
||||
STR #3173)
|
||||
- Added complete localizations for German, Japanese, Polish, and
|
||||
Russian and partial localizations for Chinese, Danish, Finnish,
|
||||
French, Italian, Korean, Norwegian, Portuguese, and Swedish
|
||||
(STR #3096, STR #3098, STR #3109, STR #3111, STR #3141)
|
||||
- Updated the configure check for -fstack-protector (STR #3198)
|
||||
- The network backends now correctly convert SNMP supply descriptions to
|
||||
UTF-8 encoding as needed.
|
||||
- The scheduler could crash when deleting an attribute (STR #3197)
|
||||
- The cups-driverd program did not detect symlink loops (STR #3185)
|
||||
- The EPSON 24-pin series driver should now feed the correct amount
|
||||
(STR #2624)
|
||||
- The scheduler now automatically logs the last N debug messages for
|
||||
failed print jobs.
|
||||
- You can now modify a raw print queue (STR #3133)
|
||||
- Fixed a number of ppdi issues and added a unit test to validate that
|
||||
ppdc + ppdi can generate and import the same data (STR #3152)
|
||||
- Moving jobs in the web interface now shows an error if you only have
|
||||
one printer or class added (STR #3094)
|
||||
- Since classes have never truly supported the printer-error-policy
|
||||
stuff added in CUPS 1.2, update the code to reflect the current
|
||||
reality and support only the retry-current-job policy for now
|
||||
(STR #3171)
|
||||
- Revised the password callback support (STR #2953)
|
||||
- ppdEmit*() did not choose between PageSize and PageRegion properly.
|
||||
- Make some fairly substantial changes to the Kerberos support code so
|
||||
that CUPS can work in multi-realm environments and does not require
|
||||
delegatable credentials. Shared printing still requires delegation,
|
||||
however "delegation by policy" can be enabled in the KDC to make this
|
||||
all work.
|
||||
- "AccessLogLevel actions" did not hide client-error-not-found errors.
|
||||
- AP_FIRST_InputSlot did not work with number-up.
|
||||
- cupsBackChannelRead() and cupsBackChannelWrite() could fail due to a
|
||||
lack of kernel buffers.
|
||||
- The IPP and LPD backends did not respond to side-channel requests
|
||||
while copying print data to a temporary file.
|
||||
- cupsWriteRequestData() flushed the output buffer unnecessarily,
|
||||
causing reduced performance in some situations.
|
||||
- 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
|
||||
(configurable) to cancel or hold the job.
|
||||
- The cupstestppd program did not validate the capitalization of
|
||||
filenames in the PPD file.
|
||||
- The cupstestppd program did not validate the PageSize and PageRegion
|
||||
values.
|
||||
- The cups-deviced helper program could miss reporting some backend
|
||||
devices (STR #3108)
|
||||
- The cupsSideChannelSNMP* functions did not work.
|
||||
- The scheduler could consume 100% CPU when jobs were canceled.
|
||||
- Clicking on "Select Another Make/Manufacturer" in the web interface
|
||||
incorrectly added the printer (STR #3095)
|
||||
- The scheduler no longer uses programs with insecure file
|
||||
permissions.
|
||||
- httpAssembleURI*() did not escape backslashes in hostnames.
|
||||
- The dnssd backend did not unquote "full names" before creating the
|
||||
device URI.
|
||||
- The scheduler now supports JobRetryInterval values less than 10
|
||||
seconds.
|
||||
- Updated the Spanish localization (STR #3090)
|
||||
- The scheduler did not redo Bonjour/DNS-SD registrations when updating
|
||||
them failed.
|
||||
- The "authenticated" policy incorrectly required authentication for
|
||||
status operations.
|
||||
- ppdOpen*() incorrectly loaded PPDs with multiple JobPatchFile
|
||||
keywords.
|
||||
- The network backends no longer report the SNMP "offline" or
|
||||
maintenance status bits since they are inconsistently implemented and
|
||||
often unreliable.
|
||||
- The scheduler no longer logs child processes killed via SIGKILL as
|
||||
"crashed".
|
||||
- The printer link shown on the "job moved" template was bad (STR #3085)
|
||||
- Updated the HTML templates to use the final HTML 4 DOCTYPE (STR #3086)
|
||||
- The scheduler did not track the "paused" reason properly if a
|
||||
printer had other reasons associated with it.
|
||||
- cupsSendRequest() did not clear old local certificate auth data.
|
||||
- The PPD compiler did not search for localization files properly
|
||||
(STR #3084)
|
||||
- cupsGetNamedDest() did not use the fallback default like
|
||||
cupsGetDests*() (STR #3082)
|
||||
- The scheduler now provides a LogTimeFormat directive to enable
|
||||
microseconds in the date and time that are logged.
|
||||
- The scheduler now provides a MultipleOperationTimeout directive to
|
||||
control the timeout for multi-file print jobs.
|
||||
- The configure script incorrectly allowed Avahi to be used for DNS-SD
|
||||
printer discovery (STR #3065)
|
||||
- The web interface and scheduler did not support URIs up to 1024 bytes
|
||||
in length (STR #3072)
|
||||
- Fixed pdftops issues with page sizes (STR #3063)
|
||||
- Fixed pdftops issues with Ghostscript (STR #3062)
|
||||
- The scheduler incorrectly registered default profiles for PostScript
|
||||
printers with no specified colorspace.
|
||||
- The scheduler incorrectly created an empty org.cups.printers.plist
|
||||
file on Mac OS X.
|
||||
- cupsGetPPD3() did not look for local PPDs in the right directory.
|
||||
- SNMP lookups via side-channel did not work for NULL-VALUE and
|
||||
and OCTET-STRING OIDs containing nul characters.
|
||||
- The libusb-based USB backend did not work.
|
||||
- The scheduler did not set the printer-commands attribute correctly
|
||||
for some PPDs.
|
||||
- The ppdi utility did not work.
|
||||
- The web interface no longer uses multi-part output with old or broken
|
||||
web browsers (STR #3049)
|
||||
- CUPS now conforms to the draft IPP/2.0 and IPP/2.1 specification.
|
||||
- Added a new cupsGetConflicts() API to get a list of conflicting
|
||||
options.
|
||||
- The PPD compiler didn't localize options or choices that did not
|
||||
have associated translation text (STR #3045)
|
||||
- Updated the Spanish localization (STR #3043)
|
||||
- Fixed build problems (STR #3040, STR #3047)
|
||||
- cupsResolveConflicts() did not resolve using the default option
|
||||
choice in some cases due to the mirror UIConstraints that are
|
||||
present in most PPD files.
|
||||
- The scheduler did not honor MIME type priorities.
|
||||
- The commandtops filter incorrectly used the JCLBegin code to end
|
||||
its jobs.
|
||||
- The default BrowseLocalProtocols value was not set properly.
|
||||
- Since the commandtops filter does not actually support ReportLevels
|
||||
all on its own, don't list that printer command by default for PS
|
||||
printers.
|
||||
- The scheduler did not give filters a chance to log errors or update
|
||||
printer attributes when a job was canceled.
|
||||
- The scheduler did not clear the "connecting-to-device" reason keyword
|
||||
when a job finished.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4b2
|
||||
|
||||
- Documentation updates (STR #2983, STR #2998, STR #3021)
|
||||
- The cupstestppd utility now validates the FileVersion and
|
||||
FormatVersion values in PPD files.
|
||||
- The default cupsd.conf file did not reflect the
|
||||
--with-local-protocols value set at compile-time (STR #3037)
|
||||
- The cupsGetPPD* APIs now create symlinks to local PPD files
|
||||
rather than copying them whenever possible.
|
||||
- Various performance optimizations in the string pool, dests, and
|
||||
options implementations.
|
||||
- The cupsGetDests* APIs now return the marker and printer-commands
|
||||
attributes.
|
||||
- Side-channel SNMP lookups would not work when cupsSNMPSupplies
|
||||
was set to False in the PPD file.
|
||||
- Localized the device descriptions for the SCSI, serial,
|
||||
and network backends (STR #3014)
|
||||
- Added a Spanish localization (STR #3015)
|
||||
- Added support for marker-low-levels and marker-high-levels
|
||||
attributes.
|
||||
- The scheduler could hang writing a long log line.
|
||||
- The cupsGetDevices() function now has an "include_schemes"
|
||||
parameter.
|
||||
- The lpinfo command now supports --include-schemes and
|
||||
--exclude-schemes options.
|
||||
- The CUPS-Get-PPDs operation now supports the include-schemes
|
||||
and exclude-schemes attributes.
|
||||
- The CUPS-Get-Devices operation now supports the include-schemes
|
||||
attribute.
|
||||
- The print filters now support a replacement for the fitplot
|
||||
option called "fit-to-page".
|
||||
- The LPD backend no longer tries to collect page accounting
|
||||
information since the LPD protocol does not allow us to
|
||||
prevent race conditions.
|
||||
- The scheduler did not save the last marker-change-time value.
|
||||
- Fixed a problem with printing to some IPP printers, including
|
||||
CUPS 1.1.x.
|
||||
- Fixed a redirection problem with the printer web page (STR #3012)
|
||||
- Fixed a PPD compiler problem with the loading of message
|
||||
catalogs (STR #2990)
|
||||
- Fixed a PPD compiler problem with the loading of .strings files
|
||||
(STR #2989)
|
||||
- The cupsfilter utility did not set the CONTENT_TYPE environment
|
||||
variable when running filters.
|
||||
- The scheduler now waits to allow system sleep until the jobs
|
||||
have all stopped.
|
||||
- The IPP, LPD, and socket backends used different "connecting"
|
||||
progress messages.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.4b1
|
||||
|
||||
- Documentation updates (STR #2567)
|
||||
- The PPD compiler now allows local message catalogs to
|
||||
override the standard CUPS translations (STR #2642)
|
||||
- The ppdmerge command did not merge custom option strings
|
||||
(STR #2863)
|
||||
- The scheduler now supports the Hold-New-Jobs and
|
||||
Release-Held-New-Jobs operations; these are exposed via the
|
||||
cupsdisable and cupsenable commands (STR #2332)
|
||||
- The lpstat command is now much faster when displaying the
|
||||
status of a single printer (STR #2843)
|
||||
- The scheduler now caches information from PPD files to provide
|
||||
significantly faster startup time with large numbers of PPDs
|
||||
(STR #1293)
|
||||
- CUPS-Get-Driver now provides much better driver matching based
|
||||
on the IEEE-1284 device ID and make/model strings (STR #2707)
|
||||
- Now support the cupsSNMPSupplies keyword to control whether
|
||||
the network backends query the SNMP Printer MIB for supply
|
||||
levels.
|
||||
- Now support and use a new banner file format for better text
|
||||
support and easier customization (STR #2490)
|
||||
- The scheduler now sets the PRINTER_INFO and PRINTER_LOCATION
|
||||
environment variables from the corresponding IPP attributes.
|
||||
- The ippRead*() and ippWrite*() functions no longer use a
|
||||
stack-based buffer (STR #2388)
|
||||
- The CUPS-Add-Modify-Printer operation now allows you to set
|
||||
the printer-state-reasons attribute.
|
||||
- The "set printer options" page now supports auto-configuration
|
||||
of printer options (STR #1440)
|
||||
- The web interface now provides an advanced server settings
|
||||
form.
|
||||
- The web interface's "modify printer" pages now make it
|
||||
easier to change just one setting (STR #1919)
|
||||
- The scheduler now supports a plist PrintcapFormat.
|
||||
- The scheduler now supports multiple addresses in Allow and
|
||||
Deny lines, just like Apache (STR #2947)
|
||||
- Added CUPS_JOBTYPE environment variable for job filters so
|
||||
they know whether they are printing a banner or document
|
||||
file (STR #2799)
|
||||
- Added support for printer filtering by the cupsfilter
|
||||
command (STR #2562)
|
||||
- Added a SSLOptions directive to allow Windows clients to
|
||||
talk to CUPS in FIPS mode (STR #2827)
|
||||
- Renamed the accept and reject commands to cupsaccept and
|
||||
cupsreject; the old names are still available (STR #2936)
|
||||
- The locale/translate utility needed an update to work with
|
||||
Google (STR #2882)
|
||||
- The lpstat command now supports a -H option to display the
|
||||
default server (STR #2833)
|
||||
- The scheduler now supports a FatalErrors directive to control
|
||||
which errors should cause the scheduler to exit (STR #2536)
|
||||
- The scheduler now uses the php-cgi program if it is available
|
||||
(STR #2923)
|
||||
- The scheduler now supports a DefaultPaperSize directive
|
||||
(STR #2848)
|
||||
- The scheduler now passes the job-originating-host-name
|
||||
value to filters in the options argument (STR #2558)
|
||||
- CUPS now supports job tickets in PDF files (STR #2903)
|
||||
- Added a DBUS notifier (STR #2529)
|
||||
- The LPD mini-daemon now passes the document name when queuing
|
||||
print jobs (STR #2482)
|
||||
- The IPP backend did not relay com.apple.print.recoverable-message
|
||||
values.
|
||||
- The scheduler now supports a job-media-progress attribute to
|
||||
track the progress of individual pages.
|
||||
- The sample HP driver now supports A5 (STR #2798)
|
||||
- The CUPS web interface menu item now uses the xdg-open
|
||||
command, when available (STR #2724)
|
||||
- The cups-lpd program now supports the -h option (STR #2794)
|
||||
- The scheduler now sets the PAM_TTY parameter and the
|
||||
PAM_ESTABLISH_CRED credential flag (STR #2745)
|
||||
- The scheduler now logs unsuccessful requests to the error_log
|
||||
file as errors (STR #2616)
|
||||
- Added support for a "retry-current-job" error policy that
|
||||
retries the current job immediately when the backend encounters
|
||||
an error (STR #2555)
|
||||
- The scheduler now returns a "forbidden" error when a user
|
||||
correctly authenticates but does not have permission to
|
||||
continue further (STR #2101)
|
||||
- The scheduler now loads both the server and CA certificates
|
||||
(if present) from the ServerCertificate file (STR #2146)
|
||||
- New RSS subscriptions now create their feed files immediately
|
||||
(STR #2853)
|
||||
- Added support for a device-location attribute which provides
|
||||
the physical location of a printer device.
|
||||
- Added a cupsBackendReport() API which handles quoting of the
|
||||
device data by a backend.
|
||||
- Added support for custom options in the web interface
|
||||
(STR #1729)
|
||||
- Added support for Mozilla LDAP, reconnection to LDAP servers,
|
||||
and improved LDAP performance (STR #1962)
|
||||
- Added Solaris SMF support (STR #1477)
|
||||
- Added optional support for using TCP wrappers to limit access
|
||||
to CUPS (STR #263)
|
||||
- Added ppdPageSizeLimits API.
|
||||
- Added support for new cupsMediaQualifier2, cupsMediaQualifier3,
|
||||
cupsMinSize, and cupsMaxSize attributes.
|
||||
- Added cupsResolveConflicts and ppdInstallableConflict APIs.
|
||||
- Added support for new cupsUIConstraints and cupsUIResolver
|
||||
attributes for better option conflict detection and
|
||||
resolution.
|
||||
- Increased the maximum size of 1284 device ID strings to
|
||||
256 bytes (STR #2877)
|
||||
- Added an AccessLogLevel directive to cupsd.conf to control
|
||||
what is logged to the access_log file.
|
||||
- The default LogLevel is now "warn" instead of "info" to reduce
|
||||
the amount of logging that is done to disk by default.
|
||||
- The PPD compiler did not include OID query keywords in PPD
|
||||
files (STR #2871)
|
||||
- The cups-driverd helper program now directly supports driver
|
||||
information files.
|
||||
- The USB backend now uses libusb when available (STR #1575)
|
||||
- Added ppdLocalizeAttr function to get the localized version
|
||||
of an attribute.
|
||||
- MIME types now support a priority() attribute (STR #2719)
|
||||
- The standard MIME types are now installed in
|
||||
DataDir/mime (STR #2719)
|
||||
- The lpoptions command now describes custom options and
|
||||
the necessary parameters (STR #2660)
|
||||
- The ppdmerge program did not support Simplified Chinese
|
||||
or Traditional Chinese language version strings (STR #2851)
|
||||
- The PPD compiler now supports localizable attributes
|
||||
(STR #2738)
|
||||
- The ppdpo utility now includes cupsIPPReasons values in
|
||||
the message catalogs it generates (STR #2754)
|
||||
- The PPD compiler now supports conditional directives
|
||||
(STR #2636)
|
||||
- The ppdc utility now supports a "-t" option to test PPD
|
||||
files (STR #2739)
|
||||
- The ppdc utility now supports a "-m" option to use the
|
||||
ModelName value as the output filename.
|
||||
- The ppdc utility now supports a FileName directive to
|
||||
set an alternate output filename (STR #2740)
|
||||
- The side-channel API now supports SNMP queries for the
|
||||
standard network backends.
|
||||
- Added a PageLogFormat directive to the cupsd.conf file to
|
||||
control the format of lines in the page_log file.
|
||||
- Filters can now send PPD: messages to stderr to set PPD
|
||||
keywords like DefaultPageSize while a job is printing.
|
||||
- Added a mdns backend for discovery and printing to printers
|
||||
that advertise themselves via DNS-SD (Bonjour)
|
||||
- The ipp, lpd, and socket backends now support DNS-SD service
|
||||
name resolution.
|
||||
- The scheduler now uses a single shared file descriptor for
|
||||
all DNS-SD registrations (STR #2674)
|
||||
- The ipp, lpd, and socket backends now support SNMP-based
|
||||
page accounting and supply level monitoring (STR #1655)
|
||||
- Added support for cupsPJLDisplay attribute to control what
|
||||
PJL commands are used to display the job information.
|
||||
- Driver information files can now be installed in
|
||||
/Library/Printers/PPDs.drv on Mac OS X.
|
||||
- The CUPS image library now supports reading images larger
|
||||
than 2GB.
|
||||
- The scheduler now delays writing config and state files to
|
||||
reduce disk activity (STR #2684)
|
||||
- The CUPS-Get-Devices operation now supports the
|
||||
exclude-schemes and timeout attributes to control which
|
||||
backends are polled and for how long.
|
||||
- The cups-deviced helper application now runs backends in
|
||||
parallel to get the list of devices faster.
|
||||
- Added --enable-pap configure option.
|
||||
- The default cupsd.conf file now includes an "authenticated"
|
||||
policy which requires authentication for remote print jobs.
|
||||
- Added support for Czech and Hungarian in PPD files
|
||||
(STR #2735, STR #2736)
|
||||
- The PPD compiler tools now support Mac OS X .strings files
|
||||
for localization (STR #2737)
|
||||
- ppdOpen*() now default the colorspace member to PPD_CS_N
|
||||
when no DefaultColorSpace attribute is present in the PPD
|
||||
file.
|
||||
- The build system has been updated to support separate
|
||||
installation of data, program, header, and library files.
|
||||
- All support libraries are now built as shared libraries
|
||||
by default.
|
||||
- The scheduler now manages ICC color profiles on Mac OS X.
|
||||
- The network backends (ipp, lpd, socket) now support
|
||||
SNMP-based supply and page count monitoring (STR #1655)
|
||||
- The lppasswd program is no longer installed setuid to
|
||||
root to make the default installation more secure.
|
||||
- Added a new ppdLocalizeMarkerName() function to get
|
||||
the localized version of a marker-names value.
|
||||
- The scheduler now provides the printer-dns-sd-name
|
||||
attribute for printers shared via DNS-SD/Bonjour.
|
||||
- The pdftops filter now executes the Xpdf or poppler
|
||||
pdftops utility to convert PDF files (STR #1471)
|
||||
- Bonjour printer registrations now advertise as local or
|
||||
global based on the current access policies for the
|
||||
printer.
|
||||
- cupsGetDests*() and cupsSetDests*() now track the last
|
||||
used printer preference on Mac OS X.
|
||||
- Added a new streaming request API (STR #2261)
|
||||
- Added a new cupsGetNamedDest() function to the CUPS
|
||||
library for faster printing with lp and lpr (STR #2638)
|
||||
- The scheduler now sets the PAM RHOST value on systems
|
||||
that support it (STR #2637)
|
||||
- The scheduler now sandboxes child processes when
|
||||
possible.
|
||||
- The Cancel-Job operation now supports a purge-job
|
||||
attriibute to purge a specified job.
|
||||
- ppdEmit* and ppdCollect* now use the NonUIOrderDependency
|
||||
attributes for custom option selections.
|
||||
- The web interface now enables/disables the printer
|
||||
sharing (formerly publishing) controls based on the
|
||||
server-is-sharing-printers state (STR #2233)
|
||||
- The scheduler now tracks printer sharing via the
|
||||
server-is-sharing-printers attribute, and manages LPD
|
||||
and SMB sharing as well (STR #2233)
|
||||
- The web interface now allows you to go back to the make/
|
||||
manufacturer page if there is no matching printer driver
|
||||
on the model page (STR #2436)
|
||||
- The printer list now shows the default media, banner, and
|
||||
duplex options as well as the color and duplex capabilities
|
||||
of printers (STR #1175)
|
||||
- The web interface look-n-feel has been updated (STR #2492)
|
||||
- The scheduler now supports a CUPS-Get-Document operation
|
||||
that returns the specified print job document (STR #118)
|
||||
- The cupsfilter utility now supports a "-J jobid" option
|
||||
to filter the document from the specified job.
|
||||
- The scheduler (cupsd) now supports a new option (-t) to
|
||||
do a syntax check of the cupsd.conf file (STR #2003)
|
||||
- Added new cupsGetPPD3() API to allow applications to
|
||||
cache PPDs safely (STR #1473)
|
||||
- Added generic PostScript and PCL printer driver PPDs.
|
||||
@@ -1,312 +0,0 @@
|
||||
CHANGES-1.5.txt
|
||||
---------------
|
||||
|
||||
CHANGES IN CUPS V1.5.4
|
||||
|
||||
- Documentation updates (STR #4112, STR #4130, STR #4134)
|
||||
- Fixes for libusb-based USB backend (STR #4128)
|
||||
- The lpq command did not show the owner or title of jobs unless passed
|
||||
a username on the command-line (STR #4135)
|
||||
- Localized empty strings contained the message catalog metadata
|
||||
(STR #4119)
|
||||
- Fixed a crash in the libusb-based USB backend (STR #4099)
|
||||
- The cups-lpd mini-daemon no longer handled jobs with multiple copies
|
||||
(STR #4118)
|
||||
- Multiple libusb backend fixes (STR #4098, STR #4100)
|
||||
- The IPP backend no longer tries to get the job status for printers
|
||||
that do not implement the required operation (STR #4083)
|
||||
- Sending a document in an unsupported format to an IPP printer now
|
||||
automatically cancels the job (STR #4093)
|
||||
- Fix some error reporting issues when printing from /dev/null and
|
||||
other unusual situations (STR #4015)
|
||||
- The scheduler now sets the CUPS_MAX_MESSAGE environment variable for
|
||||
filters (STR #4074)
|
||||
- Fixed a build issue when using older versions of autoconf (STR #4084)
|
||||
- The IPP backend now treats the client-error-not-possible status code
|
||||
as a job history issue, allowing IPP printing to Windows to work
|
||||
(STR #4047)
|
||||
- The IPP backend incorrectly included the document-format and
|
||||
compression attributes in Create-Job requests (STR #4086)
|
||||
- The libusb-based USB backend did not work on non-Linux platforms
|
||||
(STR #4088)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.5.3
|
||||
|
||||
- httpReconnect() did not reset the read/write buffers (STR #4065)
|
||||
- Compiling without threading support failed (STR #4060)
|
||||
- Fixed compile problem with old versions of OpenSSL (STR #4036)
|
||||
- The network backends did not check SNMP supply levels regularly
|
||||
(STR #4040)
|
||||
- The online help always included the "help on help" text (STR #4042)
|
||||
- Fixed a SSL handshake issue on OS X (STR #4045)
|
||||
- The scheduler could crash if a PPD file contained an invalid paper
|
||||
size (STR #4049)
|
||||
- The CUPS polling daemon did not reinitialize its connection to the
|
||||
remote server on errors in all cases (STR #4031)
|
||||
- PostScript auto-configuration was slow and unreliable with some
|
||||
printers (STR #4028)
|
||||
- Missing localizations caused empty output (STR #4033)
|
||||
- The cups-driverd program could temporarily "forget" a PPD file if it
|
||||
was updated in place.
|
||||
- The dnssd backend now prefers IPPS over IPP.
|
||||
- The USB backend now uses and requires LIBUSB 1.0 or later (STR #3477)
|
||||
- The LIBUSB-based USB backend now supports the back-channel (STR #2890)
|
||||
- Changed how timeouts are implemented in the LPD backend (STR #4013)
|
||||
- Added more supported color names for SNMP supplies (STR #3981)
|
||||
- The default InputSlot setting was never used (STR #3957)
|
||||
- POSIX ACLs are now set properly on certificate files (STR #3970)
|
||||
- Supplies with commas in their names were not reported correctly
|
||||
(STR #4020)
|
||||
- The cupsGetPPD3() function created a temporary file when one was not
|
||||
needed (STR #4018)
|
||||
- The scheduler now ensures that job notifications contain a value for
|
||||
the notify-printer-uri attribute (STR #4014)
|
||||
- The lp and lpr commands did not cancel jobs queued from stdin on an
|
||||
error (STR #4015)
|
||||
- Fixed the IPP backend's handling of HTTP/1.0 compatibility (STR #3988)
|
||||
- The IPP backend did not always setup username/password authentication
|
||||
for printers (STR #3985)
|
||||
- The IPP backend no longer re-queues print jobs that are too large for
|
||||
the printer/server (STR #3977)
|
||||
- The RPM spec file did not work (STR #4021, STR #4057)
|
||||
- Encryption did not work when the server name ended with "."
|
||||
(STR #4011)
|
||||
- The multi-purpose tray is now mapped to the IPP "by-pass-tray"
|
||||
(STR #4009)
|
||||
- The correct media size was not always passed to IPP printers
|
||||
(STR #4001)
|
||||
- Finishing options were not passed to IPP printers (STR #3995)
|
||||
- Fixed iCloud-based Back to My Mac printing (STR #3996)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.5.2
|
||||
|
||||
- Reposted what should have been CUPS 1.5.1.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.5.1
|
||||
|
||||
- Documentation updates (STR #3885, STR #3886, STR #3946, STR #3969)
|
||||
- Localization updates (STR #3840, STR #3989, STR #3997)
|
||||
- Build fixes (STR #3956, STR #3999)
|
||||
- The SNMP backend did not validate the device URIs reported by printers
|
||||
(STR #4004)
|
||||
- cupsBackendReport() did not handle newlines in 1284 Device IDs
|
||||
(STR #4005)
|
||||
- USB backend fixes for libusb (STR #3965, STR #3978)
|
||||
- The DBUS notifier did not validate string parameters (STR #3984)
|
||||
- Group quota ACLs did not work with Kerberos (STR #3972)
|
||||
- The IPP backend did not retry when a printer responded with
|
||||
client-error-not-possible (STR #3963)
|
||||
- PostScript PPDs with filters used the wrong command filter (STR #3973)
|
||||
- The scheduler incorrectly used free() on a POSIX ACL value, which
|
||||
could cause a crash (STR #3970)
|
||||
- PPD files using the MacStandard encoding did not work.
|
||||
- The web interface did not work on some platforms (STR #3902)
|
||||
- The lpstat command would crash when then "-u" option was used by a
|
||||
non-administrator (STR #3953)
|
||||
- Japanese supply level reporting did not always work.
|
||||
- The DBUS notifier could crash (STR #3947)
|
||||
- Relaxed some of the page size checks in cupstestppd.
|
||||
- The ipptool program now reports attributes that are repeated within
|
||||
the same attribute group.
|
||||
- Updated the PWG raster support to match the current draft
|
||||
specification.
|
||||
- Fixed some IPP conformance issues in the scheduler.
|
||||
- Added ipptool support for repeating requests.
|
||||
- Added IPP/2.2 conformance tests and greatly improved the IPP/1.1,
|
||||
IPP/2.0, and IPP/2.1 conformance testing.
|
||||
- IPP messages containing mixed integer/rangeOfInteger values did not
|
||||
work (STR #3942)
|
||||
- The ipptool program now provides additional diagnostics for badly-
|
||||
formatted responses (STR #3857)
|
||||
- When possible, the IPP backend now stops sending job data early on a
|
||||
cancel.
|
||||
- cupsSendRequest and cupsWriteRequestData did not properly read all
|
||||
HTTP headers, preventing authentication and encryption upgrades from
|
||||
working in all cases.
|
||||
- The client.conf Server directive is no longer supported on Mac OS X
|
||||
10.7 and later.
|
||||
- The IPP backend sent the wrong margins in media-col.
|
||||
- The scheduler did not save or restore large Kerberos credentials for
|
||||
jobs.
|
||||
- The dnssd backend did not properly browse for secure IPP printers.
|
||||
- httpAssembleURI* did not properly escape all special characters in the
|
||||
username/password field.
|
||||
- The scheduler now logs config file errors to stderr (STR #3936)
|
||||
- The configure script incorrectly used bundle-based localizations on
|
||||
Linux (STR #3938)
|
||||
- The cups-driverd helper program did not cache .drv files properly,
|
||||
sometimes leading to a crash (STR #3921)
|
||||
- CUPS did not build on stock Mac OS X installations.
|
||||
- Encryption was broken with OpenSSL.
|
||||
- ipptool's XML output used date/time values with timezone offsets,
|
||||
which are not supported by Mac OS X's NSDate class.
|
||||
- Several programs did not support the cupsFilter2 keyword in PPD files.
|
||||
- The IPP backend incorrectly reported spool-area-full states.
|
||||
- cupsMarkOptions() did not protect against a bad PPD that was missing
|
||||
one or more standard Duplex options.
|
||||
- The PostScript filter did not mirror N-up output properly.
|
||||
- The ipptool program did not validate UTF-8 strings in XML output.
|
||||
- Fixed supply level reporting for some printers.
|
||||
- The scheduler no longer automatically logs debug messages for jobs
|
||||
that were held or canceled.
|
||||
- The cupsSendRequest function did not flush remaining response data
|
||||
from a previous request, leading to apparent chunking issues.
|
||||
- The scheduler did not report the correct version in the Server: header
|
||||
(STR #3903)
|
||||
- The scheduler did not support 1284 device IDs reported by driver
|
||||
interface programs longer than 127 characters (STR #3871)
|
||||
- The image filters did not support loading images larger than the
|
||||
RIPCache setting (STR #3901)
|
||||
- "PAGE: total NNN" messages did not get logged properly (STR #3887)
|
||||
- Updated the PWG Raster support to conform to the current draft of the
|
||||
PWG Raster Format specification.
|
||||
- The PWG Raster filter did not always write the correct number of
|
||||
padding lines on the bottom of the page (STR #3904)
|
||||
- When reporting a denial-of-service attack from the domain socket, the
|
||||
address reported does not always contain the correct path (STR #3888)
|
||||
- Badly formed GIF files could cause the image filters to crash
|
||||
(STR #3914)
|
||||
- Jobs canceled at the printer were retried by the IPP backend.
|
||||
- "cupsfilter -u" deleted the input file instead of the PPD file.
|
||||
- The scheduler did not compute the cost of PPD filters defined using
|
||||
the cupsFilter2 keyword properly.
|
||||
- The scheduler did not correctly support the maxsize() attribute for
|
||||
PPD filters.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.5.0
|
||||
|
||||
- Documentation updates.
|
||||
- Localization update (STR #3865)
|
||||
- Needed to limit TLS to v1.0 on some versions of Mac OS X.
|
||||
- The snmp backend did not work with some printers.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.5rc1
|
||||
|
||||
- Compile fixes (STR #3849, STR #3850)
|
||||
- The scheduler didn't check for empty values for several configuration
|
||||
directives (STR #3861)
|
||||
- ipptool didn't generate valid XML when a test was skipped.
|
||||
- Added additional error checking to the 1284 device ID code (STR #3858)
|
||||
- Fixed some compatibility issues migrating from the old usblp backend
|
||||
to the libusb backend (STR #3860)
|
||||
- Fixed the wake-from-sleep printing behavior on Mac OS X.
|
||||
- The scheduler incorrectly allowed jobs to be held from a terminating
|
||||
state.
|
||||
- The cups-driverd program could crash when a PPD was renamed.
|
||||
- The dnssd backend took too long to discover printers on large or busy
|
||||
networks with the new default timeout used by lpinfo and the web
|
||||
interface. This resulted in "lost" printers.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.5b2
|
||||
|
||||
- Documentation updates.
|
||||
- Localization updates (STR #3845)
|
||||
- Compiler warning cleanup.
|
||||
- Fixed PIE support for Linux (STR #3846)
|
||||
- Made httpSetTimeout API public and use it in the IPP backend to avoid
|
||||
timeout errors.
|
||||
- The scheduler incorrectly set the "authenticated" printer-type bit for
|
||||
remote queues using authentication.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.5b1
|
||||
|
||||
- The CUPS library now supports per-connection HTTP timeouts and
|
||||
callbacks.
|
||||
- The CUPS library now supports (limited) SSL/TLS X.509 certificate
|
||||
validation and revocation (STR #1616)
|
||||
- Updated the PostScript filter to support IncludeFeature in more
|
||||
circumstances (STR #3417)
|
||||
- The schedule did not correctly parse some IPv6 addresses and masks in
|
||||
the cupsd.conf file (STR #3533)
|
||||
- Fixed a case-insensitive string comparison issue for locales that do
|
||||
not treat "I" and "i" as equivalent (STR #3800)
|
||||
- The scheduler reported an incorrect job-printer-uri value when sharing
|
||||
was not enabled (STR #3639)
|
||||
- The scheduler now allows the ServerAlias directive to contain multiple
|
||||
hostnames separated by spaces or commas (STR #3813)
|
||||
- The scheduler now sets the process group for child processes and
|
||||
manages the group (STR #2829)
|
||||
- Fixed some minor issues discovered by a Coverity scan (STR #3838)
|
||||
- The scheduler now more carefully creates and removes configuration,
|
||||
cache, and state files (STR #3715)
|
||||
- The lpadmin command now allows default option values to be deleted
|
||||
(STR #2959)
|
||||
- The lpadmin command now allows the cupsIPPSupplies and
|
||||
cupsSNMPSupplies keywords to be set in a PPD file (STR #3825)
|
||||
- Moving a held job no longer releases it (STR #3839)
|
||||
- Restored support for GNU TLS and OpenSSL with threading enabled
|
||||
(STR #3605)
|
||||
- Fixed a confusing error message from cups-polld (STR #3806)
|
||||
- Increased the default RIPCache value to 128MB (STR #3535)
|
||||
- MIME errors are now routed to the error_log file (STR #2410)
|
||||
- Updated PDF filter to support new Ghostscript ps2write device
|
||||
(STR #3766)
|
||||
- Updated PDF filter to support new Poppler option to preserve page
|
||||
sizes in PDF files when the user has not selected a particular media
|
||||
size (STR #3689)
|
||||
- Added new PWG Raster filter for IPP Everywhere printer support.
|
||||
- Added job-uuid, printer-uuid, and subscription-uuid attributes.
|
||||
- Added support for the cupsSingleFile PPD keyword.
|
||||
- Dropped support for the printer-state-history attribute (STR #3654)
|
||||
- Added support for a new cupsIPPSupplies keyword in PPD files to allow
|
||||
drivers to disable IPP supply level reporting.
|
||||
- Added support for a new cupsFilter2 keyword in PPD files to allow for
|
||||
the propagation of the actual MIME media type produced by a filter.
|
||||
- The scheduler did not always get the correct Kerberos username when
|
||||
authenticating (STR #3670)
|
||||
- Added new cupsRasterOpenIO function and CUPS_RASTER_WRITE_PWG to the
|
||||
CUPS imaging library to support printing to IPP Everywhere raster
|
||||
printers.
|
||||
- The scheduler now provides default values for the pages-per-minute and
|
||||
pages-per-minute-color attributes for PPD files that lack a
|
||||
Throughput keyword.
|
||||
- Email notifications did not work on Mac OS X.
|
||||
- The cupstestppd program now shows an error for files missing a
|
||||
CloseGroup keyword (STR #3668)
|
||||
- Name resolution errors no longer cause queues to stop (STR #3719,
|
||||
STR #3753)
|
||||
- Added a new cups-exec helper program that applies security profiles
|
||||
to filters, port monitors, backends, CGI programs, and mini-daemons.
|
||||
- The web interface can now be disabled using the WebInterface directive
|
||||
in cupsd.conf (STR #2625)
|
||||
- The scheduler now provides privacy controls for jobs and subscriptions
|
||||
(STR #2969)
|
||||
- Added new cupsArrayNew3 API which offers memory management of array
|
||||
elements.
|
||||
- Added several new color spaces to the CUPS raster format (STR #3419)
|
||||
- The Validate-Job operation now uses the same policy as Print-Job by
|
||||
default.
|
||||
- CUPS now uses iconv to implement all of its character encoding
|
||||
support (STR #3097)
|
||||
- The scheduler now implements the Cancel-Jobs, Cancel-My-Jobs, and
|
||||
Close-Job operations along with the job-ids operation attribute from
|
||||
PWG 5100.11.
|
||||
- The main CUPS header (<cups/cups.h>) no longer includes the PPD header
|
||||
(<cups/ppd.h>).
|
||||
- The scheduler and CUPS API now support the print-quality job template
|
||||
attribute.
|
||||
- The scheduler no longer supports the old Mac OS X Server quota
|
||||
plugin.
|
||||
- The scheduler now allows writing to /Users/Shared from print filters
|
||||
on Mac OS X.
|
||||
- CUPS no longer supports the old ~/.cupsrc or ~/.lpoptions files from
|
||||
CUPS 1.1.x. The ~/.cups/client.conf and ~/.cups/lpoptions files that
|
||||
were introduced in CUPS 1.2 must now be used.
|
||||
- The ipptest tool is now a first-class user program and has several
|
||||
improvements along with new documentation (STR #3484)
|
||||
- The cupstestppd tool now warns about non-unique filenames and
|
||||
provides a way to ignore all filename warnings.
|
||||
- Dropped support for the recoverable: and recovered: message prefixes.
|
||||
- The scheduler now requires that filters and backends have group write
|
||||
permissions disabled.
|
||||
- The PPD compiler now checks for overlapping filenames when writing
|
||||
PPD files.
|
||||
- The HP-GL/2 filter is no longer included with CUPS (STR #3322)
|
||||
- The SCSI backend is no longer included with CUPS (STR #3500)
|
||||
@@ -1,244 +0,0 @@
|
||||
CHANGES-1.6.txt
|
||||
---------------
|
||||
|
||||
CHANGES IN CUPS V1.6.4
|
||||
|
||||
- Removed some duplicate size definitions for some ISO sizes that were
|
||||
causing problems (<rdar://problem/14722721>)
|
||||
- The IPP backend did not add the "last-document" attribute
|
||||
(<rdar://problem/114660379>)
|
||||
- Added a SyncOnClose directive to cups-files.conf to force cupsd to
|
||||
call fsync before closing any configuration/state files it writes
|
||||
(<rdar://problem/14523043>)
|
||||
- Added USB quirk rule for Lexmark E238 (<rdar://problem/14493054>)
|
||||
- Closed server connections were still not always detected
|
||||
(<rdar://problem/14484313>)
|
||||
- The libusb-based USB backend now loads its list of quirks from files
|
||||
in /usr/share/cups/usb instead of using a hardcoded table
|
||||
(<rdar://problem/14442769>)
|
||||
- The scheduler did not properly register ICC color profiles with
|
||||
colord (<rdar://problem/14455625>)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.6.3
|
||||
|
||||
- The configure script now prefers Clang over GCC.
|
||||
- Fixed a compile problem on AIX (STR #4307)
|
||||
- The default IPP version did not always get set before creating a new
|
||||
IPP request message (<rdar://problem/14401718>)
|
||||
- The lp, lpq, lpr, and lpstat now display an error message advising the
|
||||
use of the /version=1.1 ServerName option (<rdar://problem/14290628>)
|
||||
- Added documentation about the /version=1.1 option to ServerName in
|
||||
client.conf (<rdar://problem/14216262>)
|
||||
- httpStatus(HTTP_ERROR) did not return a useful error message
|
||||
(<rdar://problem/14217326>)
|
||||
- The lp, lpq, lpr, and lpstat commands incorrectly ignored the default
|
||||
printer set in the lpoptions file (<rdar://problem/14216472>)
|
||||
- Fixed a URI encoding issue for hostnames containing the ` (backquote)
|
||||
character (<rdar://problem/14243133>)
|
||||
- Added support for RFC 6874's IPv6 link local address format in URIs
|
||||
(<rdar://problem/13979453>)
|
||||
- The USB backend could crash on libusb-based systems if USB was
|
||||
disabled in the BIOS (<rdar://problem/13875729>)
|
||||
- Fixed a rounding error in the PWG media size mapping code
|
||||
(<rdar://problem/13493241>)
|
||||
- Fixed several ipptool test files that used old STATUS names.
|
||||
- Kerberos credentials could get truncated when printing to a shared
|
||||
printer.
|
||||
- Printing using "ipps" URIs was not encrypted.
|
||||
- Insecure ICC profiles prevented installation of user profiles for a
|
||||
printer on OS X.
|
||||
- Added more USB quirks for the libusb-based backend (STR #4311,
|
||||
<rdar://problem/13736470>)
|
||||
- The Russian web interface templates were broken (STR #4310)
|
||||
- The scheduler no longer tries to do Kerberos authentication over the
|
||||
loopback interface.
|
||||
- The IPP backend could fail to pause a job for authentication
|
||||
(STR #4298)
|
||||
- Fixed a regression on the handling of auth keys on OS X if the
|
||||
cups-files.conf was not present or did not contain a SystemAuthKey
|
||||
value.
|
||||
- The scheduler incorrectly did a reverse lookup of the server address
|
||||
when HostNameLookups was turned off (STR #4302)
|
||||
- The scheduler incorrectly computed the final content type value when
|
||||
null filters were present.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.6.2
|
||||
|
||||
- Documentation fixes (STR #4229, STR #4239, STR #4234, STR #4248,
|
||||
STR #4259)
|
||||
- Security: All file, directory, user, and group settings are now stored
|
||||
in a separate cups-files.conf configuration file that cannot be set
|
||||
through the CUPS web interface or APIs (STR #4223)
|
||||
- Added a Czech localization (STR #4201)
|
||||
- Added a French localization (STR #4247)
|
||||
- Added a Russian localization (STR #4228, STR #4285)
|
||||
- Updated the Catalan localization (STR #4202)
|
||||
- Local certificate authentication did not guard against an empty
|
||||
certification file (STR #4293)
|
||||
- The scheduler did not reject device URIs with spaces.
|
||||
- Added USB quirk rule for Epson Stylus Photo 750 (STR #4286)
|
||||
- The IPP backend could crash if the printer disconnects early
|
||||
(STR #4284)
|
||||
- cupsGetPPD did not work with statically-configured CUPS shared
|
||||
queues (STR #4178)
|
||||
- The scheduler did not support long MIME media types (STR #4270)
|
||||
- The cupsfilter command did not set the CHARSET environment variable
|
||||
for the text filters (STR #4273)
|
||||
- The lp command did not show errors for unknown "--foo" (STR #4261)
|
||||
- Bad IPP responses could crash ipptool (STR #4262)
|
||||
- Updated USB quirk rules for Canon and Xerox printers (STR #4217,
|
||||
STR #4263)
|
||||
- Added USB blacklisting for printers that require a custom backend
|
||||
(STR #4218)
|
||||
- The PPD compiler did not correctly JCL options (STR #4115, STR #4203)
|
||||
- The ipptool program now supports DEFINE-MATCH and DEFINE-NO-MATCH
|
||||
predicates for STATUS directives.
|
||||
- Fixed a problem with local Kerberos authentication (STR #4140)
|
||||
- Coverity scan: fixed some minor issues (STR #4242)
|
||||
- The scheduler did not remove color profiles after deleting a printer
|
||||
(STR #4232, STR #4276)
|
||||
- The CUPS library did not always detect a timed out connection to the
|
||||
server which could cause temporary loss of printing from applications
|
||||
(STR #4187)
|
||||
- The ipptool program now supports variable substitution in OPERATION
|
||||
and DELAY directives (STR #4175)
|
||||
- The IPP backend now stops queues when the server configuration
|
||||
prevents successful job submission (STR #4125)
|
||||
- The XML output of ipptool contained empty dictionaries (STR #4136)
|
||||
- The scheduler did not delete job control backup files (STR #4244)
|
||||
- cupsGetPPD3 could return a local PPD instead of the correct remote
|
||||
PPD.
|
||||
- The scheduler incorrectly advertised auth-info-required for local
|
||||
queues needing local authentication (STR #4205)
|
||||
- CUPS 1.6 clients using the ServerName directive in client.conf did not
|
||||
work with CUPS 1.3.x or older servers (STR #4231, STR #4291)
|
||||
- The SNMP backend now tries to work around broken printers that use a
|
||||
newline to separate key/value pairs.
|
||||
- The IPP backend did not send a cancel request to printers when a job
|
||||
was canceled and the printer did not support Create-Job.
|
||||
- Fixed EPM packaging files (STR #4199)
|
||||
- OpenBSD build fix (STR #4195, STR #4196, STR #4197)
|
||||
- The scheduler could crash when using Avahi (STR #4183, STR #4192,
|
||||
STR #4200, STR #4213)
|
||||
- The IPP backend could get stuck in an endless loop on certain network
|
||||
errors (STR #4194)
|
||||
- 32-bit builds failed on Debian (STR #4133)
|
||||
- The scheduler no longer accepts or sends job description attributes.
|
||||
- The IPP backend now works around some conformance issues for broken
|
||||
printers (STR #4190)
|
||||
- cupsBackendReport() now filters out all control characters from the
|
||||
reported 1284 device IDs (STR #4124)
|
||||
- The scheduler no longer allows job-name values that are not valid
|
||||
network Unicode strings (STR #4072)
|
||||
- The web interface did not preserve the order of classes, jobs, or
|
||||
printers (STR #4170)
|
||||
- The network backends now support disabling of SNMP supply level
|
||||
queries via the "snmp" URI option (STR #4106)
|
||||
- The IPP backend did not specify the compression used (STR #4181)
|
||||
- ipptool did not support octetString values.
|
||||
- The scheduler did not recognize dnssd: or ipps: URIs as Bonjour shared
|
||||
queues (STR #4158)
|
||||
- Applications could not get the PPD file for statically-configured
|
||||
Bonjour-shared print queues (STR #4159)
|
||||
- The cupsd.conf file included obsolete browsing directives (STR #4157)
|
||||
- Fixed a USB backend compatibility issue on systems using libusb
|
||||
(STR #4155, STR #4191)
|
||||
- Some Bonjour features were not available on systems with Avahi
|
||||
(STR #4156)
|
||||
- CUPS now includes the port number in the Host: header for HTTP
|
||||
requests.
|
||||
- Fixed REPEAT-MATCH for STATUS and EXPECT - was incorrectly erroring
|
||||
out.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.6.1
|
||||
|
||||
- Documentation fix (STR #4149)
|
||||
- RPM packaging fixes (STR #4129, #4145)
|
||||
- The Japanese and English web interface headers were swapped
|
||||
(STR #4148)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.6.0
|
||||
|
||||
- Document changes (STR #4131)
|
||||
- Added new Catalan (STR #4107) and Spanish (STR #4137) localizations.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.6rc1
|
||||
|
||||
- Added a new Japanese localization (STR #4122)
|
||||
- The SNMP backend no longer exits if it is unable to obtain an IPv6
|
||||
socket (STR #4109)
|
||||
- The LPD backend incorrectly used "localhost" in the control file
|
||||
instead of the current hostname.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.6b1
|
||||
|
||||
- Documentation updates (STR #3927, STR #3980, STR #4010, STR #4068)
|
||||
- The scheduler now consolidates all PPD updates from filters at the
|
||||
end of the job (STR #4075)
|
||||
- CUPS now supports color management using colord (STR #3808)
|
||||
- CUPS now supports Bonjour using Avahi (STR #3066)
|
||||
- The PreserveJobFiles and PreserveJobHistory directives now support
|
||||
specification of a time interval (STR #3143)
|
||||
- PPD files can now be archived in (gzip'd) tar files to further reduce
|
||||
the disk space used by PPD files (STR #3772)
|
||||
- The network backends now deal with printers that report their levels
|
||||
in percent but do not specify a maximum capacity of 100 (STR #3551)
|
||||
- The network backends now report full/almost-full waste bins in
|
||||
printers along with end-of-life for cleaning pads (STR #4017)
|
||||
- Added a configure option to set the permissions of the installed
|
||||
cupsd (STR #3459)
|
||||
- Added a new WITH-ALL-VALUES directive to ipptool EXPECT predicates
|
||||
(STR #3949)
|
||||
- CUPS now supports a User directive in client.conf and the CUPS_USER
|
||||
environment variable for overriding the default username (STR #3114)
|
||||
- Now set the PJL USERNAME variable as needed (STR #3100)
|
||||
- Added support for usernames and passwords longer than 32 characters
|
||||
(STR #2856)
|
||||
- Added a new MaxHoldTime directive to automatically cancel jobs that
|
||||
have been held indefinitely after a specific number of seconds
|
||||
(STR #2291)
|
||||
- The LPD backend now uses the originating host name when it is not the
|
||||
local system (STR #2053)
|
||||
- CUPS now prefers the suffix "dpcm" when reporting resolution in dots-
|
||||
per-centimeter (STR #4006)
|
||||
- The configure script and build system no longer support building of
|
||||
separate 32-bit and 64-bit libraries.
|
||||
- The "brightness", "columns", "fitplot", "gamma", "hue",
|
||||
"natural-scaling", "penwidth", "position", "ppi", "saturation", and
|
||||
"scaling" options are not longer supported (STR #4010)
|
||||
- The "page-bottom", "page-left", "page-right", "page-top",
|
||||
"prettyprint", and "wrap" options have been deprecated (STR #4010)
|
||||
- The scheduler now reports the standard "number-of-documents" attribute
|
||||
instead of the CUPS-specific "document-count" attribute in
|
||||
job objects.
|
||||
- Added new destination connection and enumeration functions (STR #3924)
|
||||
- Added new option, localization, and job submission functions that do
|
||||
not depend on PPD files (STR #3925)
|
||||
- Added a new MaxJobTime directive for cupsd that specifies the maximum
|
||||
amount of time allowed for a job to complete before it is canceled.
|
||||
- The default password callback now supports passwords up to 127
|
||||
characters.
|
||||
- The scheduler now supports a DefaultAuthType of "auto" to
|
||||
automatically choose between Basic (username/password) and Negotiate
|
||||
(Kerberos) authentication.
|
||||
- cupsSideChannelSNMPGet/Walk now support OIDs and values up to 64k in
|
||||
length.
|
||||
- CUPS no longer supports automatic remote printers or implicit classes
|
||||
via the CUPS, LDAP, or SLP protocols (STR #3922, STR #3923)
|
||||
- The PPD APIs are now deprecated and will be removed in a future
|
||||
version of CUPS (STR #3927)
|
||||
- The default IPP version for requests is now 2.0 (STR #3929)
|
||||
- The IPP APIs no longer expose the ipp_t or ipp_attribute_t structures
|
||||
and instead provide accessor functions (STR #3928)
|
||||
- The scheduler will no longer run programs with group write permission.
|
||||
- The PHP module has been removed (STR #3932)
|
||||
- The bannertops, commandtoescpx, commandtopclx, imagetops,
|
||||
imagetoraster, pdftops, rastertoescpx, rastertopclx, and texttops
|
||||
filters have been removed (STR #3930)
|
||||
- The serial and parallel backends have been removed (STR 3935)
|
||||
@@ -1,250 +0,0 @@
|
||||
CHANGES-1.7.txt
|
||||
---------------
|
||||
|
||||
CHANGES IN CUPS V1.7.5
|
||||
|
||||
- Security: Addressed some more situations where symlinked files would
|
||||
be served by the web interface (STR #4455)
|
||||
- The LPD backend did not work with some versions of glibc (STR #4452)
|
||||
- CGI scripts did not work (STR #4454)
|
||||
- The cupsd.conf man page did not list the ErrorPolicy directive
|
||||
(STR #4457)
|
||||
- Updated the Brazilian Portuguese translation (STR #4456)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.7.4
|
||||
|
||||
- Security: The web interface incorrectly served symlinked files and
|
||||
files that were not world-readable, potentially leading to a
|
||||
disclosure of information (STR #4450)
|
||||
- The CUPS headers incorrectly needed libdispatch for blocks support
|
||||
(STR #4397)
|
||||
- CUPS did not compile when Avahi or mDNSResponder was not present
|
||||
(STR #4402, STR #4424)
|
||||
- The "snmp" option did not work with the network backends (STR #4422)
|
||||
- The User directive in client.conf did not override the USER
|
||||
environment variable (STR #4426)
|
||||
- The web interface now properly shows a "Go" button for all text-based
|
||||
browsers (STR #4425)
|
||||
- The MaxJobTime directive now properly supports time values (STR #4434)
|
||||
- The RPM spec file did not work due to the new Brazilian Portuguese
|
||||
localization (STR #4436)
|
||||
- Fixed an "IPP read error" issue (STR #4440)
|
||||
- Fixed the --disable-libusb configure option (STR #4439)
|
||||
- Fixed the debug output from the DNS-SD backend when using Avahi
|
||||
(STR #4444)
|
||||
- Fixed a bug in the CUPS_SC_GET_DEVICE_ID handling by the network
|
||||
backends (STR #4447)
|
||||
- Added USB quirk rule for Lexmark E230 (STR #4448)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.7.3
|
||||
|
||||
- Added Brazilian Portuguese translation (STR #4409)
|
||||
- Fixed mapping of OutputBin values such as "Tray1"
|
||||
(<rdar://problem/16685606>)
|
||||
- Several ippGet* functions incorrectly returned -1 instead of 0 on
|
||||
error.
|
||||
- The cupsGetResponse function did not work properly with
|
||||
CUPS_HTTP_DEFAULT (<rdar://problem/16762593>)
|
||||
- The IPP backend did not abort a job when the printer did not validate
|
||||
the supplied options (<rdar://problem/16836752>)
|
||||
- Fixed an authentication race condition in cupsSendRequest (STR #4403)
|
||||
- The scheduler did not add the "job-hold-until-specified" reason when
|
||||
holding a job using the lp command (STR #4405)
|
||||
- The configure script incorrectly added libgcrypt as a GNU TLS
|
||||
dependency (STR #4399)
|
||||
- cupsGetDestMediaCount did not work for CUPS_MEDIA_FLAGS DEFAULT
|
||||
(STR #4414)
|
||||
- Auto-typing of PWG Raster files did not work (STR #4417)
|
||||
- IPP queues using hardcoded credentials would ask for credentials
|
||||
(STR #4371)
|
||||
- Dates in non-UTF-8 locales did not display correctly (STR #4388)
|
||||
- The RPM spec file now looks for libusb-devel 1.0 or later.
|
||||
- Fixed the "create-printer-subscription.test" file for IPPTOOL
|
||||
(STR #4420)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.7.2
|
||||
|
||||
- Security: The scheduler now blocks URLs containing embedded HTML
|
||||
(STR #4356)
|
||||
- Documentation fixes (STR #3259, STR #4346, STR #4355)
|
||||
- Fixed the Japanese localization (STR #4385)
|
||||
- Added a German localization (STR #4363)
|
||||
- The cupsfilter command incorrectly read the cupsd.conf file; it now
|
||||
reads the cups-files.conf file instead.
|
||||
- Fixed OS X builds with Xcode 5.x (<rdar://problem/15914959>)
|
||||
- Fixed SSL support on Windows (STR #4358)
|
||||
- Fixed documentation and naming of Create-Job/Printer-Subscriptions
|
||||
operations (STR #4389)
|
||||
- Phone numbers in fax jobs were not properly filtered for IPP FaxOut
|
||||
(<rdar://problem/16351701>)
|
||||
- Updated Linux "relro" support (STR #4349)
|
||||
- Fixed a memory leak in the label printer driver (STR #4393)
|
||||
- cupsEnumDests did not set the "is_default" field (STR #4332)
|
||||
- cupsDoIORequest could miss the server status, causing failed lpadmin
|
||||
and other administrative commands (STR #4386)
|
||||
- cupsEnumDests didn't always call the callback function (STR #4380)
|
||||
- "lp -i job-id -H hold" did not work (STR #nnn)
|
||||
- CUPS didn't compile on older platforms (STR #4338)
|
||||
- Several libcups files did not have the Apple license exception
|
||||
notice (STR #4361)
|
||||
- Fixed a D-BUS threading issue that caused the scheduler to crash
|
||||
(STR #4347)
|
||||
- The scheduler now automatically reconnects to Avahi as needed
|
||||
(STR #4370, STR #4373)
|
||||
- The scheduler did not handle GET requests for the log files properly
|
||||
(STR #3265)
|
||||
- The dnssd backend did not always report all discovered printers using
|
||||
Avahi (STR #4365)
|
||||
- The Zebra printer driver did not properly handle negative "label top"
|
||||
values (STR #4354)
|
||||
- The scheduler did not always update the MakeModel value in
|
||||
printers.conf after updating the driver (STR #4264)
|
||||
- The LPD mini daemon did not support print jobs larger than 2GB
|
||||
(STR #4351)
|
||||
- Fixed a bug in the status reading code when sending a compressed data
|
||||
stream to an IPP printer/server (<rdar://problem/16019623>)
|
||||
- The IPP backend might not include all job attributes in Validate-Job
|
||||
operations (<rdar://problem/16025435>)
|
||||
- Fixed some clang-reported issues (<rdar://problem/15936066>)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.7.1
|
||||
|
||||
- Security: the lppasswd program incorrectly used settings from
|
||||
~/.cups/client.conf (STR #4319)
|
||||
- Auto debug logging was broken in 1.7.0 (<rdar://problem/15331639>)
|
||||
- Some gzip'd PPD files could not be used (<rdar://problem/15386424>)
|
||||
- Cleaned up some job logging in the scheduler
|
||||
(<rdar://problem/15332672>)
|
||||
- ATTR messages could cause string pool memory corruption in the
|
||||
scheduler (<rdar://problem/15382819>)
|
||||
- The RPM spec file did not list the build requirements; this was on
|
||||
purpose, but now we are listing the Red Hat package names
|
||||
(<rdar://problem/15375760>, STR #4322)
|
||||
- Printing to a raw queue could result in corrupt output due to
|
||||
opportunistic compression (<rdar://problem/15008524>)
|
||||
- The GNU TLS support code triggered many compiler warnings due to the
|
||||
use of old GNU TLS compatibility type names
|
||||
(<rdar://problem/15392966>)
|
||||
- The "make check" test suite did not work on Linux without the
|
||||
cups-filters package installed (<rdar://problem/14292998>)
|
||||
- Japanese PPDs using with the Shift-JIS encoding did not work
|
||||
(<rdar://problem/15427759>)
|
||||
- "tel:" URIs incorrectly had slashes (<rdar://problem/15418463>)
|
||||
- The libusb-based USB backend incorrectly used write timeouts
|
||||
(<rdar://problem/15564888>)
|
||||
- Shared printers could become inaccessible after a few days on OS X
|
||||
(<rdar://problem/15426838>)
|
||||
- The IPP backend did not wait for a busy printer to become available
|
||||
before attempting to print (<rdar://problem/15465667>)
|
||||
- CUPS did not support "auto-monochrome" or "process-monochrome" for the
|
||||
"print-color-mode" option (<rdar://problem/15482520>)
|
||||
- Using "@IF(name)" in an Allow or Deny rule did not work (STR #4328)
|
||||
- lpq and lpstat did not list jobs in the correct order when priorities
|
||||
were specified (STR #4326)
|
||||
- The D-BUS notifier did not remove its lockfile (STR #4314)
|
||||
- CUPS incorrectly used the USER environment variable when the name did
|
||||
not match the user ID (STR #4327)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.7.0
|
||||
|
||||
- Updated the Japanese localization.
|
||||
- The lpadmin command did not send the PPD name from the "-m" option
|
||||
(<rdar://problem/15264697>)
|
||||
- Network backends now use the prtMarkerSuppliesClass property to
|
||||
determine the direction of supply level values
|
||||
(<rdar://problem/14302628>)
|
||||
- The scheduler did not remove backup PPD files when a printer was
|
||||
deleted (<rdar://problem/15065555>)
|
||||
- The scheduler incorrectly responded to HEAD requests when the web
|
||||
interface was disabled (<rdar://problem/15090332>)
|
||||
- The scheduler did not respond using the hostname specified by the
|
||||
client (<rdar://problem/14583574>)
|
||||
- Fax queues did not work when shared via Bonjour
|
||||
(<rdar://problem/14498310>)
|
||||
- Error messages from the scheduler were not localized using the
|
||||
language specified in the client's IPP request
|
||||
(<rdar://problem/14128011>)
|
||||
- Added an Italian localization (<rdar://problem/14481578>)
|
||||
- Fixed a couple memory leaks in ippfind that were reported by Clang.
|
||||
- Fixed a compile issue on 64-bit Linux with Clang - need to use the
|
||||
-pie option instead of -Wl,-pie now (<rdar://problem/14480938>)
|
||||
- The ippfind utility reported the wrong port numbers when compiled
|
||||
against Avahi (<rdar://problem/14508324>)
|
||||
- httpGetFd, httpGetFile, httpPutFd, and httpPutFile did not
|
||||
automatically reconnect if the server closed the connecion after the
|
||||
previous response.
|
||||
- Fixed a compile error in libcups (<rdar://problem/14467141>)
|
||||
- The scheduler incorrectly did not pass a FINAL_CONTENT_TYPE
|
||||
environment variable to the filters or backend
|
||||
(<rdar://problem/14355011>)
|
||||
- The cups-exec helper program could fail randomly on OS X due to
|
||||
sandbox violations when closing excess file descriptors
|
||||
(<rdar://problem/14421943>)
|
||||
- The scheduler incorrectly did not use the kqueue interface on OS X.
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.7rc1
|
||||
|
||||
- Printer xxx-default values were not reported by Get-Printer-Attributes
|
||||
or lpoptions (<rdar://problem/14401795>)
|
||||
- Fixed deprecation warnings for many functions on OS X so they are tied
|
||||
to the deployment version when building (<rdar://problem/14210079>)
|
||||
- Fixed a build issue on ARM-based Linux systems - unable to validate
|
||||
va_list arguments.
|
||||
- Added a new ippfind tool for finding IPP printers and other Bonjour
|
||||
services (<rdar://problem/13876199>)
|
||||
- Fixed some issues with conversion of PWG media size names to
|
||||
hundredths of millimeters (<rdar://problem/14065748>)
|
||||
- The IPP backend could crash on OS X when printing to a Kerberized
|
||||
printer (<rdar://problem/14040186>)
|
||||
- The ipptool program now automatically extends timeouts when the
|
||||
output buffer is filled (<rdar://problem/14016099>)
|
||||
- The ipptool program now supports the --help and --version options.
|
||||
- The ipptool program did not continue past include file errors by
|
||||
default (<rdar://problem/13875803>)
|
||||
- The ipptool program now supports FILE-ID and TEST-ID directives and
|
||||
includes their values in its XML output (<rdar://problem/13876038>)
|
||||
- The ipptool program now supports WITH-HOSTNAME, WITH-RESOURCE, and
|
||||
WITH-SCHEME expect predicates to compare the corresponding URI
|
||||
components (<rdar://problem/13876091>)
|
||||
|
||||
|
||||
CHANGES IN CUPS V1.7b1
|
||||
|
||||
- The configure script now supports a --with-rundir option to change
|
||||
the transient run-time state directory from the default to other
|
||||
locations like /run/cups (STR #4306)
|
||||
- The scheduler now supports PPD lookups for classes (STR #4296)
|
||||
- The cupsfilter program did not set the FINAL_CONTENT_TYPE
|
||||
environment variable for filters.
|
||||
- Added a new "-x" option to the cancel command (STR #4103)
|
||||
- Made the PWG media handling APIs public (STR #4267)
|
||||
- Implemented ready media support for the cupsGetDestMediaXxx APIs
|
||||
(STR #4289)
|
||||
- Added new cupsFindDestDefault, cupsFindDestReady, and
|
||||
cupsFindDestSupported APIs (STR #4289)
|
||||
- Added new cupsGetDestMediaByIndex, cupsGetDestMediaCount, and
|
||||
cupsGetDestMediaDefault APIs (STR #4289)
|
||||
- Added new ippGet/SetOctetString APIs for getting and setting an
|
||||
octetString value (STR #4289)
|
||||
- Added new ippCreateRequestedArray API for generating a array of
|
||||
attributes from the requested-attributes attribute.
|
||||
- The ipptool utility now supports compression, conditional tests based
|
||||
on the presence of files, and new DEFINE predicates for STATUS.
|
||||
- Added new IPP APIs for checking values (STR #4167)
|
||||
- Added new IPP APis for adding and setting formatted strings.
|
||||
- Added new HTTP APIs to support basic server functionality via libcups.
|
||||
- The dnssd backend now generates a 1284 device ID as needed (STR #3702)
|
||||
- CUPS now supports compressing and decompressing streamed data
|
||||
(STR #4168)
|
||||
- CUPS now supports higher-level PIN printing, external accounting
|
||||
systems, and "print here" printing environments (STR #4169)
|
||||
- IRIX is no longer a supported operating system (STR #4092)
|
||||
- The PPD compiler now supports JCL options properly (STR #4115)
|
||||
- The web interface now checks whether the web browser has cookies
|
||||
enabled and displays a suitable error message (STR #4141)
|
||||
@@ -1,215 +0,0 @@
|
||||
CHANGES-2.0.txt
|
||||
---------------
|
||||
|
||||
CHANGES IN CUPS V2.0.4
|
||||
|
||||
- Fixed a bug in cupsRasterWritePixels (STR #4650)
|
||||
- Fixed redirection in the web interface (STR #4538)
|
||||
- The IPP backend did not respond to side-channel requests (STR #4645)
|
||||
- The scheduler did not start all pending jobs at once (STR #4646)
|
||||
- The web search incorrectly searched time-at-xxx values (STR #4652)
|
||||
- Fixed an RPM spec file issue (STR #4657)
|
||||
- The scheduler incorrectly started jobs while canceling multiple jobs
|
||||
(STR #4648)
|
||||
- Fixed processing of server overrides without port numbers (STR #4675)
|
||||
- Documentation changes (STR #4651, STR #4674)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.0.3
|
||||
|
||||
- Security: Fixed CERT VU #810572 exploiting the dynamic linker
|
||||
(STR #4609)
|
||||
- Security: The scheduler could hang with malformed gzip data
|
||||
(STR #4602)
|
||||
- Restored missing generic printer icon file (STR #4587)
|
||||
- Fixed logging of configuration errors to show up as errors (STR #4582)
|
||||
- Fixed potential buffer overflows in raster code and filters
|
||||
(STR #4598, STR #4599, STR #4600, STR #4601)
|
||||
- Fixed a gzip processing bug (#4602)
|
||||
- Fixed <Limit> inside <Location> (STR #4575)
|
||||
- Fixed lpadmin when both -m and -o are used (STR #4578)
|
||||
- The web interface always showed support for 2-sided printing
|
||||
(STR #4595)
|
||||
- cupsRasterReadHeader did not fully validate the raster header
|
||||
(STR #4596)
|
||||
- The rastertopwg filter did not check for truncated input (STR #4597)
|
||||
- The cups-lpd mini-daemon did not check for request parameters
|
||||
(STR #4603)
|
||||
- The scheduler could get caught in a busy loop (STR #4605)
|
||||
- The sample Epson driver could crash (STR #4616)
|
||||
- The IPP backend now correctly monitors jobs
|
||||
(<rdar://problem/20495955>)
|
||||
- The ppdhtml and ppdpo utilities crashed when the -D option was used
|
||||
before a driver information file (STR #4627)
|
||||
- ippfind incorrectly substituted "=port" for service_port.
|
||||
- The IPP/1.1 test file did not handle the initial print job
|
||||
completing early (STR #4576)
|
||||
- Fixed a memory leak in cupsConnectDest (STR #4634)
|
||||
- PWG Raster Format output contained invalid ImageBox values
|
||||
(<rdar://problem/21144309>)
|
||||
- Added Russian translation (STR #4577)
|
||||
- Added German translation (STR #4635)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.0.2
|
||||
|
||||
- Security: cupsRasterReadPixels buffer overflow with invalid page
|
||||
header and compressed raster data (STR #4551)
|
||||
- Command-line programs were not localized on Mac OS X
|
||||
(<rdar://problem/14546232>)
|
||||
- The scheduler incorrectly cleared the MakeModel string in the
|
||||
printers.conf file after a restart (<rdar://problem/16827518>)
|
||||
- CUPS did not compile with older versions of GNU TLS (STR #4527)
|
||||
- CUPS did not compile without Avahi or mDNSResponder (STR #4523)
|
||||
- ippLength() did not return the correct length for IPP_TAG_CONST
|
||||
string values.
|
||||
- The scheduler incorrectly aborted jobs after a job was restarted
|
||||
(<rdar://problem/19129387>)
|
||||
- The cups-files.conf file contained the old ServerCertificate/Key
|
||||
directives instead of ServerKeychain.
|
||||
- Fixed builds when no SSL/TLS library is available, or when explicitly
|
||||
disabled (STR #4531)
|
||||
- Fixed an OpenBSD charset transcoding issue.
|
||||
- Fixed USB printing on OpenBSD (STR #4525)
|
||||
- The --without-xinetd configure option did not work (STR #4542)
|
||||
- Backends needing to load OS X kernel extensions did not work
|
||||
(<rdar://problem/19015679>)
|
||||
- Mapping of PPD keywords to IPP keywords did not work if the PPD
|
||||
keyword was already an IPP keyword (<rdar://problem/19121005>)
|
||||
- cupsGetPPD* sent bad requests (STR #4567)
|
||||
- ippserver used the wrong temporary directory on Windows (STR #4547)
|
||||
- ippserver did not handle Bonjour registrations properly (STR #4548)
|
||||
- The scheduler could crash during shutdown if Avahi was shutdown
|
||||
first (STR #4550)
|
||||
- Added a USB quirk rule for Intermec printers (STR #4553)
|
||||
- The scheduler did not always log which configuration file had the
|
||||
error (STR #4559)
|
||||
- The ippfind and ipptool programs now correctly match hostnames with
|
||||
trailing dots (STR #4563)
|
||||
- The ipptool timeout option did not work (STR #4515)
|
||||
- Fixed several issues with client.conf, CUPS_SERVER, and the "-h"
|
||||
option of most commands (STR #4528)
|
||||
- Another change for OpenBSD (STR #4526)
|
||||
- Added Japanese localization (STR #4524)
|
||||
- Documentation changes (STR #4569)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.0.1
|
||||
|
||||
- Security: SSLv3 is now disabled by default to protect against the
|
||||
POODLE attack (STR #4476)
|
||||
- Printer sharing did not work when systemd was being used (STR #4497)
|
||||
- cupsGetPPD* would return a symlink to the PPD in /etc/cups/ppd even if
|
||||
it was not readable by the user (STR #4500)
|
||||
- The web interface now protects against frame "click-jacking" attacks
|
||||
(STR #4492)
|
||||
- Fixed a crash in ippAttributeString (<rdar://problem/17903871>)
|
||||
- Fixed a crash in the scheduler on Linux/*BSD if colord was not running
|
||||
(STR #4496)
|
||||
- Fixed a random crash in the scheduler when not using systemd
|
||||
(STR #4484)
|
||||
- Added systemd support for cups-lpd (STR #4493)
|
||||
- The scheduler did not honor the FatalErrors directive for mis-
|
||||
configured Group and SystemGroup values (STR #4495)
|
||||
- The network backends no longer report waste-receptacle conditions when
|
||||
using SNMP (STR #4499)
|
||||
- The IPP backend did not work with some configurations of Windows
|
||||
(STR #4503)
|
||||
- RPMs did not build (STR #4490)
|
||||
- Added a USB quirk rule for the Brother HL-1250 (STR #4519)
|
||||
- Fixed compiles on unsupported platforms (STR #4510)
|
||||
- "cancel -a" did not cancel all jobs on all destinations (STR #4513)
|
||||
- The web interface did not work on OpenBSD (STR #4496)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.0.0
|
||||
|
||||
- The scheduler did not preserve listener sockets from launchd or
|
||||
systemd after a restart (<rdar://problem/18112848>)
|
||||
- Added some USB quirk rules for the libusb-based USB backend
|
||||
(STR #4482)
|
||||
- Spanish localization update (STR #4487)
|
||||
- Updated documentation for 2.0.0 release.
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.0rc1
|
||||
|
||||
- Documentation updates (STR #4464)
|
||||
- The scheduler now monitors the AC power status on OS X, allowing for
|
||||
"sleep printing" when sharing printers (<rdar://problem/17325852>)
|
||||
- The scheduler incorrectly called launch_activate_socket multiple times
|
||||
on OS X (<rdar://problem/17523218>)
|
||||
- The ippserver test program now passes the IPP Everywhere self-
|
||||
certification tests (STR #4101)
|
||||
- Relaxed the new OS X filter sandbox slightly (STR #4471,
|
||||
<rdar://problem/17483959>)
|
||||
- Dropped the old Epson Stylus Color/Photo sample drivers since they
|
||||
don't work with any current printers and there are free alternatives
|
||||
that produce much better output (<rdar://problem/18036889>)
|
||||
- Log and configuration files that are not world-readable are again
|
||||
accessible via the web interface (STR #4461)
|
||||
- PPD files are now created using the permissions specified by the
|
||||
ConfigFilePerm directive.
|
||||
- Fixed RPM build issues (STR #4459)
|
||||
- Fixed the spinner image and restart page when reconfiguring the
|
||||
scheduler through the web interface (STR #4475)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.0b1
|
||||
|
||||
- Added a "--list-filters" option to the cupsfilter command (STR #4325)
|
||||
- Added systemd support (STR #3917)
|
||||
- Added support for re-sending a job as a raster file if a higher-level
|
||||
format such as PDF fails (<rdar://problem/15583721>)
|
||||
- Added support for regular expression matching in the MIME type rules
|
||||
(<rdar://problem/11131245>)
|
||||
- Added support for TLS certificate validation and policy enforcement
|
||||
(STR #1616)
|
||||
- Added support for simultaneous XML and test output from ipptool.
|
||||
- Added support for PAUSE directive in ipptool test files.
|
||||
- Added support for auto-typing of TIFF files by ipptool (STR #4418)
|
||||
- The scheduler now returns completed jobs in the correct newest-to-
|
||||
oldest order (STR #4396)
|
||||
- The configure script now supports target-specific tools for pkg-config
|
||||
and others (STR #4423)
|
||||
- The ipptool program now supports EXPECT statements for collection
|
||||
member attributes (<rdar://problem/15355218>)
|
||||
- The ipptool program now supports collection attributes with multiple
|
||||
values (<rdar://problem/15355124>)
|
||||
- The sample drivers now include all of the installed localizations by
|
||||
default (<rdar://problem/14756625>)
|
||||
- Adopted Linux man page conventions and updated all man pages
|
||||
(STR #4372, STR #4329)
|
||||
- The scheduler now supports the "first-index" operation attribute for
|
||||
the Get-Jobs operation (STR #2913)
|
||||
- Changed the default AccessLogLevel and PageLogFormat to disable the
|
||||
access_log and page_log files by default (<rdar://problem/16495000>)
|
||||
- cupsRasterInterpretPPD now supports the Orientation header in order to
|
||||
support long-edge feed raster printers (<rdar://problem/15837926>)
|
||||
- The scheduler now allows run-as-root backends to have group read and
|
||||
execute permissions (STR #2935)
|
||||
- The ippFindAttribute and ippFindNextAttribute functions now support
|
||||
hierarchical searches (STR #4395)
|
||||
- Dropped OpenSSL support in favor of GNU TLS.
|
||||
- Dropped "dark wake" support on OS X, which was preventing portables
|
||||
from going to sleep when there was a stuck job. We now use a variation
|
||||
of the CUPS 1.4 sleep support to do a cleaner sleep
|
||||
(<rdar://problem/14323704>)
|
||||
- Dropped support for AIX, HP-UX, and OSF/1 (aka Digital UNIX)
|
||||
- Dropped lppasswd and support for Digest authentication in in the
|
||||
scheduler (STR #4321)
|
||||
- The cupsGetClasses, cupsGetPrinters, and cupsTempFile functions are no
|
||||
longer supported.
|
||||
- The scheduler now caches more job history data and limits the number
|
||||
of completed jobs returned by Get-Jobs as needed in order to prevent a
|
||||
denial-of-service on busy servers (STR #2913)
|
||||
- The filter/backend sandbox on OS X now defaults to a more strict
|
||||
whitelist (<rdar://problem/15939788>)
|
||||
- Increased the default idle exit timeout to 60 seconds on OS X
|
||||
(<rdar://problem/16041820>)
|
||||
- Printer classes were not accessible on OS X
|
||||
(<rdar://problem/16385643>)
|
||||
- The scheduler now uses </DefaultPrinter> to close the default printer
|
||||
definition in printers.conf (STR #4153)
|
||||
- Canceling all jobs in the web interface now just cancels the jobs
|
||||
(STR #1914)
|
||||
@@ -1,150 +0,0 @@
|
||||
CHANGES-2.1.txt
|
||||
---------------
|
||||
|
||||
CHANGES IN CUPS V2.1.4
|
||||
|
||||
- Fixed reporting of 1284 Device IDs (Issue #3835, PR #3836)
|
||||
- Fixed printing of multiple files to raw queues (Issue #4782)
|
||||
- The scheduler did not implement the Hold-New-Jobs opertion correctly
|
||||
(Issue #4767)
|
||||
- The ipptool program truncated values at 8k (Issue #4786)
|
||||
- The ipptool program did not correctly report uriScheme values in plist
|
||||
output (Issue #4785)
|
||||
- The cups-lpd mini-daemon incorrectly included the document-name
|
||||
attribute when creating a job. It should only be included when
|
||||
sending a job (Issue #4790)
|
||||
- USB quirk updates (Issue #4778, Issue #4789)
|
||||
- Documentation update (Issue #4772)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.1.3
|
||||
|
||||
- The default password function did not work on some platforms
|
||||
(Issue #4750)
|
||||
- The scheduler should not exit under memory pressure
|
||||
(<rdar://problem/23255001>)
|
||||
- The EPL2 and ZPL sample drivers did not properly support the CutMedia
|
||||
option.
|
||||
- Pending subscriptions would prevent the scheduler from idle exiting
|
||||
(Issue #4754)
|
||||
- Fixed some issues in ipptool for skipped tests
|
||||
(<rdar://problem/24137160>)
|
||||
- The "lp -H resume" command did not reset the "job-state-reasons"
|
||||
attribute value (Issue #4752)
|
||||
- cupsEncodeOptions2 incorrectly handled escaped values
|
||||
(<rdar://problem/19736672>)
|
||||
- The scheduler did not allow access to resource files (icons, etc.)
|
||||
when the web interface was disabled (Issue #4755)
|
||||
- Localization fix (Issue #4756)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.1.2
|
||||
|
||||
- Re-release of CUPS 2.1.1 as CUPS 2.1.2 due to error in tagging of the
|
||||
2.1.1 release (pulled content from the 2.2.x tree instead)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.1.1
|
||||
|
||||
- Security hardening fixes (<rdar://problem/23131948>,
|
||||
<rdar://problem/23132108>, <rdar://problem/23132353>,
|
||||
<rdar://problem/23132803>, <rdar://problem/23133230>,
|
||||
<rdar://problem/23133393>, <rdar://problem/23133466>,
|
||||
<rdar://problem/23133833>, <rdar://problem/23133998>,
|
||||
<rdar://problem/23134228>, <rdar://problem/23134299>,
|
||||
<rdar://problem/23134356>, <rdar://problem/23134415>,
|
||||
<rdar://problem/23134506>, <rdar://problem/23135066>,
|
||||
<rdar://problem/23135122>, <rdar://problem/23135207>,
|
||||
<rdar://problem/23144290>, <rdar://problem/23144358>,
|
||||
<rdar://problem/23144461>)
|
||||
- The cupsGetPPD* functions did not work with IPP printers (Issue #4725)
|
||||
- Some older HP LaserJet printers need a delayed close when printing
|
||||
using the libusb-based USB backend (Issue #4549)
|
||||
- The libusb-based USB backend did not unload the kernel usblp module
|
||||
if it was preventing the backend from accessing the printer
|
||||
(Issue #4707)
|
||||
- Current Primera printers were incorrectly reported as Fargo printers
|
||||
(Issue #4708)
|
||||
- The IPP backend did not always handle jobs getting canceled at the
|
||||
printer (<rdar://problem/22716820>)
|
||||
- Scheduler logging change (Issue #4728)
|
||||
- Added USB quirk for Canon MP530 (Issue #4730)
|
||||
- The scheduler did not deliver job notifications for jobs submitted to
|
||||
classes (Issue #4733)
|
||||
- Changing the printer-is-shared value for a remote queue did not
|
||||
produce an error (Issue #4738)
|
||||
- The IPP backend incorrectly included the job-password attribute in
|
||||
Validate-Job requests (<rdar://problem/23531939>)
|
||||
- Updated localizations (Issue #4709)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.1.0
|
||||
|
||||
- Fixed more scheduler crash bugs in the new logging code (Issue #4687,
|
||||
Issue #4690)
|
||||
- The scheduler did not use the ConfigFilePerm setting when copying PPD
|
||||
files or interface scripts attached to a request (Issue #4703)
|
||||
- Now support new Chinese locale IDs and their correct fallback locales
|
||||
(<rdar://problem/22086642>, <rdar://problem/22130168>)
|
||||
- "make check" incorrectly reported an expectation of 18 warning
|
||||
messages when 8 were expected (Issue #4684)
|
||||
- The new PDF file type rule did not work (Issue #4692)
|
||||
- The scheduler did not update the jobs.cache file when job files were
|
||||
expired (Issue #4706)
|
||||
- Fixed some configure script issues (Issue #4694, Issue #4695, Issue #4698)
|
||||
- Documentation updates (Issue #4691, Issue #4693)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.1rc1
|
||||
|
||||
- Added support for 3D printers (basic types only, no built-in filters)
|
||||
based on PWG white paper.
|
||||
- Fixed bugs in the new journald support (Issue #4655, Issue #4658,
|
||||
Issue #4661)
|
||||
- Fixed domain socket support on Linux (Issue #4679)
|
||||
- Fixed signal handlers in the dnssd and usb backends (Issue #4671)
|
||||
- <Limit All> in <Policy> sections now applies to all operations when
|
||||
used by itself (Issue #4659)
|
||||
- Configure script changes for systemd support (Issue #4669)
|
||||
- Updated autoconf sources to use newer form of AC_INIT (Issue #4664)
|
||||
|
||||
|
||||
CHANGES IN CUPS V2.1b1
|
||||
|
||||
- Improved speed of ppdMarkDefaults for complex/large PPDs
|
||||
(<rdar://problem/15146999>)
|
||||
- The IPP backend now stops sending print data if the printer indicates
|
||||
the job has been aborted or canceled (<rdar://problem/17837631>)
|
||||
- The IPP backend now sends the job-pages-per-set attribute when
|
||||
printing multiple copy jobs with finishings
|
||||
(<rdar://problem/16792757>)
|
||||
- The IPP backend now updates the cupsMandatory values when the printer
|
||||
configuration changes (<rdar://problem/18126570>)
|
||||
- No longer install banner files since third-party banner filters now
|
||||
supply their own (Issue #4518)
|
||||
- Added support for EXPECT-ALL directive in ipptool test files
|
||||
(Issue #4469)
|
||||
- Added support for WITH-VALUE-FROM predicate in ipptool test files
|
||||
(Issue #4470)
|
||||
- The scheduler no longer listens on the loopback interface unless the
|
||||
web interface or printer sharing are enabled
|
||||
(<rdar://problem/9136448>)
|
||||
- Added a PPD generator for IPP Everywhere printers (Issue #4258)
|
||||
- Now install "default" versions of more configuration files
|
||||
(<rdar://problem/19024491>)
|
||||
- The cupstestppd program did not handle "maxsize(nnn)" entries in
|
||||
cupsFilter/cupsFilter2 values (<rdar://problem/18974858>)
|
||||
- The scheduler now checks the return value of rename() calls
|
||||
(Issue #4589)
|
||||
- The scheduler now validates ErrorPolicy values in config files
|
||||
(Issue #4591)
|
||||
- Long cookies caused the web interface to stop working (Issue #4619)
|
||||
- Added SSLOptions values to allow Diffie-Hellman key exchange and
|
||||
disable TLS/1.0 support.
|
||||
- Updated the scheduler to support more IPP Everywhere attributes
|
||||
(Issue #4630)
|
||||
- The scheduler now supports advanced ASL and journald logging when
|
||||
"syslog" output is configured (Issue #4474)
|
||||
- The scheduler now supports logging to stderr when running in the
|
||||
foreground (Issue #4505)
|
||||
|
||||
+146
-241
@@ -1,265 +1,170 @@
|
||||
CHANGES - 2.2.6 - 2017-11-01
|
||||
CHANGES - 2.3b6 - 2018-06-05
|
||||
============================
|
||||
|
||||
|
||||
Changes in CUPS v2.2.6
|
||||
Changes in CUPS v2.3b6
|
||||
----------------------
|
||||
|
||||
- DBUS notifications could crash the scheduler (Issue #5143)
|
||||
- Added USB quirks rules for Canon MP540 and Samsung ML-2160 (Issue #5148)
|
||||
- Fixed TLS cipher suite selection with GNU TLS (Issue #5145, Issue #5150)
|
||||
- Localization updates (Issue #5152)
|
||||
- Fixed a memory leak for some IPP (extension) syntaxes.
|
||||
|
||||
|
||||
Changes in CUPS v2.2.5
|
||||
Changes in CUPS v2.3b5
|
||||
----------------------
|
||||
|
||||
- The scheduler's `-t` option did not force all errors to the standard error
|
||||
file, making debugging of configuration problems hard (Issue #5041)
|
||||
- Fixed a typo in the CUPS Programming Manual (Issue #5042)
|
||||
- Fixed RPM packaging issue (Issue #5043, Issue #5044)
|
||||
- The `cupsGetDests` function incorrectly returned an empty list of printers if
|
||||
there was no default printer (Issue #5046)
|
||||
- The `cupsGetDests` function waited too long for network printers (Issue #5049)
|
||||
- Libtool support was completely broken with current libtool versions that use
|
||||
an incompatible command-line syntax (Issue #5050)
|
||||
- Fixed a build issue with `--enable-mallinfo` (Issue #5051)
|
||||
- The ippserver test program contained a deadlock issue (Issue #5054)
|
||||
- The `cupsLocalizeDest*` functions did not provide base localizations for
|
||||
all registered IPP attributes and values (Issue #5056)
|
||||
- The --enable-libtool configure option requires a path to the libtool program,
|
||||
but doesn't document or check for it (Issue #5062)
|
||||
- Fixed the `SSLOptions DenyCBC` option when using GNU TLS (Issue #5065)
|
||||
- Fixed the `ServerTokens None` option (Issue #5065)
|
||||
- Fixed the default `ServerAlias` value from `ServerName` (Issue #5072)
|
||||
- Fixed the adminurl field in the TXT record for fully-qualified `ServerName`
|
||||
values (Issue #5074)
|
||||
- The scheduler now creates a PID file when not running on demand with a modern
|
||||
service launcher (Issue #5080)
|
||||
- The web interface did not support newer language identifiers used by Microsoft
|
||||
web browsers (Issue #5803)
|
||||
- Updated the cups-files.conf and cupsd.conf file documentation for missing
|
||||
directives (Issue #5084)
|
||||
- Fixed an Avahi-related crash bug in the scheduler (Issue #5085, Issue #5086)
|
||||
- Fixed the interactions between the "print-quality" and "cupsPrintQuality"
|
||||
options (Issue #5090)
|
||||
- The IPP Everywhere PPD generator now sorts the supported resolutions before
|
||||
choosing them for draft, normal, and best quality modes (Issue #5091)
|
||||
- Fixed the localization unit test on Linux (Issue #5097)
|
||||
- The CUPS library did not reuse domain sockets (Issue #5098)
|
||||
- Fixed the "make check" target for some environments (Issue #5099)
|
||||
- The scheduler woke up once per second to remove old temporary queues
|
||||
(Issue #5100)
|
||||
- Added USB quirk rule for Kyocera printer (Issue #5102, Issue #5103)
|
||||
- Re-documented the limits of `file:///...` device URIs and moved the FileDevice
|
||||
directive in `cups-files.conf` to the list of deprecated configuration
|
||||
directives (Issue #5117)
|
||||
- Added USB quirk rule for HP LaserJet 1160 printer (Issue #5121)
|
||||
- Fixed the script interpreter detection in the configure script (Issue #5122)
|
||||
- The network backends now retry on more error conditions (Issue #5123)
|
||||
- Added a French translation of the web interface (Issue #5134)
|
||||
- `cupsGetDests2` was not using the supplied HTTP connection (Issue #5135)
|
||||
- `httpAddrConnect` leaked sockets in certain circumstances, causing some
|
||||
printers to hang (rdar://31965686)
|
||||
- Fixed an issue with Chinese localizations on macOS (rdar://32419311)
|
||||
- The IPP backend now always sends the "finishings" attribute for printers that
|
||||
support it because otherwise the client cannot override printer defaults
|
||||
(rdar://33169732)
|
||||
- The `cupsGetNamedDest` function did not use the local default printer
|
||||
(rdar://33228500)
|
||||
- The IPP backend incorrectly sent the "job-pages-per-set" attribute to PDF
|
||||
printers (rdar://33250434)
|
||||
- Fixed the `cups.strings` file that is used on macOS (rdar://33287650)
|
||||
- CUPS now sends the `Date` HTTP header in IPP requests (rdar://33302034)
|
||||
- The `ippCopyAttribute` function did not copy out-of-band values correctly
|
||||
(rdar://33688003)
|
||||
- Fixed the localization fallback code on macOS (rdar://33583699)
|
||||
- The scheduler did not run with a high enough priority, causing problems on
|
||||
busy systems (rdar://33789342)
|
||||
- Added support for Japanese Kaku 1 envelope size (rdar://34774110)
|
||||
- The `ipptool` program's `-P` option did not work correctly.
|
||||
- The `ipptool` program did not compare URI scheme or hostname components
|
||||
correctly for the WITH-ALL-HOSTNAMES, WITH-ALL-SCHEMES, WITH-HOSTNAME, or
|
||||
WITH-SCHEME predicates.
|
||||
- The `ipptool` program no longer checks for duplicate attributes when running
|
||||
in list or CSV mode (Issue #5278)
|
||||
- The `cupsCreateJob`, `cupsPrintFile2`, and `cupsPrintFiles2` APIs did not use
|
||||
the supplied HTTP connection (Issue #5288)
|
||||
- Fixed another crash in the scheduler when adding an IPP Everywhere printer
|
||||
(Issue #5290)
|
||||
- Added a workaround for certain web browsers that do not support multiple
|
||||
authentication schemes in a single response header (Issue #5289)
|
||||
- Fixed policy limits containing the `All` operation (Issue #5296)
|
||||
- The scheduler was always restarted after idle-exit with systemd (Issue #5297)
|
||||
- Added a USB quirks rule for the HP LaserJet P1102 (Issue #5310)
|
||||
- The mailto notifier did not wait for the welcome message (Issue #5312)
|
||||
- Fixed a parsing bug in the pstops filter (Issue #5321)
|
||||
- Documentation updates (Issue #5299, Issue #5301, Issue #5306)
|
||||
- Localization updates (Issue #5317)
|
||||
- The scheduler allowed environment variables to be specified in the
|
||||
`cupsd.conf` file (rdar://37836779, rdar://37836995, rdar://37837252,
|
||||
rdar://37837581)
|
||||
- Fax queues did not support pause (p) or wait-for-dialtone (w) characters
|
||||
(rdar://39212256)
|
||||
- The scheduler did not validate notify-recipient-uri values properly
|
||||
(rdar://40068936)
|
||||
- The IPP parser allowed invalid group tags (rdar://40442124)
|
||||
- Fixed a parsing bug in the new authentication code.
|
||||
|
||||
|
||||
Changes in CUPS v2.2.4
|
||||
Changes in CUPS v2.3b4
|
||||
----------------------
|
||||
|
||||
- The scheduler did not remove old job files (Issue #4987)
|
||||
- cupsEnumDests did not return early when all printers had been discovered
|
||||
(Issue #4989)
|
||||
- The CUPS build system now supports cross-compilation (Issue #4897)
|
||||
- Added a new CUPS Programming Manual to replace the aging API documentation.
|
||||
- Added the `cupsAddIntegerOption` and `cupsGetIntegerOption` functions
|
||||
(Issue #4992)
|
||||
- The `cupsGetDests` and `cupsCreateJob` functions now support Bonjour printers
|
||||
(Issue #4993)
|
||||
- Added a USB quirk rule for Lexmark E260dn printers (Issue #4994)
|
||||
- Fixed a potential buffer overflow in the `cupstestppd` utility (Issue #4996)
|
||||
- IPP Everywhere improvements (Issue #4998)
|
||||
- Fixed the "cancel all jobs" function in the web interface for several
|
||||
languages (Issue #4999)
|
||||
- Fixed issues with local queues (Issue #5003, Issue #5008, Issue #5009)
|
||||
- The `lpstat` command now supports a `-e` option to enumerate local printers
|
||||
(either previously added or on the network) that can be accessed
|
||||
(Issue #5005)
|
||||
- The `lp` and `lpr` commands now support printing to network printers that
|
||||
haven't yet been added (Issue #5006)
|
||||
- Fixed a typo in the mime.types file.
|
||||
- Fixed a bug in the Spanish web interface template (Issue #5016)
|
||||
- The `cupsEnumDests*` and `cupsGetDest*` functions now report the value of the
|
||||
"printer-is-temporary" Printer Status attribute (Issue #5028)
|
||||
- Added Chinese localization (Issue #5029)
|
||||
- The `cupsCheckDestSupported` function did not support `NULL` values
|
||||
(Issue #5031)
|
||||
- Fixed some issues in the RPM spec file (Issue #5032)
|
||||
- The `cupsConnectDest` function now supports the `CUPS_DEST_FLAGS_DEVICE` flag
|
||||
for explicitly connecting to the device (printer) associated with the
|
||||
destination.
|
||||
- The `SSLOptions` directive in "client.conf" and "cupsd.conf" now supports
|
||||
`DenyCBC` and `DenyTLS1.0` options (Issue #5037)
|
||||
- NOTICE: Printer drivers are now deprecated (Issue #5270)
|
||||
- Kerberized printing to another CUPS server did not work correctly
|
||||
(Issue #5233)
|
||||
- Fixed printing to some IPP Everywhere printers (Issue #5238)
|
||||
- Fixed installation of filters (Issue #5247)
|
||||
- The scheduler now supports using temporary print queues for older IPP/1.1
|
||||
print queues like those shared by CUPS 1.3 and earlier (Issue #5241)
|
||||
- Star Micronics printers need the "unidir" USB quirk rule (Issue #5251)
|
||||
- Documentation fixes (Issue #5252)
|
||||
- Fixed a compile issue when PAM is not available (Issue #5253)
|
||||
- Label printers supported by the rastertolabel driver don't support SNMP, so
|
||||
don't delay printing to test it (Issue #5256)
|
||||
- The scheduler could crash while adding an IPP Everywhere printer (Issue #5258)
|
||||
- The Lexmark Optra E310 printer needs the "no-reattach" USB quirk rule
|
||||
(Issue #5259)
|
||||
- Systemd did not restart cupsd when configuration changes were made that
|
||||
required a restart (Issue #5263)
|
||||
- The IPP Everywhere PPD generator did not include the `cupsJobPassword`
|
||||
keyword, when supported (Issue #5265)
|
||||
- Fixed an Avahi crash bug in the scheduler (Issue #5268)
|
||||
- Raw print queues are now deprecated (Issue #5269)
|
||||
- Fixed an RPM packaging problem (Issue #5276)
|
||||
- The IPP backend did not properly detect failed PDF prints (rdar://34055474)
|
||||
- TLS connections now properly timeout (rdar://34938533)
|
||||
- Temp files could not be created in some sandboxed applications
|
||||
(rdar://37789645)
|
||||
- The ipptool `--ippserver` option did not encode out-of-band attributes
|
||||
correctly.
|
||||
- Added public `cupsEncodeOption` API for encoding a single option as an IPP
|
||||
attribute.
|
||||
- Removed support for the `-D_PPD_DEPRECATED=""` developer cheat - the PPD API
|
||||
should no longer be used.
|
||||
- Removed support for `-D_IPP_PRIVATE_STRUCTURES=1` developer cheat - the IPP
|
||||
accessor functions should be used instead.
|
||||
|
||||
|
||||
Changes in CUPS v2.2.3
|
||||
Changes in CUPS v2.3b3
|
||||
----------------------
|
||||
|
||||
- The IPP backend could get into an infinite loop for certain errors, causing a
|
||||
hung queue (<rdar://problem/28008717>)
|
||||
- The scheduler could pause responding to client requests in order to save state
|
||||
changes to disk (<rdar://problem/28690656>)
|
||||
- Added support for PPD finishing keywords (Issue #4960, Issue #4961,
|
||||
Issue #4962)
|
||||
- The IPP backend did not send a media-col attribute for just the source or type
|
||||
(Issue #4963)
|
||||
- IPP Everywhere print queues did not always support all print qualities
|
||||
supported by the printer (Issue #4953)
|
||||
- IPP Everywhere print queues did not always support all media types supported
|
||||
by the printer (Issue #4953)
|
||||
- The IPP Everywhere PPD generator did not return useful error messages
|
||||
(Issue #4954)
|
||||
- The IPP Everywhere finishings support did not work correctly with common UI or
|
||||
command-line options (Issue #4976)
|
||||
- Fixed an error handling issue for the network backends (Issue #4979)
|
||||
- The default cupsd.conf file did not work on systems compiled without Kerberos
|
||||
support (Issue #4947)
|
||||
- The "reprint job" option was not available for some canceled jobs
|
||||
(Issue #4915)
|
||||
- Updated the job listing in the web interface (Issue #4978)
|
||||
- Fixed some localization issues on macOS (<rdar://problem/27245567>)
|
||||
- More fixes for printing to old CUPS servers (Issue #5211)
|
||||
- The IPP Everywhere PPD generator did not support deep grayscale or 8-bit per
|
||||
component AdobeRGB (Issue #5227)
|
||||
- Additional changes for the scheduler to substitute default values for invalid
|
||||
job attributes when running in "relaxed conformance" mode (Issue #5229)
|
||||
- Localization changes (Issue #5232, rdar://37068158)
|
||||
- The `cupsCopyDestInfo` function did not work with all print queues
|
||||
(Issue #5235)
|
||||
|
||||
|
||||
Changes in CUPS v2.2.2
|
||||
Changes in CUPS v2.3b2
|
||||
----------------------
|
||||
|
||||
- Fixed some issues with the Zebra ZPL printer driver (Issue #4898)
|
||||
- Fixed some issues with IPP Everywhere printer support (Issue #4893,
|
||||
Issue #4909, Issue #4916, Issue #4921, Issue #4923, Issue #4932, Issue #4933,
|
||||
Issue #4938)
|
||||
- The rastertopwg filter could crash with certain input (Issue #4942)
|
||||
- Optimized connection usage in the IPP backend (<rdar://problem/29547323>)
|
||||
- The scheduler did not detect when an encrypted connection was closed by the
|
||||
client on Linux (Issue #4901)
|
||||
- The cups-lpd program did not catch all legacy usage of ISO-8859-1
|
||||
(Issue #4899)
|
||||
- Fixed builds on systems without a working poll() implementation (Issue #4905)
|
||||
- Added a USB quirk rule for the Kyocera Ecosys P6026cdn (Issue #4900)
|
||||
- The scheduler no longer creates log files on startup
|
||||
(<rdar://problem/28332470>)
|
||||
- The ippContainsString function now uses case-insensitive comparisons for
|
||||
mimeMediaType, name, and text values in conformance with RFC 2911.
|
||||
- The network backends now log the addresses that were found for a printer
|
||||
(<rdar://problem/29268474>)
|
||||
- Let's Encrypt certificates did not work when the hostname contained uppercase
|
||||
letters (Issue #4919)
|
||||
- Fixed reporting of printed pages in the web interface (Issue #4924)
|
||||
- Updated systemd config files (Issue #4935)
|
||||
- Updated documentation (PR #4896)
|
||||
- Updated localizations (PR #4894, PR #4895, PR #4904, PR #4908, Issue #4946)
|
||||
- Updated packaging files (Issue #4940)
|
||||
- Localization changes (Issue #5210)
|
||||
- Build fixes (Issue #5217)
|
||||
- IPP Everywhere PPDs were not localized to English (Issue #5205)
|
||||
- The `cupsGetDests` and `cupsEnumDests` functions no longer filter out local
|
||||
print services like IPP USB devices (Issue #5206)
|
||||
- The `cupsCopyDest` function now correctly copies the `is_default` value
|
||||
(Issue #5208)
|
||||
- Printing to old CUPS servers has been fixed (Issue #5211)
|
||||
- The `ppdInstallableConflict` tested too many constraints (Issue #5213)
|
||||
- All HTTP field values can now be longer than `HTTP_MAX_VALUE` bytes
|
||||
(Issue #5216)
|
||||
- Added a USB quirk rule for Canon MP280 series printers (Issue #5221)
|
||||
- The `cupsRasterWritePixels` function did not correctly swap bytes for some
|
||||
formats (Issue #5225)
|
||||
- Fixed an issue with mapping finishing options (rdar://34250727)
|
||||
- The `ppdLocalizeIPPReason` function incorrectly returned a localized version
|
||||
of "none" (rdar://36566269)
|
||||
- The scheduler did not add ".local" to the default DNS-SD host name when
|
||||
needed.
|
||||
|
||||
|
||||
Changes in CUPS v2.2.1
|
||||
Changes in CUPS v2.3b1
|
||||
----------------------
|
||||
|
||||
- Added "CreateSelfSignedCerts" directive for cups-files.conf to control whether
|
||||
the scheduler automatically creates its own self-signed X.509 certificates for
|
||||
TLS connections (Issue #4876)
|
||||
- http*Connect did not handle partial failures (Issue #4870)
|
||||
- Addressed some build warnings on Linux (Issue #4881)
|
||||
- cupsHashData did not use the correct hashing algorithm
|
||||
(<rdar://problem/28209220>)
|
||||
- Updated man pages (PR #4885)
|
||||
- Updated localizations (PR #4877, PR #4886)
|
||||
|
||||
|
||||
Changes in CUPS v2.2.0
|
||||
----------------------
|
||||
|
||||
- Normalized the TLS certificate validation code and added additional error
|
||||
messages to aid troubleshooting.
|
||||
- The httpConnect functions did not work on Linux when cupsd was not running
|
||||
(Issue #4870)
|
||||
- The --no-remote-any option of cupsctl had no effect (Issue #4866)
|
||||
- http*Connect did not return early when all addresses failed (Issue #4870)
|
||||
|
||||
|
||||
Changes in CUPS v2.2rc1
|
||||
-----------------------
|
||||
|
||||
- Updated the list of supported IPP Everywhere media types.
|
||||
- The IPP backend did not validate TLS credentials properly.
|
||||
- The printer-state-message attribute was not cleared after a print job with no
|
||||
errors (Issue #4851)
|
||||
- The CUPS-Add-Modify-Class and CUPS-Add-Modify-Printer operations did not
|
||||
always return an error for failed adds (Issue #4854)
|
||||
- PPD files with names longer than 127 bytes did not work (Issue #4860)
|
||||
- Updated localizations (Issue #4846, PR #4858)
|
||||
|
||||
|
||||
Changes in CUPS v2.2b2
|
||||
----------------------
|
||||
|
||||
- Added Upstart support (PR #4825)
|
||||
- CUPS now supports Let's Encrypt certificates on Linux.
|
||||
|
||||
|
||||
Changes in CUPS v2.2b1
|
||||
----------------------
|
||||
|
||||
- All CUPS commands now support POSIX options (Issue #4813)
|
||||
- The scheduler now restarts faster (Issue #4760)
|
||||
- Improved performance of web interface with large numbers of jobs (Issue #3819)
|
||||
- Encrypted printing can now be limited to only trusted printers and servers
|
||||
(<rdar://problem/25711658>)
|
||||
- The scheduler now advertises PWG Raster attributes for IPP Everywhere clients
|
||||
(Issue #4428)
|
||||
- The scheduler now logs informational messages for jobs at LogLevel "info"
|
||||
(Issue #4815)
|
||||
- The scheduler now uses the getgrouplist function when available (Issue #4611)
|
||||
- The IPP backend no longer enables compression by default except for certain
|
||||
raster formats that generally benefit from it (<rdar://problem/25166952>)
|
||||
- The scheduler did not handle out-of-disk situations gracefully (Issue #4742)
|
||||
- The LPD mini-daemon now detects invalid UTF-8 sequences in job, document, and
|
||||
user names (Issue #4748)
|
||||
- The IPP backend now continues on to the next job when the remote server/
|
||||
printer puts the job on hold (<rdar://problem/24858548>)
|
||||
- The scheduler did not cancel multi-document jobs immediately
|
||||
(<rdar://problem/24854834>)
|
||||
- The scheduler did not return non-shared printers to local clients unless they
|
||||
connected to the domain socket (<rdar://problem/24566996>)
|
||||
- The scheduler now reads the spool directory if one or more job cache entries
|
||||
point to deleted jobs (<rdar://problem/24048846>)
|
||||
- Added support for disc media sizes (<rdar://problem/20219536>)
|
||||
- The httpAddrConnect and httpConnect* APIs now try connecting to multiple
|
||||
addresses in parallel (<rdar://problem/20643153>)
|
||||
- The cupsd domain socket is no longer world-accessible on macOS
|
||||
(<rdar://problem/7542560>)
|
||||
- Interface scripts are no longer supported for security reasons
|
||||
(<rdar://problem/23135640>)
|
||||
- Added a new cupsHashData API and support for hashed job passwords
|
||||
(<rdar://problem/20221502>)
|
||||
- Localization fixes (<rdar://problem/25292403>, <rdar://problem/25461517>,
|
||||
Issue #4041, Issue #4796)
|
||||
- Documentation changes (Issue #4624, Issue #4781)
|
||||
- Packaging fixes (PR #4832)
|
||||
- CUPS is now provided under the Apache License, Version 2.0.
|
||||
- Documentation updates (Issue #4580, Issue #5177, Issue #5192)
|
||||
- The `cupsCopyDestConflicts` function now handles collection attribute
|
||||
("media-col", "finishings-col", etc.) constraints (Issue #4096)
|
||||
- The `lpoptions` command incorrectly saved default options (Issue #4717)
|
||||
- The `lpstat` command now reports when new jobs are being held (Issue #4761)
|
||||
- The `ippfind` command now supports finding printers whose name starts with an
|
||||
underscore (Issue #4833)
|
||||
- The CUPS library now supports the latest HTTP Digest authentication
|
||||
specification including support for SHA-256 (Issue #4862)
|
||||
- The scheduler now supports the "printer-id" attribute (Issue #4868)
|
||||
- No longer support backslash, question mark, or quotes in printer names
|
||||
(Issue #4966)
|
||||
- The scheduler no longer logs pages as they are printed, instead just logging
|
||||
a total of the pages printed at job completion (Issue #4991)
|
||||
- Dropped RSS subscription management from the web interface (Issue #5012)
|
||||
- Bonjour printer sharing now uses the DNS-SD hostname (or ServerName value if
|
||||
none is defined) when registering shared printers on the network (Issue #5071)
|
||||
- The `ipptool` command now supports writing `ippserver` attributes files
|
||||
(Issue #5093)
|
||||
- The `lp` and `lpr` commands now provide better error messages when the default
|
||||
printer cannot be found (Issue #5096)
|
||||
- The `lpadmin` command now provides a better error message when an unsupported
|
||||
System V interface script is used (Issue #5111)
|
||||
- The scheduler did not write out dirty configuration and state files if there
|
||||
were open client connections (Issue #5118)
|
||||
- The `SSLOptions` directive now supports `MinTLS` and `MaxTLS` options to
|
||||
control the minimum and maximum TLS versions that will be allowed,
|
||||
respectively (Issue #5119)
|
||||
- Dropped hard-coded CGI scripting language support (Issue #5124)
|
||||
- The `cupsEnumDests` function did not include options from the lpoptions
|
||||
files (Issue #5144)
|
||||
- Fixed the `ippserver` sample code when threading is disabled or unavailable
|
||||
(Issue #5154)
|
||||
- Added label markup to checkbox and radio button controls in the web interface
|
||||
templates (Issue #5161)
|
||||
- Fixed group validation on OpenBSD (Issue #5166)
|
||||
- Improved IPP Everywhere media support, including a new
|
||||
`cupsAddDestMediaOptions` function (Issue #5167)
|
||||
- IPP Everywhere PPDs now include localizations of printer-specific media types,
|
||||
when available (Issue #5168)
|
||||
- The cups-driverd program incorrectly stopped scanning PPDs as soon as a loop
|
||||
was seen (Issue #5170)
|
||||
- IPP Everywhere PPDs now support IPP job presets (Issue #5179)
|
||||
- IPP Everywhere PPDs now support finishing templates (Issue #5180)
|
||||
- Fixed a journald support bug in the scheduler (Issue #5181)
|
||||
- Fixed PAM module detection and added support for the common PAM definitions
|
||||
(Issue #5185)
|
||||
- The scheduler now substitutes default values for invalid job attributes when
|
||||
running in "relaxed conformance" mode (Issue #5186)
|
||||
- The scheduler did not work with older versions of uClibc (Issue #5188)
|
||||
- The scheduler now generates a strings file for localizing PPD options
|
||||
(Issue #5194)
|
||||
|
||||
+5
-626
@@ -1,10 +1,9 @@
|
||||
# Contributing to CUPS
|
||||
Contributing to CUPS
|
||||
====================
|
||||
|
||||
CUPS is developed by Apple Inc. and distributed as open source software under a
|
||||
combination of GNU GPL2 and GNU LGPL2 licenses with exceptions to allow
|
||||
developers on Apple's operating systems to develop CUPS-based software under
|
||||
alternate license terms. Significant contributions to CUPS must be licensed to
|
||||
Apple using the Apple Contributor Agreement:
|
||||
CUPS is developed by Apple Inc. and distributed as open source software under
|
||||
the Apache License, Version 2.0. Significant contributions to CUPS must be
|
||||
licensed to Apple using the Apple Contributor Agreement:
|
||||
|
||||
https://www.cups.org/AppleContributorAgreement_2011-03-10.pdf
|
||||
|
||||
@@ -13,623 +12,3 @@ site. Changes to existing source files should be submitted as unified diffs
|
||||
(both Subversion and Git produce this format by default) while new source files
|
||||
should be provided as-is or in an archive. Github pull requests can also be
|
||||
used to submit changes.
|
||||
|
||||
|
||||
## HOW TO CONTACT THE DEVELOPERS
|
||||
|
||||
The CUPS mailing lists are the primary means of asking questions and informally
|
||||
discussing issues and feature requests with the CUPS developers and other
|
||||
experienced CUPS users and developers. The "cups" mailing list is intended for
|
||||
CUPS usage questions and new software announcements while the "cups-devel"
|
||||
mailing list provides a forum for CUPS developers and monitoring new bugs.
|
||||
|
||||
|
||||
## INTERFACES
|
||||
|
||||
CUPS interfaces, including the C APIs and command-line arguments, environment
|
||||
variables, configuration files, and output format, are stable across patch
|
||||
versions and are generally backwards-compatible with interfaces used in prior
|
||||
major and minor versions. However, program interfaces such as those used by
|
||||
the scheduler to run filter, port monitor, and backend processes for job
|
||||
processing should only be considered stable from the point of view of a
|
||||
filter, port monitor, or backend. Software that simulates the scheduler in
|
||||
order to run those programs outside of CUPS must necessarily be updated when
|
||||
the corresponding interface is changed in a subsequent CUPS release, otherwise
|
||||
undefined behavior can occur.
|
||||
|
||||
CUPS C APIs starting with an underscore (_) are considered to be private to
|
||||
CUPS and are not subject to the normal guarantees of stability between CUPS
|
||||
releases and must never be used in non-CUPS source code. Similarly,
|
||||
configuration and state files written by CUPS are considered private if a
|
||||
corresponding man page is not provided with the CUPS release. Never rely on
|
||||
undocumented files or formats when developing software for CUPS. Always use a
|
||||
published C API to access data stored in a file to avoid compatibility problems
|
||||
in the future.
|
||||
|
||||
|
||||
## BUILD SYSTEM
|
||||
|
||||
The CUPS build system uses GNU autoconf to tailor the library to the local
|
||||
operating system. Project files for the current release of Microsoft Visual
|
||||
Studio are also provided for Microsoft Windows®. To improve portability,
|
||||
makefiles must not make use of features unique to GNU make. See the MAKEFILE
|
||||
GUIDELINES section for a description of the allowed make features and makefile
|
||||
guidelines.
|
||||
|
||||
Additional GNU build programs such as GNU automake and GNU libtool must not be
|
||||
used. GNU automake produces non-portable makefiles which depend on GNU-
|
||||
specific extensions, and GNU libtool is not portable or reliable enough for
|
||||
CUPS.
|
||||
|
||||
|
||||
## VERSION NUMBERING
|
||||
|
||||
CUPS uses a three-part version number separated by periods to represent the
|
||||
major, minor, and patch release numbers. Major release numbers indicate large
|
||||
design changes or backwards-incompatible changes to the CUPS API or CUPS
|
||||
Imaging API. Minor release numbers indicate new features and other smaller
|
||||
changes which are backwards-compatible with previous CUPS releases. Patch
|
||||
numbers indicate bug fixes to the previous feature or patch release.
|
||||
|
||||
> Note:
|
||||
>
|
||||
> When we talk about compatibility, we are talking about binary compatibility
|
||||
> for public APIs and output format compatibility for program interfaces.
|
||||
> Changes to configuration file formats or the default behavior of programs
|
||||
> are not generally considered incompatible as the upgrade process can
|
||||
> normally address such changes gracefully.
|
||||
|
||||
Production releases use the plain version numbers:
|
||||
|
||||
MAJOR.MINOR.PATCH
|
||||
1.0.0
|
||||
...
|
||||
1.1.0
|
||||
...
|
||||
1.1.23
|
||||
...
|
||||
2.0.0
|
||||
...
|
||||
2.1.0
|
||||
2.1.1
|
||||
2.1.2
|
||||
2.1.3
|
||||
|
||||
The first production release in a MAJOR.MINOR series (MAJOR.MINOR.0) is called
|
||||
a feature release. Feature releases are the only releases that may contain new
|
||||
features. Subsequent production releases in a MAJOR.MINOR series may only
|
||||
contain bug fixes.
|
||||
|
||||
Beta-test releases are identified by appending the letter B to the major and
|
||||
minor version numbers followed by the beta release number:
|
||||
|
||||
MAJOR.MINORbNUMBER
|
||||
2.2b1
|
||||
|
||||
Release candidates are identified by appending the letters RC to the major and
|
||||
minor version numbers followed by the release candidate number:
|
||||
|
||||
MAJOR.MINORrcNUMBER
|
||||
2.2rc1
|
||||
|
||||
|
||||
## CODING GUIDELINES
|
||||
|
||||
Contributed source code must follow the guidelines below. While the examples
|
||||
are for C and C++ source files, source code for other languages should conform
|
||||
to the same guidelines as allowed by the language.
|
||||
|
||||
|
||||
### SOURCE FILES
|
||||
|
||||
All source files names must be 16 characters or less in length to ensure
|
||||
compatibility with older UNIX filesystems. Source files containing functions
|
||||
have an extension of ".c" for C and ".cxx" for C++ source files. All other
|
||||
"include" files have an extension of ".h". Tabs are set to 8 characters or
|
||||
columns.
|
||||
|
||||
> Note:
|
||||
>
|
||||
> The ".cxx" extension is used because it is the only common C++ extension
|
||||
> between Linux, macOS, UNIX, and Windows.
|
||||
|
||||
The top of each source file contains a header giving the purpose or nature of
|
||||
the source file and the copyright and licensing notice:
|
||||
|
||||
/*
|
||||
* Description of file contents.
|
||||
*
|
||||
* Copyright 2016 by Apple Inc.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*/
|
||||
|
||||
For source files that are subject to the Apple OS-Developed Software exception,
|
||||
the following additional comment appears after the contact information:
|
||||
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
|
||||
|
||||
### HEADER FILES
|
||||
|
||||
All public header files must include the "versioning.h" header file, or a header
|
||||
that does so. Function declarations are then "decorated" with the correct
|
||||
_CUPS_API_major_minor macro to define its availability based on the build
|
||||
environment, for example:
|
||||
|
||||
extern int cupsDoThis(int foo, int bar) _CUPS_API_2_2;
|
||||
|
||||
Private API header files must be named with the suffix "-private", for example
|
||||
the "cups.h" header file defines all of the public CUPS APIs while the
|
||||
"cups-private.h" header file defines all of the private CUPS APIs as well.
|
||||
Typically a private API header file will include the corresponding public API
|
||||
header file.
|
||||
|
||||
|
||||
### COMMENTS
|
||||
|
||||
All source code utilizes block comments within functions to describe the
|
||||
operations being performed by a group of statements; avoid putting a comment
|
||||
per line unless absolutely necessary, and then consider refactoring the code
|
||||
so that it is not necessary. C source files use the block comment format
|
||||
("/* comment */") since many vendor C compilers still do not support C99/C++
|
||||
comments ("// comment"):
|
||||
|
||||
/*
|
||||
* Clear the state array before we begin...
|
||||
*/
|
||||
|
||||
for (i = 0; i < (sizeof(array) / sizeof(sizeof(array[0])); i ++)
|
||||
array[i] = CUPS_STATE_IDLE;
|
||||
|
||||
/*
|
||||
* Wait for state changes on another thread...
|
||||
*/
|
||||
|
||||
do
|
||||
{
|
||||
for (i = 0; i < (sizeof(array) / sizeof(sizeof(array[0])); i ++)
|
||||
if (array[i] != CUPS_STATE_IDLE)
|
||||
break;
|
||||
|
||||
if (i == (sizeof(array) / sizeof(array[0])))
|
||||
sleep(1);
|
||||
} while (i == (sizeof(array) / sizeof(array[0])));
|
||||
|
||||
|
||||
### INDENTATION
|
||||
|
||||
All code blocks enclosed by brackets begin with the opening brace on a new
|
||||
line. The code then follows starting on a new line after the brace and is
|
||||
indented 2 spaces. The closing brace is then placed on a new line following
|
||||
the code at the original indentation:
|
||||
|
||||
{
|
||||
int i; /* Looping var */
|
||||
|
||||
/*
|
||||
* Process foobar values from 0 to 999...
|
||||
*/
|
||||
|
||||
for (i = 0; i < 1000; i ++)
|
||||
{
|
||||
do_this(i);
|
||||
do_that(i);
|
||||
}
|
||||
}
|
||||
|
||||
Single-line statements following "do", "else", "for", "if", and "while" are
|
||||
indented 2 spaces as well. Blocks of code in a "switch" block are indented 4
|
||||
spaces after each "case" and "default" case:
|
||||
|
||||
switch (array[i])
|
||||
{
|
||||
case CUPS_STATE_IDLE :
|
||||
do_this(i);
|
||||
do_that(i);
|
||||
break;
|
||||
|
||||
default :
|
||||
do_nothing(i);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
### SPACING
|
||||
|
||||
A space follows each reserved word such as "if", "while", etc. Spaces are not
|
||||
inserted between a function name and the arguments in parenthesis.
|
||||
|
||||
|
||||
### RETURN VALUES
|
||||
|
||||
Parenthesis surround values returned from a function:
|
||||
|
||||
return (CUPS_STATE_IDLE);
|
||||
|
||||
|
||||
### FUNCTIONS
|
||||
|
||||
Functions with a global scope have a lowercase prefix followed by capitalized
|
||||
words, e.g., "cupsDoThis", "cupsDoThat", "cupsDoSomethingElse", etc. Private
|
||||
global functions begin with a leading underscore, e.g., "\_cupsDoThis",
|
||||
"\_cupsDoThat", etc.
|
||||
|
||||
Functions with a local scope are declared "static" with lowercase names and
|
||||
underscores between words, e.g., "do\_this", "do\_that", "do\_something\_else", etc.
|
||||
|
||||
Each function begins with a comment header describing what the function does,
|
||||
the possible input limits (if any), the possible output values (if any), and
|
||||
any special information needed:
|
||||
|
||||
/*
|
||||
* 'do_this()' - Compute y = this(x).
|
||||
*
|
||||
* Notes: none.
|
||||
*/
|
||||
|
||||
static float /* O - Inverse power value, 0.0 <= y <= 1.1 */
|
||||
do_this(float x) /* I - Power value (0.0 <= x <= 1.1) */
|
||||
{
|
||||
...
|
||||
return (y);
|
||||
}
|
||||
|
||||
Return/output values are indicated using an "O" prefix, input values are
|
||||
indicated using the "I" prefix, and values that are both input and output use
|
||||
the "IO" prefix for the corresponding in-line comment.
|
||||
|
||||
The Mini-XML documentation generator also understands the following special
|
||||
text in the function description comment:
|
||||
|
||||
@deprecated@ - Marks the function as deprecated (not recommended
|
||||
for new development and scheduled for removal)
|
||||
@since CUPS version@ - Marks the function as new in the specified version
|
||||
of CUPS.
|
||||
@private@ - Marks the function as private (same as starting the
|
||||
function name with an underscore)
|
||||
|
||||
|
||||
### VARIABLES
|
||||
|
||||
Variables with a global scope are capitalized, e.g., "ThisVariable",
|
||||
"ThatVariable", "ThisStateVariable", etc. Globals in CUPS libraries are either
|
||||
part of the per-thread global values managed by the "\_cupsGlobals()" function
|
||||
or are suitably protected for concurrent access. Global variables should be
|
||||
replaced by function arguments whenever possible.
|
||||
|
||||
Variables with a local scope are lowercase with underscores between words,
|
||||
e.g., "this\_variable", "that\_variable", etc. Any "local global" variables
|
||||
shared by functions within a source file are declared "static". As for global
|
||||
variables, local static variables are suitably protected for concurrent access.
|
||||
|
||||
Each variable is declared on a separate line and is immediately followed by a
|
||||
comment block describing the variable:
|
||||
|
||||
int ThisVariable; /* The current state of this */
|
||||
static int that_variable; /* The current state of that */
|
||||
|
||||
|
||||
### TYPES
|
||||
|
||||
All type names are lowercase with underscores between words and "\_t" appended
|
||||
to the end of the name, e.g., "cups\_this\_type\_t", "cups\_that\_type\_t", etc.
|
||||
Type names start with a prefix, typically "cups" or the name of the program,
|
||||
to avoid conflicts with system types. Private type names start with an
|
||||
underscore, e.g., "\_cups\_this\_t", "\_cups\_that\_t", etc.
|
||||
|
||||
Each type has a comment block immediately after the typedef:
|
||||
|
||||
typedef int cups_this_type_t; /* This type is for CUPS foobar options. */
|
||||
|
||||
|
||||
### STRUCTURES
|
||||
|
||||
All structure names are lowercase with underscores between words and "\_s"
|
||||
appended to the end of the name, e.g., "cups\_this\_s", "cups\_that\_s", etc.
|
||||
Structure names start with a prefix, typically "cups" or the name of the
|
||||
program, to avoid conflicts with system types. Private structure names start
|
||||
with an underscore, e.g., "\_cups\_this\_s", "\_cups\_that\_s", etc.
|
||||
|
||||
Each structure has a comment block immediately after the struct and each member
|
||||
is documented similar to the variable naming policy above:
|
||||
|
||||
struct cups_this_struct_s /* This structure is for CUPS foobar options. */
|
||||
{
|
||||
int this_member; /* Current state for this */
|
||||
int that_member; /* Current state for that */
|
||||
};
|
||||
|
||||
|
||||
### CONSTANTS
|
||||
|
||||
All constant names are uppercase with underscores between words, e.g.,
|
||||
"CUPS\_THIS\_CONSTANT", "CUPS\_THAT\_CONSTANT", etc. Constants begin with an
|
||||
uppercase prefix, typically "CUPS" or the program name. Private constants
|
||||
start with an underscore, e.g., "\_CUPS\_THIS\_CONSTANT", "\_CUPS\_THAT\_CONSTANT",
|
||||
etc.
|
||||
|
||||
Typed enumerations should be used whenever possible to allow for type checking
|
||||
by the compiler.
|
||||
|
||||
Comment blocks immediately follow each constant:
|
||||
|
||||
typedef enum cups_tray_e /* Tray enumerations */
|
||||
{
|
||||
CUPS_TRAY_THIS, /* This tray */
|
||||
CUPS_TRAY_THAT /* That tray */
|
||||
} cups_tray_t;
|
||||
|
||||
|
||||
## MAKEFILE GUIDELINES
|
||||
|
||||
The following is a guide to the makefile-based build system used by CUPS.
|
||||
These standards have been developed over the years to allow CUPS to be built on
|
||||
as many systems and environments as possible.
|
||||
|
||||
|
||||
### GENERAL ORGANIZATION
|
||||
|
||||
The CUPS source code is organized functionally into a top-level makefile,
|
||||
include file, and subdirectories each with their own makefile and dependencies
|
||||
files. The ".in" files are template files for the autoconf software and are
|
||||
used to generate a static version of the corresponding file.
|
||||
|
||||
|
||||
### MAKEFILE DOCUMENTATION
|
||||
|
||||
Each makefile starts with the standard CUPS header containing the description
|
||||
of the file, and CUPS copyright and license notice:
|
||||
|
||||
#
|
||||
# Makefile for ...
|
||||
#
|
||||
# Copyright 2016 by Apple Inc.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
#
|
||||
|
||||
|
||||
### PORTABLE MAKEFILE CONSTRUCTION
|
||||
|
||||
CUPS uses a common subset of make program syntax to ensure that the software
|
||||
can be compiled "out of the box" on as many systems as possible. The following
|
||||
is a list of assumptions we follow when constructing makefiles:
|
||||
|
||||
- Targets; we assume that the make program supports the notion of simple
|
||||
targets of the form "name:" that perform tab-indented commands that follow
|
||||
the target, e.g.:
|
||||
|
||||
target:
|
||||
TAB target commands
|
||||
|
||||
- Dependencies; we assume that the make program supports recursive dependencies
|
||||
on targets, e.g.:
|
||||
|
||||
target: foo bar
|
||||
TAB target commands
|
||||
|
||||
foo: bla
|
||||
TAB foo commands
|
||||
|
||||
bar:
|
||||
TAB bar commands
|
||||
|
||||
bla:
|
||||
TAB bla commands
|
||||
|
||||
- Variable Definition; we assume that the make program supports variable
|
||||
definition on the command-line or in the makefile using the following form:
|
||||
|
||||
name=value
|
||||
|
||||
- Variable Substitution; we assume that the make program supports variable
|
||||
substitution using the following forms:
|
||||
|
||||
- $(name); substitutes the value of "name",
|
||||
- $(name:.old=.new); substitutes the value of "name" with the filename
|
||||
extension ".old" changed to ".new",
|
||||
- $(MAKEFLAGS); substitutes the command-line options passed to the
|
||||
program without the leading hyphen (-),
|
||||
- $$; substitutes a single $ character,
|
||||
- $<; substitutes the current source file or dependency, and
|
||||
- $@; substitutes the current target name.
|
||||
|
||||
- Suffixes; we assume that the make program supports filename suffixes with
|
||||
assumed dependencies, e.g.:
|
||||
|
||||
.SUFFIXES: .c .o
|
||||
.c.o:
|
||||
TAB $(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
- Include Files; we assume that the make program supports the include
|
||||
directive, e.g.:
|
||||
|
||||
include ../Makedefs
|
||||
include Dependencies
|
||||
|
||||
- Comments; we assume that comments begin with a # character and proceed to the
|
||||
end of the current line.
|
||||
|
||||
- Line Length; we assume that there is no practical limit to the length of
|
||||
lines.
|
||||
|
||||
- Continuation of long lines; we assume that the \ character may be placed at
|
||||
the end of a line to concatenate two or more lines in a makefile to form a
|
||||
single long line.
|
||||
|
||||
- Shell; we assume a POSIX-compatible shell is present on the build system.
|
||||
|
||||
|
||||
### STANDARD VARIABLES
|
||||
|
||||
The following variables are defined in the "Makedefs" file generated by the
|
||||
autoconf software:
|
||||
|
||||
- ALL_CFLAGS; the combined C compiler options,
|
||||
- ALL_CXXFLAGS; the combined C++ compiler options,
|
||||
- AMANDIR; the administrative man page installation directory (section 8/1m
|
||||
depending on the platform),
|
||||
- AR; the library archiver command,
|
||||
- ARFLAGS; options for the library archiver command,
|
||||
- AWK; the local awk command,
|
||||
- BINDIR; the binary installation directory,
|
||||
- BUILDROOT; optional installation prefix (defaults to DSTROOT),
|
||||
- CC; the C compiler command,
|
||||
- CFLAGS; options for the C compiler command,
|
||||
- CHMOD; the chmod command,
|
||||
- CXX; the C++ compiler command,
|
||||
- CXXFLAGS; options for the C++ compiler command,
|
||||
- DATADIR; the data file installation directory,
|
||||
- DSO; the C shared library building command,
|
||||
- DSOXX; the C++ shared library building command,
|
||||
- DSOFLAGS; options for the shared library building command,
|
||||
- INCLUDEDIR; the public header file installation directory,
|
||||
- INSTALL; the install command,
|
||||
- INSTALL_BIN; the program installation command,
|
||||
- INSTALL_COMPDATA; the compressed data file installation command,
|
||||
- INSTALL_CONFIG; the configuration file installation command,
|
||||
- INSTALL_DATA; the data file installation command,
|
||||
- INSTALL_DIR; the directory installation command,
|
||||
- INSTALL_LIB; the library installation command,
|
||||
- INSTALL_MAN; the documentation installation command,
|
||||
- INSTALL_SCRIPT; the shell script installation command,
|
||||
- LD; the linker command,
|
||||
- LDFLAGS; options for the linker,
|
||||
- LIBDIR; the library installation directory,
|
||||
- LIBS; libraries for all programs,
|
||||
- LN; the ln command,
|
||||
- MAN1EXT; extension for man pages in section 1,
|
||||
- MAN3EXT; extension for man pages in section 3,
|
||||
- MAN5EXT; extension for man pages in section 5,
|
||||
- MAN7EXT; extension for man pages in section 7,
|
||||
- MAN8DIR; subdirectory for man pages in section 8,
|
||||
- MAN8EXT; extension for man pages in section 8,
|
||||
- MANDIR; the man page installation directory,
|
||||
- OPTIM; common compiler optimization options,
|
||||
- PRIVATEINCLUDE; the private header file installation directory,
|
||||
- RM; the rm command,
|
||||
- SHELL; the sh (POSIX shell) command,
|
||||
- STRIP; the strip command,
|
||||
- srcdir; the source directory.
|
||||
|
||||
|
||||
### STANDARD TARGETS
|
||||
|
||||
The following standard targets are defined in each makefile:
|
||||
|
||||
- all; creates all target programs, libraries, and documentation files,
|
||||
- clean; removes all target programs libraries, documentation files, and object
|
||||
files,
|
||||
- depend; generates automatic dependencies for any C or C++ source files (also
|
||||
see "DEPENDENCIES"),
|
||||
- distclean; removes autoconf-generated files in addition to those removed by
|
||||
the "clean" target,
|
||||
- install; installs all distribution files in their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT"),
|
||||
- install-data; installs all data files in their corresponding locations (also
|
||||
see "INSTALL/UNINSTALL SUPPORT"),
|
||||
- install-exec; installs all executable files in their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT"),
|
||||
- install-headers; installs all include files in their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT"),
|
||||
- install-libs; installs all library files in their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT"), and
|
||||
- uninstall; removes all distribution files from their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT").
|
||||
|
||||
|
||||
### OBJECT FILES
|
||||
|
||||
Object files (the result of compiling a C or C++ source file) have the
|
||||
extension ".o".
|
||||
|
||||
|
||||
### PROGRAMS
|
||||
|
||||
Program files are the result of linking object files and libraries together to
|
||||
form an executable file. A typical program target looks like:
|
||||
|
||||
program: $(OBJS)
|
||||
TAB echo Linking $@...
|
||||
TAB $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
|
||||
|
||||
### STATIC LIBRARIES
|
||||
|
||||
Static libraries have a prefix of "lib" and the extension ".a". A typical
|
||||
static library target looks like:
|
||||
|
||||
libname.a: $(OBJECTS)
|
||||
TAB echo Creating $@...
|
||||
TAB $(RM) $@
|
||||
TAB $(AR) $(ARFLAGS) $@ $(OBJECTS)
|
||||
TAB $(RANLIB) $@
|
||||
|
||||
### SHARED LIBRARIES
|
||||
|
||||
Shared libraries have a prefix of "lib" and the extension ".dylib" or ".so"
|
||||
depending on the operating system. A typical shared library is composed of
|
||||
several targets that look like:
|
||||
|
||||
libname.so: $(OBJECTS)
|
||||
TAB echo $(DSOCOMMAND) libname.so.$(DSOVERSION) ...
|
||||
TAB $(DSOCOMMAND) libname.so.$(DSOVERSION) $(OBJECTS)
|
||||
TAB $(RM) libname.so libname.so.$(DSOMAJOR)
|
||||
TAB $(LN) libname.so.$(DSOVERSION) libname.so.$(DSOMAJOR)
|
||||
TAB $(LN) libname.so.$(DSOVERSION) libname.so
|
||||
|
||||
libname.dylib: $(OBJECTS)
|
||||
TAB echo $(DSOCOMMAND) libname.$(DSOVERSION).dylib ...
|
||||
TAB $(DSOCOMMAND) libname.$(DSOVERSION).dylib \
|
||||
TAB TAB -install_name $(libdir)/libname.$(DSOMAJOR).dylib \
|
||||
TAB TAB -current_version libname.$(DSOVERSION).dylib \
|
||||
TAB TAB -compatibility_version $(DSOMAJOR).0 \
|
||||
TAB TAB $(OBJECTS) $(LIBS)
|
||||
TAB $(RM) libname.dylib
|
||||
TAB $(RM) libname.$(DSOMAJOR).dylib
|
||||
TAB $(LN) libname.$(DSOVERSION).dylib libname.$(DSOMAJOR).dylib
|
||||
TAB $(LN) libname.$(DSOVERSION).dylib libname.dylib
|
||||
|
||||
### DEPENDENCIES
|
||||
|
||||
Static dependencies are expressed in each makefile following the target, for
|
||||
example:
|
||||
|
||||
foo: bar
|
||||
|
||||
Static dependencies are only used when it is not possible to automatically
|
||||
generate them. Automatic dependencies are stored in a file named
|
||||
"Dependencies" and included at the end of the makefile. The following "depend"
|
||||
target rule is used to create the automatic dependencies:
|
||||
|
||||
depend:
|
||||
TAB $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
|
||||
|
||||
We regenerate the automatic dependencies on an macOS system and express any
|
||||
non-macOS dependencies statically in the makefile.
|
||||
|
||||
|
||||
### INSTALL/UNINSTALL SUPPORT
|
||||
|
||||
All makefiles contains install and uninstall rules which install or remove the
|
||||
corresponding software. These rules must use the $(BUILDROOT) variable as a
|
||||
prefix to any installation directory so that CUPS can be installed in a
|
||||
temporary location for packaging by programs like rpmbuild.
|
||||
|
||||
The $(INSTALL\_BIN), $(INSTALL\_COMPDATA), $(INSTALL\_CONFIG), $(INSTALL\_DATA),
|
||||
$(INSTALL\_DIR), $(INSTALL\_LIB), $(INSTALL\_MAN), and $(INSTALL\_SCRIPT) variables
|
||||
must be used when installing files so that the proper ownership and permissions
|
||||
are set on the installed files.
|
||||
|
||||
The $(RANLIB) command must be run on any static libraries after installation
|
||||
since the symbol table is invalidated when the library is copied on some
|
||||
platforms.
|
||||
|
||||
|
||||
+618
@@ -0,0 +1,618 @@
|
||||
Developing for CUPS
|
||||
===================
|
||||
|
||||
Please see the [Contributing to CUPS](CONTRIBUTING.md) file for information on
|
||||
contributing to the CUPS project.
|
||||
|
||||
|
||||
How To Contact The Developers
|
||||
-----------------------------
|
||||
|
||||
The CUPS mailing lists are the primary means of asking questions and informally
|
||||
discussing issues and feature requests with the CUPS developers and other
|
||||
experienced CUPS users and developers. The "cups" mailing list is intended for
|
||||
CUPS usage questions and new software announcements while the "cups-devel"
|
||||
mailing list provides a forum for CUPS developers and monitoring new bugs.
|
||||
|
||||
|
||||
Interfaces
|
||||
----------
|
||||
|
||||
CUPS interfaces, including the C APIs and command-line arguments, environment
|
||||
variables, configuration files, and output format, are stable across patch
|
||||
versions and are generally backwards-compatible with interfaces used in prior
|
||||
major and minor versions. However, program interfaces such as those used by
|
||||
the scheduler to run filter, port monitor, and backend processes for job
|
||||
processing should only be considered stable from the point of view of a
|
||||
filter, port monitor, or backend. Software that simulates the scheduler in
|
||||
order to run those programs outside of CUPS must necessarily be updated when
|
||||
the corresponding interface is changed in a subsequent CUPS release, otherwise
|
||||
undefined behavior can occur.
|
||||
|
||||
CUPS C APIs starting with an underscore (`_`) are considered to be private to
|
||||
CUPS and are not subject to the normal guarantees of stability between CUPS
|
||||
releases and must never be used in non-CUPS source code. Similarly,
|
||||
configuration and state files written by CUPS are considered private if a
|
||||
corresponding man page is not provided with the CUPS release. Never rely on
|
||||
undocumented files or formats when developing software for CUPS. Always use a
|
||||
published C API to access data stored in a file to avoid compatibility problems
|
||||
in the future.
|
||||
|
||||
|
||||
Build System
|
||||
------------
|
||||
|
||||
The CUPS build system uses GNU autoconf to tailor the library to the local
|
||||
operating system. Project files for the current release of Microsoft Visual
|
||||
Studio are also provided for Microsoft Windows®. To improve portability,
|
||||
makefiles must not make use of features unique to GNU make. See the MAKEFILE
|
||||
GUIDELINES section for a description of the allowed make features and makefile
|
||||
guidelines.
|
||||
|
||||
Additional GNU build programs such as GNU automake and GNU libtool must not be
|
||||
used. GNU automake produces non-portable makefiles which depend on GNU-
|
||||
specific extensions, and GNU libtool is not portable or reliable enough for
|
||||
CUPS.
|
||||
|
||||
|
||||
Version Numbering
|
||||
-----------------
|
||||
|
||||
CUPS uses a three-part version number separated by periods to represent the
|
||||
major, minor, and patch release numbers. Major release numbers indicate large
|
||||
design changes or backwards-incompatible changes to the CUPS API or CUPS
|
||||
Imaging API. Minor release numbers indicate new features and other smaller
|
||||
changes which are backwards-compatible with previous CUPS releases. Patch
|
||||
numbers indicate bug fixes to the previous feature or patch release.
|
||||
|
||||
> Note:
|
||||
>
|
||||
> When we talk about compatibility, we are talking about binary compatibility
|
||||
> for public APIs and output format compatibility for program interfaces.
|
||||
> Changes to configuration file formats or the default behavior of programs
|
||||
> are not generally considered incompatible as the upgrade process can
|
||||
> normally address such changes gracefully.
|
||||
|
||||
Production releases use the plain version numbers:
|
||||
|
||||
MAJOR.MINOR.PATCH
|
||||
1.0.0
|
||||
...
|
||||
1.1.0
|
||||
...
|
||||
1.1.23
|
||||
...
|
||||
2.0.0
|
||||
...
|
||||
2.1.0
|
||||
2.1.1
|
||||
2.1.2
|
||||
2.1.3
|
||||
|
||||
The first production release in a MAJOR.MINOR series (MAJOR.MINOR.0) is called
|
||||
a feature release. Feature releases are the only releases that may contain new
|
||||
features. Subsequent production releases in a MAJOR.MINOR series may only
|
||||
contain bug fixes.
|
||||
|
||||
Beta-test releases are identified by appending the letter B to the major and
|
||||
minor version numbers followed by the beta release number:
|
||||
|
||||
MAJOR.MINORbNUMBER
|
||||
2.2b1
|
||||
|
||||
Release candidates are identified by appending the letters RC to the major and
|
||||
minor version numbers followed by the release candidate number:
|
||||
|
||||
MAJOR.MINORrcNUMBER
|
||||
2.2rc1
|
||||
|
||||
|
||||
Coding Guidelines
|
||||
-----------------
|
||||
|
||||
Contributed source code must follow the guidelines below. While the examples
|
||||
are for C and C++ source files, source code for other languages should conform
|
||||
to the same guidelines as allowed by the language.
|
||||
|
||||
|
||||
### Source Files
|
||||
|
||||
All source files names must be 16 characters or less in length to ensure
|
||||
compatibility with older UNIX filesystems. Source files containing functions
|
||||
have an extension of ".c" for C and ".cxx" for C++ source files. All other
|
||||
"include" files have an extension of ".h". Tabs are set to 8 characters or
|
||||
columns.
|
||||
|
||||
> Note:
|
||||
>
|
||||
> The ".cxx" extension is used because it is the only common C++ extension
|
||||
> between Linux, macOS, UNIX, and Windows.
|
||||
|
||||
The top of each source file contains a header giving the purpose or nature of
|
||||
the source file and the copyright and licensing notice:
|
||||
|
||||
/*
|
||||
* Description of file contents.
|
||||
*
|
||||
* Copyright 2017 by Apple Inc.
|
||||
*
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
|
||||
### Header Files
|
||||
|
||||
All public header files must include the "versioning.h" header file, or a header
|
||||
that does so. Function declarations are then "decorated" with the correct
|
||||
`_CUPS_API_major_minor` macro to define its availability based on the build
|
||||
environment, for example:
|
||||
|
||||
extern int cupsDoThis(int foo, int bar) _CUPS_API_2_2;
|
||||
|
||||
Private API header files must be named with the suffix "-private", for example
|
||||
the "cups.h" header file defines all of the public CUPS APIs while the
|
||||
"cups-private.h" header file defines all of the private CUPS APIs as well.
|
||||
Typically a private API header file will include the corresponding public API
|
||||
header file.
|
||||
|
||||
|
||||
### Comments
|
||||
|
||||
All source code utilizes block comments within functions to describe the
|
||||
operations being performed by a group of statements; avoid putting a comment
|
||||
per line unless absolutely necessary, and then consider refactoring the code
|
||||
so that it is not necessary. C source files use the block comment format
|
||||
("/* comment */") since many vendor C compilers still do not support C99/C++
|
||||
comments ("// comment"):
|
||||
|
||||
/*
|
||||
* Clear the state array before we begin...
|
||||
*/
|
||||
|
||||
for (i = 0; i < (sizeof(array) / sizeof(sizeof(array[0])); i ++)
|
||||
array[i] = CUPS_STATE_IDLE;
|
||||
|
||||
/*
|
||||
* Wait for state changes on another thread...
|
||||
*/
|
||||
|
||||
do
|
||||
{
|
||||
for (i = 0; i < (sizeof(array) / sizeof(sizeof(array[0])); i ++)
|
||||
if (array[i] != CUPS_STATE_IDLE)
|
||||
break;
|
||||
|
||||
if (i == (sizeof(array) / sizeof(array[0])))
|
||||
sleep(1);
|
||||
} while (i == (sizeof(array) / sizeof(array[0])));
|
||||
|
||||
|
||||
### Indentation
|
||||
|
||||
All code blocks enclosed by brackets begin with the opening brace on a new
|
||||
line. The code then follows starting on a new line after the brace and is
|
||||
indented 2 spaces. The closing brace is then placed on a new line following
|
||||
the code at the original indentation:
|
||||
|
||||
{
|
||||
int i; /* Looping var */
|
||||
|
||||
/*
|
||||
* Process foobar values from 0 to 999...
|
||||
*/
|
||||
|
||||
for (i = 0; i < 1000; i ++)
|
||||
{
|
||||
do_this(i);
|
||||
do_that(i);
|
||||
}
|
||||
}
|
||||
|
||||
Single-line statements following "do", "else", "for", "if", and "while" are
|
||||
indented 2 spaces as well. Blocks of code in a "switch" block are indented 4
|
||||
spaces after each "case" and "default" case:
|
||||
|
||||
switch (array[i])
|
||||
{
|
||||
case CUPS_STATE_IDLE :
|
||||
do_this(i);
|
||||
do_that(i);
|
||||
break;
|
||||
|
||||
default :
|
||||
do_nothing(i);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
### Spacing
|
||||
|
||||
A space follows each reserved word such as `if`, `while`, etc. Spaces are not
|
||||
inserted between a function name and the arguments in parenthesis.
|
||||
|
||||
|
||||
### Return Values
|
||||
|
||||
Parenthesis surround values returned from a function:
|
||||
|
||||
return (CUPS_STATE_IDLE);
|
||||
|
||||
|
||||
### Functions
|
||||
|
||||
Functions with a global scope have a lowercase prefix followed by capitalized
|
||||
words, e.g., `cupsDoThis`, `cupsDoThat`, `cupsDoSomethingElse`, etc. Private
|
||||
global functions begin with a leading underscore, e.g., `_cupsDoThis`,
|
||||
`_cupsDoThat`, etc.
|
||||
|
||||
Functions with a local scope are declared static with lowercase names and
|
||||
underscores between words, e.g., `do_this`, `do_that`, `do_something_else`, etc.
|
||||
|
||||
Each function begins with a comment header describing what the function does,
|
||||
the possible input limits (if any), the possible output values (if any), and
|
||||
any special information needed:
|
||||
|
||||
/*
|
||||
* 'do_this()' - Compute y = this(x).
|
||||
*
|
||||
* Notes: none.
|
||||
*/
|
||||
|
||||
static float /* O - Inverse power value, 0.0 <= y <= 1.1 */
|
||||
do_this(float x) /* I - Power value (0.0 <= x <= 1.1) */
|
||||
{
|
||||
...
|
||||
return (y);
|
||||
}
|
||||
|
||||
Return/output values are indicated using an "O" prefix, input values are
|
||||
indicated using the "I" prefix, and values that are both input and output use
|
||||
the "IO" prefix for the corresponding in-line comment.
|
||||
|
||||
The Mini-XML documentation generator also understands the following special
|
||||
text in the function description comment:
|
||||
|
||||
@deprecated@ - Marks the function as deprecated (not recommended
|
||||
for new development and scheduled for removal)
|
||||
@since CUPS version@ - Marks the function as new in the specified version
|
||||
of CUPS.
|
||||
@private@ - Marks the function as private (same as starting the
|
||||
function name with an underscore)
|
||||
|
||||
|
||||
### Variables
|
||||
|
||||
Variables with a global scope are capitalized, e.g., `ThisVariable`,
|
||||
`ThatVariable`, `ThisStateVariable`, etc. Globals in CUPS libraries are either
|
||||
part of the per-thread global values managed by the `_cupsGlobals` function
|
||||
or are suitably protected for concurrent access. Global variables should be
|
||||
replaced by function arguments whenever possible.
|
||||
|
||||
Variables with a local scope are lowercase with underscores between words,
|
||||
e.g., `this_variable`, `that_variable`, etc. Any "local global" variables
|
||||
shared by functions within a source file are declared static. As for global
|
||||
variables, local static variables are suitably protected for concurrent access.
|
||||
|
||||
Each variable is declared on a separate line and is immediately followed by a
|
||||
comment block describing the variable:
|
||||
|
||||
int ThisVariable; /* The current state of this */
|
||||
static int that_variable; /* The current state of that */
|
||||
|
||||
|
||||
### Types
|
||||
|
||||
All type names are lowercase with underscores between words and `_t` appended
|
||||
to the end of the name, e.g., `cups_this_type_t`, `cups_that_type_t`, etc.
|
||||
Type names start with a prefix, typically `cups` or the name of the program,
|
||||
to avoid conflicts with system types. Private type names start with an
|
||||
underscore, e.g., `_cups_this_t`, `_cups_that_t`, etc.
|
||||
|
||||
Each type has a comment block immediately after the typedef:
|
||||
|
||||
typedef int cups_this_type_t; /* This type is for CUPS foobar options. */
|
||||
|
||||
|
||||
### Structures
|
||||
|
||||
All structure names are lowercase with underscores between words and `_s`
|
||||
appended to the end of the name, e.g., `cups_this_s`, `cups_that_s`, etc.
|
||||
Structure names start with a prefix, typically `cups` or the name of the
|
||||
program, to avoid conflicts with system types. Private structure names start
|
||||
with an underscore, e.g., `_cups_this_s`, `_cups_that_s`, etc.
|
||||
|
||||
Each structure has a comment block immediately after the struct and each member
|
||||
is documented similar to the variable naming policy above:
|
||||
|
||||
struct cups_this_struct_s /* This structure is for CUPS foobar options. */
|
||||
{
|
||||
int this_member; /* Current state for this */
|
||||
int that_member; /* Current state for that */
|
||||
};
|
||||
|
||||
|
||||
### Constants
|
||||
|
||||
All constant names are uppercase with underscores between words, e.g.,
|
||||
`CUPS_THIS_CONSTANT`, `CUPS_THAT_CONSTANT`, etc. Constants begin with an
|
||||
uppercase prefix, typically `CUPS_` or the program or type name. Private
|
||||
constants start with an underscore, e.g., `_CUPS_THIS_CONSTANT`,
|
||||
`_CUPS_THAT_CONSTANT`, etc.
|
||||
|
||||
Typed enumerations should be used whenever possible to allow for type checking
|
||||
by the compiler.
|
||||
|
||||
Comment blocks immediately follow each constant:
|
||||
|
||||
typedef enum cups_tray_e /* Tray enumerations */
|
||||
{
|
||||
CUPS_TRAY_THIS, /* This tray */
|
||||
CUPS_TRAY_THAT /* That tray */
|
||||
} cups_tray_t;
|
||||
|
||||
|
||||
## Makefile Guidelines
|
||||
|
||||
The following is a guide to the makefile-based build system used by CUPS.
|
||||
These standards have been developed over the years to allow CUPS to be built on
|
||||
as many systems and environments as possible.
|
||||
|
||||
|
||||
### General Organization
|
||||
|
||||
The CUPS source code is organized functionally into a top-level makefile,
|
||||
include file, and subdirectories each with their own makefile and dependencies
|
||||
files. The ".in" files are template files for the autoconf software and are
|
||||
used to generate a static version of the corresponding file.
|
||||
|
||||
|
||||
### Makefile Documentation
|
||||
|
||||
Each makefile starts with the standard CUPS header containing the description
|
||||
of the file, and CUPS copyright and license notice:
|
||||
|
||||
#
|
||||
# Makefile for ...
|
||||
#
|
||||
# Copyright 2017 by Apple Inc.
|
||||
#
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
# information.
|
||||
#
|
||||
|
||||
|
||||
### Portable Makefile Construction
|
||||
|
||||
CUPS uses a common subset of make program syntax to ensure that the software
|
||||
can be compiled "out of the box" on as many systems as possible. The following
|
||||
is a list of assumptions we follow when constructing makefiles:
|
||||
|
||||
- Targets; we assume that the make program supports the notion of simple
|
||||
targets of the form "name:" that perform tab-indented commands that follow
|
||||
the target, e.g.:
|
||||
|
||||
target:
|
||||
TAB target commands
|
||||
|
||||
- Dependencies; we assume that the make program supports recursive dependencies
|
||||
on targets, e.g.:
|
||||
|
||||
target: foo bar
|
||||
TAB target commands
|
||||
|
||||
foo: bla
|
||||
TAB foo commands
|
||||
|
||||
bar:
|
||||
TAB bar commands
|
||||
|
||||
bla:
|
||||
TAB bla commands
|
||||
|
||||
- Variable Definition; we assume that the make program supports variable
|
||||
definition on the command-line or in the makefile using the following form:
|
||||
|
||||
name=value
|
||||
|
||||
- Variable Substitution; we assume that the make program supports variable
|
||||
substitution using the following forms:
|
||||
|
||||
- `$(name)`; substitutes the value of "name",
|
||||
- `$(name:.old=.new)`; substitutes the value of "name" with the filename
|
||||
extension ".old" changed to ".new",
|
||||
- `$(MAKEFLAGS)`; substitutes the command-line options passed to the
|
||||
program without the leading hyphen (-),
|
||||
- `$$`; substitutes a single $ character,
|
||||
- `$<`; substitutes the current source file or dependency, and
|
||||
- `$@`; substitutes the current target name.
|
||||
|
||||
- Suffixes; we assume that the make program supports filename suffixes with
|
||||
assumed dependencies, e.g.:
|
||||
|
||||
.SUFFIXES: .c .o
|
||||
.c.o:
|
||||
TAB $(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
- Include Files; we assume that the make program supports the include
|
||||
directive, e.g.:
|
||||
|
||||
include ../Makedefs
|
||||
include Dependencies
|
||||
|
||||
- Comments; we assume that comments begin with a # character and proceed to the
|
||||
end of the current line.
|
||||
|
||||
- Line Length; we assume that there is no practical limit to the length of
|
||||
lines.
|
||||
|
||||
- Continuation of long lines; we assume that the `\` character may be placed at
|
||||
the end of a line to concatenate two or more lines in a makefile to form a
|
||||
single long line.
|
||||
|
||||
- Shell; we assume a POSIX-compatible shell is present on the build system.
|
||||
|
||||
|
||||
### Standard Variables
|
||||
|
||||
The following variables are defined in the "Makedefs" file generated by the
|
||||
autoconf software:
|
||||
|
||||
- `ALL_CFLAGS`; the combined C compiler options,
|
||||
- `ALL_CXXFLAGS`; the combined C++ compiler options,
|
||||
- `AMANDIR`; the administrative man page installation directory (section 8/1m
|
||||
depending on the platform),
|
||||
- `AR`; the library archiver command,
|
||||
- `ARFLAGS`; options for the library archiver command,
|
||||
- `AWK`; the local awk command,
|
||||
- `BINDIR`; the binary installation directory,
|
||||
- `BUILDROOT`; optional installation prefix (defaults to DSTROOT),
|
||||
- `CC`; the C compiler command,
|
||||
- `CFLAGS`; options for the C compiler command,
|
||||
- `CHMOD`; the chmod command,
|
||||
- `CXX`; the C++ compiler command,
|
||||
- `CXXFLAGS`; options for the C++ compiler command,
|
||||
- `DATADIR`; the data file installation directory,
|
||||
- `DSO`; the C shared library building command,
|
||||
- `DSOXX`; the C++ shared library building command,
|
||||
- `DSOFLAGS`; options for the shared library building command,
|
||||
- `INCLUDEDIR`; the public header file installation directory,
|
||||
- `INSTALL`; the install command,
|
||||
- `INSTALL_BIN`; the program installation command,
|
||||
- `INSTALL_COMPDATA`; the compressed data file installation command,
|
||||
- `INSTALL_CONFIG`; the configuration file installation command,
|
||||
- `INSTALL_DATA`; the data file installation command,
|
||||
- `INSTALL_DIR`; the directory installation command,
|
||||
- `INSTALL_LIB`; the library installation command,
|
||||
- `INSTALL_MAN`; the documentation installation command,
|
||||
- `INSTALL_SCRIPT`; the shell script installation command,
|
||||
- `LD`; the linker command,
|
||||
- `LDFLAGS`; options for the linker,
|
||||
- `LIBDIR`; the library installation directory,
|
||||
- `LIBS`; libraries for all programs,
|
||||
- `LN`; the ln command,
|
||||
- `MAN1EXT`; extension for man pages in section 1,
|
||||
- `MAN3EXT`; extension for man pages in section 3,
|
||||
- `MAN5EXT`; extension for man pages in section 5,
|
||||
- `MAN7EXT`; extension for man pages in section 7,
|
||||
- `MAN8DIR`; subdirectory for man pages in section 8,
|
||||
- `MAN8EXT`; extension for man pages in section 8,
|
||||
- `MANDIR`; the man page installation directory,
|
||||
- `OPTIM`; common compiler optimization options,
|
||||
- `PRIVATEINCLUDE`; the private header file installation directory,
|
||||
- `RM`; the rm command,
|
||||
- `SHELL`; the sh (POSIX shell) command,
|
||||
- `STRIP`; the strip command,
|
||||
- `srcdir`; the source directory.
|
||||
|
||||
|
||||
### Standard Targets
|
||||
|
||||
The following standard targets are defined in each makefile:
|
||||
|
||||
- `all`; creates all target programs, libraries, and documentation files,
|
||||
- `clean`; removes all target programs libraries, documentation files, and object
|
||||
files,
|
||||
- `depend`; generates automatic dependencies for any C or C++ source files (also
|
||||
see "DEPENDENCIES"),
|
||||
- `distclean`; removes autoconf-generated files in addition to those removed by
|
||||
the "clean" target,
|
||||
- `install`; installs all distribution files in their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT"),
|
||||
- `install-data`; installs all data files in their corresponding locations (also
|
||||
see "INSTALL/UNINSTALL SUPPORT"),
|
||||
- `install-exec`; installs all executable files in their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT"),
|
||||
- `install-headers`; installs all include files in their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT"),
|
||||
- `install-libs`; installs all library files in their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT"), and
|
||||
- `uninstall`; removes all distribution files from their corresponding locations
|
||||
(also see "INSTALL/UNINSTALL SUPPORT").
|
||||
|
||||
|
||||
### Object Files
|
||||
|
||||
Object files (the result of compiling a C or C++ source file) have the
|
||||
extension ".o".
|
||||
|
||||
|
||||
### Programs
|
||||
|
||||
Program files are the result of linking object files and libraries together to
|
||||
form an executable file. A typical program target looks like:
|
||||
|
||||
program: $(OBJS)
|
||||
TAB echo Linking $@...
|
||||
TAB $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
|
||||
|
||||
### Static Libraries
|
||||
|
||||
Static libraries have a prefix of "lib" and the extension ".a". A typical
|
||||
static library target looks like:
|
||||
|
||||
libname.a: $(OBJECTS)
|
||||
TAB echo Creating $@...
|
||||
TAB $(RM) $@
|
||||
TAB $(AR) $(ARFLAGS) $@ $(OBJECTS)
|
||||
TAB $(RANLIB) $@
|
||||
|
||||
### Shared Libraries
|
||||
|
||||
Shared libraries have a prefix of "lib" and the extension ".dylib" or ".so"
|
||||
depending on the operating system. A typical shared library is composed of
|
||||
several targets that look like:
|
||||
|
||||
libname.so: $(OBJECTS)
|
||||
TAB echo $(DSOCOMMAND) libname.so.$(DSOVERSION) ...
|
||||
TAB $(DSOCOMMAND) libname.so.$(DSOVERSION) $(OBJECTS)
|
||||
TAB $(RM) libname.so libname.so.$(DSOMAJOR)
|
||||
TAB $(LN) libname.so.$(DSOVERSION) libname.so.$(DSOMAJOR)
|
||||
TAB $(LN) libname.so.$(DSOVERSION) libname.so
|
||||
|
||||
libname.dylib: $(OBJECTS)
|
||||
TAB echo $(DSOCOMMAND) libname.$(DSOVERSION).dylib ...
|
||||
TAB $(DSOCOMMAND) libname.$(DSOVERSION).dylib \
|
||||
TAB TAB -install_name $(libdir)/libname.$(DSOMAJOR).dylib \
|
||||
TAB TAB -current_version libname.$(DSOVERSION).dylib \
|
||||
TAB TAB -compatibility_version $(DSOMAJOR).0 \
|
||||
TAB TAB $(OBJECTS) $(LIBS)
|
||||
TAB $(RM) libname.dylib
|
||||
TAB $(RM) libname.$(DSOMAJOR).dylib
|
||||
TAB $(LN) libname.$(DSOVERSION).dylib libname.$(DSOMAJOR).dylib
|
||||
TAB $(LN) libname.$(DSOVERSION).dylib libname.dylib
|
||||
|
||||
### Dependencies
|
||||
|
||||
Static dependencies are expressed in each makefile following the target, for
|
||||
example:
|
||||
|
||||
foo: bar
|
||||
|
||||
Static dependencies are only used when it is not possible to automatically
|
||||
generate them. Automatic dependencies are stored in a file named
|
||||
"Dependencies" and included at the end of the makefile. The following "depend"
|
||||
target rule is used to create the automatic dependencies:
|
||||
|
||||
depend:
|
||||
TAB $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
|
||||
|
||||
We regenerate the automatic dependencies on an macOS system and express any
|
||||
non-macOS dependencies statically in the makefile.
|
||||
|
||||
|
||||
### Install/Uninstall Support
|
||||
|
||||
All makefiles contains install and uninstall rules which install or remove the
|
||||
corresponding software. These rules must use the $(BUILDROOT) variable as a
|
||||
prefix to any installation directory so that CUPS can be installed in a
|
||||
temporary location for packaging by programs like rpmbuild.
|
||||
|
||||
The `INSTALL_BIN`, `INSTALL_COMPDATA`, `INSTALL_CONFIG`, `INSTALL_DATA`,
|
||||
`INSTALL_DIR`, `INSTALL_LIB`, `INSTALL_MAN`, and `INSTALL_SCRIPT` variables
|
||||
must be used when installing files so that the proper ownership and permissions
|
||||
are set on the installed files.
|
||||
|
||||
The `$(RANLIB)` command must be run on any static libraries after installation
|
||||
since the symbol table is invalidated when the library is copied on some
|
||||
platforms.
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
INSTALL - CUPS v2.2.6 - 2017-11-01
|
||||
INSTALL - CUPS v2.3b5 - 2018-06-05
|
||||
==================================
|
||||
|
||||
This file describes how to compile and install CUPS from source code. For more
|
||||
|
||||
+202
@@ -0,0 +1,202 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-965
@@ -1,965 +0,0 @@
|
||||
CUPS License Agreement
|
||||
|
||||
Copyright 2007-2016 by Apple Inc.
|
||||
1 Infinite Loop
|
||||
Cupertino, CA 95014 USA
|
||||
|
||||
WWW: http://www.cups.org/
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
|
||||
CUPS(tm) is provided under the GNU General Public License ("GPL")
|
||||
and GNU Library General Public License ("LGPL"), Version 2, with an
|
||||
exception for Apple operating systems. A copy of the exception and
|
||||
licenses follow this introduction.
|
||||
|
||||
The GNU LGPL applies to the CUPS and CUPS Imaging libraries
|
||||
located in the "cups" and "filter" subdirectories of the CUPS
|
||||
source distribution and the files in the "test" subdirectory. The
|
||||
GNU GPL applies to the remainder of the CUPS distribution.
|
||||
|
||||
For those not familiar with the GNU GPL, the license basically
|
||||
allows you to:
|
||||
|
||||
- Use the CUPS software at no charge.
|
||||
- Distribute verbatim copies of the software in source or
|
||||
binary form.
|
||||
- Sell verbatim copies of the software for a media fee, or
|
||||
sell support for the software.
|
||||
|
||||
What this license *does not* allow you to do is make changes or
|
||||
add features to CUPS and then sell a binary distribution without
|
||||
source code. You must provide source for any changes or additions
|
||||
to the software, and all code must be provided under the GPL or
|
||||
LGPL as appropriate. The only exceptions to this are the portions
|
||||
of the CUPS software covered by the Apple operating system
|
||||
license exceptions outlined later in this license agreement.
|
||||
|
||||
The GNU LGPL relaxes the "link-to" restriction, allowing you to
|
||||
develop applications that use the CUPS and CUPS Imaging libraries
|
||||
under other licenses and/or conditions as appropriate for your
|
||||
application, driver, or filter.
|
||||
|
||||
|
||||
LICENSE EXCEPTIONS
|
||||
|
||||
In addition, as the copyright holder of CUPS, Apple Inc. grants
|
||||
the following special exception:
|
||||
|
||||
1. Apple Operating System Development License Exception;
|
||||
|
||||
a. Software that is developed by any person or entity
|
||||
for an Apple Operating System ("Apple OS-Developed
|
||||
Software"), including but not limited to Apple and
|
||||
third party printer drivers, filters, and backends
|
||||
for an Apple Operating System, that is linked to the
|
||||
CUPS imaging library or based on any sample filters
|
||||
or backends provided with CUPS shall not be
|
||||
considered to be a derivative work or collective work
|
||||
based on the CUPS program and is exempt from the
|
||||
mandatory source code release clauses of the GNU GPL.
|
||||
You may therefore distribute linked combinations of
|
||||
the CUPS imaging library with Apple OS-Developed
|
||||
Software without releasing the source code of the
|
||||
Apple OS-Developed Software. You may also use sample
|
||||
filters and backends provided with CUPS to develop
|
||||
Apple OS-Developed Software without releasing the
|
||||
source code of the Apple OS-Developed Software.
|
||||
|
||||
b. An Apple Operating System means any operating system
|
||||
software developed and/or marketed by Apple Inc.,
|
||||
including but not limited to all existing releases and
|
||||
versions of Apple's Darwin, iOS, macOS, macOS Server, and
|
||||
tvOS products and all follow-on releases and future
|
||||
versions thereof.
|
||||
|
||||
c. This exception is only available for Apple
|
||||
OS-Developed Software and does not apply to software
|
||||
that is distributed for use on other operating
|
||||
systems.
|
||||
|
||||
d. All CUPS software that falls under this license
|
||||
exception have the following text at the top of each
|
||||
source file:
|
||||
|
||||
This file is subject to the Apple OS-Developed
|
||||
Software exception.
|
||||
|
||||
No developer is required to provide this exception in a derived
|
||||
work.
|
||||
|
||||
|
||||
KERBEROS SUPPORT CODE
|
||||
|
||||
The Kerberos support code ("KSC") is copyright 2006 by Jelmer
|
||||
Vernooij and is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the author or Apple Inc. be held
|
||||
liable for any damages arising from the use of the KSC.
|
||||
|
||||
Sources files containing KSC have the following text at the top
|
||||
of each source file:
|
||||
|
||||
This file contains Kerberos support code, copyright 2006 by
|
||||
Jelmer Vernooij.
|
||||
|
||||
The KSC copyright and license apply only to Kerberos-related
|
||||
feature code in CUPS. Such code is typically conditionally
|
||||
compiled based on the present of the HAVE_GSSAPI preprocessor
|
||||
definition.
|
||||
|
||||
Permission is granted to anyone to use the KSC for any purpose,
|
||||
including commercial applications, and to alter it and
|
||||
redistribute it freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of the KSC must not be misrepresented; you
|
||||
must not claim that you wrote the original software. If
|
||||
you use the KSC in a product, an acknowledgment in the
|
||||
product documentation would be appreciated but is not
|
||||
required.
|
||||
|
||||
2. Altered source versions must be plainly marked as such,
|
||||
and must not be misrepresented as being the original
|
||||
software.
|
||||
|
||||
3. This notice may not be removed or altered from any source
|
||||
distribution.
|
||||
|
||||
|
||||
TRADEMARKS
|
||||
|
||||
CUPS and the CUPS logo (the "CUPS Marks") are trademarks of Apple
|
||||
Inc. Apple grants you a non-exclusive and non-transferable right
|
||||
to use the CUPS Marks in any direct port or binary distribution
|
||||
incorporating CUPS software and in any promotional material
|
||||
therefor. You agree that your products will meet the highest
|
||||
levels of quality and integrity for similar goods, not be unlawful,
|
||||
and be developed, manufactured, and distributed in compliance with
|
||||
this license. You will not interfere with Apple's rights in the
|
||||
CUPS Marks, and all use of the CUPS Marks shall inure to the
|
||||
benefit of Apple. This license does not apply to use of the CUPS
|
||||
Marks in a derivative products, which requires prior written
|
||||
permission from Apple Inc.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if
|
||||
you distribute copies of the library, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link a program with the library, you must provide
|
||||
complete object files to the recipients so that they can relink them
|
||||
with the library, after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
|
||||
The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
|
||||
Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
|
||||
However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, while the latter only
|
||||
works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
General Public License (also called "this License"). Each licensee is
|
||||
addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also compile or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
c) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
d) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the source code distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Library General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
# Copyright 2007-2017 by Apple Inc.
|
||||
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# missing or damaged, see the license at "http://www.cups.org/".
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
#
|
||||
|
||||
#
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
# Copyright 2007-2016 by Apple Inc.
|
||||
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# missing or damaged, see the license at "http://www.cups.org/".
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
#
|
||||
|
||||
include Makedefs
|
||||
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
CUPS
|
||||
|
||||
Copyright © 2007-2018 by Apple Inc.
|
||||
Copyright © 1997-2007 by Easy Software Products.
|
||||
|
||||
CUPS and the CUPS logo are trademarks of Apple Inc.
|
||||
|
||||
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
|
||||
|
||||
The Kerberos support code ("KSC") is copyright 2006 by Jelmer Vernooij and is
|
||||
provided 'as-is', without any express or implied warranty. In no event will the
|
||||
author or Apple Inc. be held liable for any damages arising from the use of the
|
||||
KSC.
|
||||
|
||||
Sources files containing KSC have the following text at the top of each source
|
||||
file:
|
||||
|
||||
This file contains Kerberos support code, copyright 2006 by Jelmer Vernooij.
|
||||
|
||||
The KSC copyright and license apply only to Kerberos-related feature code in
|
||||
CUPS. Such code is typically conditionally compiled based on the present of the
|
||||
HAVE_GSSAPI preprocessor definition.
|
||||
|
||||
Permission is granted to anyone to use the KSC for any purpose, including
|
||||
commercial applications, and to alter it and redistribute it freely, subject to
|
||||
the following restrictions:
|
||||
|
||||
1. The origin of the KSC must not be misrepresented; you must not claim that
|
||||
you wrote the original software. If you use the KSC in a product, an
|
||||
acknowledgment in the product documentation would be appreciated but is not
|
||||
required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
+12
-11
@@ -1,4 +1,4 @@
|
||||
README - CUPS v2.2.6 - 2017-11-01
|
||||
README - CUPS v2.3b5 - 2018-06-05
|
||||
=================================
|
||||
|
||||
Looking for compile instructions? Read the file `INSTALL.md` instead...
|
||||
@@ -22,8 +22,8 @@ included with CUPS to support many Dymo, EPSON, HP, Intellitech, OKIDATA, and
|
||||
Zebra printers. Many more drivers are available online and (in some cases) on
|
||||
the driver CD-ROM that came with your printer.
|
||||
|
||||
CUPS is licensed under the GNU General Public License and GNU Library General
|
||||
Public License versions 2. See the file "LICENSE.txt" for more information.
|
||||
CUPS is licensed under the Apache License Version 2.0. See the file
|
||||
"LICENSE" for more information.
|
||||
|
||||
|
||||
READING THE DOCUMENTATION
|
||||
@@ -148,13 +148,14 @@ This will prevent the filters from misinterpreting your print file.
|
||||
LEGAL STUFF
|
||||
-----------
|
||||
|
||||
CUPS is copyright © 2007-2017 by Apple Inc. CUPS and the CUPS logo are
|
||||
trademarks of Apple Inc.
|
||||
Copyright © 2007-2018 by Apple Inc.
|
||||
Copyright © 1997-2007 by Easy Software Products.
|
||||
|
||||
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
|
||||
CUPS is provided under the terms of the Apache License, Version 2.0. A copy of
|
||||
this license can be found in the file `LICENSE`. Additional legal information
|
||||
is provided in the file `NOTICE`.
|
||||
|
||||
CUPS is provided under the terms of version 2 of the GNU General Public License
|
||||
and GNU Library General Public License. This program is distributed in the hope
|
||||
that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
`doc/help/license.html` or `LICENSE.txt` files for more information.
|
||||
Unless required by applicable law or agreed to in writing, software distributed
|
||||
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||
CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations under the License.
|
||||
|
||||
+39
-40
@@ -1,53 +1,53 @@
|
||||
ipp.o: ipp.c backend-private.h ../cups/cups-private.h \
|
||||
../cups/string-private.h ../config.h ../cups/debug-private.h \
|
||||
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
|
||||
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
|
||||
../cups/ipp-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
|
||||
../cups/http.h ../cups/language.h ../cups/pwg.h ../cups/http-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
|
||||
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
|
||||
../cups/ppd-private.h ../cups/ppd.h ../cups/raster.h
|
||||
../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h \
|
||||
../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h \
|
||||
../cups/raster.h
|
||||
lpd.o: lpd.c ../cups/http-private.h ../config.h ../cups/language.h \
|
||||
../cups/array.h ../cups/versioning.h ../cups/http.h \
|
||||
../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h \
|
||||
backend-private.h ../cups/cups-private.h ../cups/string-private.h \
|
||||
../cups/debug-private.h ../cups/array-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
|
||||
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
|
||||
../cups/ipp-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
|
||||
../cups/pwg.h backend-private.h ../cups/cups-private.h \
|
||||
../cups/string-private.h ../cups/debug-private.h \
|
||||
../cups/array-private.h ../cups/language-private.h ../cups/transcode.h \
|
||||
../cups/pwg-private.h ../cups/thread-private.h ../cups/snmp-private.h \
|
||||
../cups/backend.h ../cups/sidechannel.h
|
||||
dnssd.o: dnssd.c backend-private.h ../cups/cups-private.h \
|
||||
../cups/string-private.h ../config.h ../cups/debug-private.h \
|
||||
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
|
||||
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
|
||||
../cups/ipp-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
|
||||
../cups/http.h ../cups/language.h ../cups/pwg.h ../cups/http-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
|
||||
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
|
||||
../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h \
|
||||
../cups/sidechannel.h
|
||||
snmp.o: snmp.c backend-private.h ../cups/cups-private.h \
|
||||
../cups/string-private.h ../config.h ../cups/debug-private.h \
|
||||
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
|
||||
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
|
||||
../cups/ipp-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
|
||||
../cups/http.h ../cups/language.h ../cups/pwg.h ../cups/http-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
|
||||
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
|
||||
../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h \
|
||||
../cups/sidechannel.h
|
||||
socket.o: socket.c ../cups/http-private.h ../config.h ../cups/language.h \
|
||||
../cups/array.h ../cups/versioning.h ../cups/http.h \
|
||||
../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h \
|
||||
backend-private.h ../cups/cups-private.h ../cups/string-private.h \
|
||||
../cups/debug-private.h ../cups/array-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
|
||||
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
|
||||
../cups/ipp-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
|
||||
../cups/pwg.h backend-private.h ../cups/cups-private.h \
|
||||
../cups/string-private.h ../cups/debug-private.h \
|
||||
../cups/array-private.h ../cups/language-private.h ../cups/transcode.h \
|
||||
../cups/pwg-private.h ../cups/thread-private.h ../cups/snmp-private.h \
|
||||
../cups/backend.h ../cups/sidechannel.h
|
||||
test1284.o: test1284.c ../cups/string-private.h ../config.h ieee1284.c \
|
||||
backend-private.h ../cups/cups-private.h ../cups/debug-private.h \
|
||||
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
|
||||
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
|
||||
../cups/ipp-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
|
||||
../cups/http.h ../cups/language.h ../cups/pwg.h ../cups/http-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
|
||||
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
|
||||
../cups/ppd-private.h ../cups/ppd.h ../cups/raster.h
|
||||
../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h \
|
||||
../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h \
|
||||
../cups/raster.h
|
||||
testbackend.o: testbackend.c ../cups/string-private.h ../config.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
|
||||
../cups/http.h ../cups/array.h ../cups/language.h ../cups/pwg.h \
|
||||
@@ -55,18 +55,17 @@ testbackend.o: testbackend.c ../cups/string-private.h ../config.h \
|
||||
testsupplies.o: testsupplies.c backend-private.h ../cups/cups-private.h \
|
||||
../cups/string-private.h ../config.h ../cups/debug-private.h \
|
||||
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
|
||||
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
|
||||
../cups/ipp-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
|
||||
../cups/http.h ../cups/language.h ../cups/pwg.h ../cups/http-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
|
||||
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
|
||||
../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h \
|
||||
../cups/sidechannel.h
|
||||
usb.o: usb.c backend-private.h ../cups/cups-private.h \
|
||||
../cups/string-private.h ../config.h ../cups/debug-private.h \
|
||||
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
|
||||
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
|
||||
../cups/ipp-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
|
||||
../cups/http.h ../cups/language.h ../cups/pwg.h ../cups/http-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
|
||||
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
|
||||
usb-darwin.c ../cups/file-private.h ../cups/ppd-private.h \
|
||||
../cups/ppd.h ../cups/raster.h
|
||||
../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h \
|
||||
../cups/sidechannel.h usb-darwin.c ../cups/file-private.h \
|
||||
../cups/ppd-private.h ../cups/ppd.h ../cups/raster.h
|
||||
|
||||
+1
-7
@@ -4,13 +4,7 @@
|
||||
# Copyright 2007-2017 by Apple Inc.
|
||||
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# missing or damaged, see the license at "http://www.cups.org/".
|
||||
#
|
||||
# This file is subject to the Apple OS-Developed Software exception.
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
#
|
||||
|
||||
include ../Makedefs
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* Backend support definitions for CUPS.
|
||||
*
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2014 by Apple Inc.
|
||||
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
#ifndef _CUPS_BACKEND_PRIVATE_H_
|
||||
|
||||
+3
-8
@@ -1,15 +1,10 @@
|
||||
/*
|
||||
* DNS-SD discovery backend for CUPS.
|
||||
*
|
||||
* Copyright 2008-2017 by Apple Inc.
|
||||
* Copyright © 2008-2017 by Apple Inc.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* IEEE-1284 support functions for CUPS.
|
||||
*
|
||||
* Copyright 2007-2015 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2015 by Apple Inc.
|
||||
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+42
-20
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* IPP backend for CUPS.
|
||||
*
|
||||
* Copyright 2007-2017 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2018 by Apple Inc.
|
||||
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -47,6 +42,8 @@ extern void xpc_connection_set_target_uid(xpc_connection_t connection,
|
||||
#define _CUPS_JSR_ACCOUNT_LIMIT_REACHED 0x08
|
||||
#define _CUPS_JSR_JOB_PASSWORD_WAIT 0x10
|
||||
#define _CUPS_JSR_JOB_RELEASE_WAIT 0x20
|
||||
#define _CUPS_JSR_DOCUMENT_FORMAT_ERROR 0x40
|
||||
#define _CUPS_JSR_DOCUMENT_UNPRINTABLE 0x80
|
||||
|
||||
|
||||
/*
|
||||
@@ -69,6 +66,7 @@ typedef struct _cups_monitor_s /**** Monitoring data ****/
|
||||
http_encryption_t encryption; /* Use encryption? */
|
||||
ipp_jstate_t job_state; /* Current job state */
|
||||
ipp_pstate_t printer_state; /* Current printer state */
|
||||
int retryable; /* Is this a job that should be retried? */
|
||||
} _cups_monitor_t;
|
||||
|
||||
|
||||
@@ -357,8 +355,7 @@ main(int argc, /* I - Number of command-line args */
|
||||
* that way.
|
||||
*/
|
||||
|
||||
if (!getuid() && (value = getenv("AUTH_UID")) != NULL &&
|
||||
!getenv("AUTH_PASSWORD"))
|
||||
if (!getuid() && (value = getenv("AUTH_UID")) != NULL)
|
||||
{
|
||||
uid_t uid = (uid_t)atoi(value);
|
||||
/* User ID */
|
||||
@@ -392,7 +389,7 @@ main(int argc, /* I - Number of command-line args */
|
||||
|
||||
# else /* No XPC, just try to run as the user ID */
|
||||
if (uid > 0)
|
||||
seteuid(uid);
|
||||
setuid(uid);
|
||||
# endif /* HAVE_XPC */
|
||||
}
|
||||
#endif /* HAVE_GSSAPI */
|
||||
@@ -1448,6 +1445,7 @@ main(int argc, /* I - Number of command-line args */
|
||||
monitor.encryption = cupsEncryption();
|
||||
monitor.job_state = IPP_JOB_PENDING;
|
||||
monitor.printer_state = IPP_PRINTER_IDLE;
|
||||
monitor.retryable = argc == 6 && document_format && strcmp(document_format, "image/pwg-raster") && strcmp(document_format, "image/urf");
|
||||
|
||||
if (create_job)
|
||||
{
|
||||
@@ -2568,22 +2566,24 @@ monitor_printer(
|
||||
|
||||
for (i = 0; i < attr->num_values; i ++)
|
||||
{
|
||||
if (!strcmp(attr->values[i].string.text,
|
||||
"account-authorization-failed"))
|
||||
if (!strcmp(attr->values[i].string.text, "account-authorization-failed"))
|
||||
new_reasons |= _CUPS_JSR_ACCOUNT_AUTHORIZATION_FAILED;
|
||||
else if (!strcmp(attr->values[i].string.text, "account-closed"))
|
||||
new_reasons |= _CUPS_JSR_ACCOUNT_CLOSED;
|
||||
else if (!strcmp(attr->values[i].string.text, "account-info-needed"))
|
||||
new_reasons |= _CUPS_JSR_ACCOUNT_INFO_NEEDED;
|
||||
else if (!strcmp(attr->values[i].string.text,
|
||||
"account-limit-reached"))
|
||||
else if (!strcmp(attr->values[i].string.text, "account-limit-reached"))
|
||||
new_reasons |= _CUPS_JSR_ACCOUNT_LIMIT_REACHED;
|
||||
else if (!strcmp(attr->values[i].string.text, "job-password-wait"))
|
||||
new_reasons |= _CUPS_JSR_JOB_PASSWORD_WAIT;
|
||||
else if (!strcmp(attr->values[i].string.text, "job-release-wait"))
|
||||
new_reasons |= _CUPS_JSR_JOB_RELEASE_WAIT;
|
||||
if (!job_canceled &&
|
||||
(!strncmp(attr->values[i].string.text, "job-canceled-", 13) || !strcmp(attr->values[i].string.text, "aborted-by-system")))
|
||||
else if (!strcmp(attr->values[i].string.text, "document-format-error"))
|
||||
new_reasons |= _CUPS_JSR_DOCUMENT_FORMAT_ERROR;
|
||||
else if (!strcmp(attr->values[i].string.text, "document-unprintable"))
|
||||
new_reasons |= _CUPS_JSR_DOCUMENT_UNPRINTABLE;
|
||||
|
||||
if (!job_canceled && (!strncmp(attr->values[i].string.text, "job-canceled-", 13) || !strcmp(attr->values[i].string.text, "aborted-by-system")))
|
||||
job_canceled = 1;
|
||||
}
|
||||
|
||||
@@ -2601,6 +2601,26 @@ monitor_printer(
|
||||
fputs("JOBSTATE: job-password-wait\n", stderr);
|
||||
else if (new_reasons & _CUPS_JSR_JOB_RELEASE_WAIT)
|
||||
fputs("JOBSTATE: job-release-wait\n", stderr);
|
||||
else if (new_reasons & (_CUPS_JSR_DOCUMENT_FORMAT_ERROR | _CUPS_JSR_DOCUMENT_UNPRINTABLE))
|
||||
{
|
||||
if (monitor->retryable)
|
||||
{
|
||||
/*
|
||||
* Can't print this, so retry as raster...
|
||||
*/
|
||||
|
||||
job_canceled = 1;
|
||||
fputs("JOBSTATE: cups-retry-as-raster\n", stderr);
|
||||
}
|
||||
else if (new_reasons & _CUPS_JSR_DOCUMENT_FORMAT_ERROR)
|
||||
{
|
||||
fputs("JOBSTATE: document-format-error\n", stderr);
|
||||
}
|
||||
else
|
||||
{
|
||||
fputs("JOBSTATE: document-unprintable\n", stderr);
|
||||
}
|
||||
}
|
||||
else
|
||||
fputs("JOBSTATE: job-printing\n", stderr);
|
||||
|
||||
@@ -2760,7 +2780,7 @@ new_request(
|
||||
char phone[1024], /* Phone number string */
|
||||
*ptr, /* Pointer into string */
|
||||
tel_uri[1024]; /* tel: URI */
|
||||
static const char * const allowed = "0123456789#*-+.()";
|
||||
static const char * const allowed = "0123456789#*-+.()pw";
|
||||
/* Allowed characters */
|
||||
|
||||
destination = ippNew();
|
||||
@@ -2773,7 +2793,9 @@ new_request(
|
||||
_httpDecodeURI(phone, keyword, sizeof(phone));
|
||||
for (ptr = phone; *ptr;)
|
||||
{
|
||||
if (!strchr(allowed, *ptr))
|
||||
if (*ptr == ',')
|
||||
*ptr = 'p';
|
||||
else if (!strchr(allowed, *ptr))
|
||||
_cups_strcpy(ptr, ptr + 1);
|
||||
else
|
||||
ptr ++;
|
||||
|
||||
+4
-9
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* Line Printer Daemon backend for CUPS.
|
||||
*
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2016 by Apple Inc.
|
||||
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+4
-9
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* Common backend network APIs for CUPS.
|
||||
*
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 2006-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2016 by Apple Inc.
|
||||
* Copyright © 2006-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -8,10 +8,17 @@
|
||||
# delay-close Delay close/reset of selected interface
|
||||
# no-reattach Do no re-attach usblp kernel module after printing.
|
||||
# soft-reset Do a soft reset after printing for cleanup.
|
||||
# unidir Only supported unidirectional I/O
|
||||
# unidir Only supports unidirectional I/O
|
||||
# usb-init Needs vendor USB initialization string.
|
||||
# vendor-class Uses vendor-specific class or subclass.
|
||||
# whitelist The printer is functional with the USB backend.
|
||||
#
|
||||
# To get the USB vendor and product IDs for a given printer, run the "lsusb"
|
||||
# command, which will show something like the following:
|
||||
#
|
||||
# Bus 002 Device 003: ID ab21:34dc Acme Example Printer
|
||||
#
|
||||
# The "ab21:34dc" is the vendor and product ID, separated by a colon.
|
||||
|
||||
# HP DeskJet 895C
|
||||
0x03f0 0x0004 unidir
|
||||
@@ -265,3 +272,15 @@
|
||||
|
||||
# HP LaserJet 1160 (Issue #5121)
|
||||
0x03f0 0x1e17 delay-close
|
||||
|
||||
# Canon, Inc. MP280 series (Issue #5221)
|
||||
0x04a9 0x1746 unidir
|
||||
|
||||
# Star Micronics printers (Issue #5251)
|
||||
0x0519 unidir
|
||||
|
||||
# Lexmark Optra E310 (Issue #5259)
|
||||
0x043d 0x000c no-reattach
|
||||
|
||||
# HP LaserJet P1102 (Issue #5310)
|
||||
0x03F0 0x002A no-reattach
|
||||
|
||||
+4
-9
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* Common run loop APIs for CUPS backends.
|
||||
*
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 2006-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2014 by Apple Inc.
|
||||
* Copyright © 2006-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,15 +1,10 @@
|
||||
/*
|
||||
* SNMP supplies functions for CUPS.
|
||||
*
|
||||
* Copyright 2008-2015 by Apple Inc.
|
||||
* Copyright © 2008-2015 by Apple Inc.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+4
-9
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* SNMP discovery backend for CUPS.
|
||||
*
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 2006-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2014 by Apple Inc.
|
||||
* Copyright © 2006-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+4
-9
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* AppSocket backend for CUPS.
|
||||
*
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2016 by Apple Inc.
|
||||
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* IEEE-1284 support functions test program for CUPS.
|
||||
*
|
||||
* Copyright 2007-2010 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2010 by Apple Inc.
|
||||
* Copyright © 1997-2006 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* Backend test program for CUPS.
|
||||
*
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 1997-2005 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2014 by Apple Inc.
|
||||
* Copyright © 1997-2005 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,15 +1,10 @@
|
||||
/*
|
||||
* SNMP supplies test program for CUPS.
|
||||
*
|
||||
* Copyright 2008-2011 by Apple Inc.
|
||||
* Copyright © 2008-2011 by Apple Inc.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -3,11 +3,7 @@
|
||||
*
|
||||
* Copyright 2007-2015 by Apple Inc.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -3,16 +3,11 @@
|
||||
*
|
||||
* This file is included from "usb.c" when compiled on UNIX/Linux.
|
||||
*
|
||||
* Copyright 2007-2013 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2013 by Apple Inc.
|
||||
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+4
-9
@@ -1,16 +1,11 @@
|
||||
/*
|
||||
* USB printer backend for CUPS.
|
||||
*
|
||||
* Copyright 2007-2012 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
* Copyright © 2007-2012 by Apple Inc.
|
||||
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* "LICENSE" which should have been included with this file. If this
|
||||
* file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
* information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+15
-15
@@ -1,25 +1,25 @@
|
||||
lpc.o: lpc.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
|
||||
../cups/debug-private.h ../cups/versioning.h ../cups/array-private.h \
|
||||
../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h
|
||||
../cups/array.h ../cups/ipp-private.h ../cups/cups.h ../cups/file.h \
|
||||
../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/pwg.h \
|
||||
../cups/http-private.h ../cups/language-private.h ../cups/transcode.h \
|
||||
../cups/pwg-private.h ../cups/thread-private.h
|
||||
lpq.o: lpq.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
|
||||
../cups/debug-private.h ../cups/versioning.h ../cups/array-private.h \
|
||||
../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h
|
||||
../cups/array.h ../cups/ipp-private.h ../cups/cups.h ../cups/file.h \
|
||||
../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/pwg.h \
|
||||
../cups/http-private.h ../cups/language-private.h ../cups/transcode.h \
|
||||
../cups/pwg-private.h ../cups/thread-private.h
|
||||
lpr.o: lpr.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
|
||||
../cups/debug-private.h ../cups/versioning.h ../cups/array-private.h \
|
||||
../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h
|
||||
../cups/array.h ../cups/ipp-private.h ../cups/cups.h ../cups/file.h \
|
||||
../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/pwg.h \
|
||||
../cups/http-private.h ../cups/language-private.h ../cups/transcode.h \
|
||||
../cups/pwg-private.h ../cups/thread-private.h
|
||||
lprm.o: lprm.c ../cups/cups-private.h ../cups/string-private.h \
|
||||
../config.h ../cups/debug-private.h ../cups/versioning.h \
|
||||
../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \
|
||||
../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \
|
||||
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
|
||||
../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \
|
||||
../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/http.h \
|
||||
../cups/language.h ../cups/pwg.h ../cups/http-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
|
||||
../cups/thread-private.h
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
# Copyright 2007-2017 by Apple Inc.
|
||||
# Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# missing or damaged, see the license at "http://www.cups.org/".
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
#
|
||||
|
||||
include ../Makedefs
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+6
-34
@@ -1,14 +1,10 @@
|
||||
/*
|
||||
* "lpr" command for CUPS.
|
||||
*
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 2007-2017 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -32,8 +28,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
char *printer, /* Destination printer or class */
|
||||
*instance, /* Instance */
|
||||
*opt; /* Option pointer */
|
||||
const char *title, /* Job title */
|
||||
*val; /* Environment variable name */
|
||||
const char *title; /* Job title */
|
||||
int num_copies; /* Number of copies per file */
|
||||
int num_files; /* Number of files to print */
|
||||
const char *files[1000]; /* Files to print */
|
||||
@@ -345,33 +340,10 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
if (printer == NULL)
|
||||
{
|
||||
val = NULL;
|
||||
|
||||
if ((printer = getenv("LPDEST")) == NULL)
|
||||
{
|
||||
if ((printer = getenv("PRINTER")) != NULL)
|
||||
{
|
||||
if (!strcmp(printer, "lp"))
|
||||
printer = NULL;
|
||||
else
|
||||
val = "PRINTER";
|
||||
}
|
||||
}
|
||||
if (!cupsGetNamedDest(NULL, NULL, NULL) && cupsLastError() == IPP_STATUS_ERROR_NOT_FOUND)
|
||||
_cupsLangPrintf(stderr, _("%s: Error - %s"), argv[0], cupsLastErrorString());
|
||||
else
|
||||
val = "LPDEST";
|
||||
|
||||
if (printer && !cupsGetNamedDest(NULL, printer, NULL))
|
||||
_cupsLangPrintf(stderr,
|
||||
_("%s: Error - %s environment variable names "
|
||||
"non-existent destination \"%s\"."), argv[0], val,
|
||||
printer);
|
||||
else if (cupsLastError() == IPP_NOT_FOUND)
|
||||
_cupsLangPrintf(stderr,
|
||||
_("%s: Error - no default destination available."),
|
||||
argv[0]);
|
||||
else
|
||||
_cupsLangPrintf(stderr, _("%s: Error - scheduler not responding."),
|
||||
argv[0]);
|
||||
_cupsLangPrintf(stderr, _("%s: Error - scheduler not responding."), argv[0]);
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -28,16 +28,14 @@ var.o: var.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
|
||||
../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
|
||||
../cups/language.h ../cups/pwg.h help-index.h ../cups/debug-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h \
|
||||
../cups/string-private.h ../config.h ../cups/ipp-private.h \
|
||||
../cups/md5-private.h
|
||||
../cups/string-private.h ../config.h ../cups/ipp-private.h
|
||||
admin.o: admin.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
|
||||
../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
|
||||
../cups/language.h ../cups/pwg.h help-index.h ../cups/debug-private.h \
|
||||
../cups/language-private.h ../cups/transcode.h \
|
||||
../cups/string-private.h ../config.h ../cups/ipp-private.h \
|
||||
../cups/http-private.h ../cups/md5-private.h ../cups/ppd-private.h \
|
||||
../cups/ppd.h ../cups/raster.h ../cups/pwg-private.h \
|
||||
../cups/adminutil.h
|
||||
../cups/http-private.h ../cups/ppd-private.h ../cups/ppd.h \
|
||||
../cups/raster.h ../cups/pwg-private.h ../cups/adminutil.h
|
||||
classes.o: classes.c cgi-private.h cgi.h ../cups/cups.h ../cups/file.h \
|
||||
../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
|
||||
../cups/language.h ../cups/pwg.h help-index.h ../cups/debug-private.h \
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
# Copyright 2007-2017 by Apple Inc.
|
||||
# Copyright 1997-2006 by Easy Software Products.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# missing or damaged, see the license at "http://www.cups.org/".
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
#
|
||||
|
||||
include ../Makedefs
|
||||
|
||||
+4
-295
@@ -1,14 +1,10 @@
|
||||
/*
|
||||
* Administration CGI for CUPS.
|
||||
*
|
||||
* Copyright 2007-2015 by Apple Inc.
|
||||
* Copyright 2007-2017 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -39,10 +35,8 @@ static int current_device = 0; /* Current device shown */
|
||||
*/
|
||||
|
||||
static void choose_device_cb(const char *device_class, const char *device_id, const char *device_info, const char *device_make_and_model, const char *device_uri, const char *device_location, const char *title);
|
||||
static void do_add_rss_subscription(http_t *http);
|
||||
static void do_am_class(http_t *http, int modify);
|
||||
static void do_am_printer(http_t *http, int modify);
|
||||
static void do_cancel_subscription(http_t *http);
|
||||
static void do_config_server(http_t *http);
|
||||
static void do_delete_class(http_t *http);
|
||||
static void do_delete_printer(http_t *http);
|
||||
@@ -171,10 +165,6 @@ main(void)
|
||||
do_config_server(http);
|
||||
else if (!strcmp(op, "export-samba"))
|
||||
do_export(http);
|
||||
else if (!strcmp(op, "add-rss-subscription"))
|
||||
do_add_rss_subscription(http);
|
||||
else if (!strcmp(op, "cancel-subscription"))
|
||||
do_cancel_subscription(http);
|
||||
else
|
||||
{
|
||||
/*
|
||||
@@ -318,202 +308,6 @@ choose_device_cb(
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'do_add_rss_subscription()' - Add a RSS subscription.
|
||||
*/
|
||||
|
||||
static void
|
||||
do_add_rss_subscription(http_t *http) /* I - HTTP connection */
|
||||
{
|
||||
ipp_t *request, /* IPP request data */
|
||||
*response; /* IPP response data */
|
||||
char rss_uri[1024]; /* RSS notify-recipient URI */
|
||||
int num_events; /* Number of events */
|
||||
const char *events[12], /* Subscribed events */
|
||||
*subscription_name, /* Subscription name */
|
||||
*printer_uri, /* Printer URI */
|
||||
*ptr, /* Pointer into name */
|
||||
*user; /* Username */
|
||||
int max_events; /* Maximum number of events */
|
||||
|
||||
|
||||
/*
|
||||
* See if we have all of the required information...
|
||||
*/
|
||||
|
||||
subscription_name = cgiGetVariable("SUBSCRIPTION_NAME");
|
||||
printer_uri = cgiGetVariable("PRINTER_URI");
|
||||
num_events = 0;
|
||||
|
||||
if (cgiGetVariable("EVENT_JOB_CREATED"))
|
||||
events[num_events ++] = "job-created";
|
||||
if (cgiGetVariable("EVENT_JOB_COMPLETED"))
|
||||
events[num_events ++] = "job-completed";
|
||||
if (cgiGetVariable("EVENT_JOB_STOPPED"))
|
||||
events[num_events ++] = "job-stopped";
|
||||
if (cgiGetVariable("EVENT_JOB_CONFIG_CHANGED"))
|
||||
events[num_events ++] = "job-config-changed";
|
||||
if (cgiGetVariable("EVENT_PRINTER_STOPPED"))
|
||||
events[num_events ++] = "printer-stopped";
|
||||
if (cgiGetVariable("EVENT_PRINTER_ADDED"))
|
||||
events[num_events ++] = "printer-added";
|
||||
if (cgiGetVariable("EVENT_PRINTER_MODIFIED"))
|
||||
events[num_events ++] = "printer-modified";
|
||||
if (cgiGetVariable("EVENT_PRINTER_DELETED"))
|
||||
events[num_events ++] = "printer-deleted";
|
||||
if (cgiGetVariable("EVENT_SERVER_STARTED"))
|
||||
events[num_events ++] = "server-started";
|
||||
if (cgiGetVariable("EVENT_SERVER_STOPPED"))
|
||||
events[num_events ++] = "server-stopped";
|
||||
if (cgiGetVariable("EVENT_SERVER_RESTARTED"))
|
||||
events[num_events ++] = "server-restarted";
|
||||
if (cgiGetVariable("EVENT_SERVER_AUDIT"))
|
||||
events[num_events ++] = "server-audit";
|
||||
|
||||
if ((ptr = cgiGetVariable("MAX_EVENTS")) != NULL)
|
||||
max_events = atoi(ptr);
|
||||
else
|
||||
max_events = 0;
|
||||
|
||||
if (!subscription_name || !printer_uri || !num_events ||
|
||||
max_events <= 0 || max_events > 9999)
|
||||
{
|
||||
/*
|
||||
* Don't have everything we need, so get the available printers
|
||||
* and classes and (re)show the add page...
|
||||
*/
|
||||
|
||||
if (cgiGetVariable("EVENT_JOB_CREATED"))
|
||||
cgiSetVariable("EVENT_JOB_CREATED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_JOB_COMPLETED"))
|
||||
cgiSetVariable("EVENT_JOB_COMPLETED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_JOB_STOPPED"))
|
||||
cgiSetVariable("EVENT_JOB_STOPPED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_JOB_CONFIG_CHANGED"))
|
||||
cgiSetVariable("EVENT_JOB_CONFIG_CHANGED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_PRINTER_STOPPED"))
|
||||
cgiSetVariable("EVENT_PRINTER_STOPPED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_PRINTER_ADDED"))
|
||||
cgiSetVariable("EVENT_PRINTER_ADDED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_PRINTER_MODIFIED"))
|
||||
cgiSetVariable("EVENT_PRINTER_MODIFIED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_PRINTER_DELETED"))
|
||||
cgiSetVariable("EVENT_PRINTER_DELETED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_SERVER_STARTED"))
|
||||
cgiSetVariable("EVENT_SERVER_STARTED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_SERVER_STOPPED"))
|
||||
cgiSetVariable("EVENT_SERVER_STOPPED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_SERVER_RESTARTED"))
|
||||
cgiSetVariable("EVENT_SERVER_RESTARTED", "CHECKED");
|
||||
if (cgiGetVariable("EVENT_SERVER_AUDIT"))
|
||||
cgiSetVariable("EVENT_SERVER_AUDIT", "CHECKED");
|
||||
|
||||
request = ippNewRequest(CUPS_GET_PRINTERS);
|
||||
response = cupsDoRequest(http, request, "/");
|
||||
|
||||
cgiSetIPPVars(response, NULL, NULL, NULL, 0);
|
||||
|
||||
ippDelete(response);
|
||||
|
||||
cgiStartHTML(cgiText(_("Add RSS Subscription")));
|
||||
|
||||
cgiCopyTemplateLang("add-rss-subscription.tmpl");
|
||||
|
||||
cgiEndHTML();
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Make sure we have a username...
|
||||
*/
|
||||
|
||||
if ((user = getenv("REMOTE_USER")) == NULL)
|
||||
{
|
||||
puts("Status: 401\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Validate the subscription name...
|
||||
*/
|
||||
|
||||
for (ptr = subscription_name; *ptr; ptr ++)
|
||||
if ((*ptr >= 0 && *ptr <= ' ') || *ptr == 127 || *ptr == '/' ||
|
||||
*ptr == '?' || *ptr == '#')
|
||||
break;
|
||||
|
||||
if (*ptr)
|
||||
{
|
||||
cgiSetVariable("ERROR",
|
||||
cgiText(_("The subscription name may not "
|
||||
"contain spaces, slashes (/), question marks (?), "
|
||||
"or the pound sign (#).")));
|
||||
cgiStartHTML(_("Add RSS Subscription"));
|
||||
cgiCopyTemplateLang("error.tmpl");
|
||||
cgiEndHTML();
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the subscription...
|
||||
*/
|
||||
|
||||
ptr = subscription_name + strlen(subscription_name) - 4;
|
||||
if (ptr < subscription_name || strcmp(ptr, ".rss"))
|
||||
httpAssembleURIf(HTTP_URI_CODING_ALL, rss_uri, sizeof(rss_uri), "rss",
|
||||
NULL, NULL, 0, "/%s.rss?max_events=%d", subscription_name,
|
||||
max_events);
|
||||
else
|
||||
httpAssembleURIf(HTTP_URI_CODING_ALL, rss_uri, sizeof(rss_uri), "rss",
|
||||
NULL, NULL, 0, "/%s?max_events=%d", subscription_name,
|
||||
max_events);
|
||||
|
||||
request = ippNewRequest(IPP_CREATE_PRINTER_SUBSCRIPTION);
|
||||
|
||||
if (!_cups_strcasecmp(printer_uri, "#ALL#"))
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
|
||||
NULL, "ipp://localhost/");
|
||||
else
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
|
||||
NULL, printer_uri);
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
|
||||
NULL, user);
|
||||
|
||||
ippAddString(request, IPP_TAG_SUBSCRIPTION, IPP_TAG_URI,
|
||||
"notify-recipient-uri", NULL, rss_uri);
|
||||
ippAddStrings(request, IPP_TAG_SUBSCRIPTION, IPP_TAG_KEYWORD, "notify-events",
|
||||
num_events, NULL, events);
|
||||
ippAddInteger(request, IPP_TAG_SUBSCRIPTION, IPP_TAG_INTEGER,
|
||||
"notify-lease-duration", 0);
|
||||
|
||||
ippDelete(cupsDoRequest(http, request, "/"));
|
||||
|
||||
if (cupsLastError() == IPP_NOT_AUTHORIZED)
|
||||
{
|
||||
puts("Status: 401\n");
|
||||
exit(0);
|
||||
}
|
||||
else if (cupsLastError() > IPP_OK_CONFLICT)
|
||||
{
|
||||
cgiStartHTML(_("Add RSS Subscription"));
|
||||
cgiShowIPPError(_("Unable to add RSS subscription"));
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Redirect successful updates back to the admin page...
|
||||
*/
|
||||
|
||||
cgiSetVariable("refresh_page", "5;URL=/admin");
|
||||
cgiStartHTML(_("Add RSS Subscription"));
|
||||
cgiCopyTemplateLang("subscription-added.tmpl");
|
||||
}
|
||||
|
||||
cgiEndHTML();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'do_am_class()' - Add or modify a class.
|
||||
*/
|
||||
@@ -897,16 +691,13 @@ do_am_printer(http_t *http, /* I - HTTP connection */
|
||||
if ((name = cgiGetVariable("PRINTER_NAME")) != NULL)
|
||||
{
|
||||
for (ptr = name; *ptr; ptr ++)
|
||||
if ((*ptr >= 0 && *ptr <= ' ') || *ptr == 127 || *ptr == '/' || *ptr == '#')
|
||||
if ((*ptr >= 0 && *ptr <= ' ') || *ptr == 127 || *ptr == '/' || *ptr == '\\' || *ptr == '?' || *ptr == '\'' || *ptr == '\"' || *ptr == '#')
|
||||
break;
|
||||
|
||||
if (*ptr || ptr == name || strlen(name) > 127)
|
||||
{
|
||||
cgiSetVariable("ERROR",
|
||||
cgiText(_("The printer name may only contain up to "
|
||||
"127 printable characters and may not "
|
||||
"contain spaces, slashes (/), or the "
|
||||
"pound sign (#).")));
|
||||
cgiText(_("The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/ \\), quotes (' \"), question mark (?), or the pound sign (#).")));
|
||||
cgiStartHTML(title);
|
||||
cgiCopyTemplateLang("error.tmpl");
|
||||
cgiEndHTML();
|
||||
@@ -1441,88 +1232,6 @@ do_am_printer(http_t *http, /* I - HTTP connection */
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'do_cancel_subscription()' - Cancel a subscription.
|
||||
*/
|
||||
|
||||
static void
|
||||
do_cancel_subscription(http_t *http)/* I - HTTP connection */
|
||||
{
|
||||
ipp_t *request; /* IPP request data */
|
||||
const char *var, /* Form variable */
|
||||
*user; /* Username */
|
||||
int id; /* Subscription ID */
|
||||
|
||||
|
||||
/*
|
||||
* See if we have all of the required information...
|
||||
*/
|
||||
|
||||
if ((var = cgiGetVariable("NOTIFY_SUBSCRIPTION_ID")) != NULL)
|
||||
id = atoi(var);
|
||||
else
|
||||
id = 0;
|
||||
|
||||
if (id <= 0)
|
||||
{
|
||||
cgiSetVariable("ERROR", cgiText(_("Bad subscription ID")));
|
||||
cgiStartHTML(_("Cancel RSS Subscription"));
|
||||
cgiCopyTemplateLang("error.tmpl");
|
||||
cgiEndHTML();
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Require a username...
|
||||
*/
|
||||
|
||||
if ((user = getenv("REMOTE_USER")) == NULL)
|
||||
{
|
||||
puts("Status: 401\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Cancel the subscription...
|
||||
*/
|
||||
|
||||
request = ippNewRequest(IPP_CANCEL_SUBSCRIPTION);
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
|
||||
NULL, "ipp://localhost/");
|
||||
ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER,
|
||||
"notify-subscription-id", id);
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
|
||||
NULL, user);
|
||||
|
||||
ippDelete(cupsDoRequest(http, request, "/"));
|
||||
|
||||
if (cupsLastError() == IPP_NOT_AUTHORIZED)
|
||||
{
|
||||
puts("Status: 401\n");
|
||||
exit(0);
|
||||
}
|
||||
else if (cupsLastError() > IPP_OK_CONFLICT)
|
||||
{
|
||||
cgiStartHTML(_("Cancel RSS Subscription"));
|
||||
cgiShowIPPError(_("Unable to cancel RSS subscription"));
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Redirect successful updates back to the admin page...
|
||||
*/
|
||||
|
||||
cgiSetVariable("refresh_page", "5;URL=/admin");
|
||||
cgiStartHTML(_("Cancel RSS Subscription"));
|
||||
cgiCopyTemplateLang("subscription-canceled.tmpl");
|
||||
}
|
||||
|
||||
cgiEndHTML();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'do_config_server()' - Configure server settings.
|
||||
*/
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2011 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2010 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
#ifndef _CUPS_CGI_H_
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+18
-15
@@ -1,14 +1,10 @@
|
||||
/*
|
||||
* Online help index routines for CUPS.
|
||||
*
|
||||
* Copyright 2007-2015 by Apple Inc.
|
||||
* Copyright 2007-2017 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -898,13 +894,13 @@ help_load_file(
|
||||
* Look for "<TITLE>", "<A NAME", or "<!-- SECTION:" prefix...
|
||||
*/
|
||||
|
||||
if (!_cups_strncasecmp(line, "<!-- SECTION:", 13))
|
||||
if ((ptr = strstr(line, "<!-- SECTION:")) != NULL)
|
||||
{
|
||||
/*
|
||||
* Got section line, copy it!
|
||||
*/
|
||||
|
||||
for (ptr = line + 13; isspace(*ptr & 255); ptr ++);
|
||||
for (ptr += 13; isspace(*ptr & 255); ptr ++);
|
||||
|
||||
strlcpy(section, ptr, sizeof(section));
|
||||
if ((ptr = strstr(section, "-->")) != NULL)
|
||||
@@ -934,14 +930,23 @@ help_load_file(
|
||||
anchor = NULL;
|
||||
ptr += 6;
|
||||
}
|
||||
else if (!_cups_strncasecmp(ptr, "A NAME=", 7))
|
||||
else
|
||||
{
|
||||
char *idptr; /* Pointer to ID */
|
||||
|
||||
if (!_cups_strncasecmp(ptr, "A NAME=", 7))
|
||||
ptr += 7;
|
||||
else if ((idptr = strstr(ptr, " ID=")) != NULL)
|
||||
ptr = idptr + 4;
|
||||
else if ((idptr = strstr(ptr, " id=")) != NULL)
|
||||
ptr = idptr + 4;
|
||||
else
|
||||
continue;
|
||||
|
||||
/*
|
||||
* Found an anchor...
|
||||
*/
|
||||
|
||||
ptr += 7;
|
||||
|
||||
if (*ptr == '\"' || *ptr == '\'')
|
||||
{
|
||||
/*
|
||||
@@ -965,7 +970,7 @@ help_load_file(
|
||||
|
||||
for (ptr = anchor; *ptr && *ptr != '>' && !isspace(*ptr & 255); ptr ++);
|
||||
|
||||
if (*ptr)
|
||||
if (*ptr != '>')
|
||||
*ptr++ = '\0';
|
||||
else
|
||||
break;
|
||||
@@ -981,10 +986,8 @@ help_load_file(
|
||||
if (*ptr != '>')
|
||||
break;
|
||||
|
||||
ptr ++;
|
||||
*ptr++ = '\0';
|
||||
}
|
||||
else
|
||||
continue;
|
||||
|
||||
/*
|
||||
* Now collect text for the link...
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2011 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
#ifndef _CUPS_HELP_INDEX_H_
|
||||
|
||||
+6
-8
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2011 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -333,20 +329,22 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
if ((fp = cupsFileOpen(filename, "r")) != NULL)
|
||||
{
|
||||
int inbody; /* Are we inside the body? */
|
||||
|
||||
char *lineptr; /* Pointer into line */
|
||||
|
||||
inbody = 0;
|
||||
|
||||
while (cupsFileGets(fp, line, sizeof(line)))
|
||||
{
|
||||
for (lineptr = line; *lineptr && isspace(*lineptr & 255); lineptr ++);
|
||||
|
||||
if (inbody)
|
||||
{
|
||||
if (!_cups_strncasecmp(line, "</BODY>", 7))
|
||||
if (!_cups_strncasecmp(lineptr, "</BODY>", 7))
|
||||
break;
|
||||
|
||||
printf("%s\n", line);
|
||||
}
|
||||
else if (!_cups_strncasecmp(line, "<BODY", 5))
|
||||
else if (!_cups_strncasecmp(lineptr, "<BODY", 5))
|
||||
inbody = 1;
|
||||
}
|
||||
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2011 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2012 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*
|
||||
* Usage:
|
||||
*
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2015 by Apple Inc.
|
||||
* Copyright 1997-2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
#include "cgi-private.h"
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2014 by Apple Inc.
|
||||
* Copyright 1997-2005 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+90
-10
@@ -1,14 +1,10 @@
|
||||
/*
|
||||
* Help index test program for CUPS.
|
||||
*
|
||||
* Copyright 2007-2011 by Apple Inc.
|
||||
* Copyright 2007-2017 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -23,6 +19,7 @@
|
||||
*/
|
||||
|
||||
static void list_nodes(const char *title, cups_array_t *nodes);
|
||||
static int usage(void);
|
||||
|
||||
|
||||
/*
|
||||
@@ -33,15 +30,82 @@ int /* O - Exit status */
|
||||
main(int argc, /* I - Number of command-line arguments */
|
||||
char *argv[]) /* I - Command-line arguments */
|
||||
{
|
||||
int i; /* Looping var */
|
||||
help_index_t *hi, /* Help index */
|
||||
*search; /* Search index */
|
||||
const char *opt, /* Current option character */
|
||||
*dir = ".", /* Directory to index */
|
||||
*q = NULL, /* Query string */
|
||||
*section = NULL, /* Section string */
|
||||
*filename = NULL; /* Filename string */
|
||||
|
||||
|
||||
/*
|
||||
* Parse the command-line...
|
||||
*/
|
||||
|
||||
for (i = 1; i < argc; i ++)
|
||||
{
|
||||
if (argv[i][0] == '-')
|
||||
{
|
||||
if (!strcmp(argv[i], "--help"))
|
||||
{
|
||||
usage();
|
||||
return (0);
|
||||
}
|
||||
|
||||
for (opt = argv[i] + 1; *opt; opt ++)
|
||||
{
|
||||
switch (*opt)
|
||||
{
|
||||
case 'd' : /* -d directory */
|
||||
i ++;
|
||||
if (i < argc)
|
||||
{
|
||||
dir = argv[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
fputs("testhi: Missing directory for \"-d\" option.\n", stderr);
|
||||
return (usage());
|
||||
}
|
||||
break;
|
||||
|
||||
case 's' : /* -s section */
|
||||
i ++;
|
||||
if (i < argc)
|
||||
{
|
||||
section = argv[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
fputs("testhi: Missing section name for \"-s\" option.\n", stderr);
|
||||
return (usage());
|
||||
}
|
||||
break;
|
||||
|
||||
default :
|
||||
fprintf(stderr, "testhi: Unknown option \"-%c\".\n", *opt);
|
||||
return (usage());
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!q)
|
||||
q = argv[i];
|
||||
else if (!filename)
|
||||
filename = argv[i];
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "testhi: Unknown argument \"%s\".\n", argv[i]);
|
||||
return (usage());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Load the help index...
|
||||
*/
|
||||
|
||||
hi = helpLoadIndex("testhi.index", ".");
|
||||
hi = helpLoadIndex("testhi.index", dir);
|
||||
|
||||
list_nodes("nodes", hi->nodes);
|
||||
list_nodes("sorted", hi->sorted);
|
||||
@@ -50,9 +114,9 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
* Do any searches...
|
||||
*/
|
||||
|
||||
if (argc > 1)
|
||||
if (q)
|
||||
{
|
||||
search = helpSearchIndex(hi, argv[1], NULL, argv[2]);
|
||||
search = helpSearchIndex(hi, q, section, filename);
|
||||
|
||||
if (search)
|
||||
{
|
||||
@@ -60,7 +124,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
helpDeleteIndex(search);
|
||||
}
|
||||
else
|
||||
printf("%s (0 nodes)\n", argv[1]);
|
||||
printf("%s (0 nodes)\n", q);
|
||||
}
|
||||
|
||||
helpDeleteIndex(hi);
|
||||
@@ -99,3 +163,19 @@ list_nodes(const char *title, /* I - Title string */
|
||||
printf(" (%d words)\n", cupsArrayCount(node->words));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'usage()' - Show program usage.
|
||||
*/
|
||||
|
||||
static int /* O - Exit status */
|
||||
usage(void)
|
||||
{
|
||||
puts("Usage: ./testhi [options] [\"query\"] [filename]");
|
||||
puts("Options:");
|
||||
puts("-d directory Specify index directory.");
|
||||
puts("-s section Specify search section.");
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2011 by Apple Inc.
|
||||
* Copyright 2006 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+3
-11
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2015 by Apple Inc.
|
||||
* Copyright 1997-2005 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -18,7 +14,6 @@
|
||||
/*#define DEBUG*/
|
||||
#include "cgi-private.h"
|
||||
#include <cups/http.h>
|
||||
#include <cups/md5-private.h>
|
||||
|
||||
|
||||
/*
|
||||
@@ -1204,7 +1199,6 @@ cgi_set_sid(void)
|
||||
{
|
||||
char buffer[512], /* SID data */
|
||||
sid[33]; /* SID string */
|
||||
_cups_md5_state_t md5; /* MD5 state */
|
||||
unsigned char sum[16]; /* MD5 sum */
|
||||
const char *remote_addr, /* REMOTE_ADDR */
|
||||
*server_name, /* SERVER_NAME */
|
||||
@@ -1225,11 +1219,9 @@ cgi_set_sid(void)
|
||||
(unsigned)CUPS_RAND() & 255, (unsigned)CUPS_RAND() & 255,
|
||||
(unsigned)CUPS_RAND() & 255, (unsigned)CUPS_RAND() & 255,
|
||||
(unsigned)CUPS_RAND() & 255, (unsigned)CUPS_RAND() & 255);
|
||||
_cupsMD5Init(&md5);
|
||||
_cupsMD5Append(&md5, (unsigned char *)buffer, (int)strlen(buffer));
|
||||
_cupsMD5Finish(&md5, sum);
|
||||
cupsHashData("md5", (unsigned char *)buffer, strlen(buffer), sum, sizeof(sum));
|
||||
|
||||
cgiSetCookie(CUPS_SID, httpMD5String(sum, sid), "/", NULL, 0, 0);
|
||||
cgiSetCookie(CUPS_SID, cupsHashString(sum, sizeof(sum), sid, sizeof(sid)), "/", NULL, 0, 0);
|
||||
|
||||
return (cupsGetOption(CUPS_SID, num_cookies, cookies));
|
||||
}
|
||||
|
||||
+1
-5
@@ -4,11 +4,7 @@
|
||||
# Copyright 2007-2015 by Apple Inc.
|
||||
# Copyright 1993-2006 by Easy Software Products.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# missing or damaged, see the license at "http://www.cups.org/".
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
#
|
||||
|
||||
include ../Makedefs
|
||||
|
||||
@@ -5,14 +5,11 @@
|
||||
#
|
||||
# Base MIME conversions file for CUPS.
|
||||
#
|
||||
# Copyright 2007-2016 by Apple Inc.
|
||||
# Copyright 1997-2007 by Easy Software Products.
|
||||
# Copyright © 2007-2016 by Apple Inc.
|
||||
# Copyright © 1997-2007 by Easy Software Products.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
# information.
|
||||
#
|
||||
|
||||
########################################################################
|
||||
|
||||
+4
-7
@@ -5,14 +5,11 @@
|
||||
# VERSIONS OF CUPS. Instead, create a "local.types" file that
|
||||
# reflects your local configuration changes.
|
||||
#
|
||||
# Copyright 2007-2017 by Apple Inc.
|
||||
# Copyright 1997-2007 by Easy Software Products.
|
||||
# Copyright © 2007-2017 by Apple Inc.
|
||||
# Copyright © 1997-2007 by Easy Software Products.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
# information.
|
||||
#
|
||||
|
||||
########################################################################
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
@include common-auth
|
||||
@include common-account
|
||||
@include common-session
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
dnl Set the name of the config header file...
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
dnl Clear the debugging and non-shared library options unless the user asks
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 2006-2007 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
dnl Default languages...
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
AC_PREFIX_DEFAULT(/)
|
||||
|
||||
@@ -3,11 +3,7 @@ dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
|
||||
dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(avahi, [ --disable-avahi disable DNS Service Discovery support using Avahi])
|
||||
|
||||
@@ -7,11 +7,7 @@ dnl
|
||||
dnl This file contains Kerberos support code, copyright 2006 by
|
||||
dnl Jelmer Vernooij.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(gssapi, [ --disable-gssapi disable GSSAPI support])
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2011 by Apple Inc.
|
||||
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
dnl Check for largefile support...
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
dnl
|
||||
dnl Libtool stuff for CUPS.
|
||||
dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 2007-2018 by Apple Inc.
|
||||
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(libtool_unsupported, [ --enable-libtool-unsupported=/path/to/libtool
|
||||
@@ -44,7 +40,7 @@ if test x$LIBTOOL != x; then
|
||||
LIBTOOL_INSTALL="\$(LIBTOOL) --mode=install"
|
||||
|
||||
LINKCUPS="../cups/\$(LIBCUPS)"
|
||||
LINKCUPSIMAGE="../filter/\$(LIBCUPSIMAGE)"
|
||||
LINKCUPSIMAGE="../cups/\$(LIBCUPSIMAGE)"
|
||||
|
||||
else
|
||||
LD_CC="\$(CC)"
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
dnl Fix "mandir" variable...
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2016 by Apple Inc.
|
||||
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
AC_CHECK_HEADER(resolv.h,AC_DEFINE(HAVE_RESOLV_H),,[
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
dnl Get the build and host platforms and split the host_os value
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(pam, [ --disable-pam disable PAM support])
|
||||
@@ -69,10 +65,22 @@ if test x$enable_pam != xno; then
|
||||
# as Linux distributors move things around...
|
||||
if test "x$with_pam_module" != x; then
|
||||
PAMMOD="pam_${with_pam_module}.so"
|
||||
elif test -f /lib/security/pam_unix2.so; then
|
||||
PAMMOD="pam_unix2.so"
|
||||
elif test -f /lib/security/pam_unix.so; then
|
||||
PAMMOD="pam_unix.so"
|
||||
elif test -f /etc/pam.d/common-auth; then
|
||||
PAMFILE="pam.common"
|
||||
else
|
||||
moddir=""
|
||||
for dir in /lib/security /lib64/security /lib/x86_64-linux-gnu/security /var/lib/pam; do
|
||||
if test -d $dir; then
|
||||
moddir=$dir
|
||||
break;
|
||||
fi
|
||||
done
|
||||
|
||||
if test -f $moddir/pam_unix2.so; then
|
||||
PAMMOD="pam_unix2.so"
|
||||
elif test -f $moddir/pam_unix.so; then
|
||||
PAMMOD="pam_unix.so"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$PAMMOD" = xpam_unix.so; then
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2011 by Apple Inc.
|
||||
dnl Copyright 2006 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
AC_CHECK_FUNC(poll, AC_DEFINE(HAVE_POLL))
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
dnl
|
||||
dnl Scripting configuration stuff for CUPS.
|
||||
dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl
|
||||
|
||||
dnl Do we have Java?
|
||||
AC_ARG_WITH(java, [ --with-java set Java interpreter for web interfaces ],
|
||||
CUPS_JAVA="$withval",
|
||||
CUPS_JAVA="auto")
|
||||
|
||||
if test "x$CUPS_JAVA" = xauto; then
|
||||
AC_PATH_PROG(JAVA,java)
|
||||
CUPS_JAVA="$JAVA"
|
||||
elif test "x$CUPS_JAVA" = xno; then
|
||||
CUPS_JAVA=""
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(CUPS_JAVA, "$CUPS_JAVA")
|
||||
|
||||
if test "x$CUPS_JAVA" != x; then
|
||||
AC_DEFINE(HAVE_JAVA)
|
||||
fi
|
||||
|
||||
dnl Do we have Perl?
|
||||
AC_ARG_WITH(perl, [ --with-perl set Perl interpreter for web interfaces ],
|
||||
CUPS_PERL="$withval",
|
||||
CUPS_PERL="auto")
|
||||
|
||||
if test "x$CUPS_PERL" = xauto; then
|
||||
AC_PATH_PROG(PERL,perl)
|
||||
CUPS_PERL="$PERL"
|
||||
elif test "x$CUPS_PERL" = xno; then
|
||||
CUPS_PERL=""
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(CUPS_PERL, "$CUPS_PERL")
|
||||
|
||||
if test "x$CUPS_PERL" != x; then
|
||||
AC_DEFINE(HAVE_PERL)
|
||||
fi
|
||||
|
||||
dnl Do we have PHP?
|
||||
AC_ARG_WITH(php, [ --with-php set PHP interpreter for web interfaces ],
|
||||
CUPS_PHP="$withval",
|
||||
CUPS_PHP="auto")
|
||||
|
||||
if test "x$CUPS_PHP" = xauto; then
|
||||
AC_PATH_PROG(PHPCGI,php-cgi)
|
||||
if test "x$PHPCGI" = x; then
|
||||
AC_PATH_PROG(PHP,php)
|
||||
CUPS_PHP="$PHP"
|
||||
else
|
||||
CUPS_PHP="$PHPCGI"
|
||||
fi
|
||||
elif test "x$CUPS_PHP" = xno; then
|
||||
CUPS_PHP=""
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(CUPS_PHP, "$CUPS_PHP")
|
||||
|
||||
if test "x$CUPS_PHP" = x; then
|
||||
CUPS_PHP="no"
|
||||
else
|
||||
AC_DEFINE(HAVE_PHP)
|
||||
fi
|
||||
|
||||
dnl Do we have Python?
|
||||
AC_ARG_WITH(python, [ --with-python set Python interpreter for web interfaces ],
|
||||
CUPS_PYTHON="$withval",
|
||||
CUPS_PYTHON="auto")
|
||||
|
||||
if test "x$CUPS_PYTHON" = xauto; then
|
||||
AC_PATH_PROG(PYTHON,python)
|
||||
CUPS_PYTHON="$PYTHON"
|
||||
elif test "x$CUPS_PYTHON" = xno; then
|
||||
CUPS_PYTHON=""
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(CUPS_PYTHON, "$CUPS_PYTHON")
|
||||
|
||||
if test "x$CUPS_PYTHON" != x; then
|
||||
AC_DEFINE(HAVE_PYTHON)
|
||||
fi
|
||||
@@ -1,14 +1,10 @@
|
||||
dnl
|
||||
dnl Shared library support for CUPS.
|
||||
dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 2007-2018 by Apple Inc.
|
||||
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
PICFLAG=1
|
||||
@@ -89,7 +85,7 @@ AC_SUBST(LIBCUPSSTATIC)
|
||||
|
||||
if test x$enable_shared = xno; then
|
||||
LINKCUPS="../cups/lib$cupsbase.a"
|
||||
LINKCUPSIMAGE="../filter/libcupsimage.a"
|
||||
LINKCUPSIMAGE="../cups/libcupsimage.a"
|
||||
|
||||
EXTLINKCUPS="-lcups"
|
||||
EXTLINKCUPSIMAGE="-lcupsimage"
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(ssl, [ --disable-ssl disable SSL/TLS support])
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
ONDEMANDFLAGS=""
|
||||
|
||||
@@ -4,11 +4,7 @@ dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(threads, [ --disable-threads disable multi-threading support])
|
||||
|
||||
+1
-19
@@ -4,11 +4,7 @@
|
||||
* Copyright 2007-2017 by Apple Inc.
|
||||
* Copyright 1997-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
#ifndef _CUPS_CONFIG_H_
|
||||
@@ -501,20 +497,6 @@
|
||||
#undef HAVE_UPSTART
|
||||
|
||||
|
||||
/*
|
||||
* Various scripting languages...
|
||||
*/
|
||||
|
||||
#undef HAVE_JAVA
|
||||
#define CUPS_JAVA "/usr/bin/java"
|
||||
#undef HAVE_PERL
|
||||
#define CUPS_PERL "/usr/bin/perl"
|
||||
#undef HAVE_PHP
|
||||
#define CUPS_PHP "/usr/bin/php"
|
||||
#undef HAVE_PYTHON
|
||||
#define CUPS_PYTHON "/usr/bin/python"
|
||||
|
||||
|
||||
/*
|
||||
* Do we have CoreFoundation public and private headers?
|
||||
*/
|
||||
|
||||
externo
+137
-452
@@ -1,11 +1,13 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for CUPS 2.2.6.
|
||||
# Generated by GNU Autoconf 2.68 for CUPS 2.3b6.
|
||||
#
|
||||
# Report bugs to <https://github.com/apple/cups/issues>.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
|
||||
# Foundation, Inc.
|
||||
#
|
||||
#
|
||||
# This configure script is free software; the Free Software Foundation
|
||||
@@ -134,31 +136,6 @@ export LANGUAGE
|
||||
# CDPATH.
|
||||
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
||||
|
||||
# Use a proper internal environment variable to ensure we don't fall
|
||||
# into an infinite loop, continuously re-executing ourselves.
|
||||
if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
|
||||
_as_can_reexec=no; export _as_can_reexec;
|
||||
# We cannot yet assume a decent shell, so we have to provide a
|
||||
# neutralization value for shells without unset; and this also
|
||||
# works around shells that cannot unset nonexistent variables.
|
||||
# Preserve -v and -x to the replacement shell.
|
||||
BASH_ENV=/dev/null
|
||||
ENV=/dev/null
|
||||
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
|
||||
case $- in # ((((
|
||||
*v*x* | *x*v* ) as_opts=-vx ;;
|
||||
*v* ) as_opts=-v ;;
|
||||
*x* ) as_opts=-x ;;
|
||||
* ) as_opts= ;;
|
||||
esac
|
||||
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
|
||||
# Admittedly, this is quite paranoid, since all the known shells bail
|
||||
# out after a failed `exec'.
|
||||
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
|
||||
as_fn_exit 255
|
||||
fi
|
||||
# We don't want this to propagate to other subprocesses.
|
||||
{ _as_can_reexec=; unset _as_can_reexec;}
|
||||
if test "x$CONFIG_SHELL" = x; then
|
||||
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
|
||||
emulate sh
|
||||
@@ -192,8 +169,7 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
|
||||
else
|
||||
exitcode=1; echo positional parameters were not saved.
|
||||
fi
|
||||
test x\$exitcode = x0 || exit 1
|
||||
test -x / || exit 1"
|
||||
test x\$exitcode = x0 || exit 1"
|
||||
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
|
||||
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
|
||||
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
|
||||
@@ -238,25 +214,21 @@ IFS=$as_save_IFS
|
||||
|
||||
|
||||
if test "x$CONFIG_SHELL" != x; then :
|
||||
export CONFIG_SHELL
|
||||
# We cannot yet assume a decent shell, so we have to provide a
|
||||
# neutralization value for shells without unset; and this also
|
||||
# works around shells that cannot unset nonexistent variables.
|
||||
# Preserve -v and -x to the replacement shell.
|
||||
BASH_ENV=/dev/null
|
||||
ENV=/dev/null
|
||||
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
|
||||
case $- in # ((((
|
||||
*v*x* | *x*v* ) as_opts=-vx ;;
|
||||
*v* ) as_opts=-v ;;
|
||||
*x* ) as_opts=-x ;;
|
||||
* ) as_opts= ;;
|
||||
esac
|
||||
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
|
||||
# Admittedly, this is quite paranoid, since all the known shells bail
|
||||
# out after a failed `exec'.
|
||||
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
|
||||
exit 255
|
||||
# We cannot yet assume a decent shell, so we have to provide a
|
||||
# neutralization value for shells without unset; and this also
|
||||
# works around shells that cannot unset nonexistent variables.
|
||||
# Preserve -v and -x to the replacement shell.
|
||||
BASH_ENV=/dev/null
|
||||
ENV=/dev/null
|
||||
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
|
||||
export CONFIG_SHELL
|
||||
case $- in # ((((
|
||||
*v*x* | *x*v* ) as_opts=-vx ;;
|
||||
*v* ) as_opts=-v ;;
|
||||
*x* ) as_opts=-x ;;
|
||||
* ) as_opts= ;;
|
||||
esac
|
||||
exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
|
||||
fi
|
||||
|
||||
if test x$as_have_required = xno; then :
|
||||
@@ -359,14 +331,6 @@ $as_echo X"$as_dir" |
|
||||
|
||||
|
||||
} # as_fn_mkdir_p
|
||||
|
||||
# as_fn_executable_p FILE
|
||||
# -----------------------
|
||||
# Test if FILE is an executable regular file.
|
||||
as_fn_executable_p ()
|
||||
{
|
||||
test -f "$1" && test -x "$1"
|
||||
} # as_fn_executable_p
|
||||
# as_fn_append VAR VALUE
|
||||
# ----------------------
|
||||
# Append the text in VALUE to the end of the definition contained in VAR. Take
|
||||
@@ -488,10 +452,6 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
|
||||
chmod +x "$as_me.lineno" ||
|
||||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
|
||||
|
||||
# If we had to re-execute with $CONFIG_SHELL, we're ensured to have
|
||||
# already done that, so ensure we don't try to do so again and fall
|
||||
# in an infinite loop. This has already happened in practice.
|
||||
_as_can_reexec=no; export _as_can_reexec
|
||||
# Don't try to exec as it changes $[0], causing all sort of problems
|
||||
# (the dirname of $[0] is not the place where we might find the
|
||||
# original and so on. Autoconf is especially sensitive to this).
|
||||
@@ -526,16 +486,16 @@ if (echo >conf$$.file) 2>/dev/null; then
|
||||
# ... but there are two gotchas:
|
||||
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
|
||||
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
|
||||
# In both cases, we have to default to `cp -pR'.
|
||||
# In both cases, we have to default to `cp -p'.
|
||||
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
|
||||
as_ln_s='cp -pR'
|
||||
as_ln_s='cp -p'
|
||||
elif ln conf$$.file conf$$ 2>/dev/null; then
|
||||
as_ln_s=ln
|
||||
else
|
||||
as_ln_s='cp -pR'
|
||||
as_ln_s='cp -p'
|
||||
fi
|
||||
else
|
||||
as_ln_s='cp -pR'
|
||||
as_ln_s='cp -p'
|
||||
fi
|
||||
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
|
||||
rmdir conf$$.dir 2>/dev/null
|
||||
@@ -547,8 +507,28 @@ else
|
||||
as_mkdir_p=false
|
||||
fi
|
||||
|
||||
as_test_x='test -x'
|
||||
as_executable_p=as_fn_executable_p
|
||||
if test -x / >/dev/null 2>&1; then
|
||||
as_test_x='test -x'
|
||||
else
|
||||
if ls -dL / >/dev/null 2>&1; then
|
||||
as_ls_L_option=L
|
||||
else
|
||||
as_ls_L_option=
|
||||
fi
|
||||
as_test_x='
|
||||
eval sh -c '\''
|
||||
if test -d "$1"; then
|
||||
test -d "$1/.";
|
||||
else
|
||||
case $1 in #(
|
||||
-*)set "./$1";;
|
||||
esac;
|
||||
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
|
||||
???[sx]*):;;*)false;;esac;fi
|
||||
'\'' sh
|
||||
'
|
||||
fi
|
||||
as_executable_p=$as_test_x
|
||||
|
||||
# Sed expression to map a string onto a valid CPP name.
|
||||
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
|
||||
@@ -580,8 +560,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='CUPS'
|
||||
PACKAGE_TARNAME='cups'
|
||||
PACKAGE_VERSION='2.2.6'
|
||||
PACKAGE_STRING='CUPS 2.2.6'
|
||||
PACKAGE_VERSION='2.3b6'
|
||||
PACKAGE_STRING='CUPS 2.3b6'
|
||||
PACKAGE_BUGREPORT='https://github.com/apple/cups/issues'
|
||||
PACKAGE_URL='https://www.cups.org/'
|
||||
|
||||
@@ -626,11 +606,6 @@ ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
UNINSTALL_LANGUAGES
|
||||
INSTALL_LANGUAGES
|
||||
PYTHON
|
||||
PHP
|
||||
PHPCGI
|
||||
PERL
|
||||
JAVA
|
||||
CUPS_WEBIF
|
||||
DEFAULT_IPP_PORT
|
||||
CUPS_SNMP_COMMUNITY
|
||||
@@ -925,10 +900,6 @@ with_snmp_address
|
||||
with_snmp_community
|
||||
with_ipp_port
|
||||
enable_webif
|
||||
with_java
|
||||
with_perl
|
||||
with_php
|
||||
with_python
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
host_alias
|
||||
@@ -1397,6 +1368,8 @@ target=$target_alias
|
||||
if test "x$host_alias" != x; then
|
||||
if test "x$build_alias" = x; then
|
||||
cross_compiling=maybe
|
||||
$as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
|
||||
If a cross compiler is detected then cross compile mode will be used" >&2
|
||||
elif test "x$build_alias" != "x$host_alias"; then
|
||||
cross_compiling=yes
|
||||
fi
|
||||
@@ -1482,7 +1455,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures CUPS 2.2.6 to adapt to many kinds of systems.
|
||||
\`configure' configures CUPS 2.3b6 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1547,7 +1520,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of CUPS 2.2.6:";;
|
||||
short | recursive ) echo "Configuration of CUPS 2.3b6:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1644,10 +1617,6 @@ Optional Packages:
|
||||
--with-snmp-address set SNMP query address, default=auto
|
||||
--with-snmp-community set SNMP community, default=public
|
||||
--with-ipp-port set port number for IPP, default=631
|
||||
--with-java set Java interpreter for web interfaces
|
||||
--with-perl set Perl interpreter for web interfaces
|
||||
--with-php set PHP interpreter for web interfaces
|
||||
--with-python set Python interpreter for web interfaces
|
||||
|
||||
Some influential environment variables:
|
||||
CC C compiler command
|
||||
@@ -1728,10 +1697,10 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
CUPS configure 2.2.6
|
||||
generated by GNU Autoconf 2.69
|
||||
CUPS configure 2.3b6
|
||||
generated by GNU Autoconf 2.68
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
This configure script is free software; the Free Software Foundation
|
||||
gives unlimited permission to copy, distribute and modify it.
|
||||
_ACEOF
|
||||
@@ -1882,7 +1851,7 @@ $as_echo "$ac_try_echo"; } >&5
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest$ac_exeext && {
|
||||
test "$cross_compiling" = yes ||
|
||||
test -x conftest$ac_exeext
|
||||
$as_test_x conftest$ac_exeext
|
||||
}; then :
|
||||
ac_retval=0
|
||||
else
|
||||
@@ -2192,8 +2161,8 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by CUPS $as_me 2.2.6, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
It was created by CUPS $as_me 2.3b6, which was
|
||||
generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
|
||||
@@ -2667,7 +2636,7 @@ fi
|
||||
ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
CUPS_VERSION="2.2.6"
|
||||
CUPS_VERSION="2.3b6"
|
||||
CUPS_REVISION=""
|
||||
CUPS_BUILD="cups-$CUPS_VERSION"
|
||||
|
||||
@@ -2713,7 +2682,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_AWK="$ac_prog"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -2761,7 +2730,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -2805,7 +2774,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_ac_ct_CC="$ac_prog"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -3249,7 +3218,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
struct stat;
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
|
||||
struct buf { int x; };
|
||||
FILE * (*rcsopen) (struct buf *, struct stat *, int);
|
||||
@@ -3499,7 +3469,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -3543,7 +3513,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_ac_ct_CXX="$ac_prog"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -3745,7 +3715,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -3785,7 +3755,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_ac_ct_RANLIB="ranlib"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -3838,7 +3808,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -3878,7 +3848,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_CHMOD="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -3918,7 +3888,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_GZIP="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -3958,7 +3928,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_LD="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -3998,7 +3968,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -4038,7 +4008,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_MKDIR="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -4078,7 +4048,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -4118,7 +4088,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -4158,7 +4128,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_RMDIR="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -4198,7 +4168,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -4238,7 +4208,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_XDGOPEN="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -4314,7 +4284,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -4357,7 +4327,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -4767,7 +4737,7 @@ do
|
||||
for ac_prog in grep ggrep; do
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||
as_fn_executable_p "$ac_path_GREP" || continue
|
||||
{ test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
|
||||
# Check for GNU ac_path_GREP and select it if it is found.
|
||||
# Check for GNU $ac_path_GREP
|
||||
case `"$ac_path_GREP" --version 2>&1` in
|
||||
@@ -4833,7 +4803,7 @@ do
|
||||
for ac_prog in egrep; do
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||
as_fn_executable_p "$ac_path_EGREP" || continue
|
||||
{ test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
|
||||
# Check for GNU ac_path_EGREP and select it if it is found.
|
||||
# Check for GNU $ac_path_EGREP
|
||||
case `"$ac_path_EGREP" --version 2>&1` in
|
||||
@@ -6644,7 +6614,7 @@ fi
|
||||
|
||||
if test x$enable_shared = xno; then
|
||||
LINKCUPS="../cups/lib$cupsbase.a"
|
||||
LINKCUPSIMAGE="../filter/libcupsimage.a"
|
||||
LINKCUPSIMAGE="../cups/libcupsimage.a"
|
||||
|
||||
EXTLINKCUPS="-lcups"
|
||||
EXTLINKCUPSIMAGE="-lcupsimage"
|
||||
@@ -6745,7 +6715,7 @@ if test x$LIBTOOL != x; then
|
||||
LIBTOOL_INSTALL="\$(LIBTOOL) --mode=install"
|
||||
|
||||
LINKCUPS="../cups/\$(LIBCUPS)"
|
||||
LINKCUPSIMAGE="../filter/\$(LIBCUPSIMAGE)"
|
||||
LINKCUPSIMAGE="../cups/\$(LIBCUPSIMAGE)"
|
||||
|
||||
else
|
||||
LD_CC="\$(CC)"
|
||||
@@ -7851,7 +7821,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_KRB5CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -7894,7 +7864,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_ac_pt_KRB5CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -8446,7 +8416,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_LIBGNUTLSCONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -8489,7 +8459,7 @@ do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_ac_pt_LIBGNUTLSCONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
@@ -8830,10 +8800,22 @@ fi
|
||||
# as Linux distributors move things around...
|
||||
if test "x$with_pam_module" != x; then
|
||||
PAMMOD="pam_${with_pam_module}.so"
|
||||
elif test -f /lib/security/pam_unix2.so; then
|
||||
PAMMOD="pam_unix2.so"
|
||||
elif test -f /lib/security/pam_unix.so; then
|
||||
PAMMOD="pam_unix.so"
|
||||
elif test -f /etc/pam.d/common-auth; then
|
||||
PAMFILE="pam.common"
|
||||
else
|
||||
moddir=""
|
||||
for dir in /lib/security /lib64/security /lib/x86_64-linux-gnu/security /var/lib/pam; do
|
||||
if test -d $dir; then
|
||||
moddir=$dir
|
||||
break;
|
||||
fi
|
||||
done
|
||||
|
||||
if test -f $moddir/pam_unix2.so; then
|
||||
PAMMOD="pam_unix2.so"
|
||||
elif test -f $moddir/pam_unix.so; then
|
||||
PAMMOD="pam_unix.so"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$PAMMOD" = xpam_unix.so; then
|
||||
@@ -9048,8 +9030,6 @@ _ACEOF
|
||||
esac
|
||||
rm -rf conftest*
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
@@ -10063,313 +10043,6 @@ _ACEOF
|
||||
|
||||
|
||||
|
||||
|
||||
# Check whether --with-java was given.
|
||||
if test "${with_java+set}" = set; then :
|
||||
withval=$with_java; CUPS_JAVA="$withval"
|
||||
else
|
||||
CUPS_JAVA="auto"
|
||||
fi
|
||||
|
||||
|
||||
if test "x$CUPS_JAVA" = xauto; then
|
||||
# Extract the first word of "java", so it can be a program name with args.
|
||||
set dummy java; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_JAVA+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $JAVA in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
JAVA=$ac_cv_path_JAVA
|
||||
if test -n "$JAVA"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5
|
||||
$as_echo "$JAVA" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
CUPS_JAVA="$JAVA"
|
||||
elif test "x$CUPS_JAVA" = xno; then
|
||||
CUPS_JAVA=""
|
||||
fi
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define CUPS_JAVA "$CUPS_JAVA"
|
||||
_ACEOF
|
||||
|
||||
|
||||
if test "x$CUPS_JAVA" != x; then
|
||||
$as_echo "#define HAVE_JAVA 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --with-perl was given.
|
||||
if test "${with_perl+set}" = set; then :
|
||||
withval=$with_perl; CUPS_PERL="$withval"
|
||||
else
|
||||
CUPS_PERL="auto"
|
||||
fi
|
||||
|
||||
|
||||
if test "x$CUPS_PERL" = xauto; then
|
||||
# Extract the first word of "perl", so it can be a program name with args.
|
||||
set dummy perl; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_PERL+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $PERL in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
PERL=$ac_cv_path_PERL
|
||||
if test -n "$PERL"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
|
||||
$as_echo "$PERL" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
CUPS_PERL="$PERL"
|
||||
elif test "x$CUPS_PERL" = xno; then
|
||||
CUPS_PERL=""
|
||||
fi
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define CUPS_PERL "$CUPS_PERL"
|
||||
_ACEOF
|
||||
|
||||
|
||||
if test "x$CUPS_PERL" != x; then
|
||||
$as_echo "#define HAVE_PERL 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --with-php was given.
|
||||
if test "${with_php+set}" = set; then :
|
||||
withval=$with_php; CUPS_PHP="$withval"
|
||||
else
|
||||
CUPS_PHP="auto"
|
||||
fi
|
||||
|
||||
|
||||
if test "x$CUPS_PHP" = xauto; then
|
||||
# Extract the first word of "php-cgi", so it can be a program name with args.
|
||||
set dummy php-cgi; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_PHPCGI+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $PHPCGI in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_PHPCGI="$PHPCGI" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_PHPCGI="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
PHPCGI=$ac_cv_path_PHPCGI
|
||||
if test -n "$PHPCGI"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PHPCGI" >&5
|
||||
$as_echo "$PHPCGI" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
if test "x$PHPCGI" = x; then
|
||||
# Extract the first word of "php", so it can be a program name with args.
|
||||
set dummy php; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_PHP+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $PHP in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_PHP="$PHP" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_PHP="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
PHP=$ac_cv_path_PHP
|
||||
if test -n "$PHP"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PHP" >&5
|
||||
$as_echo "$PHP" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
CUPS_PHP="$PHP"
|
||||
else
|
||||
CUPS_PHP="$PHPCGI"
|
||||
fi
|
||||
elif test "x$CUPS_PHP" = xno; then
|
||||
CUPS_PHP=""
|
||||
fi
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define CUPS_PHP "$CUPS_PHP"
|
||||
_ACEOF
|
||||
|
||||
|
||||
if test "x$CUPS_PHP" = x; then
|
||||
CUPS_PHP="no"
|
||||
else
|
||||
$as_echo "#define HAVE_PHP 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --with-python was given.
|
||||
if test "${with_python+set}" = set; then :
|
||||
withval=$with_python; CUPS_PYTHON="$withval"
|
||||
else
|
||||
CUPS_PYTHON="auto"
|
||||
fi
|
||||
|
||||
|
||||
if test "x$CUPS_PYTHON" = xauto; then
|
||||
# Extract the first word of "python", so it can be a program name with args.
|
||||
set dummy python; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_PYTHON+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $PYTHON in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
PYTHON=$ac_cv_path_PYTHON
|
||||
if test -n "$PYTHON"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
|
||||
$as_echo "$PYTHON" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
CUPS_PYTHON="$PYTHON"
|
||||
elif test "x$CUPS_PYTHON" = xno; then
|
||||
CUPS_PYTHON=""
|
||||
fi
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define CUPS_PYTHON "$CUPS_PYTHON"
|
||||
_ACEOF
|
||||
|
||||
|
||||
if test "x$CUPS_PYTHON" != x; then
|
||||
$as_echo "#define HAVE_PYTHON 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
|
||||
INSTALL_LANGUAGES=""
|
||||
UNINSTALL_LANGUAGES=""
|
||||
LANGFILES=""
|
||||
@@ -10802,16 +10475,16 @@ if (echo >conf$$.file) 2>/dev/null; then
|
||||
# ... but there are two gotchas:
|
||||
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
|
||||
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
|
||||
# In both cases, we have to default to `cp -pR'.
|
||||
# In both cases, we have to default to `cp -p'.
|
||||
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
|
||||
as_ln_s='cp -pR'
|
||||
as_ln_s='cp -p'
|
||||
elif ln conf$$.file conf$$ 2>/dev/null; then
|
||||
as_ln_s=ln
|
||||
else
|
||||
as_ln_s='cp -pR'
|
||||
as_ln_s='cp -p'
|
||||
fi
|
||||
else
|
||||
as_ln_s='cp -pR'
|
||||
as_ln_s='cp -p'
|
||||
fi
|
||||
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
|
||||
rmdir conf$$.dir 2>/dev/null
|
||||
@@ -10871,16 +10544,28 @@ else
|
||||
as_mkdir_p=false
|
||||
fi
|
||||
|
||||
|
||||
# as_fn_executable_p FILE
|
||||
# -----------------------
|
||||
# Test if FILE is an executable regular file.
|
||||
as_fn_executable_p ()
|
||||
{
|
||||
test -f "$1" && test -x "$1"
|
||||
} # as_fn_executable_p
|
||||
as_test_x='test -x'
|
||||
as_executable_p=as_fn_executable_p
|
||||
if test -x / >/dev/null 2>&1; then
|
||||
as_test_x='test -x'
|
||||
else
|
||||
if ls -dL / >/dev/null 2>&1; then
|
||||
as_ls_L_option=L
|
||||
else
|
||||
as_ls_L_option=
|
||||
fi
|
||||
as_test_x='
|
||||
eval sh -c '\''
|
||||
if test -d "$1"; then
|
||||
test -d "$1/.";
|
||||
else
|
||||
case $1 in #(
|
||||
-*)set "./$1";;
|
||||
esac;
|
||||
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
|
||||
???[sx]*):;;*)false;;esac;fi
|
||||
'\'' sh
|
||||
'
|
||||
fi
|
||||
as_executable_p=$as_test_x
|
||||
|
||||
# Sed expression to map a string onto a valid CPP name.
|
||||
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
|
||||
@@ -10901,8 +10586,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by CUPS $as_me 2.2.6, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
This file was extended by CUPS $as_me 2.3b6, which was
|
||||
generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
CONFIG_HEADERS = $CONFIG_HEADERS
|
||||
@@ -10964,11 +10649,11 @@ _ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
CUPS config.status 2.2.6
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
CUPS config.status 2.3b6
|
||||
configured by $0, generated by GNU Autoconf 2.68,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
This config.status script is free software; the Free Software Foundation
|
||||
gives unlimited permission to copy, distribute and modify it."
|
||||
|
||||
@@ -11057,7 +10742,7 @@ fi
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
if \$ac_cs_recheck; then
|
||||
set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
|
||||
set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
|
||||
shift
|
||||
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
|
||||
CONFIG_SHELL='$SHELL'
|
||||
|
||||
+5
-9
@@ -1,21 +1,18 @@
|
||||
dnl
|
||||
dnl Configuration script for CUPS.
|
||||
dnl
|
||||
dnl Copyright 2007-2017 by Apple Inc.
|
||||
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
|
||||
dnl Copyright © 2007-2018 by Apple Inc.
|
||||
dnl Copyright © 1997-2007 by Easy Software Products, all rights reserved.
|
||||
dnl
|
||||
dnl These coded instructions, statements, and computer programs are the
|
||||
dnl property of Apple Inc. and are protected by Federal copyright
|
||||
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
dnl which should have been included with this file. If this file is
|
||||
dnl missing or damaged, see the license at "http://www.cups.org/".
|
||||
dnl Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
dnl information.
|
||||
dnl
|
||||
|
||||
dnl We need at least autoconf 2.60...
|
||||
AC_PREREQ(2.60)
|
||||
|
||||
dnl Package name and version...
|
||||
AC_INIT([CUPS], [2.2.6], [https://github.com/apple/cups/issues], [cups], [https://www.cups.org/])
|
||||
AC_INIT([CUPS], [2.3b6], [https://github.com/apple/cups/issues], [cups], [https://www.cups.org/])
|
||||
|
||||
sinclude(config-scripts/cups-opsys.m4)
|
||||
sinclude(config-scripts/cups-common.m4)
|
||||
@@ -36,7 +33,6 @@ sinclude(config-scripts/cups-largefile.m4)
|
||||
sinclude(config-scripts/cups-dnssd.m4)
|
||||
sinclude(config-scripts/cups-startup.m4)
|
||||
sinclude(config-scripts/cups-defaults.m4)
|
||||
sinclude(config-scripts/cups-scripting.m4)
|
||||
|
||||
INSTALL_LANGUAGES=""
|
||||
UNINSTALL_LANGUAGES=""
|
||||
|
||||
+5
-8
@@ -2,18 +2,15 @@
|
||||
#
|
||||
# CUPS configuration utility.
|
||||
#
|
||||
# Copyright 2007-2016 by Apple Inc.
|
||||
# Copyright 2001-2006 by Easy Software Products, all rights reserved.
|
||||
# Copyright © 2007-2018 by Apple Inc.
|
||||
# Copyright © 2001-2006 by Easy Software Products, all rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
# information.
|
||||
#
|
||||
|
||||
VERSION="@CUPS_VERSION@"
|
||||
APIVERSION="2.2"
|
||||
APIVERSION="2.3"
|
||||
BUILD="@CUPS_BUILD@"
|
||||
|
||||
prefix=@prefix@
|
||||
|
||||
+191
-180
@@ -1,254 +1,257 @@
|
||||
adminutil.o: adminutil.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h ppd.h raster.h \
|
||||
adminutil.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd.h raster.h adminutil.h
|
||||
array.o: array.c ../cups/cups.h file.h versioning.h ipp.h http.h array.h \
|
||||
language.h pwg.h string-private.h ../config.h debug-private.h \
|
||||
array-private.h
|
||||
auth.o: auth.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
backchannel.o: backchannel.c cups.h file.h versioning.h ipp.h http.h \
|
||||
array.h language.h pwg.h
|
||||
backend.o: backend.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h backend.h ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h backend.h ppd.h raster.h
|
||||
debug.o: debug.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
dest.o: dest.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
dest-job.o: dest-job.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
dest-localization.o: dest-localization.c cups-private.h string-private.h \
|
||||
../config.h debug-private.h ../cups/versioning.h array-private.h \
|
||||
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
|
||||
../cups/language.h md5-private.h language-private.h \
|
||||
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
|
||||
thread-private.h
|
||||
../cups/array.h ipp-private.h ../cups/cups.h file.h ipp.h http.h \
|
||||
language.h pwg.h http-private.h language-private.h ../cups/transcode.h \
|
||||
pwg-private.h thread-private.h
|
||||
dest-options.o: dest-options.c cups-private.h string-private.h \
|
||||
../config.h debug-private.h ../cups/versioning.h array-private.h \
|
||||
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
|
||||
../cups/language.h md5-private.h language-private.h \
|
||||
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
|
||||
thread-private.h
|
||||
../cups/array.h ipp-private.h ../cups/cups.h file.h ipp.h http.h \
|
||||
language.h pwg.h http-private.h language-private.h ../cups/transcode.h \
|
||||
pwg-private.h thread-private.h
|
||||
dir.o: dir.c string-private.h ../config.h debug-private.h \
|
||||
../cups/versioning.h dir.h
|
||||
encode.o: encode.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
file.o: file.c file-private.h cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
getdevices.o: getdevices.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h adminutil.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h adminutil.h
|
||||
getifaddrs.o: getifaddrs.c http-private.h ../config.h ../cups/language.h \
|
||||
array.h versioning.h ../cups/http.h md5-private.h ipp-private.h \
|
||||
../cups/ipp.h
|
||||
array.h versioning.h ../cups/http.h ipp-private.h ../cups/cups.h \
|
||||
file.h ipp.h pwg.h
|
||||
getputfile.o: getputfile.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
globals.o: globals.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
hash.o: hash.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
http.o: http.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
http-addr.o: http-addr.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
http-addrlist.o: http-addrlist.c cups-private.h string-private.h \
|
||||
../config.h debug-private.h ../cups/versioning.h array-private.h \
|
||||
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
|
||||
../cups/language.h md5-private.h language-private.h \
|
||||
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
|
||||
thread-private.h
|
||||
../cups/array.h ipp-private.h ../cups/cups.h file.h ipp.h http.h \
|
||||
language.h pwg.h http-private.h language-private.h ../cups/transcode.h \
|
||||
pwg-private.h thread-private.h
|
||||
http-support.o: http-support.c cups-private.h string-private.h \
|
||||
../config.h debug-private.h ../cups/versioning.h array-private.h \
|
||||
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
|
||||
../cups/language.h md5-private.h language-private.h \
|
||||
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
|
||||
thread-private.h
|
||||
../cups/array.h ipp-private.h ../cups/cups.h file.h ipp.h http.h \
|
||||
language.h pwg.h http-private.h language-private.h ../cups/transcode.h \
|
||||
pwg-private.h thread-private.h
|
||||
ipp.o: ipp.c cups-private.h string-private.h ../config.h debug-private.h \
|
||||
../cups/versioning.h array-private.h ../cups/array.h ipp-private.h \
|
||||
../cups/ipp.h http.h http-private.h ../cups/language.h md5-private.h \
|
||||
language-private.h ../cups/transcode.h pwg-private.h ../cups/cups.h \
|
||||
file.h pwg.h thread-private.h
|
||||
../cups/cups.h file.h ipp.h http.h language.h pwg.h http-private.h \
|
||||
language-private.h ../cups/transcode.h pwg-private.h thread-private.h
|
||||
ipp-file.o: ipp-file.c ipp-private.h ../cups/cups.h file.h versioning.h \
|
||||
ipp.h http.h array.h language.h pwg.h string-private.h ../config.h \
|
||||
debug-private.h
|
||||
ipp-vars.o: ipp-vars.c ../cups/cups.h file.h versioning.h ipp.h http.h \
|
||||
array.h language.h pwg.h ipp-private.h string-private.h ../config.h
|
||||
ipp-support.o: ipp-support.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
langprintf.o: langprintf.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
language.o: language.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
md5.o: md5.c md5-private.h string-private.h ../config.h
|
||||
md5passwd.o: md5passwd.c http-private.h ../config.h ../cups/language.h \
|
||||
array.h versioning.h ../cups/http.h md5-private.h ipp-private.h \
|
||||
../cups/ipp.h string-private.h
|
||||
md5passwd.o: md5passwd.c ../cups/cups.h file.h versioning.h ipp.h http.h \
|
||||
array.h language.h pwg.h http-private.h ../config.h ipp-private.h \
|
||||
string-private.h
|
||||
notify.o: notify.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
options.o: options.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
ppd.o: ppd.c cups-private.h string-private.h ../config.h debug-private.h \
|
||||
../cups/versioning.h array-private.h ../cups/array.h ipp-private.h \
|
||||
../cups/ipp.h http.h http-private.h ../cups/language.h md5-private.h \
|
||||
language-private.h ../cups/transcode.h pwg-private.h ../cups/cups.h \
|
||||
file.h pwg.h thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
../cups/cups.h file.h ipp.h http.h language.h pwg.h http-private.h \
|
||||
language-private.h ../cups/transcode.h pwg-private.h thread-private.h \
|
||||
ppd-private.h ../cups/ppd.h raster.h
|
||||
ppd-attr.o: ppd-attr.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
|
||||
../cups/ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
ppd-cache.o: ppd-cache.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
|
||||
../cups/ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
ppd-conflicts.o: ppd-conflicts.c cups-private.h string-private.h \
|
||||
../config.h debug-private.h ../cups/versioning.h array-private.h \
|
||||
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
|
||||
../cups/language.h md5-private.h language-private.h \
|
||||
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
|
||||
thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
../cups/array.h ipp-private.h ../cups/cups.h file.h ipp.h http.h \
|
||||
language.h pwg.h http-private.h language-private.h ../cups/transcode.h \
|
||||
pwg-private.h thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
ppd-custom.o: ppd-custom.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
|
||||
../cups/ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
ppd-emit.o: ppd-emit.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd.h raster.h
|
||||
ppd-localize.o: ppd-localize.c cups-private.h string-private.h \
|
||||
../config.h debug-private.h ../cups/versioning.h array-private.h \
|
||||
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
|
||||
../cups/language.h md5-private.h language-private.h \
|
||||
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
|
||||
thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
../cups/array.h ipp-private.h ../cups/cups.h file.h ipp.h http.h \
|
||||
language.h pwg.h http-private.h language-private.h ../cups/transcode.h \
|
||||
pwg-private.h thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
ppd-mark.o: ppd-mark.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
|
||||
../cups/ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
ppd-page.o: ppd-page.c string-private.h ../config.h debug-private.h \
|
||||
../cups/versioning.h ppd.h cups.h file.h ipp.h http.h array.h \
|
||||
language.h pwg.h raster.h
|
||||
ppd-util.o: ppd-util.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
|
||||
../cups/ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
pwg-media.o: pwg-media.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
request.o: request.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
sidechannel.o: sidechannel.c sidechannel.h versioning.h cups-private.h \
|
||||
string-private.h ../config.h debug-private.h array-private.h \
|
||||
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
|
||||
../cups/language.h md5-private.h language-private.h \
|
||||
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
|
||||
thread-private.h
|
||||
../cups/array.h ipp-private.h ../cups/cups.h file.h ipp.h http.h \
|
||||
language.h pwg.h http-private.h language-private.h ../cups/transcode.h \
|
||||
pwg-private.h thread-private.h
|
||||
snmp.o: snmp.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h snmp-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h snmp-private.h
|
||||
snprintf.o: snprintf.c string-private.h ../config.h
|
||||
string.o: string.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
tempfile.o: tempfile.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
thread.o: thread.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
tls.o: tls.c cups-private.h string-private.h ../config.h debug-private.h \
|
||||
../cups/versioning.h array-private.h ../cups/array.h ipp-private.h \
|
||||
../cups/ipp.h http.h http-private.h ../cups/language.h md5-private.h \
|
||||
language-private.h ../cups/transcode.h pwg-private.h ../cups/cups.h \
|
||||
file.h pwg.h thread-private.h tls-darwin.c
|
||||
../cups/cups.h file.h ipp.h http.h language.h pwg.h http-private.h \
|
||||
language-private.h ../cups/transcode.h pwg-private.h thread-private.h \
|
||||
tls-darwin.c
|
||||
transcode.o: transcode.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
usersys.o: usersys.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
util.o: util.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
error.o: error.c ../cups/raster-private.h raster.h cups.h file.h \
|
||||
versioning.h ipp.h http.h array.h language.h pwg.h \
|
||||
../cups/debug-private.h ../cups/string-private.h ../config.h
|
||||
interpret.o: interpret.c ../cups/raster-private.h raster.h cups.h file.h \
|
||||
versioning.h ipp.h http.h array.h language.h pwg.h \
|
||||
../cups/debug-private.h ../cups/string-private.h ../config.h \
|
||||
../cups/ppd.h
|
||||
raster.o: raster.c ../cups/raster-private.h raster.h cups.h file.h \
|
||||
versioning.h ipp.h http.h array.h language.h pwg.h \
|
||||
../cups/debug-private.h ../cups/string-private.h ../config.h
|
||||
rasterbench.o: rasterbench.c ../config.h ../cups/raster.h cups.h file.h \
|
||||
versioning.h ipp.h http.h array.h language.h pwg.h
|
||||
testadmin.o: testadmin.c adminutil.h cups.h file.h versioning.h ipp.h \
|
||||
http.h array.h language.h pwg.h string-private.h ../config.h
|
||||
testarray.o: testarray.c string-private.h ../config.h debug-private.h \
|
||||
@@ -257,60 +260,68 @@ testcache.o: testcache.c ppd-private.h ../cups/cups.h file.h versioning.h \
|
||||
ipp.h http.h array.h language.h pwg.h ../cups/ppd.h raster.h \
|
||||
pwg-private.h file-private.h cups-private.h string-private.h \
|
||||
../config.h debug-private.h array-private.h ipp-private.h \
|
||||
http-private.h md5-private.h language-private.h ../cups/transcode.h \
|
||||
thread-private.h
|
||||
http-private.h language-private.h ../cups/transcode.h thread-private.h
|
||||
testclient.o: testclient.c ../cups/cups.h file.h versioning.h ipp.h \
|
||||
http.h array.h language.h pwg.h ../cups/raster.h \
|
||||
../cups/string-private.h ../config.h ../cups/thread-private.h
|
||||
testconflicts.o: testconflicts.c cups.h file.h versioning.h ipp.h http.h \
|
||||
array.h language.h pwg.h ppd.h raster.h string-private.h ../config.h
|
||||
testcreds.o: testcreds.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
testcups.o: testcups.c string-private.h ../config.h cups.h file.h \
|
||||
versioning.h ipp.h http.h array.h language.h pwg.h ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
testcups.o: testcups.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd.h raster.h
|
||||
testdest.o: testdest.c cups.h file.h versioning.h ipp.h http.h array.h \
|
||||
language.h pwg.h
|
||||
testfile.o: testfile.c string-private.h ../config.h debug-private.h \
|
||||
../cups/versioning.h file.h
|
||||
testgetdests.o: testgetdests.c cups.h file.h versioning.h ipp.h http.h \
|
||||
array.h language.h pwg.h
|
||||
testhttp.o: testhttp.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
testi18n.o: testi18n.c string-private.h ../config.h language-private.h \
|
||||
../cups/transcode.h language.h array.h versioning.h
|
||||
testipp.o: testipp.c file.h versioning.h string-private.h ../config.h \
|
||||
ipp-private.h ../cups/ipp.h http.h array.h
|
||||
ipp-private.h ../cups/cups.h ipp.h http.h array.h language.h pwg.h
|
||||
testoptions.o: testoptions.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
testlang.o: testlang.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
|
||||
../cups/ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
testppd.o: testppd.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
|
||||
../cups/ppd.h raster.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h ppd-private.h ../cups/ppd.h raster.h
|
||||
testpwg.o: testpwg.c ppd-private.h ../cups/cups.h file.h versioning.h \
|
||||
ipp.h http.h array.h language.h pwg.h ../cups/ppd.h raster.h \
|
||||
pwg-private.h file-private.h cups-private.h string-private.h \
|
||||
../config.h debug-private.h array-private.h ipp-private.h \
|
||||
http-private.h md5-private.h language-private.h ../cups/transcode.h \
|
||||
thread-private.h
|
||||
http-private.h language-private.h ../cups/transcode.h thread-private.h
|
||||
testraster.o: testraster.c ../cups/raster-private.h raster.h cups.h \
|
||||
file.h versioning.h ipp.h http.h array.h language.h pwg.h \
|
||||
../cups/debug-private.h ../cups/string-private.h ../config.h \
|
||||
../cups/ppd.h
|
||||
testsnmp.o: testsnmp.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h snmp-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h snmp-private.h
|
||||
tlscheck.o: tlscheck.c cups-private.h string-private.h ../config.h \
|
||||
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
|
||||
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
|
||||
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
../cups/cups.h file.h pwg.h thread-private.h
|
||||
ipp-private.h ../cups/cups.h file.h ipp.h http.h language.h pwg.h \
|
||||
http-private.h language-private.h ../cups/transcode.h pwg-private.h \
|
||||
thread-private.h
|
||||
|
||||
+153
-21
@@ -1,28 +1,16 @@
|
||||
#
|
||||
# Library Makefile for CUPS.
|
||||
#
|
||||
# Copyright 2007-2017 by Apple Inc.
|
||||
# Copyright 2007-2018 by Apple Inc.
|
||||
# Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Apple Inc. and are protected by Federal copyright
|
||||
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
# which should have been included with this file. If this file is
|
||||
# missing or damaged, see the license at "http://www.cups.org/".
|
||||
#
|
||||
# This file is subject to the Apple OS-Developed Software exception.
|
||||
# Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
# information.
|
||||
#
|
||||
|
||||
include ../Makedefs
|
||||
|
||||
|
||||
#
|
||||
# Options to build libcups without the use of deprecated APIs...
|
||||
#
|
||||
|
||||
OPTIONS = -D_CUPS_NO_DEPRECATED=1 -D_PPD_DEPRECATED=""
|
||||
|
||||
|
||||
#
|
||||
# Object files...
|
||||
#
|
||||
@@ -51,6 +39,8 @@ LIBOBJS = \
|
||||
http-addrlist.o \
|
||||
http-support.o \
|
||||
ipp.o \
|
||||
ipp-file.o \
|
||||
ipp-vars.o \
|
||||
ipp-support.o \
|
||||
langprintf.o \
|
||||
language.o \
|
||||
@@ -80,10 +70,18 @@ LIBOBJS = \
|
||||
transcode.o \
|
||||
usersys.o \
|
||||
util.o
|
||||
IMAGEOBJS = \
|
||||
error.o \
|
||||
interpret.o \
|
||||
raster.o
|
||||
XFORMOBJS = \
|
||||
xform.o
|
||||
TESTOBJS = \
|
||||
rasterbench.o \
|
||||
testadmin.o \
|
||||
testarray.o \
|
||||
testcache.o \
|
||||
testclient.o \
|
||||
testconflicts.o \
|
||||
testcreds.o \
|
||||
testcups.o \
|
||||
@@ -97,10 +95,13 @@ TESTOBJS = \
|
||||
testlang.o \
|
||||
testppd.o \
|
||||
testpwg.o \
|
||||
testraster.o \
|
||||
testsnmp.o \
|
||||
tlscheck.o
|
||||
OBJS = \
|
||||
$(LIBOBJS) \
|
||||
$(IMAGEOBJS) \
|
||||
$(XFORMOBJS) \
|
||||
$(TESTOBJS)
|
||||
|
||||
|
||||
@@ -147,13 +148,18 @@ HEADERSPRIV = \
|
||||
#
|
||||
|
||||
LIBTARGETS = \
|
||||
$(LIBCUPSIMAGE) \
|
||||
$(LIBCUPSSTATIC) \
|
||||
$(LIBCUPS)
|
||||
$(LIBCUPS) \
|
||||
libcupsimage.a \
|
||||
libcupsxform.a
|
||||
|
||||
UNITTARGETS = \
|
||||
rasterbench \
|
||||
testadmin \
|
||||
testarray \
|
||||
testcache \
|
||||
testclient \
|
||||
testconflicts \
|
||||
testcreds \
|
||||
testcups \
|
||||
@@ -167,6 +173,7 @@ UNITTARGETS = \
|
||||
testoptions \
|
||||
testppd \
|
||||
testpwg \
|
||||
testraster \
|
||||
testsnmp \
|
||||
tlscheck
|
||||
|
||||
@@ -202,6 +209,7 @@ unittests: $(UNITTARGETS)
|
||||
clean:
|
||||
$(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
|
||||
$(RM) libcups.so libcups.dylib
|
||||
$(RM) libcupsimage.so libcupsimage.dylib
|
||||
|
||||
|
||||
#
|
||||
@@ -276,10 +284,23 @@ install-libs: $(INSTALLSTATIC)
|
||||
$(RM) $(LIBDIR)/libcups.dylib; \
|
||||
$(LN) $(LIBCUPS) $(LIBDIR)/libcups.dylib; \
|
||||
fi
|
||||
$(INSTALL_DIR) -m 755 $(LIBDIR)
|
||||
$(INSTALL_LIB) $(LIBCUPSIMAGE) $(LIBDIR)
|
||||
-if test $(LIBCUPSIMAGE) = "libcupsimage.so.2" -o $(LIBCUPSIMAGE) = "libcupsimage.sl.2"; then \
|
||||
$(RM) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \
|
||||
$(LN) $(LIBCUPSIMAGE) $(LIBDIR)/`basename $(LIBCUPSIMAGE) .2`; \
|
||||
fi
|
||||
-if test $(LIBCUPSIMAGE) = "libcupsimage.2.dylib"; then \
|
||||
$(RM) $(LIBDIR)/libcupsimage.dylib; \
|
||||
$(LN) $(LIBCUPSIMAGE) $(LIBDIR)/libcupsimage.dylib; \
|
||||
fi
|
||||
if test "x$(SYMROOT)" != "x"; then \
|
||||
$(INSTALL_DIR) $(SYMROOT); \
|
||||
$(INSTALL_DIR) $(SYMROOT); \
|
||||
cp $(LIBCUPS) $(SYMROOT); \
|
||||
dsymutil $(SYMROOT)/$(LIBCUPS); \
|
||||
cp $(LIBCUPSIMAGE) $(SYMROOT); \
|
||||
dsymutil $(SYMROOT)/$(LIBCUPSIMAGE); \
|
||||
fi
|
||||
|
||||
installstatic:
|
||||
@@ -287,6 +308,9 @@ installstatic:
|
||||
$(INSTALL_LIB) -m 755 $(LIBCUPSSTATIC) $(LIBDIR)
|
||||
$(RANLIB) $(LIBDIR)/$(LIBCUPSSTATIC)
|
||||
$(CHMOD) 555 $(LIBDIR)/$(LIBCUPSSTATIC)
|
||||
$(INSTALL_LIB) -m 755 libcupsimage.a $(LIBDIR)
|
||||
$(RANLIB) $(LIBDIR)/libcupsimage.a
|
||||
$(CHMOD) 555 $(LIBDIR)/libcupsimage.a
|
||||
|
||||
|
||||
#
|
||||
@@ -299,6 +323,11 @@ uninstall:
|
||||
$(RM) $(LIBDIR)/libcups.dylib
|
||||
$(RM) $(LIBDIR)/libcups.so
|
||||
$(RM) $(LIBDIR)/libcups.so.2
|
||||
$(RM) $(LIBDIR)/libcupsimage.2.dylib
|
||||
$(RM) $(LIBDIR)/libcupsimage.a
|
||||
$(RM) $(LIBDIR)/libcupsimage.dylib
|
||||
$(RM) $(LIBDIR)/libcupsimage.so
|
||||
$(RM) $(LIBDIR)/libcupsimage.so.2
|
||||
-$(RMDIR) $(LIBDIR)
|
||||
for file in $(HEADERS); do \
|
||||
$(RM) $(INCLUDEDIR)/cups/$$file; \
|
||||
@@ -331,7 +360,7 @@ libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER)
|
||||
echo Linking $@...
|
||||
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
|
||||
-install_name $(libdir)/$@ \
|
||||
-current_version 2.12.0 \
|
||||
-current_version 2.14.0 \
|
||||
-compatibility_version 2.0.0 \
|
||||
-exported_symbols_list t.exp \
|
||||
$(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
|
||||
@@ -347,7 +376,7 @@ libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER)
|
||||
libcups.la: $(LIBOBJS)
|
||||
echo Linking $@...
|
||||
$(LD_CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) \
|
||||
-rpath $(LIBDIR) -version-info 2:12 $(LIBGSSAPI) $(SSLLIBS) \
|
||||
-rpath $(LIBDIR) -version-info 2:14 $(LIBGSSAPI) $(SSLLIBS) \
|
||||
$(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
|
||||
|
||||
|
||||
@@ -366,12 +395,12 @@ libcups.a: $(LIBOBJS)
|
||||
# libcups2.def (Windows DLL exports file...)
|
||||
#
|
||||
|
||||
libcups2.def: $(LIBOBJS) Makefile
|
||||
libcups2.def: $(LIBOBJS) $(IMAGEOBJS) Makefile
|
||||
echo Generating $@...
|
||||
echo "LIBRARY libcups2" >libcups2.def
|
||||
echo "VERSION 2.12" >>libcups2.def
|
||||
echo "VERSION 2.14" >>libcups2.def
|
||||
echo "EXPORTS" >>libcups2.def
|
||||
(nm $(LIBOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}'; \
|
||||
(nm $(LIBOBJS) $(IMAGEOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}'; \
|
||||
echo __cups_strcpy; echo __cups_strlcat; echo __cups_strlcpy) | \
|
||||
grep -v -E \
|
||||
-e 'cups_debug|Apple|BackChannel|Backend|FileCheck|Filter|GSSService|SetNegotiate|SideChannel' \
|
||||
@@ -379,6 +408,75 @@ libcups2.def: $(LIBOBJS) Makefile
|
||||
sed -e '1,$$s/^_//' | sort >>libcups2.def
|
||||
|
||||
|
||||
#
|
||||
# libcupsimage.so.2
|
||||
#
|
||||
|
||||
libcupsimage.so.2: $(IMAGEOBJS) libcups.so.2
|
||||
echo Linking $@...
|
||||
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(IMAGEOBJS) $(DSOLIBS) \
|
||||
-L../cups $(LINKCUPS)
|
||||
$(RM) `basename $@ .2`
|
||||
$(LN) $@ `basename $@ .2`
|
||||
|
||||
|
||||
#
|
||||
# libcupsimage.2.dylib
|
||||
#
|
||||
|
||||
libcupsimage.2.dylib: $(IMAGEOBJS) libcups.2.dylib
|
||||
echo Linking $@...
|
||||
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
|
||||
-install_name $(libdir)/$@ \
|
||||
-current_version 2.3.0 \
|
||||
-compatibility_version 2.0.0 \
|
||||
$(IMAGEOBJS) $(DSOLIBS) -L../cups $(LINKCUPS)
|
||||
$(RM) libcupsimage.dylib
|
||||
$(LN) $@ libcupsimage.dylib
|
||||
|
||||
|
||||
#
|
||||
# libcupsimage.la
|
||||
#
|
||||
|
||||
libcupsimage.la: $(IMAGEOBJS) libcups.la
|
||||
echo Linking $@...
|
||||
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(IMAGEOBJS:.o=.lo) $(DSOLIBS) \
|
||||
-L../cups $(LINKCUPS) \
|
||||
-rpath $(LIBDIR) -version-info 2:3
|
||||
|
||||
|
||||
#
|
||||
# libcupsimage.a
|
||||
#
|
||||
|
||||
libcupsimage.a: $(IMAGEOBJS)
|
||||
echo Archiving $@...
|
||||
$(RM) $@
|
||||
$(AR) $(ARFLAGS) $@ $(IMAGEOBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
|
||||
#
|
||||
# libcupsxform.a
|
||||
#
|
||||
|
||||
libcupsxform.a: $(XFORMOBJS)
|
||||
echo Archiving $@...
|
||||
$(RM) $@
|
||||
$(AR) $(ARFLAGS) $@ $(XFORMOBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
|
||||
#
|
||||
# rasterbench
|
||||
#
|
||||
|
||||
rasterbench: rasterbench.o libcupsimage.a
|
||||
echo Linking $@...
|
||||
$(LD_CC) $(LDFLAGS) -o $@ rasterbench.o libcupsimage.a $(LIBS)
|
||||
|
||||
|
||||
#
|
||||
# testadmin (dependency on static CUPS library is intentional)
|
||||
#
|
||||
@@ -411,6 +509,17 @@ testcache: testcache.o $(LIBCUPSSTATIC)
|
||||
$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
|
||||
|
||||
|
||||
#
|
||||
# testclient (dependency on static libraries is intentional)
|
||||
#
|
||||
|
||||
testclient: testclient.o $(LIBCUPSSTATIC) libcupsimage.a
|
||||
echo Linking $@...
|
||||
$(LD_CC) $(LDFLAGS) -o $@ testclient.o \
|
||||
libcupsimage.a $(LIBCUPSSTATIC) \
|
||||
$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
|
||||
|
||||
|
||||
#
|
||||
# testconflicts (dependency on static CUPS library is intentional)
|
||||
#
|
||||
@@ -569,6 +678,19 @@ testpwg: testpwg.o $(LIBCUPSSTATIC) test.ppd
|
||||
./testpwg test.ppd
|
||||
|
||||
|
||||
#
|
||||
# testraster
|
||||
#
|
||||
|
||||
testraster: testraster.o $(LIBCUPSSTATIC) libcupsimage.a
|
||||
echo Linking $@...
|
||||
$(LD_CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testraster.o libcupsimage.a \
|
||||
$(LIBCUPSSTATIC) $(IMGLIBS) $(DSOLIBS) $(COMMONLIBS) \
|
||||
$(SSLLIBS) $(DNSSDLIBS) $(LIBGSSAPI)
|
||||
echo Running raster API tests...
|
||||
./testraster
|
||||
|
||||
|
||||
#
|
||||
# testsnmp (dependency on static CUPS library is intentional)
|
||||
#
|
||||
@@ -616,6 +738,14 @@ apihelp:
|
||||
--header api-ppd.header --intro api-ppd.shtml \
|
||||
api-ppd.xml ppd.h ppd-*.c >../doc/help/api-ppd.html
|
||||
$(RM) api-ppd.xml
|
||||
mxmldoc --section "Programming" --title "Raster API" \
|
||||
--css ../doc/cups-printable.css \
|
||||
--header api-raster.header --intro api-raster.shtml \
|
||||
api-raster.xml \
|
||||
../cups/raster.h interpret.c raster.c \
|
||||
>../doc/help/api-raster.html
|
||||
mxmldoc --tokens help/api-raster.html api-raster.xml >../doc/help/api-raster.tokens
|
||||
$(RM) api-raster.xml
|
||||
mxmldoc --section "Programming" \
|
||||
--title "Filter and Backend Programming" \
|
||||
--css ../doc/cups-printable.css \
|
||||
@@ -633,6 +763,8 @@ apihelp:
|
||||
sloc:
|
||||
echo "libcups: \c"
|
||||
sloccount $(LIBOBJS:.o=.c) 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
|
||||
echo "libcupsimage: \c"
|
||||
sloccount $(IMAGEOBJS:.o=.c) 2>/dev/null | grep "Total Physical" | awk '{print $$9}'
|
||||
|
||||
|
||||
#
|
||||
|
||||
+1
-7
@@ -4,13 +4,7 @@
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 2001-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
+2
-8
@@ -4,13 +4,7 @@
|
||||
* Copyright 2007-2016 by Apple Inc.
|
||||
* Copyright 2001-2007 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Apple Inc. and are protected by Federal copyright
|
||||
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
* which should have been included with this file. If this file is
|
||||
* missing or damaged, see the license at "http://www.cups.org/".
|
||||
*
|
||||
* This file is subject to the Apple OS-Developed Software exception.
|
||||
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
|
||||
*/
|
||||
|
||||
#ifndef _CUPS_ADMINUTIL_H_
|
||||
@@ -83,7 +77,7 @@ extern ipp_status_t cupsGetDevices(http_t *http, int timeout,
|
||||
const char *include_schemes,
|
||||
const char *exclude_schemes,
|
||||
cups_device_cb_t callback,
|
||||
void *user_data) _CUPS_API_1_4;
|
||||
void *user_data) _CUPS_DEPRECATED;
|
||||
|
||||
|
||||
# ifdef __cplusplus
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
<!--
|
||||
Administrative API header for CUPS.
|
||||
|
||||
Copyright 2016 by Apple Inc.
|
||||
Copyright © 2016 by Apple Inc.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
property of Apple Inc. and are protected by Federal copyright
|
||||
law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
which should have been included with this file. If this file is
|
||||
file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
information.
|
||||
-->
|
||||
|
||||
<h1 class='title'>Administrative APIs</h1>
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
<!--
|
||||
Administrative API documentation for CUPS.
|
||||
|
||||
Copyright 2016 by Apple Inc.
|
||||
Copyright © 2016 by Apple Inc.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
property of Apple Inc. and are protected by Federal copyright
|
||||
law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
which should have been included with this file. If this file is
|
||||
file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
information.
|
||||
-->
|
||||
|
||||
<h2 class="title"><a name="OVERVIEW">Overview</a></h2>
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
<!--
|
||||
Filter and backend programming header for CUPS.
|
||||
|
||||
Copyright 2008-2016 by Apple Inc.
|
||||
Copyright © 2008-2016 by Apple Inc.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
property of Apple Inc. and are protected by Federal copyright
|
||||
law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
which should have been included with this file. If this file is
|
||||
file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
information.
|
||||
-->
|
||||
|
||||
<h1 class='title'>Filter and Backend Programming</h1>
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
<!--
|
||||
Filter and backend programming introduction for CUPS.
|
||||
|
||||
Copyright 2007-2016 by Apple Inc.
|
||||
Copyright 1997-2006 by Easy Software Products, all rights reserved.
|
||||
Copyright © 2007-2016 by Apple Inc.
|
||||
Copyright © 1997-2006 by Easy Software Products, all rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs are the
|
||||
property of Apple Inc. and are protected by Federal copyright
|
||||
law. Distribution and use rights are outlined in the file "LICENSE.txt"
|
||||
which should have been included with this file. If this file is
|
||||
file is missing or damaged, see the license at "http://www.cups.org/".
|
||||
Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||||
information.
|
||||
-->
|
||||
|
||||
<h2 class='title'><a name="OVERVIEW">Overview</a></h2>
|
||||
|
||||
Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais
Referência em uma Nova Issue
Bloquear um usuário