Comparar commits

..

392 Commits

Autor SHA1 Mensagem Data
Michael Sweet d3331249b0 Import CUPS v2.1.2 2016-03-15 10:43:30 -04:00
Michael Sweet bc05464ada Import CUPS v2.1.1 2016-03-15 10:43:26 -04:00
Michael Sweet 348ce78265 Import CUPS v2.1.0 2016-03-15 10:43:24 -04:00
Michael Sweet be91b849f0 Import CUPS v2.1rc1 2016-03-15 10:43:21 -04:00
Michael Sweet c8d724e6bb Import CUPS v2.1b1 2016-03-15 10:43:16 -04:00
Michael Sweet 00d0ae86f6 Import CUPS v2.0.4 2016-03-15 10:40:47 -04:00
Michael Sweet a215cf8413 Import CUPS v2.0.3 2016-03-15 10:40:44 -04:00
Michael Sweet 4ef75dec45 Import CUPS v2.0.2 2016-03-15 10:40:41 -04:00
Michael Sweet 86243a7551 Import CUPS v2.0.1 2016-03-15 10:40:34 -04:00
Michael Sweet b93671244e Import CUPS v2.0.0 2016-03-15 10:40:30 -04:00
Michael Sweet 5d2cc5d32d Import CUPS v2.0rc1 2016-03-15 10:40:26 -04:00
Michael Sweet 1a18c85cd1 Import CUPS v2.0b1 2016-03-15 10:40:21 -04:00
Michael Sweet b60086f8ae Import CUPS v1.7.5 2016-03-15 10:37:32 -04:00
Michael Sweet 215ef63830 Import CUPS v1.7.4 2016-03-15 10:37:23 -04:00
Michael Sweet a51f28ec99 Import CUPS v1.7.3 2016-03-15 10:37:18 -04:00
Michael Sweet 71f63681cb Import CUPS v1.7.2 2016-03-15 10:37:10 -04:00
Michael Sweet 61515785f7 Import CUPS v1.7.1 2016-03-15 10:36:17 -04:00
msweet 75efa1051d Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11429 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-12 14:11:40 +00:00
msweet f9d9f12690 Mirror fix of typo.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11424 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-08 19:51:01 +00:00
msweet 7416dfe99a Mirror fix from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11422 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-08 19:44:10 +00:00
msweet dd0eea8e71 Mirror fix from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11418 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-08 15:18:01 +00:00
msweet 0c229544f4 More changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11402 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 21:38:09 +00:00
msweet b3533f112d Mirror changes from trunk + changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11399 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 21:36:35 +00:00
msweet 3b2526b366 These files too.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11397 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 20:09:46 +00:00
msweet ba38d7d9dc Make sure to substitute keywords.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11396 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 20:09:03 +00:00
msweet 4bdbabf76b Fix "make check" on Linux (<rdar://problem/14292998>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11395 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 20:06:50 +00:00
msweet 64e918f26a Ignore generated files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11394 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 16:04:55 +00:00
msweet 111ff13a26 Fix compiler warnings when building with newer versions of GNU TLS - code now
requires GNU TLS 2.0 or higher.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11392 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 01:29:56 +00:00
msweet f4515965b3 Mirror changes from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11383 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-05 02:24:05 +00:00
msweet c7233aabe5 Mirror changes from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11380 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-05 01:14:53 +00:00
msweet 8eabd901fe <rdar://problem/15386424> cups.org: gunzip bug prevents use of some gzip'd PPD files (and other issues)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11374 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-04 23:49:10 +00:00
msweet 1d708564b3 Mirror fix.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11372 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-01 18:22:37 +00:00
msweet e5d9b5e191 Mirror changes from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11370 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-30 15:08:29 +00:00
msweet 00c4573088 Mirror fix from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11367 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-28 15:35:57 +00:00
msweet 27efcd61e0 Add Italian localizations to packaging file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11359 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-24 03:04:17 +00:00
msweet 06cefec35c Mirror fix from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11356 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-23 20:33:21 +00:00
msweet c2def0ced7 Mirror fix from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11353 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-23 19:53:08 +00:00
msweet e9152ac713 Mirror fix from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11345 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-18 21:14:52 +00:00
msweet 3d3f64a982 Mirror fix from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11319 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-27 16:18:26 +00:00
msweet 4ecc320364 Mirror fix from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11311 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-27 14:23:42 +00:00
msweet 60c3ee0499 Mirror fix from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11308 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-27 14:09:25 +00:00
msweet 305331a392 Don't use "rfo" for CUPS queues (mirror previous bug fix for mDNSResponder).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11269 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-04 20:05:00 +00:00
msweet 40e88e9009 Update Japanese localization.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11265 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-29 20:11:25 +00:00
msweet 5f19ab52fe Mirror changes from trunk.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11240 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-14 20:33:55 +00:00
msweet 4a842d5397 Point source distributions to 1.7 branch.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11226 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-06 17:23:54 +00:00
msweet 75ff7c7fea Branch trunk for CUPS 1.7.x.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/branches/branch-1.7@11224 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-06 17:05:52 +00:00
msweet ee8618f3fd The IPP backend did not add the "last-document" attribute
(<rdar://problem/114660379>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11220 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-06 16:15:50 +00:00
msweet dfc4cea4be Fix builds with debug printfs turned off.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11215 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-02 15:24:51 +00:00
msweet f253405029 The scheduler did not respond using the hostname specified by the client
(<rdar://problem/14583574>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11213 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-01 22:23:18 +00:00
msweet f6008c81b9 Bump MSI version to 13.07.31
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11208 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-31 18:31:50 +00:00
msweet 9941cf57f2 Make this script executable again.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11207 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-31 18:18:52 +00:00
msweet fde3d2df54 Clean up cupsaddsmb man page.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11206 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-31 18:16:09 +00:00
msweet 4972f4feee Add PPD test.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11205 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-31 18:06:15 +00:00
msweet f593fc1f91 Fix typo.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11202 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-26 21:31:54 +00:00
msweet 8a25966925 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>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11201 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-26 21:27:27 +00:00
msweet 1d670c3987 Fix typos in examples - CUPS-Add-Modify-xxx instead of CUPS-Add-xxx.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11200 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-26 21:07:52 +00:00
msweet 1523f10d81 Error messages from the scheduler were not localized using the language
specified in the client's IPP request (<rdar://problem/14128011>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11195 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-26 11:50:02 +00:00
msweet 0d4d48ad63 Fax queues did not work when shared via Bonjour (<rdar://problem/14498310>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11193 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-26 03:12:37 +00:00
msweet f902c56223 Fix a couple memory leaks in ippfind that were reported by Clang.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11177 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-24 12:16:37 +00:00
msweet e826f56b16 Added USB quirk rule for Lexmark E238 (<rdar://problem/14493054>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11175 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-23 12:36:57 +00:00
msweet 80360a5e4c Closed server connections were still not always detected
(<rdar://problem/14484313>)

- Also need to check for EOF from recv...



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11174 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-23 12:33:52 +00:00
msweet 737b017edf Add Italian localization (<rdar://problem/14481578>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11172 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-23 12:24:21 +00:00
msweet 483fc76b98 Still need to use -Wl,-pie on OS X (regression in change for
<rdar://problem/14480938>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11171 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-23 12:21:51 +00:00
msweet d939104ddc Fixed a compile issue on 64-bit Linux with Clang - need to use the -pie option
instead of -Wl,-pie now (<rdar://problem/14480938>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11170 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-22 18:10:51 +00:00
msweet 7d1419a770 Don't reference CUPS driver for windows page anymore.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11165 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-22 15:00:03 +00:00
msweet e1a3eca81c The ippfind utility reported the wrong port numbers when compiled against Avahi
(<rdar://problem/14508324>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11164 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-22 14:57:14 +00:00
msweet f8f52a9058 Fix compile errors.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11155 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-17 15:51:43 +00:00
msweet 89a653066e 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>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11154 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-17 15:21:18 +00:00
msweet 0c4bedc42d Reconnect as needed prior to sending a GET, HEAD, or PUT request.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11153 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-17 14:10:21 +00:00
msweet e924ce801a Fix a compile error in libcups (<rdar://problem/14467141>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11151 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-17 13:06:14 +00:00
msweet f9a12035df The scheduler did not properly register ICC color profiles with colord
(<rdar://problem/14455625>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11150 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-17 13:03:56 +00:00
msweet f8e23ef7e7 Bump version to 1.7.0 in preparation for a release in the next couple weeks.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11149 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-17 02:57:09 +00:00
msweet 54f63cdfb5 The scheduler incorrectly did not pass a FINAL_CONTENT_TYPE environment variable
to the filters or backend (<rdar://problem/14355011>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11147 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-17 02:54:31 +00:00
msweet ac0ec51ba0 Remove unused var.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11144 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-17 02:45:55 +00:00
msweet 990c79d278 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.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11142 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-17 01:07:00 +00:00
msweet cca2420513 Remove debug printf.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11141 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-16 14:58:25 +00:00
msweet 1505041083 Update README files for ipptool packages.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11140 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-15 15:51:32 +00:00
msweet f0ccfab317 Update ipptool packaging script to allow for Fedora, Red Hat Enterprise Linux
(RHEL). and Ubuntu Linux variants since LSB doesn't support OpenSSL or Avahi.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11139 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-15 13:22:34 +00:00
msweet 6c78e3f887 Ignore generated files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11130 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-11 20:50:45 +00:00
msweet bc0305b0b9 Fix build error
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11129 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-11 20:39:46 +00:00
msweet ad0357ca1d Also package ippfind.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11128 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-11 20:31:43 +00:00
msweet 75b9ea1c3a Don't package old "standard configuration" help file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11127 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-11 20:27:14 +00:00
msweet 24a8828edd Tweak working in "what's new" document.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11126 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-11 20:21:18 +00:00
msweet 7a712c54f8 Changelog update - previous bug only affects 1.7.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11116 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-10 14:41:37 +00:00
msweet 3f786819c8 Printer xxx-default values were not reported by Get-Printer-Attributes or
lpoptions (<rdar://problem/14401795>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11115 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-10 14:35:53 +00:00
msweet 567f49cba3 The default IPP version did not always get set before creating a new IPP
request message (<rdar://problem/14401718>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11113 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-10 14:08:39 +00:00
msweet ffa2ca90d5 Update documentation to not embed unstable configuration values, now that man
pages are part of the repository...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11109 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-08 21:15:13 +00:00
msweet 9520743f2d Prep for 1.7rc1.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11107 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-08 13:47:51 +00:00
msweet bf500a5653 Change kIOPMAssertRemoteAccess to kIOPMAssertNetworkClientActive...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11106 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-08 12:29:10 +00:00
msweet a782e5574a Update localization files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11102 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-08 11:21:56 +00:00
msweet c606bcae4e <rdar://problem/14290628> cups.org: cupsGetNamedDest returns the wrong default printer, lpr/lpq/lp/lpstat use different defaults!
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11101 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-08 11:20:33 +00:00
msweet 83385e2997 Make ippfind build and install on Windows
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11100 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-05 15:11:29 +00:00
msweet 8a78aa3778 Some ippserver fixes to allow it to be used as a CUPS destination:
- Don't actually advertise IPPS support yet, since libcups doesn't support
  server-side HTTPS yet.
- Allow printer-uri values that have the right resource paths - this allows
  things like back-to-my-mac to work.
- Advertise the correct URI resource path in the Bonjour TXT record.
- Fix valid_doc_attributes to use the document-format-default value instead of
  "application/octet-stream".



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11097 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-04 15:54:36 +00:00
msweet 94446c2699 Allow job-billing to be an alias for job-account-id, and requesting-user-name to
be an alias for job-accounting-user-id (<rdar://problem/14290027>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11089 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-03 16:39:38 +00:00
msweet 7374e9e5d4 Fix HTML errors in documentation (using swish-e to validate HTML...)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11087 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-03 14:26:55 +00:00
msweet d48a10026a Fix compile error.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11086 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-03 13:55:05 +00:00
msweet 9c0e8e5d83 Update version numbers.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11085 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-03 13:53:05 +00:00
msweet d1f0f86b73 Update usage to match what is now supported.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11084 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-03 13:36:21 +00:00
msweet 7bf181980c Use new kIOPMAssertRemoteAccess power management assertion, when supported, to
keep the system awake enough to print (<rdar://problem/11918463>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11081 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-07-02 20:39:24 +00:00
msweet 223bdaa186 Update distribution script to use new SVN repo location.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11078 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-27 19:03:21 +00:00
msweet 25f3e1eef0 Add ippfind project for Visual Studio.
Drop support for VC++ 2005.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11077 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-27 18:49:52 +00:00
msweet ad29aeab8c Fix a state transition issue that affected ippserver.
Fix a crasher for handling of sides in ippserver.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11074 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-27 18:36:13 +00:00
msweet 7e5023ddea Fix ippfind for Linux/Avahi.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11064 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-25 16:46:38 +00:00
msweet b63a0d90da httpStatus(HTTP_ERROR) did not return a useful error message
(<rdar://problem/14217326>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11062 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-25 15:11:25 +00:00
msweet 5489ad4342 The lp and lpr commands incorrectly ignored the default printer set in the
lpoptions file (<rdar://problem/14216472>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11060 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-25 15:02:18 +00:00
msweet 3699c6372c Added documentation about the /version=1.1 option to ServerName in client.conf
(<rdar://problem/14216262>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11058 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-25 14:38:01 +00:00
msweet d680d3826c Also deprecate cupsGetPPD and cupsGetPPD2.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11057 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-25 14:30:18 +00:00
msweet e666fe5e38 Fixed deprecation warnings for many functions on OS X so they are tied
to the deployment version when building (<rdar://problem/14210079>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11056 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-25 14:27:30 +00:00
msweet ff862e509f <rdar://problem/14243133> AirPrint: Printers with name containing certain characters are not recognized
Support backquote (`) character and fix the IPv6 address detection code.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11052 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-25 01:42:48 +00:00
msweet 71f294cef9 Add unit test for httpAssembleUUID.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11051 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-25 00:57:09 +00:00
msweet 56cd8959f0 ARM-based Linux doesn't allow pointer comparisons on va_list values; not sure
how you are supposed to validate input, but whatever...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11032 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-12 13:00:54 +00:00
msweet 94b4b4a07d Save work on ippfind for Linux.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11028 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-07 02:18:50 +00:00
msweet e5528d423b Update ippfind documentation with examples, change '-e' to '-x' for --exec.
Add ippfind to the ipptool binary package. 


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11027 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-07 01:45:14 +00:00
msweet b34254bcf1 Fix up svn:keywords for all files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11025 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-07 01:00:33 +00:00
msweet 4875b2f3f6 Don't clean HTML man pages.
Add some other print-job tests.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11024 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-06 23:11:13 +00:00
msweet 83f65dd609 Ignore more stuff.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11023 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-06 22:48:46 +00:00
msweet e4e5666b10 Fix keywords on man page files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11022 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-06 22:14:09 +00:00
msweet 2d0a0f48e7 <rdar://problem/13876199> cups.org: Need ippfind command-line utility
Implement --exec.

The ippfind command is now feature complete for CUPS 1.7.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11021 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-06 22:08:14 +00:00
msweet 70752071b3 Implement --ls.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11020 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-06 19:19:26 +00:00
msweet a505eef406 Fix --or handling.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11019 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-06 15:03:40 +00:00
msweet 4174320042 Save work - all of the tests work, todo:
- Fix --or
- Implement --ls
- Implement --exec



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11018 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-05 20:40:53 +00:00
msweet c4aa297584 <rdar://problem/14040186> Backend failure when sharing Simulated inkjet after creating ACL with standard user. OS X 10.9 (13A476l)
Don't trampoline if we are using a password.

Don't call xpc_connection_suspend since we are releasing it (not supposed to do
that for some reason...)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11014 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-05 18:23:08 +00:00
msweet 4ffc419764 <rdar://problem/14065748> pwgMediaForPWG: roll_max_36.1025x3622.0472in becomes 91700 x 180568 instead of 91700 x 9199999
Convert fractional portion separately to avoid integer overflow.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11011 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-05 17:25:22 +00:00
msweet 766a822957 Save work on ippfind program. Nearly there.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11010 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-06-05 16:05:45 +00:00
msweet 69518a8578 <rdar://problem/13854722> 13A459 Printing completely broken on MBP after upgrade to Cab
Fix httpFlushWrite, which was incorrectly updating data_remaining.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11003 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-31 13:29:59 +00:00
msweet bac0799207 Save work on new ippfind tool.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11002 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-30 21:45:32 +00:00
msweet 26340b35e8 <rdar://problem/14016099> ipptool: Use SO_NWRITE socket option to extend timeouts
Make the ipptool timeout callback check whether the output buffer is empty.  If
not, automatically extend the timeout until it is - useful for when the printer
is blocking due to a printer error like "out of paper"...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11000 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-30 01:33:55 +00:00
msweet 1bc82dd928 Restore debug2 logging of cupsdAdd/RemoveSelect.
Add higher-level debug logging of client select management.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10999 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-30 00:48:16 +00:00
msweet 21f36711d9 Go back to non-blocking ippWrite.
Add some more debug logging.

Normalize some of the logging to consistently have a [Client NNN] prefix.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10998 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-30 00:41:43 +00:00
msweet 0687ea6984 Ignore generated files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10997 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-29 21:45:03 +00:00
msweet f2d18633e2 Update svn:keyword properties.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10996 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-29 11:51:34 +00:00
msweet 23ef1cac65 Add option to specify a single operation to test with.
Add CUPS-Get-Default to the list of standard ops to test.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10995 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-29 11:51:03 +00:00
msweet 86c809d99c Added support for RFC 6874's IPv6 link local address format in URIs
(<rdar://problem/13979453>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10990 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-24 21:21:04 +00:00
msweet 4fcfa0cf96 <rdar://problem/13493241> APVT3.0 checks a custom size using a 1/100mm smaller size
Don't use floating point at all.  Go old-school and do integer math to convert
to 100ths of millimeters...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10988 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-23 19:57:17 +00:00
msweet ee8d237de0 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10984 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-16 19:39:53 +00:00
msweet 06399b6e0d Save new Bonjour discovery/test program.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10983 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-13 23:57:32 +00:00
msweet 890a10b7de <rdar://problem/13876091> cups.org: ipptool should support validation of hostname and port in URIs
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10982 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-13 21:48:45 +00:00
msweet 1d47b929b0 <rdar://problem/13876038> cups.org: ipptool does not include any version information in the plist output
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10981 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-13 19:40:47 +00:00
msweet 9475ec92d8 <rdar://problem/13875803> cups.org: ipptool does not proceed past INCLUDE if ignore is not used
Also: IPP finishings values for (now standardized) punch and fold stuff, new
IPP FaxOut Send-Hardcopy-Document operation.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10980 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-13 19:15:06 +00:00
msweet 2a241c9efc <rdar://problem/13875729> cups.org: libusb-based backend can crash if USB is disabled in BIOS
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10977 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-13 16:46:08 +00:00
msweet 90c6ec2104 <rdar://problem/ 13493241> APVT3.0 checks a custom size using a 1/100mm smaller size
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10976 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-13 16:36:57 +00:00
msweet a8109fbe78 Move current import directory to new cups.org trunk
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@4303 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-10 17:14:12 +00:00
msweet 94436c5a61 Final sync-up with cups.org trunk repository
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4297 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-10 16:04:59 +00:00
msweet 6961465fb2 Merge changes from CUPS 1.7b1-r10947.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4274 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-04-09 20:10:23 +00:00
msweet cb7f98ee7f Sync up with CUPS 1.7svn-r10893
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4216 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-03-11 13:57:36 +00:00
msweet c5b24bfa98 Merge changes from CUPS 1.7svn-r10874.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4189 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-02-20 15:22:35 +00:00
msweet db8b865d20 Merge changes from CUPS 1.7svn-r10861.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4167 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-02-04 19:27:13 +00:00
msweet 0cb67df369 Merge changes from CUPS 1.7svn-r10814.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4125 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-01-14 22:10:30 +00:00
msweet 0fa6c7fa54 Merge changes from CUPS 1.7svn-r10791.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4120 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-01-10 17:01:44 +00:00
msweet c1420c8744 Merge changes from CUPS 1.7svn-r10755.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4074 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-12-12 20:54:21 +00:00
msweet c41769ffd0 Merge changes from CUPS 1.7svn-r10710.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4040 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-11-26 19:37:04 +00:00
msweet a469f8a576 Merge changes from CUPS 1.7svn-r10704.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@4027 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-11-16 01:00:05 +00:00
msweet 76aa1ac14c Fix property on test file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3943 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-10-15 21:10:00 +00:00
msweet 3dd9c34058 Merge changes from CUPS 1.7svn-r10643
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3940 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-10-15 21:02:10 +00:00
msweet 5a9febac19 Merge changes from CUPS 1.7svn-r10629.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3933 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-10-01 03:01:10 +00:00
msweet 37e7e6e0b2 Merge changes from CUPS 1.7svn-r10578.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3891 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-08-29 00:26:48 +00:00
msweet a29fd7ddb5 Merge changes from CUPS 1.6svn-r10510.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3833 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-05-23 22:51:18 +00:00
msweet f3c17241a4 Merge changes from CUPS 1.6svn-r10437.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3794 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-04-23 22:44:16 +00:00
msweet 271780fb87 Remove ".orig" files that somehow got into the repo.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3764 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-03-31 04:54:53 +00:00
msweet 82cc1f9ac3 Merge changes from CUPS 1.6svn-r10390.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3755 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-03-30 05:59:14 +00:00
msweet 3e7fe0ca76 Merge changes from CUPS 1.6svn-r10310.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3683 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-02-16 22:03:53 +00:00
msweet bb0d23b21b Sync up with CUPS 1.6svn-r10269 (changes from Zin TOT merged into cups.org TOT)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3645 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-02-13 17:18:19 +00:00
msweet 3ee4274c97 Remove deleted file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3644 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-02-13 16:38:44 +00:00
msweet 12f89d241c Merge changes from CUPS 1.6svn-r10267.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3643 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-02-13 16:35:48 +00:00
msweet dcb445bcf3 Merge changes from CUPS 1.6svn-r10188, including changes for <rdar://problem/10127258> CUPS 1.6: New printer/printing APIs
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3618 a1ca3aef-8c08-0410-bb20-df032aa958be
2012-01-19 16:53:50 +00:00
msweet 9c80ffa289 Merge changes from CUPS 1.6svn-r10127.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3518 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-11-28 17:26:29 +00:00
msweet a2326b5b72 Merge changes from CUPS 1.6svn-r10112.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3486 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-11-08 00:30:03 +00:00
msweet d7225fc298 Merge changes from CUPS 1.6svn-r10056
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3448 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-10-04 06:53:26 +00:00
msweet 9b66acc599 Merge changes from CUPS 1.6svn-r10024.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3438 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-09-28 22:40:47 +00:00
msweet 10ddcf65af Merge changes from CUPS 1.6svn-r10006.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3427 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-09-20 18:40:57 +00:00
msweet 83e0800111 Merge changes from CUPS 1.6svn-r10002
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3421 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-09-14 22:44:45 +00:00
msweet 85dda01c84 Merge changes from CUPS 1.6svn-r9968.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3411 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-09-07 22:31:27 +00:00
msweet a48458814a Merge changes from CUPS 1.6svn-r9939.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3392 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-08-31 01:58:55 +00:00
msweet 771bd8cbff Merge changes from CUPS 1.5.1-r9875.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3363 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-08-09 21:32:14 +00:00
msweet bd8b6777d6 Merge changes from CUPS 1.5rc1-r9834.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3322 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-06-15 00:48:47 +00:00
msweet f99f369831 Merge changes from CUPS 1.5rc1-r9833.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3318 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-06-15 00:37:13 +00:00
msweet d4d033982c Merge changes from CUPS 1.5rc1-r9815.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3299 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-06-05 17:00:32 +00:00
msweet f228370c3f Merge changes from CUPS 1.5b2-r9811.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3289 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-05-26 13:22:56 +00:00
msweet 88f9aafc49 Merge changes from CUPS 1.5b1-r9798.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3275 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-05-20 07:26:13 +00:00
msweet 321d8d57da Merge changes from CUPS 1.5b1-r9774.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3247 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-05-12 06:22:31 +00:00
msweet eac3a0a01b Merge changes from CUPS 1.5svn-r9763.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3242 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-05-11 05:36:13 +00:00
msweet 22c9029b44 Merge changes from CUPS 1.5svn-r9717.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3171 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-04-22 23:02:56 +00:00
msweet 07ed0e9a43 Merge changes from CUPS 1.5svn-r9675.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3122 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-04-11 18:53:27 +00:00
msweet 84315f460a Merge changes from CUPS 1.5svn-r9641
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3071 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-03-23 00:05:29 +00:00
msweet 82f972324d Merge changes from CUPS 1.5svn-r9631.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3062 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-03-20 21:48:45 +00:00
msweet 31db8dedac Sync up some other changes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3047 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-03-14 18:48:04 +00:00
msweet f14324a792 Merge changes from CUPS 1.5svn-r9602.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3046 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-03-14 18:45:10 +00:00
msweet c8fef167ba Merge changes from CUPS 1.5svn-r9567
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3015 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-02-25 01:40:44 +00:00
msweet e60ec91f3e Merge changes from CUPS 1.5svn-r9525
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2975 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-02-11 21:20:35 +00:00
msweet 515b46cde4 Fix bad merge.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2951 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-01-18 00:26:43 +00:00
msweet 0268488e2f Merge changes from CUPS 1.5svn-r9491.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2949 a1ca3aef-8c08-0410-bb20-df032aa958be
2011-01-17 23:54:15 +00:00
msweet c779abb06a Merge changes from CUPS 1.5svn-r9407.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2910 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-12-14 21:25:17 +00:00
msweet 229681c188 Merge changes from CUPS 1.5svn-r9400
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2890 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-12-03 06:58:01 +00:00
msweet 0837b7e828 Merge changes from CUPS 1.5svn-r9385.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2873 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-11-30 03:16:24 +00:00
msweet 1106b00e75 Merge changes from CUPS 1.5svn-r9374.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2859 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-11-17 18:58:56 +00:00
msweet 10d09e334a Merge changes from CUPS 1.5svn-r9352.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2848 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-11-06 05:13:04 +00:00
msweet 6c48a6cafc Merge changes from CUPS 1.5svn-r9323.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2733 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-10-01 22:44:58 +00:00
msweet 7cf5915ead Merge changes from CUPS 1.5svn-r9313.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2683 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-09-22 22:13:21 +00:00
msweet 030ae6a14e Merge changes from CUPS 1.5svn-r9229.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2468 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-08-09 22:14:41 +00:00
msweet 4220952d4d Merge changes from CUPS 1.5svn-r9214.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2395 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-07-27 00:17:12 +00:00
msweet c7017eccd2 Merge changes from CUPS 1.5svn-r9198.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2309 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-07-08 20:45:48 +00:00
msweet cc75483441 Merge changes from CUPS 1.5svn-r9136.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2180 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-05-10 22:58:10 +00:00
msweet 6d2f911bdd Merge changes from CUPS 1.5svn-r9105.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2070 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-04-12 04:23:14 +00:00
msweet 39ff2fe72b Merge changes from CUPS 1.5svn-r9098.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2056 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-04-09 22:45:27 +00:00
msweet aaf19ab07e Import changes from CUPS 1.5svn-r9085.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2046 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-04-07 07:11:03 +00:00
msweet e2d18a01cc Make sure EOL is right on import file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2017 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-03-30 23:24:57 +00:00
msweet 5180a04ce8 Merge changes from CUPS 1.5svn-r9062.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2016 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-03-30 23:24:27 +00:00
msweet 61e2aeb0be Remove bad file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2015 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-03-30 23:22:52 +00:00
msweet a480a1b6b4 Add a missing change to the test script.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1993 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-03-24 14:33:57 +00:00
msweet 71e160228f Merge changes from CUPS 1.5svn-r9049 (private header support)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1992 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-03-24 14:32:08 +00:00
msweet 54afec3350 Merge changes from CUPS 1.5svn-r9041.
(all of the media changes)


git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1987 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-03-23 21:42:49 +00:00
msweet ba55dc12de Merge changes from CUPS 1.5svn-r9037.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1968 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-03-11 06:44:46 +00:00
msweet 5a6b583acf Merge changes from CUPS 1.5svn-r9022.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1937 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-03-03 22:36:38 +00:00
msweet f8b3a85b79 Merge changes from CUPS 1.5svn-r9000.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1912 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-02-25 00:52:27 +00:00
msweet 4168188389 Merge changes from CUPS 1.5svn-r8950.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1816 a1ca3aef-8c08-0410-bb20-df032aa958be
2010-01-14 22:50:23 +00:00
msweet 5a662dc060 Merge changes from CUPS 1.5svn-r8933.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1788 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-12-16 00:13:28 +00:00
msweet ef55b74533 Merge changes from CUPS 1.5svn-r8916.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1766 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-12-09 18:36:59 +00:00
msweet 3fb9c47ea6 Merge changes from CUPS 1.5svn-r8857.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1736 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-11-07 06:21:32 +00:00
msweet 101decd054 Remove old file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1727 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-10-15 21:28:49 +00:00
msweet 4d301e694f Merge changes from CUPS 1.5svn-r8849.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1725 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-10-15 18:50:47 +00:00
msweet b226ab9913 Merge changes from CUPS 1.5svn-r8842.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1709 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-10-07 18:20:31 +00:00
msweet 18ecb42821 Merge changes from CUPS 1.5svn-r8829.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1695 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-09-24 23:50:39 +00:00
msweet 7a0cbd5e57 Import changes from CUPS 1.4.1 (r8801)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1649 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-08-29 06:12:06 +00:00
msweet ee6ddad257 Merge final 1.4.0 (r8761) changes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1629 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-08-07 22:49:21 +00:00
msweet 4a4b4f9914 Merge changes from CUPS 1.4.0 (r8756)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1613 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-07-14 23:31:23 +00:00
msweet f701418f7b Merge changes from CUPS 1.4.0 (r8750)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1608 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-07-07 18:36:58 +00:00
msweet 60198c6dba Merge changes from 1.4.0 r8744.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1603 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-07-02 19:16:48 +00:00
msweet e38f5e9c4d Merge changes from 1.4.0 (r8743)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1595 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-07-02 15:21:10 +00:00
msweet 85b5d1dfa7 Merge fixes from CUPS 1.4.0 (r8739).
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1586 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-07-01 16:36:51 +00:00
msweet 4e6f60f000 Merge changes from CUPS 1.4svn-r8731 (1.4.0)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1572 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-06-26 22:23:28 +00:00
msweet acb056cb17 Merge changes from CUPS 1.4svn-r8722 (tentative 1.4.0 GM)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1567 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-06-18 22:32:02 +00:00
msweet 97c9a8d722 Import changes from CUPS 1.4svn-r8704.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1556 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-06-10 19:02:58 +00:00
msweet 393ac6abae Merge changes from CUPS 1.4svn-r8681 (tentative CUPS 1.4rc1)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1537 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-05-22 23:56:34 +00:00
msweet b0f6947b4d Merge changes from CUPS 1.4svn-r8679.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1531 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-05-22 21:50:50 +00:00
msweet 68b10830fa Merge changes from CUPS 1.4svn-r8659
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1516 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-05-18 22:09:10 +00:00
msweet 536bc2c652 Merge changes from CUPS 1.4svn-r8639.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1505 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-05-14 22:48:33 +00:00
msweet 6c663ae27a Add missing man page file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1499 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-05-14 16:10:44 +00:00
msweet 178cb7369d Merge changes from CUPS 1.4svn-r8628.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1495 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-05-13 22:29:41 +00:00
msweet f11a948a02 Merge changes from CUPS 1.4svn-r8606.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1480 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-05-08 18:38:44 +00:00
msweet e07d4801f9 Merge changes from CUPS 1.4svn-r8540.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1432 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-04-22 17:28:12 +00:00
msweet 38e73f8781 Merge changes from CUPS 1.4svn-r8492.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1378 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-04-08 03:17:45 +00:00
msweet 94da7e344c Merge changes from CUPS 1.4svn-r8469.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1338 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-03-25 00:42:10 +00:00
msweet 238c383265 Merge changes from CUPS 1.4svn-r8454.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1311 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-03-18 17:09:48 +00:00
msweet 8b116e6004 Merge changes from CUPS 1.4svn-r8443.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1296 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-03-13 22:09:14 +00:00
msweet 9aff70cc17 Merge more Common UNIX Printing System -> CUPS changes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1286 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-03-09 22:00:45 +00:00
msweet d7871c8c7f Merge trademark/logo changes from CUPS 1.4svn-r8418.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1283 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-03-09 21:13:04 +00:00
msweet 1340db2dab Merge changes from CUPS 1.4svn-r8414.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1277 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-03-07 16:36:03 +00:00
msweet b9faaae17c Merge changes from CUPS 1.4svn-r8394.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1253 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-02-25 23:37:25 +00:00
msweet ede613e028 Remove generated file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1234 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-02-18 17:49:06 +00:00
msweet f0ab5bff8a Merge changes from CUPS 1.4svn-r8362.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1228 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-02-17 19:24:29 +00:00
msweet bf3816c7ed Merge changes from CUPS 1.4svn-r8346.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1212 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-02-11 16:34:01 +00:00
msweet 745129beeb Merge changes from CUPS 1.4svn-r8329.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1182 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-02-04 04:27:58 +00:00
msweet dfd5680b87 Merge changes from CUPS 1.4svn-r8305.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1166 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-01-29 18:07:00 +00:00
msweet d1c13e1686 Merge changes from CUPS 1.4svn-r8290.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1144 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-01-23 22:36:42 +00:00
msweet d2354e6397 Merge changes from CUPS 1.4svn-r8252.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1123 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-01-14 19:55:19 +00:00
msweet c168a833ca Merge changes from CUPS 1.4svn-r8227.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1113 a1ca3aef-8c08-0410-bb20-df032aa958be
2009-01-09 23:33:14 +00:00
msweet 557dde9fbc Merge changes from CUPS 1.4svn-r8196 (CUPS 1.4b2)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1100 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-12-15 18:13:37 +00:00
msweet 426c6a5959 Merge changes from CUPS 1.4svn-r8177 (tentative CUPS 1.4b2)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1090 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-12-11 01:40:30 +00:00
msweet 8b450588f4 Merge changes from CUPS 1.4svn-r8177.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1084 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-12-08 23:45:00 +00:00
msweet ed6e7faf3e Merge changes from CUPS 1.4svn-r8162.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1079 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-12-06 00:24:23 +00:00
msweet 52f6f666c3 Merge changes from CUPS 1.4svn-r8148.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1068 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-11-19 23:25:47 +00:00
msweet 9380acaa78 Ignore generated testprint.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1061 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-11-14 21:04:37 +00:00
msweet 4b3f67ff4c Merge changes from CUPS 1.4svn-r8131.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1060 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-11-14 21:04:14 +00:00
msweet e6013cfab0 Merge changes from CUPS 1.4svn-r8115.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1055 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-11-12 01:01:46 +00:00
msweet e4572d571c Merge changes from CUPS 1.4svn-r8088, the real official 1.4b1!
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1035 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-27 21:56:38 +00:00
msweet 28b9d139c0 Merge changes from CUPS 1.4svn-r8067 (tentative CUPS 1.4b1)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1021 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-17 22:12:14 +00:00
msweet 6e8b116d7f Merge CUPS 1.4svn-r8058 (tentative CUPS 1.4b1)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1016 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-15 21:06:58 +00:00
msweet 758a062feb Doco updates from CUPS 1.4svn-r8054.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1013 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-13 17:16:02 +00:00
msweet 02797ade68 Add missing file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1011 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-10 21:06:56 +00:00
msweet 61cf44e2b7 Merge CUPS 1.4svn-r8052 (tentative 1.4b1)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1009 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-10 21:00:18 +00:00
msweet 076fd0e4fb Add missing files from r8033.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1004 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-08 22:53:46 +00:00
msweet 58dc193312 Merge changes from CUPS 1.4svn-r8033.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1003 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-08 22:50:16 +00:00
msweet f2245c695c Add missing image.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@995 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-02 00:59:36 +00:00
msweet cda47a960f Merge changes from CUPS 1.4svn-r7999.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@993 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-10-02 00:56:58 +00:00
msweet 1f6f3dbcf9 Merge changes from CUPS 1.4svn-r7994.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@989 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-09-29 17:17:42 +00:00
msweet 0af14961a8 Merge changes from 1.4svn-r7979.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@983 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-09-24 21:31:49 +00:00
msweet b19ccc9e27 Merge changes from CUPS 1.4svn-r7961.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@969 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-09-17 19:54:07 +00:00
msweet 49d8745278 Merge changes from CUPS 1.4svn-r7932.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@957 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-09-10 22:30:50 +00:00
msweet c5571a1d68 Import CUPS 1.4svn-r7908.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@943 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-09-04 17:09:47 +00:00
msweet 9a4f8274e9 Merge changes from CUPS 1.4svn-r7874.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@933 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-08-28 22:58:28 +00:00
msweet 5f64df2982 Merge changes from CUPS 1.4svn-r7874.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@924 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-08-27 22:04:19 +00:00
msweet 247efae55f Add missing file.`
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@922 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-08-26 03:55:07 +00:00
msweet 06d4e77b9b Merge changes from CUPS 1.4svn-r7864.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@921 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-08-26 03:49:44 +00:00
msweet 1ff0402e47 Merge changes from CUPS 1.4svn-r7851.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@913 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-08-20 00:21:51 +00:00
msweet 9f5eb9be66 Merge changes from CUPS 1.4svn-r7844.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@909 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-08-14 06:33:44 +00:00
msweet ee571f261a Merge easysw-1.4svn-r7834
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@905 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-08-04 21:07:04 +00:00
msweet 749b1e90a8 Merge changes from CUPS 1.4svn-r7817.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@901 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-07-30 23:42:12 +00:00
msweet 005dd1eb9e Merge changes from CUPS 1.4svn-r7791.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@886 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-07-24 01:02:46 +00:00
msweet 5d6412a9f1 Merge changes from CUPS 1.4svn-r7770.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@872 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-07-18 21:45:31 +00:00
msweet e78998dfeb Add missing files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@870 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-07-18 18:56:19 +00:00
msweet 66ab9486ef Merge CUPS 1.4svn-r7762.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@868 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-07-18 18:47:53 +00:00
msweet 1f0275e3cc Merge changes from CUPS 1.4svn-r7715.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@859 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-07-15 01:21:40 +00:00
msweet 4509bb4933 Merge changes from CUPS 1.4svn-r7715.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@834 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-07-03 05:38:29 +00:00
msweet 75bd9771f6 Merge changes from CUPS 1.4svn-r7696.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@818 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-06-27 20:26:20 +00:00
msweet dd1abb6b5f Merge changes from CUPS 1.4svn-r7670.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@810 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-06-18 16:44:53 +00:00
msweet c934a06cde Merge changes from CUPS 1.4svn-r7626.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@798 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-06-09 15:59:44 +00:00
msweet 79e1d494ec Merge changes from CUPS 1.4svn-r7617.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@793 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-28 23:38:36 +00:00
msweet 8922323b9f Merge changes from CUPS 1.4svn-r7614.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@789 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-23 22:28:53 +00:00
msweet bdd6c45b5e Merge changes from CUPS 1.4svn-r7607.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@784 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-21 01:15:17 +00:00
msweet 20fbc90347 Merge changes from CUPS 1.4svn-r7594.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@779 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-19 23:16:59 +00:00
msweet 47879b8b63 Merge CUPS 1.4svn-r7588 (dependency updates, compiler warnings, and one web UI buglet)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@774 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-17 00:06:01 +00:00
msweet 5eb9da713f Import CUPS 1.4svn-r7585.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@771 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-16 23:29:51 +00:00
msweet 01ce6322ca Merge changes from CUPS 1.4svn-r7582.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@768 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-16 03:15:15 +00:00
msweet 3c8c76971a Merge changes from 1.4svn-r7568.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@763 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-15 01:47:12 +00:00
msweet c9fc04c6ec Merge changes from CUPS trunk, r7566.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@761 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-15 01:42:36 +00:00
msweet 969307f096 Merge fixes from CUPS 1.4svn-r7555.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@755 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-12 18:20:10 +00:00
msweet a0f6818ebf Merge changes from CUPS 1.4svn-r7547.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@748 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-07 22:24:51 +00:00
msweet d8bcaa3c4c Fix imported files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@735 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-01 21:24:43 +00:00
msweet 7a14d7682b Merge CUPS 1.4svn-r7524.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@733 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-05-01 21:18:10 +00:00
msweet a4f1b3dff2 Remove old files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@727 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-04-28 17:37:04 +00:00
msweet 634763e80e Merge CUPS 1.4svn-r7493.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@723 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-04-24 00:13:12 +00:00
msweet 3dfe78b336 Merge changes from CUPS 1.4svn-r7485.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@718 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-04-21 23:14:57 +00:00
msweet ae71f5deb4 Import CUPS 1.4svn-r7464.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@713 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-04-17 00:50:22 +00:00
msweet 839a51c83c Merge changes from CUPS 1.4svn-r7394.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@702 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-04-09 22:42:49 +00:00
msweet 50fe720154 <rdar://problem/5792631> dependency cycle in cups-144 / PrintingCore-250 / ApplicationServices
Merge build system changes to use shared support libraries.

Merge build system changes to separate installation of data, program, header,
and library files.


git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@668 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-03-21 23:46:46 +00:00
msweet db0bd74adb Merge changes from CUPS 1.4svn-r7386.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@665 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-03-21 00:59:28 +00:00
msweet 64a69576c8 Merge changes from CUPS 1.4svn-r7370.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@659 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-03-05 00:28:36 +00:00
msweet a603edef72 Merge changes from CUPS 1.4svn-r7366.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@656 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-03-04 01:12:17 +00:00
msweet 568fa3faf1 Import CUPS 1.4svn-r7356.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@647 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-02-28 23:00:58 +00:00
msweet d6943d1d31 Add missing files for test.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@632 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-02-18 17:47:07 +00:00
msweet ac884b6a1c Merge CUPS 1.4svn-r7319.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@624 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-02-16 00:27:39 +00:00
msweet 5a738aeaea Merge changes from CUPS 1.4svn-r7282.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@614 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-01-31 17:01:57 +00:00
msweet d9bca400be Merge changes from CUPS 1.4svn-r7255.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@608 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-01-24 00:18:39 +00:00
msweet 5bd77a735f Merge changes from CUPS 1.4svn-r7242.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@598 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-01-22 22:37:41 +00:00
msweet 91c84a3551 Import CUPS 1.4svn-r7226.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@582 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-01-17 00:06:33 +00:00
msweet 080811b190 Merge changes from CUPS 1.4svn-r7199.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@577 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-01-08 00:39:02 +00:00
msweet 3d052e4330 Import CUPS 1.4svn-r7170.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@567 a1ca3aef-8c08-0410-bb20-df032aa958be
2008-01-04 02:32:38 +00:00
msweet a4924f6c45 Import CUPS 1.4svn-r7153.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@563 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-12-21 23:54:03 +00:00
msweet 0a6827453a Import CUPS trunk (1.4svn) r7116.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@551 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-12-07 19:47:43 +00:00
msweet a41f09e265 Merge changes from 1.4svn-r7067.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@533 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-11-09 19:55:26 +00:00
msweet e94d2f1068 Add missing file to repo.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@527 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-10-24 20:55:54 +00:00
msweet 2fb7629816 Import CUPS 1.4svn-r7041.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@520 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-10-22 20:33:34 +00:00
msweet cc9a7e967e Remove old button files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@507 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-10-17 20:29:26 +00:00
msweet 65a152d3f1 Remove old file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@506 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-10-17 20:28:09 +00:00
msweet 183ee7626a Remove old data files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@505 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-10-17 20:26:59 +00:00
msweet 2e4ff8afcb Import CUPS 1.4svn r7023 into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@502 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-10-17 20:05:25 +00:00
msweet 56ab62c60c What the heck, make it the full 1.3.3 release code - we've already got all of
the 1.3.3 changes anyways...


git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@486 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-09-28 20:17:05 +00:00
msweet 7dfedb921d Import changes from CUPS 1.3svn-r7000.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@485 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-09-28 20:09:54 +00:00
msweet c277e2f802 Import CUPS 1.3.2.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@477 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-09-18 20:56:41 +00:00
msweet db1f069b7f Merge changes from CUPS 1.3.1.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@470 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-09-14 02:27:22 +00:00
msweet 76cd9e37aa Merge changes from r6781 to r6792 (CUPS 1.3.0)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@405 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-08-13 21:04:11 +00:00
msweet 7ff4fea9bc Merge changes from r6758 to r6781.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@388 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-08-09 16:35:06 +00:00
msweet c24d21342f Merge changes from CUPS trunk, r6758.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@379 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-08-02 00:17:51 +00:00
msweet 355e94dc85 Merge changes from CUPS trunk, r6739.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@361 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-07-26 22:45:43 +00:00
msweet cc0d019f5e Update to CUPS trunk r6695.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@352 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-07-19 23:13:28 +00:00
jlovell bc44d92092 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@342 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-07-16 23:34:09 +00:00
jlovell 09a101d671 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@334 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-06-23 05:26:17 +00:00
jlovell 3d8365b8dc Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@326 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-05-24 18:54:11 +00:00
jlovell b94498cfba Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@321 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-05-04 21:17:48 +00:00
jlovell 323c5de1e8 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@308 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-04-05 18:24:21 +00:00
jlovell c0e1af835b Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@303 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-04-02 15:56:16 +00:00
jlovell f42414bf8a Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@299 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-03-26 16:28:00 +00:00
jlovell f899b12170 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@294 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-03-21 22:24:16 +00:00
jlovell 7594b2247b Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@289 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-03-20 18:25:41 +00:00
jlovell f7deaa1a21 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@279 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-03-14 16:55:44 +00:00
jlovell b86bc4cf57 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@266 a1ca3aef-8c08-0410-bb20-df032aa958be
2007-02-14 19:18:46 +00:00
jlovell 411affcf6a Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@245 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-11-16 17:01:30 +00:00
jlovell 26d47ec688 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@238 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-11-07 19:32:27 +00:00
jlovell 2abf387cae Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@224 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-10-20 18:36:23 +00:00
jlovell 07725fee41 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@216 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-09-22 05:53:50 +00:00
jlovell d09495fadd Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@211 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-08-30 16:09:13 +00:00
jlovell 8ca02f3c05 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@194 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-07-20 22:59:35 +00:00
jlovell f7faf1f5c3 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@185 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-06-23 01:40:35 +00:00
jlovell c07d5b2daf Remove svn:keywords since they cause svn_load_dirs.pl to complain about every file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@183 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-06-23 00:14:22 +00:00
jlovell ed48691112 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@181 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-06-22 20:01:18 +00:00
jlovell 9e22304f01 The easysw/current branch should have the same properties as trunk...
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@179 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-06-21 18:38:41 +00:00
jlovell 7a6a01ddca More svn:properties changes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@177 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-06-21 00:20:03 +00:00
jlovell 3608048605 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@161 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-05-22 23:39:03 +00:00
jlovell f301802fc2 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@158 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-05-22 21:33:05 +00:00
jlovell a9252913e7 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@150 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-05-08 22:42:35 +00:00
jlovell a74454a757 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@145 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-05-05 19:18:41 +00:00
jlovell 89d46774ee Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@136 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-04-24 18:03:36 +00:00
jlovell e53920b922 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@125 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-04-07 21:00:45 +00:00
jlovell d6ae789d92 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@113 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-04-04 20:09:25 +00:00
jlovell 80ca45929e Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@103 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-03-27 23:11:24 +00:00
jlovell e1d6a77454 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@92 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-03-20 21:11:41 +00:00
jlovell 480ef0fe29 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@83 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-03-08 23:30:01 +00:00
jlovell 757d2cad8f Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@80 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-03-08 00:32:35 +00:00
jlovell 4744bd907e Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@75 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-03-04 15:56:42 +00:00
jlovell b423cd4cb9 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@69 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-02-28 17:54:14 +00:00
jlovell ecdc06282a Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@63 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-02-22 16:59:36 +00:00
jlovell bd7854cb4d Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@60 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-02-20 18:43:55 +00:00
jlovell 4400e98de2 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@54 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-02-03 00:47:45 +00:00
jlovell e00b005a05 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@51 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-02-01 23:41:32 +00:00
jlovell ffb6300882 To prepare to load cups into easysw/current, perform 4 renames.
* easysw/current/init/org.cups.cupsd.plist: Renamed from
  easysw/current/init/cupsd-launchd.plist.
* easysw/current/init/PrintingServices: Renamed from
  easysw/current/init/cups.osx.
* easysw/current/init/StartupParameters.plist: Renamed from
  easysw/current/init/cups.plist.
* easysw/current/init/Localizable.strings: Renamed from
  easysw/current/init/cups.strings.


git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@50 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-02-01 23:41:17 +00:00
jlovell a4d045870e Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@39 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-01-29 16:52:03 +00:00
jlovell 09ec001812 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@35 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-01-27 21:43:41 +00:00
jlovell 923edb689d Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@29 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-01-27 00:19:36 +00:00
jlovell fa73b22906 Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@13 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-01-26 21:39:43 +00:00
jlovell 4a09f02d10 To prepare to load cups into easysw/current, perform 4 renames.
* easysw/current/init/cups.osx: Renamed from easysw/current/cups.osx.
* easysw/current/init/cups.plist: Renamed from
  easysw/current/cups.plist.
* easysw/current/init/cups.sh.in: Renamed from
  easysw/current/cups.sh.in.
* easysw/current/init/cups.strings: Renamed from
  easysw/current/cups.strings.


git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@12 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-01-26 21:39:24 +00:00
jlovell ef416fc25c Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-01-13 01:51:53 +00:00
jlovell 9ec11526e1 Create directories to load project into.
* easysw: New directory.
  * easysw/current: New directory.


git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1 a1ca3aef-8c08-0410-bb20-df032aa958be
2006-01-13 01:51:40 +00:00
1428 arquivos alterados com 527749 adições e 352589 exclusões
+8
Ver Arquivo
@@ -1,6 +1,13 @@
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,
@@ -9,6 +16,7 @@ CHANGES IN CUPS V1.4.7
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
+312
Ver Arquivo
@@ -0,0 +1,312 @@
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)
+244
Ver Arquivo
@@ -0,0 +1,244 @@
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)
+250
Ver Arquivo
@@ -0,0 +1,250 @@
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)
+215
Ver Arquivo
@@ -0,0 +1,215 @@
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)
+168
Ver Arquivo
@@ -0,0 +1,168 @@
CHANGES-IPPTOOL.txt - 2015-05-15
--------------------------------
This file provides a list of changes to the ipptool binary distribution posted
on CUPS.org.
2014-05-15
- Added support for simultaneous XML and test output from ipptool.
- Added support for PAUSE directive in ipptool test files.
2013-07-15
- New ippfind tool now included with ipptool.
- Added support for automatically extending the timeout when all of the
request data has not yet been written (all platforms but Windows
which does not support it...)
- Fixed several ipptool test files that used old STATUS names.
2013-04-18
- Fixed some HTTP issues with authentication and compression.
- The IPP/1.1 test file did not allow for sufficient retries when
printing.
- The IPP/1.1 test file did not allow for empty printer-name values.
- The IPP Everywhere test file contained numerous errors.
- The color.jpg test file used a progressive mode instead of the
baseline JPEG mode.
- The IPP/1.1 test file referenced "color.jpeg" instead of "color.jpg".
2013-01-31
- Added support for DEFINE-MATCH and DEFINE-NO-MATCH as STATUS
predicates.
- Added support for WITH-VALUE and resolution values.
- Added support for SKIP-IF-MISSING (skip test if file is missing)
- Added support for octetString values.
- Added support for document compression in Print-Job and Send-Document
requests.
- Fixed REPEAT-MATCH for STATUS and EXPECT - was incorrectly erroring
out.
- Fixed a bug where bad IPP responses would cause ipptool to crash.
2012-02-28
- Changed behavior of WITH-VALUES "/regex/" to not require all values to
match.
- Added WITH-ALL-VALUES directive for EXPECT predicates that require all
values to match.
- Updated test files to use WITH-ALL-VALUES where necessary.
- Updated test files to use new ABNF for media names from PWG Media
Names 2.0.
2012-02-06
- Fixed the packaging of ipptool on Windows (removed unnecessary DLLs)
- Fixed an crash in ipptool when mixing DISPLAY with -I and a failed
request.
- Added a Print-Job test file.
- Added a "setdebug" batch file for Windows
- Added support for a CUPS_DISABLE_ASYNC_CONNECT environment variable.
2012-01-10
- Fixed an issue with the IPP/1.1 test file where the "waiting for job
completion" test did not work.
- The attribute groups out of order error was not shown for the
operation-attributes-tag group.
2011-12-02
- Fixed a truncated XML output bug that would happen for certain errors.
- Fixed the order-of-groups tests.
- Fixed "WITH-VALUE >N" for rangeOfInteger attributes.
- The Windows installer was missing the get-printer-attributes.test
file.
- The Linux binaries are now compiled for all LSB 4.x-compliant Linux
distributions.
- The Linux binaries no longer support SSL or TLS.
2011-10-05
- Fixed a crasher bug that showed up on Windows.
- The IPP/1.1 test would hang if the initial Print-Job test failed.
- Fixed a typo in the IPP/2.0 test.
2011-10-03
- Using OF-TYPE with the "no-value" or "unknown" out-of-band value tags
now works without special WITH-VALUE strings.
- ipptool now shows an error when an attribute appears more than once
within the same attribute group.
- ipptool did not display attributes as specified by the DISPLAY
directive when a test error failed.
- Fixed one spot where DEFINE-VALUE was still treated as an error when
the EXPECT test failed.
- uriScheme values were not displayed properly.
- Updated the IPP/1.1 tests to properly validate support for
job-hold-until-default and job-hold-until-supported when the Hold-Job
operation is supported.
- Updated the IPP/1.1 tests to properly check for the various standard
media sizes for the printing tests.
- Updated the IPP/1.1 tests to accept "no-value" for media-default an
orientation-requested-default.
- Updated the IPP/1.1 tests to accept "unknown" for job-state.
- Updated the IPP/1.1 tests to not perform the bogus URI printing tests
unless the "document-uri" variable is defined.
- Updated the IPP/2.0 tests to properly validate media-col
"media-xxx-supported" attributes.
- Updated the IPP/2.2 tests to properly validate media-ready and
media-col-ready.
2011-09-28
- Test output now includes a summary and overall score at the end.
- The MATCH-VALUE predicate now correctly deals with a failed EXPECT
condition.
- The IPP/1.1 test suite now looks for legacy media names and uses them
if the corresponding PWG standard names are not present.
- The IPP/1.1 test suite now tests the Print-Job+Release-Job when the
printer supports the job-hold-until attribute, Hold-Job operation, and
Release-Job operation.
2011-09-21
- Fixes for HTTP chunking, timeout, and encryption issues reported by
various users.
- Greatly improved IPP tests with added IPP/2.2 tests.
- New test documents - 1-page and 4-page mixed A4/Letter PDF/PS and a
couple JPEGs.
- New REPEAT directives to programmatically repeat tests as needed.
2011-08-16
- The Windows version no longer requires Visual Studio to be installed.
- The Windows version now supports SSL.
- Added "ipps" URI support.
- Added a new "-T" option.
- Added support for fractional seconds for the -i option and DELAY
directive.
- Added support for authentication.
- Added DEFINE-MATCH, DEFINE-NO-MATCH, DEFINE-VALUE, IF-NOT-DEFINED,
IGNORE-ERRORS, SKIP-IF-DEFINED, SKIP-IF-NOT-DEFINED,
SKIP-PREVIOUS-ERROR directives.
- WITH-VALUE now supports variable expansion.
- Updated the IPP/1.1 conformance test to skip the "my-jobs different
user" test if the printer URI contains a username.
- Updated the IPP conformance tests to validate media, media-default,
and media-supported values.
- No longer error out if a Printer returns a different version number in
the response when the request contains the version 0.0.
2010-10-16
- Initial release of standalone binary.
+108 -105
Ver Arquivo
@@ -1,110 +1,113 @@
CHANGES.txt - 2011-05-26
------------------------
CHANGES.txt - 2.1.2 - 2015-12-02
--------------------------------
CHANGES IN CUPS V1.5b2
CHANGES IN CUPS V2.1.2
- 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.
- 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 V1.5b1
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 (STR #4725)
- Some older HP LaserJet printers need a delayed close when printing
using the libusb-based USB backend (STR #4549)
- The libusb-based USB backend did not unload the kernel usblp module
if it was preventing the backend from accessing the printer
(STR #4707)
- Current Primera printers were incorrectly reported as Fargo printers
(STR #4708)
- The IPP backend did not always handle jobs getting canceled at the
printer (<rdar://problem/22716820>)
- Scheduler logging change (STR #4728)
- Added USB quirk for Canon MP530 (STR #4730)
- The scheduler did not deliver job notifications for jobs submitted to
classes (STR #4733)
- Changing the printer-is-shared value for a remote queue did not
produce an error (STR #4738)
- The IPP backend incorrectly included the job-password attribute in
Validate-Job requests (<rdar://problem/23531939>)
- Updated localizations (STR #4709)
CHANGES IN CUPS V2.1.0
- Fixed more scheduler crash bugs in the new logging code (STR #4687,
STR #4690)
- The scheduler did not use the ConfigFilePerm setting when copying PPD
files or interface scripts attached to a request (STR #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 (STR #4684)
- The new PDF file type rule did not work (STR #4692)
- The scheduler did not update the jobs.cache file when job files were
expired (STR #4706)
- Fixed some configure script issues (STR #4694, STR #4695, STR #4698)
- Documentation updates (STR #4691, STR #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 (STR #4655, STR #4658,
STR #4661)
- Fixed domain socket support on Linux (STR #4679)
- Fixed signal handlers in the dnssd and usb backends (STR #4671)
- <Limit All> in <Policy> sections now applies to all operations when
used by itself (STR #4659)
- Configure script changes for systemd support (STR #4669)
- Updated autoconf sources to use newer form of AC_INIT (STR #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 (STR #4518)
- Added support for EXPECT-ALL directive in ipptool test files
(STR #4469)
- Added support for WITH-VALUE-FROM predicate in ipptool test files
(STR #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 (STR #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
(STR #4589)
- The scheduler now validates ErrorPolicy values in config files
(STR #4591)
- Long cookies caused the web interface to stop working (STR #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
(STR #4630)
- The scheduler now supports advanced ASL and journald logging when
"syslog" output is configured (STR #4474)
- The scheduler now supports logging to stderr when running in the
foreground (STR #4505)
- 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)
+7 -4
Ver Arquivo
@@ -1,4 +1,4 @@
CREDITS.txt - 2010-03-13
CREDITS.txt - 2013-07-23
------------------------
Few projects are completed by one person, and CUPS is no exception. We'd
@@ -17,7 +17,7 @@ like to thank the following individuals for their contributions:
Wang Jian - CUPS RPM corrections.
Roderick Johnstone - Beta tester of the millenium.
Till Kamppeter - Bug fixes, beta testing, evangelism.
Iaki Larraaga - Basque localization.
Iñaki Larrañaga - Basque localization.
Kenshi Muto - Japanese localization, patches, and
testing.
Tomohiro Kato - Japanese localization.
@@ -27,16 +27,19 @@ like to thank the following individuals for their contributions:
Mark Lawrence - Microsoft interoperability testing.
Jeff Licquia - Bug fixes, beta testing, evangelism.
Jason McMullan - Original CUPS RPM distributions.
Àngel Mompó - Catalan localization.
Wes Morgan - *BSD fixes.
Daniel Nylander - Swedish localization.
Niklas 'Nille' kerstršm - Swedish localization.
Niklas 'Nille' Åkerström - Swedish localization.
Naruiko Ogasawara - Japanese localization.
Giulio Orsero - Bug fixes and testing.
Michal Osowiecki - Polish localization.
Citra Paska - Indonesian localization.
Kurt Pfeifle - Bug fixes, beta testing, evangelism.
Vincenzo Reale - Italian localization.
Petter Reinholdtsen - HP-UX compiler stuff.
Juan Pablo Gonzlez Riopedre - Spanish localization.
Juan Pablo González Riopedre - Spanish localization.
Giovanni Scafora - Italian localization.
Opher Shachar - Hebrew localization.
Stuart Stevens - HP JetDirect IPP information.
Andrea Suatoni - IRIX desktop integration and testing.
+32 -26
Ver Arquivo
@@ -1,14 +1,20 @@
INSTALL - CUPS v1.5b2 - 2011-05-26
INSTALL - CUPS v2.1.2 - 2015-12-02
----------------------------------
This file describes how to compile and install CUPS from source code. For more
information on CUPS see the file called "README.txt". A complete change log can
be found in "CHANGES.txt".
**** IF YOU HAVE A NON-POSTSCRIPT PRINTER AND ARE NOT ****
**** RUNNING MAC OS X, YOU WILL ALSO NEED TO INSTALL GPL ****
**** GHOSTSCRIPT WITH THE "cups" DRIVER AFTER YOU INSTALL ****
**** CUPS. ****
*******************************************************************************
*******************************************************************************
**** ****
**** USING CUPS REQUIRES ADDITIONAL THIRD-PARTY SUPPORT SOFTWARE AND ****
**** PRINTER DRIVERS. THESE ARE TYPICALLY INCLUDED WITH YOUR OPERATING ****
**** SYSTEM DISTRIBUTION. APPLE DOES NOT ENDORSE OR SUPPORT THIRD-PARTY ****
**** SUPPORT SOFTWARE FOR CUPS. ****
**** ****
*******************************************************************************
*******************************************************************************
BEFORE YOU BEGIN
@@ -23,18 +29,16 @@ BEFORE YOU BEGIN
Compaq, HP, SGI, and Sun. BSD users should use GNU make (gmake) since BSD
make does not support "include".
Besides these tools you'll want the JPEG, PNG, TIFF, and ZLIB libraries for
image support, the CDSA, GNU TLS, or OpenSSL libraries for encryption
support, the OpenLDAP and OpenSLP libraries for directory services support,
and either MIT (1.6.3 or higher) or Heimdal Kerberos for Kerberos support.
CUPS will compile and run without these, however you'll miss out on many of
the features provided by CUPS.
Besides these tools you'll want ZLIB library for compression support, the
CDSA, GNU TLS, or OpenSSL libraries for encryption support, and either MIT
(1.6.3 or higher) or Heimdal Kerberos for Kerberos support. CUPS will
compile and run without these, however you'll miss out on many of the
features provided by CUPS.
Also, please note that CUPS does not include the Ghostscript-based
PostScript filter needed by non-PostScript printers. You *must* download
GPL Ghostscript separately from the CUPS web site if you want to print
PostScript files to non-PostScript printers on operating systems other than
Mac OS X.
Also, please note that CUPS does not include print filters to support PDF
or raster printing. You *must* download GPL Ghostscript and/or the Open
Printing CUPS filters package separately to print on operating systems
other than OS X.
COMPILING THE SUBVERSION REPOSITORY CODE
@@ -94,6 +98,11 @@ CONFIGURATION
and diagnose a variety of common problems - use the "--enable-unit-tests"
configure option to run them at build time.
On OS X, use the "--with-archflags" option to build with the correct set of
architectures:
./configure --with-archflags="-arch i386 -arch x86_64" ...
Once you have configured things, just type:
make ENTER
@@ -132,6 +141,10 @@ INSTALLING THE SOFTWARE
gmake install ENTER
Use the BUILDROOT variable to install to an alternate root directory:
make BUILDROOT=/some/other/root/directory install ENTER
You can also build binary packages that can be installed on other machines
using the RPM spec file ("packaging/cups.spec") or EPM list file
("packaging/cups.list"). The latter also supports building of binary RPMs,
@@ -143,7 +156,7 @@ INSTALLING THE SOFTWARE
The EPM software is available at:
http://www.epmhome.org/
http://www.msweet.org/
CREATING BINARY DISTRIBUTIONS WITH EPM
@@ -161,17 +174,11 @@ CREATING BINARY DISTRIBUTIONS WITH EPM
following:
epm - Builds a script + tarfile package
aix - Builds an AIX package
bsd - Builds a *BSD package
deb - Builds a Debian package
depot - Builds a HP-UX package (also swinstall)
inst - Builds an IRIX package (also tardist)
pkg - Builds a Solaris package
rpm - Builds a RPM package
setld - Build a Tru64 UNIX package
slackware - Build a Slackware package
swinstall - Build a HP-UX package (also depot)
tardist - Builds an IRIX package (also inst)
GETTING DEBUG LOGGING FROM CUPS
@@ -193,10 +200,9 @@ GETTING DEBUG LOGGING FROM CUPS
REPORTING PROBLEMS
If you have problems, READ THE DOCUMENTATION FIRST! If the documentation
does not solve your problems, please post a message on the "cups.general"
forum at:
does not solve your problems, please post a message on the users forum at:
http://www.cups.org/newsgroups.php
http://www.cups.org/
Include your operating system and version, compiler and version, and any
errors or problems you've run into. The "config.log" file and the output
+168 -22
Ver Arquivo
@@ -1,17 +1,51 @@
IPPTOOL.txt - 2011-05-20
IPPTOOL.txt - 2013-07-15
------------------------
See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
INTRODUCTION
Starting with CUPS 1.5, CUPS now installs a user program called ipptool that
can be used to send arbitrary IPP requests to a CUPS server or IPP printer.
This tool started life as part of the CUPS automated test suite and has
grown to support complex conformance tests and a simple way to query
printer, job, and subscription attributes.
CUPS includes two user programs for IPP printers. The first is called
ipptool and can be used to send arbitrary IPP requests to a CUPS server or
IPP printer. This tool started life as part of the CUPS automated test
suite and has grown to support complex conformance tests and a simple way
to query printer, job, and subscription attributes.
The second program called ippfind that can be used to find IPP printers
that have registered themselves using Bonjour (DNS-SD, mDNS, and Zeroconf)
and run commands such as ipptool.
BASIC USAGE
READING THE DOCUMENTATION
Full documentation on the ipptool command can be found in the
"man-ipptool.html" and "man-ipptoolfile.html" files; the latter describes
the test file format supported by ipptool.
Full documentation on the ippfind command can be found in the
"man-ippfind.html" file.
IPPFIND BASIC USAGE
The ippfind command can be used to discover IPP printers on your network.
For example, the following command prints the printer URI of registered IPP
printers:
ippfind
To find all color IPP printers, run:
ippfind --txt-color T
And to run the IPP Everywhere conformance test file on every registered IPP
printer, run the following command:
ippfind _ipp._tcp,_print --exec ipptool -t '{}' ipp-everywhere.test \;
IPPTOOL BASIC USAGE
The ipptool command requires a printer URI and one or more "test" files that
describe the operations, attributes to display, and expected status and
@@ -35,7 +69,7 @@ BASIC USAGE
ipptool -c ipp://localhost/printers/myprinter get-jobs.test
which would produce something like this:
which will produce something like this:
job-id,job-state,job-name,job-originating-user-name
72,pending,testfile.pdf,msweet
@@ -44,41 +78,153 @@ BASIC USAGE
75,pending-held,testfile.txt,msweet
STANDARD TEST FILES
The following standard test files are included with ipptool:
create-printer-subscription.test Creates a printer subscription for
state change notifications
get-completed-jobs.test Shows a list of completed jobs
get-jobs.test Shows a list of pending jobs
get-notifications.test Shows events for an ippget
subscription.
get-printer-attributes.test Shows printer attributes
get-subscriptions.test Shows a list of subscriptions
ipp-1.1.test IPP/1.1 conformance test suite
ipp-2.0.test IPP/2.0 conformance test suite
ipp-2.1.test IPP/2.1 conformance test suite
ipp-2.2.test IPP/2.2 conformance test suite
ipp-everywhere.test IPP Everywhere conformance test
suite
print-job.test Prints a file
print-job-deflate.test Prints a file, compressing with
deflate.
print-job-gzip.test Prints a file, compressing with gzip
validate-job.test Validates attributes for a job
submission.
CONFORMANCE TESTS
We provide basic IPP conformance tests for IPP/1.1, IPP/2.0, and IPP/2.1.
For a given printer URI, the following commands perform tests at each level:
We provide basic IPP conformance tests for IPP/1.1, IPP/2.0, IPP/2.1,
IPP/2.2, and IPP Everywhere. For a given printer URI, the following
commands perform tests at each level:
ipptool -t printer-uri ipp-1.1.test
ipptool -t -V 2.0 printer-uri ipp-2.0.test
ipptool -t -V 2.1 printer-uri ipp-2.1.test
ipptool -tf filename [options] -I printer-uri ipp-1.1.test
ipptool -tf filename [options] -I -V 2.0 printer-uri ipp-2.0.test
ipptool -tf filename [options] -I -V 2.1 printer-uri ipp-2.1.test
ipptool -tf filename [options] -I -V 2.2 printer-uri ipp-2.2.test
The filename must use a format supported by the printer; ipptool will guess
the MIME media type using the extension, otherwise application/octet stream
will be used. The following standard test files are included:
color.jpg
document-a4.pdf
document-a4.ps
document-letter.pdf
document-letter.ps
gray.jpg
onepage-a4.pdf
onepage-a4.ps
onepage-letter.pdf
onepage-letter.ps
testfile.jpg
testfile.pcl
testfile.pdf
testfile.ps
testfile.txt
Useful options include the following:
-4 Connect using IPv4
-6 Connect using IPv6
-C Send chunked requests (default)
-d name=val Define a variable
-E Test IPP with HTTP Upgrade to TLS
-L Send requests using the Content-Length header (HTTP/1.0)
-S Test IPP over HTTPS (default for ipps: URIs)
-T seconds Set a timeout for responses in seconds
-v Be verbose, showing all attributes sent and received
-X Produce XML (Apple plist) output
The printer-uri must be a URI supported by the printer using the "ipp" or
"ipps" scheme, for example:
ipp://192.168.0.1/ipp
ipps://192.168.0.1/ipp/print
Print-by-reference (URL) printing can be tested by defining the document-uri
variable as a URL, for example:
ipptool -tf filename -d document-uri=url -I printer-uri ipp-1.1.test
The standard test files are available on cups.org under the "test"
directory, for example:
ipptool -tf document-a4.pdf \
-d document-uri=http://www.cups.org/test/document-a4.pdf \
ipp://192.168.0.1/ipp -I -V 2.0 ipp-2.0.test
The "document" test files contain 4 pages each. Doing the IPP conformance
tests will will produce up to 90 pages on various media, depending on the
printer.
READING THE DOCUMENTATION
IPP EVERYWHERE TESTING
The command usage is described in the ipptest(1) man page, while the file
format is described in the ipptestfile(5) man page.
The IPP Everywhere tests use sample PWG raster files available from:
ftp://ftp.pwg.org/pub/pwg/ipp/examples
Extract the corresponding ZIP archives into the current directory before
running the ipp-everywhere.test file. The test file will attempt to print
each PWG Raster file that is supported by the printer being tested - up to
372 pages including the 90 pages produced by the regular IPP test suite.
GETTING SUPPORT AND OTHER RESOURCES
If you have problems, READ THE DOCUMENTATION FIRST! We also provide many
If you have problems, READ THE DOCUMENTATION FIRST! We also provide
discussion forums which are available at:
http://www.cups.org/newsgroups.php
http://www.cups.org/
See the CUPS web site at "http://www.cups.org/" for other resources.
REPORTING BUGS
If you believe you have discovered a bug in ippfind or ipptool, please fill
out the bug form at:
http://www.cups.org/str.php
Be sure to identify the version of CUPS and ippfind/ipptool (if you
downloaded the standalone version) you are using, the printer (if any) and
firmware version, and include any files that apply.
If you downloaded the standalone version of ippfind/ipptool, please also
re-run the command with debug logging enabled. Run the following commands
on Windows to enable debug logging:
setdebug.bat
For Linux and Mac OS X use:
CUPS_DEBUG_LOG=ipptool.log; export CUPS_DEBUG_LOG
CUPS_DEBUG_LEVEL=6; export CUPS_DEBUG_LEVEL
Then when you run the ippfind or ipptool command a new "ipptool.log" file
will be created with detailed information - attach this file to the bug you
file as well.
LEGAL STUFF
CUPS is Copyright 2007-2011 by Apple Inc. CUPS and the CUPS logo are
CUPS is Copyright 2007-2013 by Apple Inc. CUPS and the CUPS logo are
trademarks of Apple Inc.
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
This software is based in part on the work of the Independent JPEG Group.
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
+12 -18
Ver Arquivo
@@ -1,6 +1,6 @@
CUPS License Agreement
Copyright 2007-2011 by Apple Inc.
Copyright 2007-2013 by Apple Inc.
1 Infinite Loop
Cupertino, CA 95014 USA
@@ -10,9 +10,9 @@
INTRODUCTION
CUPS(tm) is provided under the GNU General Public License ("GPL")
and GNU Library General Public License ("LGPL"), Version 2, with
exceptions for Apple operating systems and the OpenSSL toolkit. A
copy of the exceptions and licenses follow this introduction.
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
@@ -45,7 +45,7 @@ application, driver, or filter.
LICENSE EXCEPTIONS
In addition, as the copyright holder of CUPS, Apple Inc. grants
the following special exceptions:
the following special exception:
1. Apple Operating System Development License Exception;
@@ -68,11 +68,11 @@ the following special exceptions:
source code of the Apple OS-Developed Software.
b. An Apple Operating System means any operating system
software developed and/or marketed by Apple Computer,
Inc., including but not limited to all existing
releases and versions of Apple's Darwin, Mac OS X,
and Mac OS X Server products and all follow-on
releases and future versions thereof.
software developed and/or marketed by Apple Inc.,
including but not limited to all existing releases and
versions of Apple's Darwin, OS X, and OS X Server
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
@@ -86,14 +86,8 @@ the following special exceptions:
This file is subject to the Apple OS-Developed
Software exception.
2. OpenSSL Toolkit License Exception;
a. Apple Inc. explicitly allows the compilation and
distribution of the CUPS software with the OpenSSL
Toolkit.
No developer is required to provide these exceptions in a
derived work.
No developer is required to provide this exception in a derived
work.
KERBEROS SUPPORT CODE
+32 -72
Ver Arquivo
@@ -1,16 +1,16 @@
#
# "$Id$"
# "$Id: Makedefs.in 12519 2015-02-17 13:10:19Z msweet $"
#
# Common makefile definitions for CUPS.
# Common makefile definitions for CUPS.
#
# Copyright 2007-2011 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"
# 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/".
# 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/".
#
#
@@ -24,13 +24,12 @@ CHMOD = @CHMOD@
CXX = @LIBTOOL@ @CXX@
DSO = @DSO@
DSOXX = @DSOXX@
HTMLDOC = @HTMLDOC@
GZIP = @GZIP@
INSTALL = @INSTALL@
LD = @LD@
LIBTOOL = @LIBTOOL@
LN = @LN@ -sf
MV = @MV@
PHPCONFIG = @PHPCONFIG@
RANLIB = @RANLIB@
RM = @RM@ -f
RMDIR = @RMDIR@
@@ -42,6 +41,7 @@ SHELL = /bin/sh
#
INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
INSTALL_COMPDATA = $(INSTALL) -c -m 444 @INSTALL_GZIP@
INSTALL_CONFIG = $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
INSTALL_DATA = $(INSTALL) -c -m 444
INSTALL_DIR = $(INSTALL) -d
@@ -63,6 +63,7 @@ CUPS_PRIMARY_SYSTEM_GROUP = @CUPS_PRIMARY_SYSTEM_GROUP@
#
CUPS_CONFIG_FILE_PERM = @CUPS_CONFIG_FILE_PERM@
CUPS_CUPSD_FILE_PERM = @CUPS_CUPSD_FILE_PERM@
CUPS_LOG_FILE_PERM = @CUPS_LOG_FILE_PERM@
#
@@ -79,19 +80,14 @@ UNINSTALL_LANGUAGES = @UNINSTALL_LANGUAGES@
LIBCUPS = @LIBCUPS@
LIBCUPSCGI = @LIBCUPSCGI@
LIBCUPSDRIVER = @LIBCUPSDRIVER@
LIBCUPSIMAGE = @LIBCUPSIMAGE@
LIBCUPSMIME = @LIBCUPSMIME@
LIBCUPSPPDC = @LIBCUPSPPDC@
LIBCUPSSTATIC = @LIBCUPSSTATIC@
LIBJPEG = @LIBJPEG@
LIBLDAP = @LIBLDAP@
LIBMALLOC = @LIBMALLOC@
LIBPAPER = @LIBPAPER@
LIBPNG = @LIBPNG@
LIBSLP = @LIBSLP@
LIBGSSAPI = @LIBGSSAPI@
LIBTIFF = @LIBTIFF@
LIBMALLOC = @LIBMALLOC@
LIBMXML = @LIBMXML@
LIBPAPER = @LIBPAPER@
LIBUSB = @LIBUSB@
LIBWRAP = @LIBWRAP@
LIBZ = @LIBZ@
@@ -118,10 +114,6 @@ INSTALLXPC = @INSTALLXPC@
# Program options...
#
# ARCHFLAGS Defines the default architecture build options.
# ARCH32FLAGS Defines the 32-bit architecture build options, used
# when compiling separate 32/64-bit libraries.
# ARCH64FLAGS Defines the 64-bit architecture build options, used
# when compiling separate 32/64-bit libraries.
# OPTIM Defines the common compiler optimization/debugging options
# for all architectures.
# OPTIONS Defines other compile-time options (currently only -DDEBUG
@@ -129,13 +121,12 @@ INSTALLXPC = @INSTALLXPC@
#
ALL_CFLAGS = -I.. -D_CUPS_SOURCE $(CFLAGS) $(SSLFLAGS) \
@LARGEFILE@ @PTHREAD_FLAGS@ $(OPTIONS)
@LARGEFILE@ @PTHREAD_FLAGS@ $(ONDEMANDFLAGS) $(OPTIONS)
ALL_CXXFLAGS = -I.. -D_CUPS_SOURCE $(CXXFLAGS) $(SSLFLAGS) \
@LARGEFILE@ @PTHREAD_FLAGS@ $(OPTIONS)
@LARGEFILE@ @PTHREAD_FLAGS@ $(ONDEMANDFLAGS) $(OPTIONS)
ARCHFLAGS = @ARCHFLAGS@
ARFLAGS = @ARFLAGS@
BACKLIBS = @BACKLIBS@
BANNERTOPS = @BANNERTOPS@
BUILDDIRS = @BUILDDIRS@
CFLAGS = @CPPFLAGS@ @CFLAGS@
COMMONLIBS = @LIBS@
@@ -147,51 +138,25 @@ DNSSD_BACKEND = @DNSSD_BACKEND@
DSOFLAGS = -L../cups @DSOFLAGS@
DSOLIBS = @DSOLIBS@ $(COMMONLIBS)
DNSSDLIBS = @DNSSDLIBS@
FONTS = @FONTS@
IMGLIBS = @IMGLIBS@
IMGFILTERS = @IMGFILTERS@
LAUNCHDLIBS = @LAUNCHDLIBS@
IPPFIND_BIN = @IPPFIND_BIN@
IPPFIND_MAN = @IPPFIND_MAN@
LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
-L../scheduler @LDARCHFLAGS@ \
@LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
LEGACY_BACKENDS = @LEGACY_BACKENDS@
LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(LIBZ)
LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(LIBZ)
LINKCUPSIMAGE = @LINKCUPSIMAGE@
LIBS = $(LINKCUPS) $(COMMONLIBS)
ONDEMANDFLAGS = @ONDEMANDFLAGS@
ONDEMANDLIBS = @ONDEMANDLIBS@
OPTIM = @OPTIM@
OPTIONS =
PAMLIBS = @PAMLIBS@
PAP = @PAP@
PDFTOPS = @PDFTOPS@
PHPDIR = @PHPDIR@
PHPOPTIONS = @PHPOPTIONS@ -I../.. `$(PHPCONFIG) --includes`
SERVERLIBS = @SERVERLIBS@
SSLFLAGS = @SSLFLAGS@
SSLLIBS = @SSLLIBS@
TEXTTOPS = @TEXTTOPS@
UNITTESTS = @UNITTESTS@
#
# Separate 32/64-bit library support...
#
ARCH32FLAGS = @ARCH32FLAGS@
DSO32FLAGS = @DSO32FLAGS@
INSTALL32 = @INSTALL32@
LIB32CUPS = @LIB32CUPS@
LIB32CUPSIMAGE = @LIB32CUPSIMAGE@
LIB32DIR = $(BUILDROOT)@LIB32DIR@
UNINSTALL32 = @UNINSTALL32@
ARCH64FLAGS = @ARCH64FLAGS@
DSO64FLAGS = @DSO64FLAGS@
INSTALL64 = @INSTALL64@
LIB64CUPS = @LIB64CUPS@
LIB64CUPSIMAGE = @LIB64CUPSIMAGE@
LIB64DIR = $(BUILDROOT)@LIB64DIR@
UNINSTALL64 = @UNINSTALL64@
#
# Directories...
#
@@ -236,8 +201,6 @@ DATADIR = $(BUILDROOT)@CUPS_DATADIR@
DOCDIR = $(BUILDROOT)@CUPS_DOCROOT@
ICONDIR = @ICONDIR@
INCLUDEDIR = $(BUILDROOT)$(includedir)
INITDIR = @INITDIR@
INITDDIR = @INITDDIR@
LIBDIR = $(BUILDROOT)$(libdir)
LOCALEDIR = $(BUILDROOT)@CUPS_LOCALEDIR@
LOGDIR = $(BUILDROOT)@CUPS_LOGDIR@
@@ -252,9 +215,7 @@ REQUESTS = $(BUILDROOT)@CUPS_REQUESTS@
SBINDIR = $(BUILDROOT)@sbindir@
SERVERBIN = $(BUILDROOT)@CUPS_SERVERBIN@
SERVERROOT = $(BUILDROOT)@CUPS_SERVERROOT@
SMFMANIFESTDIR = @SMFMANIFESTDIR@
STATEDIR = $(BUILDROOT)@CUPS_STATEDIR@
XINETD = @XINETD@
MAN1EXT = @MAN1EXT@
MAN5EXT = @MAN5EXT@
@@ -265,8 +226,15 @@ MAN8DIR = @MAN8DIR@
PAMDIR = @PAMDIR@
PAMFILE = @PAMFILE@
DEFAULT_LAUNCHD_CONF = @DEFAULT_LAUNCHD_CONF@
DBUSDIR = @DBUSDIR@
INITDIR = @INITDIR@
INITDDIR = @INITDDIR@
LAUNCHD_DIR = @LAUNCHD_DIR@
SMFMANIFESTDIR = @SMFMANIFESTDIR@
SYSTEMD_DIR = @SYSTEMD_DIR@
XINETD = @XINETD@
USBQUIRKS = @USBQUIRKS@
#
@@ -274,20 +242,12 @@ DBUSDIR = @DBUSDIR@
#
.SILENT:
.SUFFIXES: .1 .1.gz .1m .1m.gz .3 .3.gz .5 .5.gz .7 .7.gz .8 .8.gz .a .c .cxx .h .man .o .32.o .64.o .gz
.SUFFIXES: .1 .1.gz .1m .1m.gz .3 .3.gz .5 .5.gz .7 .7.gz .8 .8.gz .a .c .cxx .h .man .o .gz
.c.o:
echo Compiling $<...
$(CC) $(ARCHFLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<
.c.32.o:
echo Compiling 32-bit $<...
$(CC) $(ARCH32FLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<
.c.64.o:
echo Compiling 64-bit $<...
$(CC) $(ARCH64FLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<
.cxx.o:
echo Compiling $<...
$(CXX) $(ARCHFLAGS) $(OPTIM) $(ALL_CXXFLAGS) -c -o $@ $<
@@ -304,5 +264,5 @@ DBUSDIR = @DBUSDIR@
#
# End of "$Id$"
# End of "$Id: Makedefs.in 12519 2015-02-17 13:10:19Z msweet $"
#
+58 -36
Ver Arquivo
@@ -1,16 +1,16 @@
#
# "$Id$"
# "$Id: Makefile 12414 2015-01-21 00:02:04Z msweet $"
#
# Top-level Makefile for CUPS.
# Top-level Makefile for CUPS.
#
# Copyright 2007-2010 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"
# 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/".
# 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/".
#
include Makedefs
@@ -20,7 +20,7 @@ include Makedefs
# Directories to make...
#
DIRS = cups test $(BUILDDIRS) $(PHPDIR) $(FONTS)
DIRS = cups test $(BUILDDIRS)
#
@@ -98,22 +98,18 @@ clean:
distclean: clean
$(RM) Makedefs config.h config.log config.status
$(RM) conf/cups-files.conf conf/cupsd.conf conf/mime.convs conf/pam.std conf/snmp.conf
$(RM) cups-config
$(RM) conf/cupsd.conf conf/mime.convs conf/pam.std conf/snmp.conf
$(RM) doc/help/ref-cupsd-conf.html doc/help/standard.html doc/index.html
$(RM) man/client.conf.man
$(RM) man/cups-deviced.man man/cups-driverd.man
$(RM) man/cups-lpd.man man/cupsaddsmb.man man/cupsd.man
$(RM) man/cupsd.conf.man man/drv.man man/lpoptions.man
$(RM) packaging/cups.list
$(RM) packaging/cups-desc.plist packaging/cups-info.plist
$(RM) templates/header.tmpl
$(RM) data/testprint
$(RM) desktop/cups.desktop
$(RM) scheduler/cups.sh scheduler/cups-lpd.xinetd
$(RM) scheduler/org.cups.cups-lpd.plist scheduler/cups.xml
$(RM) doc/index.html
$(RM) man/client.conf.man man/cups-files.conf.man man/cups-lpd.man man/cups-snmp.man man/cupsaddsmb.man man/cupsd.conf.man man/cupsd.man man/lpoptions.man
$(RM) packaging/cups.list
$(RM) scheduler/cups-lpd.xinetd scheduler/cups.sh scheduler/cups.xml scheduler/org.cups.cups-lpd.plist scheduler/org.cups.cups-lpdAT.service scheduler/org.cups.cupsd.path scheduler/org.cups.cupsd.service scheduler/org.cups.cupsd.socket
$(RM) templates/header.tmpl
-$(RM) doc/*/index.html
-$(RM) templates/*/header.tmpl
-$(RM) -r autom4te*.cache clang cups/charmaps cups/locale driver/test
-$(RM) -r autom4te*.cache clang cups/charmaps cups/locale
#
@@ -128,8 +124,11 @@ depend:
#
# Run the clang.llvm.org static code analysis tool on the C sources.
# (at least checker-231 is required for scan-build to work this way)
# Run the Clang static code analysis tool on the sources, available here:
#
# http://clang-analyzer.llvm.org
#
# At least checker-231 is required.
#
.PHONY: clang clang-changes
@@ -140,6 +139,26 @@ clang-changes:
scan-build -V -k -o `pwd`/clang $(MAKE) $(MFLAGS) all
#
# Run the STACK tool on the sources, available here:
#
# http://css.csail.mit.edu/stack/
#
# Do the following to pass options to configure:
#
# make CONFIGFLAGS="--foo --bar" stack
#
.PHONY: stack
stack:
stack-build ./configure $(CONFIGFLAGS)
stack-build $(MAKE) $(MFLAGS) clean all
poptck
$(MAKE) $(MFLAGS) distclean
$(RM) */*.ll
$(RM) */*.ll.out
#
# Generate a ctags file...
#
@@ -234,28 +253,32 @@ test: all unittests
check: all unittests
echo Running CUPS test suite with defaults...
cd test; ./run-stp-tests.sh 1 0 n
cd test; ./run-stp-tests.sh 1 0 n n
debugcheck: all unittests
echo Running CUPS test suite with debug printfs...
cd test; ./run-stp-tests.sh 1 0 n y
#
# Create HTML documentation...
# Create HTML documentation using Mini-XML's mxmldoc (http://www.msweet.org/)...
#
apihelp:
for dir in cgi-bin cups filter driver ppdc scheduler; do\
for dir in cgi-bin cups filter ppdc scheduler; do\
echo Generating API help in $$dir... ;\
(cd $$dir; $(MAKE) $(MFLAGS) apihelp) || exit 1;\
done
framedhelp:
for dir in cgi-bin cups filter driver ppdc scheduler; do\
for dir in cgi-bin cups filter ppdc scheduler; do\
echo Generating framed API help in $$dir... ;\
(cd $$dir; $(MAKE) $(MFLAGS) framedhelp) || exit 1;\
done
#
# Create an Xcode docset...
# Create an Xcode docset using Mini-XML's mxmldoc (http://www.msweet.org/)...
#
docset: apihelp
@@ -271,10 +294,10 @@ docset: apihelp
doc/help/api-*.tokens
$(RM) doc/help/api-*.tokens
echo Indexing docset...
/Developer/usr/bin/docsetutil index org.cups.docset
/Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil index org.cups.docset
echo Generating docset archive and feed...
$(RM) org.cups.docset.atom
/Developer/usr/bin/docsetutil package --output org.cups.docset.xar \
/Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil package --output org.cups.docset.xar \
--atom org.cups.docset.atom \
--download-url http://www.cups.org/org.cups.docset.xar \
org.cups.docset
@@ -285,18 +308,18 @@ docset: apihelp
#
sloc:
for dir in cups cupslite scheduler; do \
for dir in cups scheduler; do \
(cd $$dir; $(MAKE) $(MFLAGS) sloc) || exit 1;\
done
#
# Make software distributions using EPM (http://www.epmhome.org/)...
# Make software distributions using EPM (http://www.msweet.org/)...
#
EPMFLAGS = -v --output-dir dist $(EPMARCH)
aix bsd deb depot inst pkg setld slackware swinstall tardist:
bsd deb pkg slackware:
epm $(EPMFLAGS) -f $@ cups packaging/cups.list
epm:
@@ -312,7 +335,6 @@ dist: all
case `uname` in \
*BSD*) $(MAKE) $(MFLAGS) bsd;; \
Darwin*) $(MAKE) $(MFLAGS) osx;; \
IRIX*) $(MAKE) $(MFLAGS) tardist;; \
Linux*) test ! -x /usr/bin/rpm || $(MAKE) $(MFLAGS) rpm;; \
SunOS*) $(MAKE) $(MFLAGS) pkg;; \
esac
@@ -326,5 +348,5 @@ dist: all
#
# End of "$Id$".
# End of "$Id: Makefile 12414 2015-01-21 00:02:04Z msweet $".
#
+11 -23
Ver Arquivo
@@ -1,14 +1,13 @@
README - CUPS v1.5b2 - 2011-05-26
README - CUPS v2.1.2 - 2015-12-02
---------------------------------
Looking for compile instructions? Read the file "INSTALL.txt"
instead...
Looking for compile instructions? Read the file "INSTALL.txt" instead...
INTRODUCTION
CUPS is a standards-based, open source printing system developed by Apple
Inc. for Mac OS® X and other UNIX®-like operating systems. CUPS uses the
Inc. for OS® X and other UNIX®-like operating systems. CUPS uses the
Internet Printing Protocol ("IPP") and provides System V and Berkeley
command-line interfaces, a web interface, and a C API to manage printers and
print jobs. It supports printing to both local (parallel, serial, USB) and
@@ -42,10 +41,10 @@ READING THE DOCUMENTATION
GETTING SUPPORT AND OTHER RESOURCES
If you have problems, READ THE DOCUMENTATION FIRST! We also provide many
discussion forums which are available at:
If you have problems, READ THE DOCUMENTATION FIRST! We also provide two
mailing lists which are available at:
http://www.cups.org/newsgroups.php
http://www.cups.org/lists.php
See the CUPS web site at "http://www.cups.org/" for other resources.
@@ -79,10 +78,6 @@ SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE
----------------------------- ------------------------------
Dymo Label Printers drv:///sample.drv/dymo.ppd
Intellitech Intellibar drv:///sample.drv/intelbar.ppd
EPSON Stylus Color Series drv:///sample.drv/stcolor.ppd
EPSON Stylus Photo Series drv:///sample.drv/stphoto.ppd
EPSON Stylus New Color Series drv:///sample.drv/stcolor2.ppd
EPSON Stylus New Photo Series drv:///sample.drv/stphoto2.ppd
EPSON 9-pin Series drv:///sample.drv/epson9.ppd
EPSON 24-pin Series drv:///sample.drv/epson24.ppd
Generic PCL Laser Printer drv:///sample.drv/generpcl.ppd
@@ -114,11 +109,7 @@ SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE
lpadmin -p printername -E -v lpd://11.22.33.44/ -m ppd-name
The sample drivers provide basic printing capabilities, but generally do not
exercise the full potential of the printers or CUPS. The CUPS web site
provides links and drivers:
http://www.cups.org/ppd.php PPD files
http://www.cups.org/links.php Links to other drivers
exercise the full potential of the printers or CUPS.
PRINTING FILES
@@ -135,8 +126,8 @@ PRINTING FILES
lpr -o media=A4 -o resolution=600dpi filename
CUPS recognizes many types of images files as well as PDF, PostScript,
HP-GL/2, and text files, so you can print those files directly rather than
through an application.
and text files, so you can print those files directly rather than through
an application.
If you have an application that generates output specifically for your
printer then you need to use the "-oraw" or "-l" options:
@@ -144,19 +135,16 @@ PRINTING FILES
lp -o raw filename
lpr -l filename
This will prevent the filters from misinterpreting your print
file.
This will prevent the filters from misinterpreting your print file.
LEGAL STUFF
CUPS is Copyright 2007-2011 by Apple Inc. CUPS and the CUPS logo are
CUPS is Copyright 2007-2015 by Apple Inc. CUPS and the CUPS logo are
trademarks of Apple Inc.
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
This software is based in part on the work of the Independent JPEG Group.
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
+77 -101
Ver Arquivo
@@ -1,101 +1,77 @@
# DO NOT DELETE THIS LINE -- make depend depends on it.
ipp.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
ipp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
ipp.o: ../cups/language.h ../cups/string-private.h ../config.h
ipp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
ipp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
ipp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
ipp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
ipp.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
ipp.o: ../cups/sidechannel.h ../cups/array-private.h
lpd.o: ../cups/http-private.h ../config.h ../cups/http.h
lpd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
lpd.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpd.o: ../cups/language.h ../cups/string-private.h ../cups/debug-private.h
lpd.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
lpd.o: ../cups/pwg-private.h ../cups/http-private.h
lpd.o: ../cups/language-private.h ../cups/transcode.h
lpd.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
lpd.o: ../cups/sidechannel.h
dnssd.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
dnssd.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
dnssd.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
dnssd.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
dnssd.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
dnssd.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
dnssd.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
dnssd.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
dnssd.o: ../cups/backend.h ../cups/sidechannel.h ../cups/array.h
parallel.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
parallel.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
parallel.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
parallel.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
parallel.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
parallel.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
parallel.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
parallel.o: ../cups/transcode.h ../cups/thread-private.h
parallel.o: ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
serial.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
serial.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
serial.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
serial.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
serial.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
serial.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
serial.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
serial.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
serial.o: ../cups/backend.h ../cups/sidechannel.h
snmp.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
snmp.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
snmp.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
snmp.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
snmp.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
snmp.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
snmp.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
snmp.o: ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h
snmp.o: ../cups/backend.h ../cups/sidechannel.h ../cups/array.h
snmp.o: ../cups/file.h ../cups/http-private.h
socket.o: ../cups/http-private.h ../config.h ../cups/http.h
socket.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
socket.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
socket.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
socket.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
socket.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
socket.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
socket.o: ../cups/language-private.h ../cups/transcode.h
socket.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
socket.o: ../cups/sidechannel.h
test1284.o: ../cups/string-private.h ../config.h ieee1284.c backend-private.h
test1284.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
test1284.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
test1284.o: ../cups/language.h ../cups/string-private.h
test1284.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
test1284.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
test1284.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
test1284.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
test1284.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
test1284.o: ../cups/sidechannel.h
testbackend.o: ../cups/string-private.h ../config.h ../cups/cups.h
testbackend.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
testbackend.o: ../cups/http.h ../cups/array.h ../cups/language.h
testbackend.o: ../cups/sidechannel.h
testsupplies.o: backend-private.h ../cups/cups-private.h ../cups/cups.h
testsupplies.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
testsupplies.o: ../cups/http.h ../cups/array.h ../cups/language.h
testsupplies.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
testsupplies.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
testsupplies.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
testsupplies.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
testsupplies.o: ../cups/language-private.h ../cups/transcode.h
testsupplies.o: ../cups/thread-private.h ../cups/snmp-private.h
testsupplies.o: ../cups/backend.h ../cups/sidechannel.h
usb.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
usb.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
usb.o: ../cups/language.h ../cups/string-private.h ../config.h
usb.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
usb.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
usb.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
usb.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
usb.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
usb.o: ../cups/sidechannel.h
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/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \
../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \
../cups/backend.h ../cups/sidechannel.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/ppd-private.h \
../cups/ppd.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/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \
../cups/ppd.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/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \
../cups/ppd.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/ppd-private.h \
../cups/ppd.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/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \
../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \
../cups/backend.h ../cups/sidechannel.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 \
../cups/sidechannel.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/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \
../cups/ppd.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/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \
../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \
../cups/backend.h ../cups/sidechannel.h usb-darwin.c \
../cups/file-private.h
+71 -37
Ver Arquivo
@@ -1,9 +1,9 @@
#
# "$Id$"
# "$Id: Makefile 11859 2014-05-08 22:42:44Z msweet $"
#
# Backend makefile for CUPS.
#
# Copyright 2007-2011 by Apple Inc.
# 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
@@ -21,13 +21,45 @@ include ../Makedefs
# Object files...
#
RBACKENDS = ipp lpd $(DNSSD_BACKEND)
UBACKENDS = $(LEGACY_BACKENDS) serial snmp socket usb
UNITTESTS = test1284 testbackend testsupplies
TARGETS = libbackend.a $(RBACKENDS) $(UBACKENDS)
LIBOBJS = ieee1284.o network.o runloop.o snmp-supplies.o
OBJS = ipp.o lpd.o dnssd.o parallel.o serial.o snmp.o \
socket.o test1284.o testbackend.o testsupplies.o usb.o
# RBACKENDS are installed mode 0700 so cupsd will run them as root...
#
# UBACKENDS and ULBACKENDS are installed mode 0755 so cupsd will run them as
# an unprivileged user...
#
# See http://www.cups.org/documentation.php/api-filter.html for more info...
RBACKENDS = \
ipp \
lpd \
$(DNSSD_BACKEND)
UBACKENDS = \
snmp \
socket
ULBACKENDS = \
usb
UNITTESTS = \
test1284 \
testbackend \
testsupplies
TARGETS = \
libbackend.a \
$(RBACKENDS) \
$(UBACKENDS) \
$(ULBACKENDS)
LIBOBJS = \
ieee1284.o \
network.o \
runloop.o \
snmp-supplies.o
OBJS = \
ipp.o \
lpd.o \
dnssd.o \
snmp.o \
socket.o \
test1284.o \
testbackend.o \
testsupplies.o \
usb.o
#
@@ -41,7 +73,7 @@ all: $(TARGETS)
# Make library targets...
#
libs:
libs: $(ULBACKENDS)
#
@@ -56,7 +88,7 @@ unittests: $(UNITTESTS)
#
clean:
$(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http mdns
$(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns
#
@@ -64,7 +96,7 @@ clean:
#
depend:
makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
$(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
#
@@ -79,6 +111,11 @@ install: all install-data install-headers install-libs install-exec
#
install-data:
if test "x$(USBQUIRKS)" != x; then \
echo Installing USB quirks in $(USBQUIRKS); \
$(INSTALL_DIR) -m 755 $(USBQUIRKS); \
$(INSTALL_DATA) org.cups.usb-quirks $(USBQUIRKS); \
fi
#
@@ -98,14 +135,15 @@ install-exec: $(INSTALLXPC)
$(RM) $(SERVERBIN)/backend/$$file; \
$(LN) ipp $(SERVERBIN)/backend/$$file; \
done
if test "x$(DNSSD_BACKEND)" != x; then \
if test "x$(DNSSD_BACKEND)" != x -a `uname` = Darwin; then \
$(RM) $(SERVERBIN)/backend/mdns; \
$(LN) $(DNSSD_BACKEND) $(SERVERBIN)/backend/mdns; \
fi
if test "x$(SYMROOT)" != "x"; then \
$(INSTALL_DIR) $(SYMROOT); \
for file in $(TARGETS); do \
for file in $(RBACKENDS) $(UBACKENDS); do \
cp $$file $(SYMROOT); \
dsymutil $(SYMROOT)/$$file; \
done \
fi
@@ -131,6 +169,18 @@ install-headers:
#
install-libs:
echo Installing backends in $(SERVERBIN)/backend
$(INSTALL_DIR) -m 755 $(SERVERBIN)/backend
for file in $(ULBACKENDS); do \
$(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
done
if test "x$(SYMROOT)" != "x"; then \
$(INSTALL_DIR) $(SYMROOT); \
for file in $(ULBACKENDS); do \
cp $$file $(SYMROOT); \
dsymutil $(SYMROOT)/$$file; \
done \
fi
#
@@ -143,7 +193,7 @@ uninstall:
$(RM) $(SERVERBIN)/apple/$$file; \
done
-$(RMDIR) $(SERVERBIN)/apple
for file in $(RBACKENDS) $(UBACKENDS); do \
for file in $(RBACKENDS) $(UBACKENDS) $(ULBACKENDS); do \
$(RM) $(SERVERBIN)/backend/$$file; \
done
for file in $(IPPALIASES); do \
@@ -202,8 +252,10 @@ libbackend.a: $(LIBOBJS)
dnssd: dnssd.o ../cups/$(LIBCUPS) libbackend.a
echo Linking $@...
$(CC) $(LDFLAGS) -o dnssd dnssd.o libbackend.a $(LIBS)
$(RM) mdns
$(LN) dnssd mdns
if test `uname` = Darwin; then \
$(RM) mdns; \
$(LN) dnssd mdns; \
fi
#
@@ -226,24 +278,6 @@ lpd: lpd.o ../cups/$(LIBCUPS) libbackend.a
$(CC) $(LDFLAGS) -o lpd lpd.o libbackend.a $(LIBS)
#
# parallel
#
parallel: parallel.o ../cups/$(LIBCUPS) libbackend.a
echo Linking $@...
$(CC) $(LDFLAGS) -o parallel parallel.o libbackend.a $(LIBS)
#
# serial
#
serial: serial.o ../cups/$(LIBCUPS) libbackend.a
echo Linking $@...
$(CC) $(LDFLAGS) -o serial serial.o libbackend.a $(BACKLIBS) $(LIBS)
#
# snmp
#
@@ -268,7 +302,7 @@ socket: socket.o ../cups/$(LIBCUPS) libbackend.a
usb: usb.o ../cups/$(LIBCUPS) libbackend.a
echo Linking $@...
$(CC) $(LDFLAGS) -o usb usb.o libbackend.a $(LIBUSB) \
$(CC) $(ARCHFLAGS) $(LDFLAGS) -o usb usb.o libbackend.a $(LIBUSB) \
$(BACKLIBS) $(LIBS)
usb.o: usb.c usb-darwin.c usb-libusb.c usb-unix.c
@@ -281,5 +315,5 @@ include Dependencies
#
# End of "$Id$".
# End of "$Id: Makefile 11859 2014-05-08 22:42:44Z msweet $".
#
+27 -12
Ver Arquivo
@@ -1,18 +1,18 @@
/*
* "$Id$"
* "$Id: backend-private.h 11558 2014-02-06 18:33:34Z msweet $"
*
* Backend support definitions for CUPS.
* Backend support definitions for CUPS.
*
* Copyright 2007-2011 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/".
* 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.
* This file is subject to the Apple OS-Developed Software exception.
*/
#ifndef _CUPS_BACKEND_PRIVATE_H_
@@ -259,6 +259,20 @@ extern "C" {
#define CUPS_TC_inserts 33
#define CUPS_TC_covers 34
#define CUPS_TC_tenThousandthsOfInches 3
#define CUPS_TC_micrometers 4
#define CUPS_TC_impressions 7
#define CUPS_TC_sheets 8
#define CUPS_TC_hours 11
#define CUPS_TC_thousandthsOfOunces 12
#define CUPS_TC_tenthsOfGrams 13
#define CUPS_TC_hundrethsOfFluidOunces 14
#define CUPS_TC_tenthsOfMilliliters 15
#define CUPS_TC_feet 16
#define CUPS_TC_meters 17
#define CUPS_TC_items 18
#define CUPS_TC_percent 19
/* These come from RFC 3808 to define character sets we support */
/* Also see http://www.iana.org/assignments/character-sets */
#define CUPS_TC_csASCII 3
@@ -274,6 +288,7 @@ extern "C" {
#define CUPS_TC_csUTF32 1017
#define CUPS_TC_csUTF32BE 1018
#define CUPS_TC_csUTF32LE 1019
#define CUPS_TC_csWindows31J 2024
/*
@@ -298,7 +313,7 @@ extern int backendGetDeviceID(int fd, char *device_id,
int uri_size);
extern int backendGetMakeModel(const char *device_id,
char *make_model,
int make_model_size);
size_t make_model_size);
extern int backendNetworkSideCB(int print_fd, int device_fd,
int snmp_fd, http_addr_t *addr,
int use_bc);
@@ -319,5 +334,5 @@ extern int backendWaitLoop(int snmp_fd, http_addr_t *addr,
/*
* End of "$Id$".
* End of "$Id: backend-private.h 11558 2014-02-06 18:33:34Z msweet $".
*/
+662 -257
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+39 -33
Ver Arquivo
@@ -1,24 +1,18 @@
/*
* "$Id$"
* "$Id: ieee1284.c 11594 2014-02-14 20:09:01Z msweet $"
*
* IEEE-1284 support functions for CUPS.
* IEEE-1284 support functions for CUPS.
*
* Copyright 2007-2011 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/".
* 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.
*
* Contents:
*
* backendGetDeviceID() - Get the IEEE-1284 device ID string and
* corresponding URI.
* backendGetMakeModel() - Get the make and model string from the device ID.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -26,7 +20,6 @@
*/
#include "backend-private.h"
#include <cups/cups-private.h>
/*
@@ -65,6 +58,7 @@ backendGetDeviceID(
# if defined(__sun) && defined(ECPPIOC_GETDEVID)
struct ecpp_device_id did; /* Device ID buffer */
# endif /* __sun && ECPPIOC_GETDEVID */
char *ptr; /* Pointer into device ID */
DEBUG_printf(("backendGetDeviceID(fd=%d, device_id=%p, device_id_size=%d, "
@@ -147,8 +141,7 @@ backendGetDeviceID(
* Read the 1284 device ID...
*/
if ((length = read(devparportfd, device_id,
device_id_size - 1)) >= 2)
if ((length = read(devparportfd, device_id, (size_t)device_id_size - 1)) >= 2)
{
device_id[length] = '\0';
got_id = 1;
@@ -177,8 +170,7 @@ backendGetDeviceID(
* bytes. The 1284 spec says the length is stored MSB first...
*/
length = (((unsigned)device_id[0] & 255) << 8) +
((unsigned)device_id[1] & 255);
length = (int)((((unsigned)device_id[0] & 255) << 8) + ((unsigned)device_id[1] & 255));
/*
* Check to see if the length is larger than our buffer; first
@@ -186,9 +178,8 @@ backendGetDeviceID(
* and then limit the length to the size of our buffer...
*/
if (length > device_id_size)
length = (((unsigned)device_id[1] & 255) << 8) +
((unsigned)device_id[0] & 255);
if (length > device_id_size || length < 14)
length = (int)((((unsigned)device_id[1] & 255) << 8) + ((unsigned)device_id[0] & 255));
if (length > device_id_size)
length = device_id_size;
@@ -220,15 +211,16 @@ backendGetDeviceID(
length -= 2;
memmove(device_id, device_id + 2, length);
memmove(device_id, device_id + 2, (size_t)length);
device_id[length] = '\0';
}
}
# ifdef DEBUG
else
{
DEBUG_printf(("backendGetDeviceID: ioctl failed - %s\n",
strerror(errno)));
# endif /* DEBUG */
*device_id = '\0';
}
# endif /* __linux */
# if defined(__sun) && defined(ECPPIOC_GETDEVID)
@@ -256,6 +248,22 @@ backendGetDeviceID(
# endif /* __sun && ECPPIOC_GETDEVID */
}
/*
* Check whether device ID is valid. Turn line breaks and tabs to spaces and
* reject device IDs with non-printable characters.
*/
for (ptr = device_id; *ptr; ptr ++)
if (_cups_isspace(*ptr))
*ptr = ' ';
else if ((*ptr & 255) < ' ' || *ptr == 127)
{
DEBUG_printf(("backendGetDeviceID: Bad device_id character %d.",
*ptr & 255));
*device_id = '\0';
break;
}
DEBUG_printf(("backendGetDeviceID: device_id=\"%s\"\n", device_id));
if (scheme && uri)
@@ -269,7 +277,7 @@ backendGetDeviceID(
*/
if (make_model)
backendGetMakeModel(device_id, make_model, make_model_size);
backendGetMakeModel(device_id, make_model, (size_t)make_model_size);
/*
* Then generate a device URI...
@@ -354,7 +362,7 @@ int /* O - 0 on success, -1 on failure */
backendGetMakeModel(
const char *device_id, /* O - 1284 device ID */
char *make_model, /* O - Make/model */
int make_model_size) /* I - Size of buffer */
size_t make_model_size) /* I - Size of buffer */
{
int num_values; /* Number of keys and values */
cups_option_t *values; /* Keys and values */
@@ -363,9 +371,7 @@ backendGetMakeModel(
*des; /* Description string */
DEBUG_printf(("backendGetMakeModel(device_id=\"%s\", "
"make_model=%p, make_model_size=%d)\n", device_id,
make_model, make_model_size));
DEBUG_printf(("backendGetMakeModel(device_id=\"%s\", make_model=%p, make_model_size=" CUPS_LLFMT ")\n", device_id, make_model, CUPS_LLCAST make_model_size));
/*
* Range check input...
@@ -469,5 +475,5 @@ backendGetMakeModel(
/*
* End of "$Id$".
* End of "$Id: ieee1284.c 11594 2014-02-14 20:09:01Z msweet $".
*/
+1033 -509
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+117 -135
Ver Arquivo
@@ -1,28 +1,18 @@
/*
* "$Id$"
* "$Id: lpd.c 12024 2014-07-15 12:58:39Z msweet $"
*
* Line Printer Daemon backend for CUPS.
* Line Printer Daemon backend for CUPS.
*
* Copyright 2007-2011 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/".
* 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.
*
* Contents:
*
* main() - Send a file to the printer or server.
* lpd_command() - Send an LPR command sequence and wait for a reply.
* lpd_queue() - Queue a file using the Line Printer Daemon protocol.
* lpd_timeout() - Handle timeout alarms...
* lpd_write() - Write a buffer of data to an LPD server.
* rresvport_af() - A simple implementation of rresvport_af().
* sigterm_handler() - Handle 'terminate' signals that stop the backend.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -87,15 +77,14 @@ static int abort_job = 0; /* Non-zero if we get SIGTERM */
* Local functions...
*/
static int lpd_command(int lpd_fd, int timeout, char *format, ...);
static int lpd_command(int lpd_fd, char *format, ...);
static int lpd_queue(const char *hostname, http_addrlist_t *addrlist,
const char *printer, int print_fd, int snmp_fd,
int mode, const char *user, const char *title,
int copies, int banner, int format, int order,
int reserve, int manual_copies, int timeout,
int contimeout);
static void lpd_timeout(int sig);
static int lpd_write(int lpd_fd, char *buffer, int length);
int contimeout, const char *orighost);
static ssize_t lpd_write(int lpd_fd, char *buffer, size_t length);
#ifndef HAVE_RRESVPORT_AF
static int rresvport_af(int *port, int family);
#endif /* !HAVE_RRESVPORT_AF */
@@ -128,6 +117,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
int port; /* Port number */
char portname[256]; /* Port name (string) */
http_addrlist_t *addrlist; /* List of addresses for printer */
int snmp_enabled = 1; /* Is SNMP enabled? */
int snmp_fd; /* SNMP socket */
int fd; /* Print file */
int status; /* Status of LPD job */
@@ -146,6 +136,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
struct sigaction action; /* Actions for POSIX signals */
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
int num_jobopts; /* Number of job options */
cups_option_t *jobopts = NULL; /* Job options */
/*
@@ -193,6 +185,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
return (CUPS_BACKEND_FAILED);
}
num_jobopts = cupsParseOptions(argv[5], 0, &jobopts);
/*
* Extract the hostname and printer name from the URI...
*/
@@ -354,7 +348,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
*/
if (!value[0] || !_cups_strcasecmp(value, "on") ||
!_cups_strcasecmp(value, "yes") || !_cups_strcasecmp(value, "true") ||
!_cups_strcasecmp(value, "yes") ||
!_cups_strcasecmp(value, "true") ||
!_cups_strcasecmp(value, "rfc1179"))
reserve = RESERVE_RFC1179;
else if (!_cups_strcasecmp(value, "any"))
@@ -369,7 +364,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
*/
manual_copies = !value[0] || !_cups_strcasecmp(value, "on") ||
!_cups_strcasecmp(value, "yes") || !_cups_strcasecmp(value, "true");
!_cups_strcasecmp(value, "yes") ||
!_cups_strcasecmp(value, "true");
}
else if (!_cups_strcasecmp(name, "sanitize_title"))
{
@@ -378,7 +374,18 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
*/
sanitize_title = !value[0] || !_cups_strcasecmp(value, "on") ||
!_cups_strcasecmp(value, "yes") || !_cups_strcasecmp(value, "true");
!_cups_strcasecmp(value, "yes") ||
!_cups_strcasecmp(value, "true");
}
else if (!_cups_strcasecmp(name, "snmp"))
{
/*
* Enable/disable SNMP stuff...
*/
snmp_enabled = !value[0] || !_cups_strcasecmp(value, "on") ||
!_cups_strcasecmp(value, "yes") ||
!_cups_strcasecmp(value, "true");
}
else if (!_cups_strcasecmp(name, "timeout"))
{
@@ -426,7 +433,10 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
}
}
snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family);
if (snmp_enabled)
snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family);
else
snmp_fd = -1;
/*
* Wait for data from the filter...
@@ -462,7 +472,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
_cupsLangPrintFilter(stderr, "INFO", _("Copying print data."));
if (bytes > 0)
write(fd, buffer, bytes);
write(fd, buffer, (size_t)bytes);
backendRunLoop(-1, fd, snmp_fd, &(addrlist->addr), 0, 0,
backendNetworkSideCB);
@@ -527,7 +537,9 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
status = lpd_queue(hostname, addrlist, resource + 1, fd, snmp_fd, mode,
username, title, copies, banner, format, order, reserve,
manual_copies, timeout, contimeout);
manual_copies, timeout, contimeout,
cupsGetOption("job-originating-host-name", num_jobopts,
jobopts));
if (!status)
fprintf(stderr, "PAGE: 1 %d\n", atoi(argv[4]));
@@ -535,7 +547,9 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
else
status = lpd_queue(hostname, addrlist, resource + 1, fd, snmp_fd, mode,
username, title, 1, banner, format, order, reserve, 1,
timeout, contimeout);
timeout, contimeout,
cupsGetOption("job-originating-host-name", num_jobopts,
jobopts));
/*
* Remove the temporary file if necessary...
@@ -564,13 +578,12 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
static int /* O - Status of command */
lpd_command(int fd, /* I - Socket connection to LPD host */
int timeout, /* I - Seconds to wait for a response */
char *format, /* I - printf()-style format string */
...) /* I - Additional args as necessary */
{
va_list ap; /* Argument pointer */
char buf[1024]; /* Output buffer */
int bytes; /* Number of bytes to output */
ssize_t bytes; /* Number of bytes to output */
char status; /* Status from command */
@@ -595,9 +608,9 @@ lpd_command(int fd, /* I - Socket connection to LPD host */
* Send the command...
*/
fprintf(stderr, "DEBUG: Sending command string (%d bytes)...\n", bytes);
fprintf(stderr, "DEBUG: Sending command string (" CUPS_LLFMT " bytes)...\n", CUPS_LLCAST bytes);
if (lpd_write(fd, buf, bytes) < bytes)
if (lpd_write(fd, buf, (size_t)bytes) < bytes)
{
perror("DEBUG: Unable to send LPD command");
return (-1);
@@ -609,18 +622,12 @@ lpd_command(int fd, /* I - Socket connection to LPD host */
fputs("DEBUG: Reading command status...\n", stderr);
alarm(timeout);
if (recv(fd, &status, 1, 0) < 1)
{
_cupsLangPrintFilter(stderr, "WARNING",
_("Printer did not respond after %d seconds."),
timeout);
status = errno;
_cupsLangPrintFilter(stderr, "WARNING", _("The printer did not respond."));
status = (char)errno;
}
alarm(0);
fprintf(stderr, "DEBUG: lpd_command returning %d\n", status);
return (status);
@@ -647,7 +654,8 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
int reserve, /* I - Reserve ports? */
int manual_copies,/* I - Do copies by hand... */
int timeout, /* I - Timeout... */
int contimeout) /* I - Connection timeout */
int contimeout, /* I - Connection timeout */
const char *orighost) /* I - job-originating-host-name */
{
char localhost[255]; /* Local host name */
int error; /* Error number */
@@ -663,29 +671,15 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
int have_supplies; /* Printer supports supply levels? */
int copy; /* Copies written */
time_t start_time; /* Time of first connect */
size_t nbytes; /* Number of bytes written */
ssize_t nbytes; /* Number of bytes written */
off_t tbytes; /* Total bytes written */
char buffer[32768]; /* Output buffer */
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
struct sigaction action; /* Actions for POSIX signals */
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
/*
* Setup an alarm handler for timeouts...
*/
#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
sigset(SIGALRM, lpd_timeout);
#elif defined(HAVE_SIGACTION)
memset(&action, 0, sizeof(action));
sigemptyset(&action.sa_mask);
action.sa_handler = lpd_timeout;
sigaction(SIGALRM, &action, NULL);
#ifdef WIN32
DWORD tv; /* Timeout in milliseconds */
#else
signal(SIGALRM, lpd_timeout);
#endif /* HAVE_SIGSET */
struct timeval tv; /* Timeout in secs and usecs */
#endif /* WIN32 */
/*
* Remember when we started trying to connect to the printer...
@@ -704,7 +698,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
*/
fprintf(stderr, "DEBUG: Connecting to %s:%d for printer %s\n", hostname,
_httpAddrPort(&(addrlist->addr)), printer);
httpAddrPort(&(addrlist->addr)), printer);
_cupsLangPrintFilter(stderr, "INFO", _("Connecting to printer."));
for (lport = reserve == RESERVE_RFC1179 ? 732 : 1024, addr = addrlist,
@@ -779,7 +773,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
return (CUPS_BACKEND_FAILED);
}
if (!connect(fd, &(addr->addr.addr), httpAddrLength(&(addr->addr))))
if (!connect(fd, &(addr->addr.addr), (socklen_t)httpAddrLength(&(addr->addr))))
break;
error = errno;
@@ -839,11 +833,11 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
case ECONNREFUSED :
default :
_cupsLangPrintFilter(stderr, "WARNING",
_("The printer is busy."));
_("The printer is in use."));
break;
}
sleep(delay);
sleep((unsigned)delay);
if (delay < 30)
delay += 5;
@@ -864,12 +858,29 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
}
}
/*
* Set the timeout...
*/
#ifdef WIN32
tv = (DWORD)(timeout * 1000);
setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(tv));
setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, (char *)&tv, sizeof(tv));
#else
tv.tv_sec = timeout;
tv.tv_usec = 0;
setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));
setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
#endif /* WIN32 */
fputs("STATE: -connecting-to-device\n", stderr);
_cupsLangPrintFilter(stderr, "INFO", _("Connected to printer."));
fprintf(stderr, "DEBUG: Connected to %s:%d (local port %d)...\n",
httpAddrString(&(addr->addr), addrname, sizeof(addrname)),
_httpAddrPort(&(addr->addr)), lport);
httpAddrPort(&(addr->addr)), lport);
/*
* See if the printer supports SNMP...
@@ -926,14 +937,17 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
* literal output...
*/
if (lpd_command(fd, timeout, "\002%s\n",
if (lpd_command(fd, "\002%s\n",
printer)) /* Receive print job(s) */
{
close(fd);
return (CUPS_BACKEND_FAILED);
}
httpGetHostname(NULL, localhost, sizeof(localhost));
if (orighost && _cups_strcasecmp(orighost, "localhost"))
strlcpy(localhost, orighost, sizeof(localhost));
else
httpGetHostname(NULL, localhost, sizeof(localhost));
snprintf(control, sizeof(control),
"H%.31s\n" /* RFC 1179, Section 7.2 - host name <= 31 chars */
@@ -944,7 +958,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
if (banner)
{
snprintf(cptr, sizeof(control) - (cptr - control),
snprintf(cptr, sizeof(control) - (size_t)(cptr - control),
"C%.31s\n" /* RFC 1179, Section 7.2 - class name <= 31 chars */
"L%s\n",
localhost, user);
@@ -953,13 +967,13 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
while (copies > 0)
{
snprintf(cptr, sizeof(control) - (cptr - control), "%cdfA%03d%.15s\n",
snprintf(cptr, sizeof(control) - (size_t)(cptr - control), "%cdfA%03d%.15s\n",
format, (int)getpid() % 1000, localhost);
cptr += strlen(cptr);
copies --;
}
snprintf(cptr, sizeof(control) - (cptr - control),
snprintf(cptr, sizeof(control) - (size_t)(cptr - control),
"UdfA%03d%.15s\n"
"N%.131s\n", /* RFC 1179, Section 7.2 - sourcefile name <= 131 chars */
(int)getpid() % 1000, localhost, title);
@@ -978,7 +992,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
* Send the control file...
*/
if (lpd_command(fd, timeout, "\002%d cfA%03.3d%.15s\n", strlen(control),
if (lpd_command(fd, "\002%d cfA%03.3d%.15s\n", strlen(control),
(int)getpid() % 1000, localhost))
{
close(fd);
@@ -989,25 +1003,20 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
fprintf(stderr, "DEBUG: Sending control file (%u bytes)\n",
(unsigned)strlen(control));
if (lpd_write(fd, control, strlen(control) + 1) < (strlen(control) + 1))
if ((size_t)lpd_write(fd, control, strlen(control) + 1) < (strlen(control) + 1))
{
status = errno;
status = (char)errno;
perror("DEBUG: Unable to write control file");
}
else
{
alarm(timeout);
if (read(fd, &status, 1) < 1)
{
_cupsLangPrintFilter(stderr, "WARNING",
_("Printer did not respond after %d seconds."),
timeout);
status = errno;
_("The printer did not respond."));
status = (char)errno;
}
alarm(0);
}
if (status != 0)
@@ -1033,7 +1042,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
* Send the print file...
*/
if (lpd_command(fd, timeout, "\003" CUPS_LLFMT " dfA%03.3d%.15s\n",
if (lpd_command(fd, "\003" CUPS_LLFMT " dfA%03.3d%.15s\n",
CUPS_LLCAST filestats.st_size, (int)getpid() % 1000,
localhost))
{
@@ -1056,7 +1065,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
_("Spooling job, %.0f%% complete."),
100.0 * tbytes / filestats.st_size);
if (lpd_write(fd, buffer, nbytes) < nbytes)
if (lpd_write(fd, buffer, (size_t)nbytes) < nbytes)
{
perror("DEBUG: Unable to send print file to printer");
break;
@@ -1069,11 +1078,11 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
if (mode == MODE_STANDARD)
{
if (tbytes < filestats.st_size)
status = errno;
status = (char)errno;
else if (lpd_write(fd, "", 1) < 1)
{
perror("DEBUG: Unable to send trailing nul to printer");
status = errno;
status = (char)errno;
}
else
{
@@ -1084,17 +1093,12 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
* want to requeue it over and over...
*/
alarm(timeout);
if (recv(fd, &status, 1, 0) < 1)
{
_cupsLangPrintFilter(stderr, "WARNING",
_("Printer did not respond after %d seconds."),
timeout);
_("The printer did not respond."));
status = 0;
}
alarm(0);
}
}
else
@@ -1121,7 +1125,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
* Send control file...
*/
if (lpd_command(fd, timeout, "\002%d cfA%03.3d%.15s\n", strlen(control),
if (lpd_command(fd, "\002%d cfA%03.3d%.15s\n", strlen(control),
(int)getpid() % 1000, localhost))
{
close(fd);
@@ -1132,24 +1136,19 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
fprintf(stderr, "DEBUG: Sending control file (%lu bytes)\n",
(unsigned long)strlen(control));
if (lpd_write(fd, control, strlen(control) + 1) < (strlen(control) + 1))
if ((size_t)lpd_write(fd, control, strlen(control) + 1) < (strlen(control) + 1))
{
status = errno;
status = (char)errno;
perror("DEBUG: Unable to write control file");
}
else
{
alarm(timeout);
if (read(fd, &status, 1) < 1)
{
_cupsLangPrintFilter(stderr, "WARNING",
_("Printer did not respond after %d seconds."),
timeout);
status = errno;
_("The printer did not respond."));
status = (char)errno;
}
alarm(0);
}
if (status != 0)
@@ -1161,6 +1160,8 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
_("Control file sent successfully."));
}
fputs("STATE: +cups-waiting-for-job-completed\n", stderr);
/*
* Collect the final supply levels as needed...
*/
@@ -1192,51 +1193,36 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
}
/*
* 'lpd_timeout()' - Handle timeout alarms...
*/
static void
lpd_timeout(int sig) /* I - Signal number */
{
(void)sig;
#if !defined(HAVE_SIGSET) && !defined(HAVE_SIGACTION)
signal(SIGALRM, lpd_timeout);
#endif /* !HAVE_SIGSET && !HAVE_SIGACTION */
}
/*
* 'lpd_write()' - Write a buffer of data to an LPD server.
*/
static int /* O - Number of bytes written or -1 on error */
lpd_write(int lpd_fd, /* I - LPD socket */
char *buffer, /* I - Buffer to write */
int length) /* I - Number of bytes to write */
static ssize_t /* O - Number of bytes written or -1 on error */
lpd_write(int lpd_fd, /* I - LPD socket */
char *buffer, /* I - Buffer to write */
size_t length) /* I - Number of bytes to write */
{
int bytes, /* Number of bytes written */
total; /* Total number of bytes written */
ssize_t bytes, /* Number of bytes written */
total; /* Total number of bytes written */
if (abort_job)
return (-1);
total = 0;
while ((bytes = send(lpd_fd, buffer, length - total, 0)) >= 0)
while ((bytes = send(lpd_fd, buffer, length - (size_t)total, 0)) >= 0)
{
total += bytes;
buffer += bytes;
if (total == length)
if ((size_t)total == length)
break;
}
if (bytes < 0)
return (-1);
else
return (length);
return (total);
}
@@ -1283,7 +1269,7 @@ rresvport_af(int *port, /* IO - Port number to bind to */
* Try binding the port to the socket; return if all is OK...
*/
if (!bind(fd, (struct sockaddr *)&addr, sizeof(addr)))
if (!bind(fd, (struct sockaddr *)&addr, httpAddrLength(&addr)))
return (fd);
/*
@@ -1292,11 +1278,7 @@ rresvport_af(int *port, /* IO - Port number to bind to */
if (errno != EADDRINUSE)
{
# ifdef WIN32
closesocket(fd);
# else
close(fd);
# endif /* WIN32 */
httpAddrClose(NULL, fd);
return (-1);
}
@@ -1338,5 +1320,5 @@ sigterm_handler(int sig) /* I - Signal */
/*
* End of "$Id$".
* End of "$Id: lpd.c 12024 2014-07-15 12:58:39Z msweet $".
*/
+60 -52
Ver Arquivo
@@ -1,23 +1,18 @@
/*
* "$Id$"
* "$Id: network.c 12124 2014-08-28 15:37:22Z msweet $"
*
* Common backend network APIs for CUPS.
* Common backend network APIs for CUPS.
*
* Copyright 2007-2011 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/".
* 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.
*
* Contents:
*
* backendCheckSideChannel() - Check the side-channel for pending requests.
* backendNetworkSideCB() - Handle common network side-channel commands.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -26,11 +21,7 @@
#include "backend-private.h"
#include <limits.h>
#ifdef __hpux
# include <sys/time.h>
#else
# include <sys/select.h>
#endif /* __hpux */
#include <sys/select.h>
/*
@@ -71,7 +62,7 @@ backendNetworkSideCB(
{
cups_sc_command_t command; /* Request command */
cups_sc_status_t status; /* Request/response status */
char data[2048]; /* Request/response data */
char data[65536]; /* Request/response data */
int datalen; /* Request/response data size */
const char *device_id; /* 1284DEVICEID env var */
@@ -92,7 +83,7 @@ backendNetworkSideCB(
status = CUPS_SC_STATUS_NOT_IMPLEMENTED;
else if (backendDrainOutput(print_fd, device_fd))
status = CUPS_SC_STATUS_IO_ERROR;
else
else
status = CUPS_SC_STATUS_OK;
datalen = 0;
@@ -100,7 +91,7 @@ backendNetworkSideCB(
case CUPS_SC_CMD_GET_BIDI :
status = CUPS_SC_STATUS_OK;
data[0] = use_bc;
data[0] = (char)use_bc;
datalen = 1;
break;
@@ -119,8 +110,35 @@ backendNetworkSideCB(
if (snmp_fd >= 0)
{
char *dataptr; /* Pointer into data */
cups_snmp_t packet; /* Packet from printer */
const char *snmp_value; /* CUPS_SNMP_VALUE env var */
if ((snmp_value = getenv("CUPS_SNMP_VALUE")) != NULL)
{
const char *snmp_count; /* CUPS_SNMP_COUNT env var */
int count; /* Repetition count */
if ((snmp_count = getenv("CUPS_SNMP_COUNT")) != NULL)
{
if ((count = atoi(snmp_count)) <= 0)
count = 1;
}
else
count = 1;
for (dataptr = data + strlen(data) + 1;
count > 0 && dataptr < (data + sizeof(data) - 1);
count --, dataptr += strlen(dataptr))
strlcpy(dataptr, snmp_value, sizeof(data) - (size_t)(dataptr - data));
fprintf(stderr, "DEBUG: Returning %s %s\n", data,
data + strlen(data) + 1);
status = CUPS_SC_STATUS_OK;
datalen = (int)(dataptr - data);
break;
}
if (!_cupsSNMPStringToOID(data, packet.object_name, CUPS_SNMP_MAX_OID))
{
@@ -141,8 +159,7 @@ backendNetworkSideCB(
{
if (_cupsSNMPRead(snmp_fd, &packet, 1.0))
{
char *dataptr; /* Pointer into data */
int i; /* Looping var */
size_t i; /* Looping var */
if (!_cupsSNMPOIDToString(packet.object_name, data, sizeof(data)))
@@ -157,35 +174,31 @@ backendNetworkSideCB(
switch (packet.object_type)
{
case CUPS_ASN1_BOOLEAN :
snprintf(dataptr, sizeof(data) - (dataptr - data), "%d",
packet.object_value.boolean);
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%d", packet.object_value.boolean);
datalen += (int)strlen(dataptr);
break;
case CUPS_ASN1_INTEGER :
snprintf(dataptr, sizeof(data) - (dataptr - data), "%d",
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%d",
packet.object_value.integer);
datalen += (int)strlen(dataptr);
break;
case CUPS_ASN1_BIT_STRING :
case CUPS_ASN1_OCTET_STRING :
if (packet.object_value.string.num_bytes < 0)
i = 0;
else if (packet.object_value.string.num_bytes <
(sizeof(data) - (dataptr - data)))
if (packet.object_value.string.num_bytes < (sizeof(data) - (size_t)(dataptr - data)))
i = packet.object_value.string.num_bytes;
else
i = (int)(sizeof(data) - (dataptr - data));
i = sizeof(data) - (size_t)(dataptr - data);
memcpy(dataptr, packet.object_value.string.bytes, i);
datalen += i;
datalen += (int)i;
break;
case CUPS_ASN1_OID :
_cupsSNMPOIDToString(packet.object_value.oid, dataptr,
sizeof(data) - (dataptr - data));
sizeof(data) - (size_t)(dataptr - data));
datalen += (int)strlen(dataptr);
break;
@@ -194,32 +207,27 @@ backendNetworkSideCB(
i < packet.object_value.string.num_bytes &&
dataptr < (data + sizeof(data) - 3);
i ++, dataptr += 2)
sprintf(dataptr, "%02X",
packet.object_value.string.bytes[i]);
sprintf(dataptr, "%02X", packet.object_value.string.bytes[i]);
datalen += (int)strlen(dataptr);
break;
case CUPS_ASN1_COUNTER :
snprintf(dataptr, sizeof(data) - (dataptr - data), "%d",
packet.object_value.counter);
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%u", packet.object_value.counter);
datalen += (int)strlen(dataptr);
break;
case CUPS_ASN1_GAUGE :
snprintf(dataptr, sizeof(data) - (dataptr - data), "%u",
packet.object_value.gauge);
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%u", packet.object_value.gauge);
datalen += (int)strlen(dataptr);
break;
case CUPS_ASN1_TIMETICKS :
snprintf(dataptr, sizeof(data) - (dataptr - data), "%u",
packet.object_value.timeticks);
snprintf(dataptr, sizeof(data) - (size_t)(dataptr - data), "%u", packet.object_value.timeticks);
datalen += (int)strlen(dataptr);
break;
default :
fprintf(stderr, "DEBUG: Unknown OID value type %02X!\n",
packet.object_type);
fprintf(stderr, "DEBUG: Unknown OID value type %02X.\n", packet.object_type);
case CUPS_ASN1_NULL_VALUE :
dataptr[0] = '\0';
@@ -242,6 +250,12 @@ backendNetworkSideCB(
datalen = 0;
break;
case CUPS_SC_CMD_GET_CONNECTED :
status = CUPS_SC_STATUS_OK;
data[0] = device_fd != -1;
datalen = 1;
break;
case CUPS_SC_CMD_GET_DEVICE_ID :
if (snmp_fd >= 0)
{
@@ -279,12 +293,6 @@ backendNetworkSideCB(
break;
}
case CUPS_SC_CMD_GET_CONNECTED :
status = CUPS_SC_STATUS_OK;
data[0] = device_fd != -1;
datalen = 1;
break;
default :
status = CUPS_SC_STATUS_NOT_IMPLEMENTED;
datalen = 0;
@@ -296,5 +304,5 @@ backendNetworkSideCB(
/*
* End of "$Id$".
* End of "$Id: network.c 12124 2014-08-28 15:37:22Z msweet $".
*/
+243
Ver Arquivo
@@ -0,0 +1,243 @@
# USB backend 'quirks' file.
#
# This file lists known issues with various vendors or printers. Each
# line contains either a comment (starting with #) or the USB vendor ID,
# product ID (omit for all vendor products), and a list of known issues:
#
# blacklist The printer is not functional with the USB backend.
# 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
# usb-init Needs vendor USB initialization string.
# vendor-class Uses vendor-specific class or subclass.
# whitelist The printer is functional with the USB backend.
# HP DeskJet 895C
0x03f0 0x0004 unidir
# HP DeskJet 880C
0x03f0 0x0104 unidir
# HP DeskJet 815C
0x03f0 0x0204 unidir
# HP DeskJet 810C/812C
0x03f0 0x0304 unidir
# HP DeskJet 830C
0x03f0 0x0404 unidir
# HP DeskJet 885C
0x03f0 0x0504 unidir
# HP DeskJet 840C
0x03f0 0x0604 unidir
# HP DeskJet 816C
0x03f0 0x0804 unidir
# HP Deskjet 959C
0x03f0 0x1104 unidir
# NEC Picty900 (HP OEM)
0x0409 0xefbe unidir
# NEC Picty760 (HP OEM)
0x0409 0xbef4 unidir
# NEC Picty920 (HP OEM)
0x0409 0xf0be unidir
# NEC Picty800 (HP OEM)
0x0409 0xf1be unidir
# Lexmark International, Inc. (e250d), https://bugs.launchpad.net/bugs/1084164
0x043d 0x00f3 no-reattach
# Kyocera Mita FS 820, by zut <kernel@zut.de>
0x0482 0x0010 unidir
# Canon, Inc. PIXMA iP6000D Printer, https://bugs.launchpad.net/bugs/1160638
0x04a9 0x1095 unidir
# Canon, Inc. PIXMA iP4200 Printer, http://www.cups.org/str.php?L4155
0x04a9 0x10a2 unidir
# Canon, Inc. PIXMA iP4300 Printer, https://bugs.launchpad.net/bugs/1032385
0x04a9 0x10b6 unidir
# Canon, Inc. MP210 https://bugzilla.redhat.com/show_bug.cgi?id=847923#c53
0x04a9 0x1721 unidir
# Canon, Inc. MP500 Printer, https://bugs.launchpad.net/bugs/1032456
0x04a9 0x170c unidir
# Canon, Inc. MP510 Printer, https://bugs.launchpad.net/bugs/1050009
0x04a9 0x1717 unidir
# Canon, Inc. MP550 Printer, http://www.cups.org/str.php?L4155
0x04a9 0x173d unidir
# Canon, Inc. MP560 Printer, http://www.cups.org/str.php?L4155
0x04a9 0x173e unidir
# Canon, Inc. MF4150 Printer, https://bugs.launchpad.net/bugs/1160638
0x04a9 0x26a3 no-reattach
# Brother Industries, Ltd HL-1250 Laser Printer, https://bugs.debian.org/712512
0x04f9 0x0007 no-reattach
# Brother Industries, Ltd HL-1430 Laser Printer, https://bugs.launchpad.net/bugs/1038695
0x04f9 0x001a no-reattach
# Brother Industries, Ltd HL-1440 Laser Printer, https://bugs.launchpad.net/bugs/1000253
0x04f9 0x000d no-reattach unidir
# Brother Industries, Ltd HL-1450 Laser Printer, https://bugs.launchpad.net/bugs/1000253
0x04f9 0x000e no-reattach unidir
# Oki Data Corp. Okipage 14ex Printer, https://bugs.launchpad.net/bugs/872483
0x06bc 0x000b no-reattach
# Oki Data Corp. B410d, https://bugs.launchpad.net/bugs/872483
0x06bc 0x01c7 no-reattach
# Seiko Epson Corp. Stylus Color 740 / Photo 750, http://bugs.debian.org/697970
0x04b8 0x0001 no-reattach unidir
# Seiko Epson Corp. Stylus Color 670, https://bugs.launchpad.net/bugs/872483
0x04b8 0x0005 no-reattach
# Seiko Epson Receipt Printer M129C
0x04b8 0x0202 vendor-class
# Prolific Technology, Inc. PL2305 Parallel Port (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/987485
0x067b 0x2305 no-reattach soft-reset unidir
# Xerox Phaser 3124 https://bugzilla.redhat.com/show_bug.cgi?id=867392
0x0924 0x3ce9 no-reattach
# Xerox WorkCentre 3210 https://bugs.launchpad.net/bugs/1102470
0x0924 0x4293 no-reattach
# QinHeng Electronics CH340S (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/1000253
0x1a86 0x7584 no-reattach
# All Samsung devices, https://bugs.launchpad.net/bugs/1032456
0x04e8 soft-reset
# All Zebra devices, https://bugs.launchpad.net/bugs/1001028
0x0a5f unidir
# Canon CP-10
0x04a9 0x304a blacklist
# Canon CP-100
0x04a9 0x3063 blacklist
# Canon CP-200
0x04a9 0x307c blacklist
# Canon CP-300
0x04a9 0x307d blacklist
# Canon CP-220
0x04a9 0x30bd blacklist
# Canon CP-330
0x04a9 0x30be blacklist
# Canon SELPHY CP400
0x04a9 0x30f6 blacklist
# Canon SELPHY CP600
0x04a9 0x310b blacklist
# Canon SELPHY CP710
0x04a9 0x3127 blacklist
# Canon SELPHY CP510
0x04a9 0x3128 blacklist
# Canon SELPHY ES1
0x04a9 0x3141 blacklist
# Canon SELPHY CP730
0x04a9 0x3142 blacklist
# Canon SELPHY CP720
0x04a9 0x3143 blacklist
# Canon SELPHY CP750
0x04a9 0x3170 blacklist
# Canon SELPHY CP740
0x04a9 0x3171 blacklist
# Canon SELPHY ES2
0x04a9 0x3185 blacklist
# Canon SELPHY ES20
0x04a9 0x3186 blacklist
# Canon SELPHY CP770
0x04a9 0x31aa blacklist
# Canon SELPHY CP760
0x04a9 0x31ab blacklist
# Canon SELPHY ES30
0x04a9 0x31b0 blacklist
# Canon SELPHY CP780
0x04a9 0x31dd blacklist
# Canon SELPHY ES40
0x04a9 0x31ee blacklist
# Canon SELPHY CP800
0x04a9 0x3214 blacklist
# Canon SELPHY CP900
0x04a9 0x3255 blacklist
# Canon SELPHY CP810
0x04a9 0x3256 blacklist
# Canon SELPHY CP500
0x04a9 0x30f5 blacklist
# Canon SELPHY ES3
0x04a9 0x31af blacklist
# Canon SELPHY CP780
0x04a9 0x31dd blacklist
# Lexmark E238 (<rdar://problem/14493054>)
0x043d 0x00d7 no-reattach
# Lexmark E238 (STR #4448)
0x043d 0x009a no-reattach
# Canon MX310 (STR #4482)
0x04a9 0x1728 unidir
# Canon MX320 (STR #4482)
0x04A9 0x1736 unidir
# All Intermec devices (STR #4553)
0x067e no-reattach
# HP LaserJet 1150 (STR #4549)
0x03f0 0x0f17 delay-close
# HP LaserJet 1300 (STR #4549)
0x03f0 0x1017 delay-close
0x03f0 0x1117 delay-close
# HP LaserJet 1320 (STR #4549)
0x03f0 0x1d17 delay-close
# Canon, Inc. MP530 Printer
0x04a9 0x1712 unidir
-676
Ver Arquivo
@@ -1,676 +0,0 @@
/*
* "$Id$"
*
* Parallel port backend for CUPS.
*
* Copyright 2007-2011 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.
*
* Contents:
*
* main() - Send a file to the specified parallel port.
* list_devices() - List all parallel devices.
* side_cb() - Handle side-channel requests...
*/
/*
* Include necessary headers.
*/
#include "backend-private.h"
#ifdef __hpux
# include <sys/time.h>
#else
# include <sys/select.h>
#endif /* __hpux */
#ifdef WIN32
# include <io.h>
#else
# include <unistd.h>
# include <fcntl.h>
# include <termios.h>
# include <sys/socket.h>
#endif /* WIN32 */
#ifdef __sgi
# include <invent.h>
# ifndef INV_EPP_ECP_PLP
# define INV_EPP_ECP_PLP 6 /* From 6.3/6.4/6.5 sys/invent.h */
# define INV_ASO_SERIAL 14 /* serial portion of SGI ASO board */
# define INV_IOC3_DMA 16 /* DMA mode IOC3 serial */
# define INV_IOC3_PIO 17 /* PIO mode IOC3 serial */
# define INV_ISA_DMA 19 /* DMA mode ISA serial -- O2 */
# endif /* !INV_EPP_ECP_PLP */
#endif /* __sgi */
/*
* Local functions...
*/
static void list_devices(void);
static int side_cb(int print_fd, int device_fd, int snmp_fd,
http_addr_t *addr, int use_bc);
/*
* 'main()' - Send a file to the specified parallel port.
*
* Usage:
*
* printer-uri job-id user title copies options [file]
*/
int /* O - Exit status */
main(int argc, /* I - Number of command-line arguments (6 or 7) */
char *argv[]) /* I - Command-line arguments */
{
char method[255], /* Method in URI */
hostname[1024], /* Hostname */
username[255], /* Username info (not used) */
resource[1024], /* Resource info (device and options) */
*options; /* Pointer to options */
int port; /* Port number (not used) */
int print_fd, /* Print file */
device_fd, /* Parallel device */
use_bc; /* Read back-channel data? */
int copies; /* Number of copies to print */
ssize_t tbytes; /* Total number of bytes written */
struct termios opts; /* Parallel port options */
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
struct sigaction action; /* Actions for POSIX signals */
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
/*
* Make sure status messages are not buffered...
*/
setbuf(stderr, NULL);
/*
* Ignore SIGPIPE signals...
*/
#ifdef HAVE_SIGSET
sigset(SIGPIPE, SIG_IGN);
#elif defined(HAVE_SIGACTION)
memset(&action, 0, sizeof(action));
action.sa_handler = SIG_IGN;
sigaction(SIGPIPE, &action, NULL);
#else
signal(SIGPIPE, SIG_IGN);
#endif /* HAVE_SIGSET */
/*
* Check command-line...
*/
if (argc == 1)
{
list_devices();
return (CUPS_BACKEND_OK);
}
else if (argc < 6 || argc > 7)
{
_cupsLangPrintf(stderr,
_("Usage: %s job-id user title copies options [file]"),
argv[0]);
return (CUPS_BACKEND_FAILED);
}
/*
* If we have 7 arguments, print the file named on the command-line.
* Otherwise, send stdin instead...
*/
if (argc == 6)
{
print_fd = 0;
copies = 1;
}
else
{
/*
* Try to open the print file...
*/
if ((print_fd = open(argv[6], O_RDONLY)) < 0)
{
_cupsLangPrintError("ERROR", _("Unable to open print file"));
return (CUPS_BACKEND_FAILED);
}
copies = atoi(argv[4]);
}
/*
* Extract the device name and options from the URI...
*/
httpSeparateURI(HTTP_URI_CODING_ALL, cupsBackendDeviceURI(argv),
method, sizeof(method), username, sizeof(username),
hostname, sizeof(hostname), &port,
resource, sizeof(resource));
/*
* See if there are any options...
*/
if ((options = strchr(resource, '?')) != NULL)
{
/*
* Yup, terminate the device name string and move to the first
* character of the options...
*/
*options++ = '\0';
}
/*
* Open the parallel port device...
*/
fputs("STATE: +connecting-to-device\n", stderr);
do
{
#if defined(__linux) || defined(__FreeBSD__)
/*
* The Linux and FreeBSD parallel port drivers currently are broken WRT
* select() and bidirection I/O...
*/
device_fd = open(resource, O_WRONLY | O_EXCL);
use_bc = 0;
#else
if ((device_fd = open(resource, O_RDWR | O_EXCL)) < 0)
{
device_fd = open(resource, O_WRONLY | O_EXCL);
use_bc = 0;
}
else
use_bc = 1;
#endif /* __linux || __FreeBSD__ */
if (device_fd == -1)
{
if (getenv("CLASS") != NULL)
{
/*
* If the CLASS environment variable is set, the job was submitted
* to a class and not to a specific queue. In this case, we want
* to abort immediately so that the job can be requeued on the next
* available printer in the class.
*/
_cupsLangPrintFilter(stderr, "INFO",
_("Unable to contact printer, queuing on next "
"printer in class."));
/*
* Sleep 5 seconds to keep the job from requeuing too rapidly...
*/
sleep(5);
return (CUPS_BACKEND_FAILED);
}
if (errno == EBUSY)
{
_cupsLangPrintFilter(stderr, "INFO",
_("Printer busy; will retry in 30 seconds."));
sleep(30);
}
else if (errno == ENXIO || errno == EIO || errno == ENOENT)
{
_cupsLangPrintFilter(stderr, "INFO",
_("Printer not connected; will retry in 30 "
"seconds."));
sleep(30);
}
else
{
_cupsLangPrintError("ERROR", _("Unable to open device file"));
return (CUPS_BACKEND_FAILED);
}
}
}
while (device_fd < 0);
fputs("STATE: -connecting-to-device\n", stderr);
/*
* Set any options provided...
*/
tcgetattr(device_fd, &opts);
opts.c_lflag &= ~(ICANON | ECHO | ISIG); /* Raw mode */
/**** No options supported yet ****/
tcsetattr(device_fd, TCSANOW, &opts);
/*
* Finally, send the print file...
*/
tbytes = 0;
while (copies > 0 && tbytes >= 0)
{
copies --;
if (print_fd != 0)
{
fputs("PAGE: 1 1\n", stderr);
lseek(print_fd, 0, SEEK_SET);
}
tbytes = backendRunLoop(print_fd, device_fd, -1, NULL, use_bc, 1, side_cb);
if (print_fd != 0 && tbytes >= 0)
_cupsLangPrintFilter(stderr, "INFO", _("Print file sent."));
}
/*
* Close the socket connection and input file and return...
*/
close(device_fd);
if (print_fd != 0)
close(print_fd);
return (CUPS_BACKEND_OK);
}
/*
* 'list_devices()' - List all parallel devices.
*/
static void
list_devices(void)
{
#if defined(__hpux) || defined(__sgi) || defined(__sun)
static char *funky_hex = "0123456789abcdefghijklmnopqrstuvwxyz";
/* Funky hex numbering used for some devices */
#endif /* __hpux || __sgi || __sun */
#ifdef __linux
int i; /* Looping var */
int fd; /* File descriptor */
char device[255], /* Device filename */
basedevice[255], /* Base device filename for ports */
device_id[1024], /* Device ID string */
make_model[1024], /* Make and model */
info[1024], /* Info string */
uri[1024]; /* Device URI */
if (!access("/dev/parallel/", 0))
strcpy(basedevice, "/dev/parallel/");
else if (!access("/dev/printers/", 0))
strcpy(basedevice, "/dev/printers/");
else
strcpy(basedevice, "/dev/lp");
for (i = 0; i < 4; i ++)
{
/*
* Open the port, if available...
*/
sprintf(device, "%s%d", basedevice, i);
if ((fd = open(device, O_RDWR | O_EXCL)) < 0)
fd = open(device, O_WRONLY);
if (fd >= 0)
{
/*
* Now grab the IEEE 1284 device ID string...
*/
snprintf(uri, sizeof(uri), "parallel:%s", device);
if (!backendGetDeviceID(fd, device_id, sizeof(device_id),
make_model, sizeof(make_model),
NULL, uri, sizeof(uri)))
{
snprintf(info, sizeof(info), "%s LPT #%d", make_model, i + 1);
cupsBackendReport("direct", uri, make_model, info, device_id, NULL);
}
else
{
snprintf(info, sizeof(info), "LPT #%d", i + 1);
cupsBackendReport("direct", uri, NULL, info, NULL, NULL);
}
close(fd);
}
}
#elif defined(__sgi)
int i, j, n; /* Looping vars */
char device[255]; /* Device filename */
inventory_t *inv; /* Hardware inventory info */
/*
* IRIX maintains a hardware inventory of most devices...
*/
setinvent();
while ((inv = getinvent()) != NULL)
{
if (inv->inv_class == INV_PARALLEL &&
(inv->inv_type == INV_ONBOARD_PLP ||
inv->inv_type == INV_EPP_ECP_PLP))
{
/*
* Standard parallel port...
*/
puts("direct parallel:/dev/plp \"Unknown\" \"Onboard Parallel Port\"");
}
else if (inv->inv_class == INV_PARALLEL &&
inv->inv_type == INV_EPC_PLP)
{
/*
* EPC parallel port...
*/
printf("direct parallel:/dev/plp%d \"Unknown\" \"Integral EPC parallel port, Ebus slot %d\"\n",
inv->inv_controller, inv->inv_controller);
}
}
endinvent();
/*
* Central Data makes serial and parallel "servers" that can be
* connected in a number of ways. Look for ports...
*/
for (i = 0; i < 10; i ++)
for (j = 0; j < 8; j ++)
for (n = 0; n < 32; n ++)
{
if (i == 8) /* EtherLite */
sprintf(device, "/dev/lpn%d%c", j, funky_hex[n]);
else if (i == 9) /* PCI */
sprintf(device, "/dev/lpp%d%c", j, funky_hex[n]);
else /* SCSI */
sprintf(device, "/dev/lp%d%d%c", i, j, funky_hex[n]);
if (access(device, 0) == 0)
{
if (i == 8)
printf("direct parallel:%s \"Unknown\" \"Central Data EtherLite Parallel Port, ID %d, port %d\"\n",
device, j, n);
else if (i == 9)
printf("direct parallel:%s \"Unknown\" \"Central Data PCI Parallel Port, ID %d, port %d\"\n",
device, j, n);
else
printf("direct parallel:%s \"Unknown\" \"Central Data SCSI Parallel Port, logical bus %d, ID %d, port %d\"\n",
device, i, j, n);
}
}
#elif defined(__sun)
int i, j, n; /* Looping vars */
char device[255]; /* Device filename */
/*
* Standard parallel ports...
*/
for (i = 0; i < 10; i ++)
{
sprintf(device, "/dev/ecpp%d", i);
if (access(device, 0) == 0)
printf("direct parallel:%s \"Unknown\" \"Sun IEEE-1284 Parallel Port #%d\"\n",
device, i + 1);
}
for (i = 0; i < 10; i ++)
{
sprintf(device, "/dev/bpp%d", i);
if (access(device, 0) == 0)
printf("direct parallel:%s \"Unknown\" \"Sun Standard Parallel Port #%d\"\n",
device, i + 1);
}
for (i = 0; i < 3; i ++)
{
sprintf(device, "/dev/lp%d", i);
if (access(device, 0) == 0)
printf("direct parallel:%s \"Unknown\" \"PC Parallel Port #%d\"\n",
device, i + 1);
}
/*
* MAGMA parallel ports...
*/
for (i = 0; i < 40; i ++)
{
sprintf(device, "/dev/pm%02d", i);
if (access(device, 0) == 0)
printf("direct parallel:%s \"Unknown\" \"MAGMA Parallel Board #%d Port #%d\"\n",
device, (i / 10) + 1, (i % 10) + 1);
}
/*
* Central Data parallel ports...
*/
for (i = 0; i < 9; i ++)
for (j = 0; j < 8; j ++)
for (n = 0; n < 32; n ++)
{
if (i == 8) /* EtherLite */
sprintf(device, "/dev/sts/lpN%d%c", j, funky_hex[n]);
else
sprintf(device, "/dev/sts/lp%c%d%c", i + 'C', j,
funky_hex[n]);
if (access(device, 0) == 0)
{
if (i == 8)
printf("direct parallel:%s \"Unknown\" \"Central Data EtherLite Parallel Port, ID %d, port %d\"\n",
device, j, n);
else
printf("direct parallel:%s \"Unknown\" \"Central Data SCSI Parallel Port, logical bus %d, ID %d, port %d\"\n",
device, i, j, n);
}
}
#elif defined(__hpux)
int i, j, n; /* Looping vars */
char device[255]; /* Device filename */
/*
* Standard parallel ports...
*/
if (access("/dev/rlp", 0) == 0)
puts("direct parallel:/dev/rlp \"Unknown\" \"Standard Parallel Port (/dev/rlp)\"");
for (i = 0; i < 7; i ++)
for (j = 0; j < 7; j ++)
{
sprintf(device, "/dev/c%dt%dd0_lp", i, j);
if (access(device, 0) == 0)
printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d,%d\"\n",
device, i, j);
}
/*
* Central Data parallel ports...
*/
for (i = 0; i < 9; i ++)
for (j = 0; j < 8; j ++)
for (n = 0; n < 32; n ++)
{
if (i == 8) /* EtherLite */
sprintf(device, "/dev/lpN%d%c", j, funky_hex[n]);
else
sprintf(device, "/dev/lp%c%d%c", i + 'C', j,
funky_hex[n]);
if (access(device, 0) == 0)
{
if (i == 8)
printf("direct parallel:%s \"Unknown\" \"Central Data EtherLite Parallel Port, ID %d, port %d\"\n",
device, j, n);
else
printf("direct parallel:%s \"Unknown\" \"Central Data SCSI Parallel Port, logical bus %d, ID %d, port %d\"\n",
device, i, j, n);
}
}
#elif defined(__osf__)
int i; /* Looping var */
int fd; /* File descriptor */
char device[255]; /* Device filename */
for (i = 0; i < 3; i ++)
{
sprintf(device, "/dev/lp%d", i);
if ((fd = open(device, O_WRONLY)) >= 0)
{
close(fd);
printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d\"\n", device, i + 1);
}
}
#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
int i; /* Looping var */
int fd; /* File descriptor */
char device[255]; /* Device filename */
for (i = 0; i < 3; i ++)
{
sprintf(device, "/dev/lpt%d", i);
if ((fd = open(device, O_WRONLY)) >= 0)
{
close(fd);
printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d (interrupt-driven)\"\n", device, i + 1);
}
sprintf(device, "/dev/lpa%d", i);
if ((fd = open(device, O_WRONLY)) >= 0)
{
close(fd);
printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d (polled)\"\n", device, i + 1);
}
}
#elif defined(_AIX)
int i; /* Looping var */
int fd; /* File descriptor */
char device[255]; /* Device filename */
for (i = 0; i < 8; i ++)
{
sprintf(device, "/dev/lp%d", i);
if ((fd = open(device, O_WRONLY)) >= 0)
{
close(fd);
printf("direct parallel:%s \"Unknown\" \"Parallel Port #%d\"\n", device, i + 1);
}
}
#endif
}
/*
* 'side_cb()' - Handle side-channel requests...
*/
static int /* O - 0 on success, -1 on error */
side_cb(int print_fd, /* I - Print file */
int device_fd, /* I - Device file */
int snmp_fd, /* I - SNMP socket (unused) */
http_addr_t *addr, /* I - Device address (unused) */
int use_bc) /* I - Using back-channel? */
{
cups_sc_command_t command; /* Request command */
cups_sc_status_t status; /* Request/response status */
char data[2048]; /* Request/response data */
int datalen; /* Request/response data size */
(void)snmp_fd;
(void)addr;
datalen = sizeof(data);
if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
return (-1);
switch (command)
{
case CUPS_SC_CMD_DRAIN_OUTPUT :
if (backendDrainOutput(print_fd, device_fd))
status = CUPS_SC_STATUS_IO_ERROR;
else if (tcdrain(device_fd))
status = CUPS_SC_STATUS_IO_ERROR;
else
status = CUPS_SC_STATUS_OK;
datalen = 0;
break;
case CUPS_SC_CMD_GET_BIDI :
status = CUPS_SC_STATUS_OK;
data[0] = use_bc;
datalen = 1;
break;
case CUPS_SC_CMD_GET_DEVICE_ID :
memset(data, 0, sizeof(data));
if (backendGetDeviceID(device_fd, data, sizeof(data) - 1,
NULL, 0, NULL, NULL, 0))
{
status = CUPS_SC_STATUS_NOT_IMPLEMENTED;
datalen = 0;
}
else
{
status = CUPS_SC_STATUS_OK;
datalen = strlen(data);
}
break;
default :
status = CUPS_SC_STATUS_NOT_IMPLEMENTED;
datalen = 0;
break;
}
return (cupsSideChannelWrite(command, status, data, datalen, 1.0));
}
/*
* End of "$Id$".
*/
Arquivo executável → Arquivo normal
Ver Arquivo
+46 -40
Ver Arquivo
@@ -1,25 +1,18 @@
/*
* "$Id$"
* "$Id: runloop.c 11558 2014-02-06 18:33:34Z msweet $"
*
* Common run loop APIs for CUPS backends.
* Common run loop APIs for CUPS backends.
*
* Copyright 2007-2011 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/".
* 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.
*
* Contents:
*
* backendDrainOutput() - Drain pending print data to the device.
* backendRunLoop() - Read and write print and back-channel data.
* backendWaitLoop() - Wait for input from stdin while handling
* side-channel queries.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -28,11 +21,7 @@
#include "backend-private.h"
#include <limits.h>
#ifdef __hpux
# include <sys/time.h>
#else
# include <sys/select.h>
#endif /* __hpux */
#include <sys/select.h>
/*
@@ -92,7 +81,8 @@ backendDrainOutput(int print_fd, /* I - Print file descriptor */
if (errno != EAGAIN || errno != EINTR)
{
_cupsLangPrintError("ERROR", _("Unable to read print data"));
fprintf(stderr, "DEBUG: Read failed: %s\n", strerror(errno));
_cupsLangPrintFilter(stderr, "ERROR", _("Unable to read print data."));
return (-1);
}
@@ -112,7 +102,7 @@ backendDrainOutput(int print_fd, /* I - Print file descriptor */
for (print_ptr = print_buffer; print_bytes > 0;)
{
if ((bytes = write(device_fd, print_ptr, print_bytes)) < 0)
if ((bytes = write(device_fd, print_ptr, (size_t)print_bytes)) < 0)
{
/*
* Write error - bail if we don't see an error we can retry...
@@ -250,7 +240,7 @@ backendRunLoop(
{
fputs("STATE: +offline-report\n", stderr);
_cupsLangPrintFilter(stderr, "INFO",
_("Printer is not currently connected."));
_("The printer is not connected."));
offline = 1;
}
else if (errno == EINTR && total_bytes == 0)
@@ -292,7 +282,7 @@ backendRunLoop(
fprintf(stderr,
"DEBUG: Received " CUPS_LLFMT " bytes of back-channel data\n",
CUPS_LLCAST bc_bytes);
cupsBackChannelWrite(bc_buffer, bc_bytes, 1.0);
cupsBackChannelWrite(bc_buffer, (size_t)bc_bytes, 1.0);
}
else if (bc_bytes < 0 && errno != EAGAIN && errno != EINTR)
{
@@ -319,7 +309,9 @@ backendRunLoop(
if (errno != EAGAIN || errno != EINTR)
{
_cupsLangPrintError("ERROR", _("Unable to read print data"));
fprintf(stderr, "DEBUG: Read failed: %s\n", strerror(errno));
_cupsLangPrintFilter(stderr, "ERROR",
_("Unable to read print data."));
return (-1);
}
@@ -347,7 +339,7 @@ backendRunLoop(
if (print_bytes && FD_ISSET(device_fd, &output))
{
if ((bytes = write(device_fd, print_ptr, print_bytes)) < 0)
if ((bytes = write(device_fd, print_ptr, (size_t)print_bytes)) < 0)
{
/*
* Write error - bail if we don't see an error we can retry...
@@ -368,7 +360,7 @@ backendRunLoop(
{
fputs("STATE: +offline-report\n", stderr);
_cupsLangPrintFilter(stderr, "INFO",
_("Printer is not currently connected."));
_("The printer is not connected."));
offline = 1;
}
}
@@ -389,7 +381,8 @@ backendRunLoop(
if (offline && update_state)
{
fputs("STATE: -offline-report\n", stderr);
_cupsLangPrintFilter(stderr, "INFO", _("Printer is now connected."));
_cupsLangPrintFilter(stderr, "INFO",
_("The printer is now connected."));
offline = 0;
}
@@ -434,12 +427,11 @@ backendWaitLoop(
int use_bc, /* I - Use back-channel? */
_cups_sccb_t side_cb) /* I - Side-channel callback */
{
fd_set input; /* Input set for reading */
time_t curtime, /* Current time */
snmp_update = 0;
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
struct sigaction action; /* Actions for POSIX signals */
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
int nfds; /* Number of file descriptors */
fd_set input; /* Input set for reading */
time_t curtime = 0, /* Current time */
snmp_update = 0;/* Last SNMP status update */
struct timeval timeout; /* Timeout for select() */
fprintf(stderr, "DEBUG: backendWaitLoop(snmp_fd=%d, addr=%p, side_cb=%p)\n",
@@ -449,6 +441,9 @@ backendWaitLoop(
* Now loop until we receive data from stdin...
*/
if (snmp_fd >= 0)
snmp_update = time(NULL) + 5;
for (;;)
{
/*
@@ -460,7 +455,18 @@ backendWaitLoop(
if (side_cb)
FD_SET(CUPS_SC_FD, &input);
if (select(CUPS_SC_FD + 1, &input, NULL, NULL, NULL) < 0)
if (snmp_fd >= 0)
{
curtime = time(NULL);
timeout.tv_sec = curtime >= snmp_update ? 0 : snmp_update - curtime;
timeout.tv_usec = 0;
nfds = select(CUPS_SC_FD + 1, &input, NULL, NULL, &timeout);
}
else
nfds = select(CUPS_SC_FD + 1, &input, NULL, NULL, NULL);
if (nfds < 0)
{
/*
* Pause printing to clear any pending errors...
@@ -504,10 +510,10 @@ backendWaitLoop(
* Do SNMP updates periodically...
*/
if (snmp_fd >= 0 && time(&curtime) >= snmp_update)
if (snmp_fd >= 0 && curtime >= snmp_update)
{
if (backendSNMPSupplies(snmp_fd, addr, NULL, NULL))
snmp_update = INT_MAX;
snmp_fd = -1;
else
snmp_update = curtime + 5;
}
@@ -522,5 +528,5 @@ backendWaitLoop(
/*
* End of "$Id$".
* End of "$Id: runloop.c 11558 2014-02-06 18:33:34Z msweet $".
*/
-1327
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+209 -92
Ver Arquivo
@@ -1,24 +1,17 @@
/*
* "$Id$"
* "$Id: snmp-supplies.c 12227 2014-10-21 13:42:04Z msweet $"
*
* SNMP supplies functions for CUPS.
* SNMP supplies functions for CUPS.
*
* Copyright 2008-2011 by Apple Inc.
* Copyright 2008-2014 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/".
* 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.
*
* Contents:
*
* backendSNMPSupplies() - Get the current supplies for a device.
* backend_init_supplies() - Initialize the supplies list.
* backend_walk_cb() - Interpret the supply value responses.
* utf16_to_utf8() - Convert UTF-16 text to UTF-8.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -36,14 +29,21 @@
#define CUPS_MAX_SUPPLIES 32 /* Maximum number of supplies for a printer */
#define CUPS_SUPPLY_TIMEOUT 2.0 /* Timeout for SNMP lookups */
#define CUPS_DEVELOPER_LOW 1
#define CUPS_DEVELOPER_EMPTY 2
#define CUPS_MARKER_SUPPLY_LOW 4
#define CUPS_MARKER_SUPPLY_EMPTY 8
#define CUPS_OPC_NEAR_EOL 16
#define CUPS_OPC_LIFE_OVER 32
#define CUPS_TONER_LOW 64
#define CUPS_TONER_EMPTY 128
#define CUPS_DEVELOPER_LOW 0x0001
#define CUPS_DEVELOPER_EMPTY 0x0002
#define CUPS_MARKER_SUPPLY_LOW 0x0004
#define CUPS_MARKER_SUPPLY_EMPTY 0x0008
#define CUPS_OPC_NEAR_EOL 0x0010
#define CUPS_OPC_LIFE_OVER 0x0020
#define CUPS_TONER_LOW 0x0040
#define CUPS_TONER_EMPTY 0x0080
#define CUPS_WASTE_ALMOST_FULL 0x0100
#define CUPS_WASTE_FULL 0x0200
#define CUPS_CLEANER_NEAR_EOL 0x0400 /* Proposed JPS3 */
#define CUPS_CLEANER_LIFE_OVER 0x0800 /* Proposed JPS3 */
#define CUPS_SNMP_NONE 0x0000
#define CUPS_SNMP_CAPACITY 0x0001 /* Supply levels reported as percentages */
/*
@@ -55,6 +55,7 @@ typedef struct /**** Printer supply data ****/
char name[CUPS_SNMP_MAX_STRING], /* Name of supply */
color[8]; /* Color: "#RRGGBB" or "none" */
int colorant, /* Colorant index */
sclass, /* Supply class */
type, /* Supply type */
max_capacity, /* Maximum capacity */
level; /* Current level value */
@@ -75,6 +76,8 @@ static http_addr_t current_addr; /* Current address */
static int current_state = -1;
/* Current device state bits */
static int charset = -1; /* Character set for supply names */
static unsigned quirks = CUPS_SNMP_NONE;
/* Quirks we have to work around */
static int num_supplies = 0;
/* Number of supplies found */
static backend_supplies_t supplies[CUPS_MAX_SUPPLIES];
@@ -139,6 +142,13 @@ static const int prtMarkerSuppliesMaxCapacity[] =
(sizeof(prtMarkerSuppliesMaxCapacity) /
sizeof(prtMarkerSuppliesMaxCapacity[0]));
/* Offset to supply index */
static const int prtMarkerSuppliesClass[] =
{ CUPS_OID_prtMarkerSuppliesClass, -1 },
/* Class OID */
prtMarkerSuppliesClassOffset =
(sizeof(prtMarkerSuppliesClass) /
sizeof(prtMarkerSuppliesClass[0]));
/* Offset to supply index */
static const int prtMarkerSuppliesType[] =
{ CUPS_OID_prtMarkerSuppliesType, -1 },
/* Type OID */
@@ -146,10 +156,17 @@ static const int prtMarkerSuppliesType[] =
(sizeof(prtMarkerSuppliesType) /
sizeof(prtMarkerSuppliesType[0]));
/* Offset to supply index */
static const int prtMarkerSuppliesSupplyUnit[] =
{ CUPS_OID_prtMarkerSuppliesSupplyUnit, -1 },
/* Units OID */
prtMarkerSuppliesSupplyUnitOffset =
(sizeof(prtMarkerSuppliesSupplyUnit) /
sizeof(prtMarkerSuppliesSupplyUnit[0]));
/* Offset to supply index */
static const backend_state_t const printer_states[] =
static const backend_state_t printer_states[] =
{
{ CUPS_TC_lowPaper, "media-low-report" },
/* { CUPS_TC_lowPaper, "media-low-report" }, */
{ CUPS_TC_noPaper | CUPS_TC_inputTrayEmpty, "media-empty-warning" },
/* { CUPS_TC_lowToner, "toner-low-report" }, */ /* now use prtMarkerSupplies */
/* { CUPS_TC_noToner, "toner-empty-warning" }, */ /* now use prtMarkerSupplies */
@@ -164,7 +181,7 @@ static const backend_state_t const printer_states[] =
{ CUPS_TC_outputFull, "output-area-full-warning" }
};
static const backend_state_t const supply_states[] =
static const backend_state_t supply_states[] =
{
{ CUPS_DEVELOPER_LOW, "developer-low-report" },
{ CUPS_DEVELOPER_EMPTY, "developer-empty-warning" },
@@ -173,7 +190,11 @@ static const backend_state_t const supply_states[] =
{ CUPS_OPC_NEAR_EOL, "opc-near-eol-report" },
{ CUPS_OPC_LIFE_OVER, "opc-life-over-warning" },
{ CUPS_TONER_LOW, "toner-low-report" },
{ CUPS_TONER_EMPTY, "toner-empty-warning" }
{ CUPS_TONER_EMPTY, "toner-empty-warning" },
{ CUPS_WASTE_ALMOST_FULL, "waste-receptacle-almost-full-report" },
{ CUPS_WASTE_FULL, "waste-receptacle-full-warning" },
{ CUPS_CLEANER_NEAR_EOL, "cleaner-life-almost-over-report" },
{ CUPS_CLEANER_LIFE_OVER, "cleaner-life-over-warning" },
};
@@ -229,12 +250,18 @@ backendSNMPSupplies(
for (i = 0, ptr = value; i < num_supplies; i ++, ptr += strlen(ptr))
{
if (supplies[i].max_capacity > 0)
if (supplies[i].max_capacity > 0 && supplies[i].level >= 0)
percent = 100 * supplies[i].level / supplies[i].max_capacity;
else if (supplies[i].level >= 0 && supplies[i].level <= 100 &&
(quirks & CUPS_SNMP_CAPACITY))
percent = supplies[i].level;
else
percent = 50;
if (percent <= 10)
if (supplies[i].sclass == CUPS_TC_receptacleThatIsFilled)
percent = 100 - percent;
if (percent <= 5)
{
switch (supplies[i].type)
{
@@ -245,9 +272,6 @@ backendSNMPSupplies(
else
new_supply_state |= CUPS_TONER_LOW;
break;
case CUPS_TC_wasteToner :
case CUPS_TC_wasteInk :
break;
case CUPS_TC_ink :
case CUPS_TC_inkCartridge :
case CUPS_TC_inkRibbon :
@@ -273,16 +297,36 @@ backendSNMPSupplies(
else
new_supply_state |= CUPS_OPC_NEAR_EOL;
break;
#if 0 /* Because no two vendors report waste containers the same, disable SNMP reporting of same */
case CUPS_TC_wasteInk :
case CUPS_TC_wastePaper :
case CUPS_TC_wasteToner :
case CUPS_TC_wasteWater :
case CUPS_TC_wasteWax :
if (percent <= 1)
new_supply_state |= CUPS_WASTE_FULL;
else
new_supply_state |= CUPS_WASTE_ALMOST_FULL;
break;
#endif /* 0 */
case CUPS_TC_cleanerUnit :
case CUPS_TC_fuserCleaningPad :
if (percent <= 1)
new_supply_state |= CUPS_CLEANER_LIFE_OVER;
else
new_supply_state |= CUPS_CLEANER_NEAR_EOL;
break;
}
}
if (i)
*ptr++ = ',';
if (supplies[i].max_capacity > 0)
sprintf(ptr, "%d", percent);
if ((supplies[i].max_capacity > 0 || (quirks & CUPS_SNMP_CAPACITY)) &&
supplies[i].level >= 0)
snprintf(ptr, sizeof(value) - (size_t)(ptr - value), "%d", percent);
else
strcpy(ptr, "-1");
strlcpy(ptr, "-1", sizeof(value) - (size_t)(ptr - value));
}
fprintf(stderr, "ATTR: marker-levels=%s\n", value);
@@ -408,7 +452,7 @@ backend_init_supplies(
cachefilename[1024], /* Cache filename */
description[CUPS_SNMP_MAX_STRING],
/* Device description string */
value[CUPS_MAX_SUPPLIES * (CUPS_SNMP_MAX_STRING * 2 + 3)],
value[CUPS_MAX_SUPPLIES * (CUPS_SNMP_MAX_STRING * 4 + 3)],
/* Value string */
*ptr, /* Pointer into value string */
*name_ptr; /* Pointer into name string */
@@ -420,34 +464,34 @@ backend_init_supplies(
"other",
"unknown",
"toner",
"wasteToner",
"waste-toner",
"ink",
"inkCartridge",
"inkRibbon",
"wasteInk",
"ink-cartridge",
"ink-ribbon",
"waste-ink",
"opc",
"developer",
"fuserOil",
"solidWax",
"ribbonWax",
"wasteWax",
"fuser-oil",
"solid-wax",
"ribbon-wax",
"waste-wax",
"fuser",
"coronaWire",
"fuserOilWick",
"cleanerUnit",
"fuserCleaningPad",
"transferUnit",
"tonerCartridge",
"fuserOiler",
"corona-wire",
"fuser-oil-wick",
"cleaner-unit",
"fuser-cleaning-pad",
"transfer-unit",
"toner-cartridge",
"fuser-oiler",
"water",
"wasteWater",
"glueWaterAdditive",
"wastePaper",
"bindingSupply",
"bandingSupply",
"stitchingWire",
"shrinkWrap",
"paperWrap",
"waste-water",
"glue-water-additive",
"waste-paper",
"binding-supply",
"banding-supply",
"stitching-wire",
"shrink-wrap",
"paper-wrap",
"staples",
"inserts",
"covers"
@@ -477,6 +521,12 @@ backend_init_supplies(
return;
}
if ((ppdattr = ppdFindAttr(ppd, "cupsSNMPQuirks", NULL)) != NULL)
{
if (!_cups_strcasecmp(ppdattr->value, "capacity"))
quirks |= CUPS_SNMP_CAPACITY;
}
ppdClose(ppd);
/*
@@ -517,20 +567,20 @@ backend_init_supplies(
/*
* Yes, read the cache file:
*
* 2 num_supplies charset
* 3 num_supplies charset
* device description
* supply structures...
*/
if (cupsFileGets(cachefile, value, sizeof(value)))
{
if (sscanf(value, "2 %d%d", &num_supplies, &charset) == 2 &&
if (sscanf(value, "3 %d%d", &num_supplies, &charset) == 2 &&
num_supplies <= CUPS_MAX_SUPPLIES &&
cupsFileGets(cachefile, value, sizeof(value)))
{
if (!strcmp(description, value))
cupsFileRead(cachefile, (char *)supplies,
num_supplies * sizeof(backend_supplies_t));
(size_t)num_supplies * sizeof(backend_supplies_t));
else
{
num_supplies = -1;
@@ -620,12 +670,12 @@ backend_init_supplies(
if ((cachefile = cupsFileOpen(cachefilename, "w")) != NULL)
{
cupsFilePrintf(cachefile, "2 %d %d\n", num_supplies, charset);
cupsFilePrintf(cachefile, "3 %d %d\n", num_supplies, charset);
cupsFilePrintf(cachefile, "%s\n", description);
if (num_supplies > 0)
cupsFileWrite(cachefile, (char *)supplies,
num_supplies * sizeof(backend_supplies_t));
(size_t)num_supplies * sizeof(backend_supplies_t));
cupsFileClose(cachefile);
}
@@ -638,7 +688,7 @@ backend_init_supplies(
*/
for (i = 0; i < num_supplies; i ++)
strcpy(supplies[i].color, "none");
strlcpy(supplies[i].color, "none", sizeof(supplies[i].color));
_cupsSNMPWalk(snmp_fd, &current_addr, CUPS_SNMP_VERSION_1,
_cupsSNMPDefaultCommunity(), prtMarkerColorantValue,
@@ -653,13 +703,14 @@ backend_init_supplies(
if (i)
*ptr++ = ',';
strcpy(ptr, supplies[i].color);
strlcpy(ptr, supplies[i].color, sizeof(value) - (size_t)(ptr - value));
}
fprintf(stderr, "ATTR: marker-colors=%s\n", value);
/*
* Output the marker-names attribute...
* Output the marker-names attribute (the double quoting is necessary to deal
* with embedded quotes and commas in the marker names...)
*/
for (i = 0, ptr = value; i < num_supplies; i ++)
@@ -667,15 +718,21 @@ backend_init_supplies(
if (i)
*ptr++ = ',';
*ptr++ = '\'';
*ptr++ = '\"';
for (name_ptr = supplies[i].name; *name_ptr;)
{
if (*name_ptr == '\\' || *name_ptr == '\"')
if (*name_ptr == '\\' || *name_ptr == '\"' || *name_ptr == '\'')
{
*ptr++ = '\\';
*ptr++ = '\\';
*ptr++ = '\\';
}
*ptr++ = *name_ptr++;
}
*ptr++ = '\"';
*ptr++ = '\'';
}
*ptr = '\0';
@@ -694,9 +751,9 @@ backend_init_supplies(
type = supplies[i].type;
if (type < CUPS_TC_other || type > CUPS_TC_covers)
strcpy(ptr, "unknown");
strlcpy(ptr, "unknown", sizeof(value) - (size_t)(ptr - value));
else
strcpy(ptr, types[type - CUPS_TC_other]);
strlcpy(ptr, types[type - CUPS_TC_other], sizeof(value) - (size_t)(ptr - value));
}
fprintf(stderr, "ATTR: marker-types=%s\n", value);
@@ -712,16 +769,33 @@ backend_walk_cb(cups_snmp_t *packet, /* I - SNMP packet */
void *data) /* I - User data (unused) */
{
int i, j, k; /* Looping vars */
static const char * const colors[8][2] =
static const char * const colors[][2] =
{ /* Standard color names */
{ "black", "#000000" },
{ "blue", "#0000FF" },
{ "cyan", "#00FFFF" },
{ "green", "#00FF00" },
{ "magenta", "#FF00FF" },
{ "red", "#FF0000" },
{ "white", "#FFFFFF" },
{ "yellow", "#FFFF00" }
{ "black", "#000000" },
{ "blue", "#0000FF" },
{ "brown", "#A52A2A" },
{ "cyan", "#00FFFF" },
{ "dark-gray", "#404040" },
{ "dark gray", "#404040" },
{ "dark-yellow", "#FFCC00" },
{ "dark yellow", "#FFCC00" },
{ "gold", "#FFD700" },
{ "gray", "#808080" },
{ "green", "#00FF00" },
{ "light-black", "#606060" },
{ "light black", "#606060" },
{ "light-cyan", "#E0FFFF" },
{ "light cyan", "#E0FFFF" },
{ "light-gray", "#D3D3D3" },
{ "light gray", "#D3D3D3" },
{ "light-magenta", "#FF77FF" },
{ "light magenta", "#FF77FF" },
{ "magenta", "#FF00FF" },
{ "orange", "#FFA500" },
{ "red", "#FF0000" },
{ "silver", "#C0C0C0" },
{ "white", "#FFFFFF" },
{ "yellow", "#FFFF00" }
};
@@ -743,9 +817,10 @@ backend_walk_cb(cups_snmp_t *packet, /* I - SNMP packet */
if (supplies[j].colorant == i)
{
for (k = 0; k < (int)(sizeof(colors) / sizeof(colors[0])); k ++)
if (!strcmp(colors[k][0], (char *)packet->object_value.string.bytes))
if (!_cups_strcasecmp(colors[k][0],
(char *)packet->object_value.string.bytes))
{
strcpy(supplies[j].color, colors[k][1]);
strlcpy(supplies[j].color, colors[k][1], sizeof(supplies[j].color));
break;
}
}
@@ -801,6 +876,7 @@ backend_walk_cb(cups_snmp_t *packet, /* I - SNMP packet */
break;
case CUPS_TC_csShiftJIS :
case CUPS_TC_csWindows31J : /* Close enough for our purposes */
cupsCharsetToUTF8((cups_utf8_t *)supplies[i - 1].name,
(char *)packet->object_value.string.bytes,
sizeof(supplies[0].name), CUPS_JIS_X0213);
@@ -833,7 +909,6 @@ backend_walk_cb(cups_snmp_t *packet, /* I - SNMP packet */
{
char *src, *dst; /* Pointers into strings */
/*
* Loop safe because both the object_value and supplies char arrays
* are CUPS_SNMP_MAX_STRING elements long.
@@ -878,7 +953,8 @@ backend_walk_cb(cups_snmp_t *packet, /* I - SNMP packet */
supplies[i - 1].level = packet->object_value.integer;
}
else if (_cupsSNMPIsOIDPrefixed(packet, prtMarkerSuppliesMaxCapacity))
else if (_cupsSNMPIsOIDPrefixed(packet, prtMarkerSuppliesMaxCapacity) &&
!(quirks & CUPS_SNMP_CAPACITY))
{
/*
* Get max capacity...
@@ -895,7 +971,28 @@ backend_walk_cb(cups_snmp_t *packet, /* I - SNMP packet */
if (i > num_supplies)
num_supplies = i;
supplies[i - 1].max_capacity = packet->object_value.integer;
if (supplies[i - 1].max_capacity == 0 &&
packet->object_value.integer > 0)
supplies[i - 1].max_capacity = packet->object_value.integer;
}
else if (_cupsSNMPIsOIDPrefixed(packet, prtMarkerSuppliesClass))
{
/*
* Get marker class...
*/
i = packet->object_name[prtMarkerSuppliesClassOffset];
if (i < 1 || i > CUPS_MAX_SUPPLIES ||
packet->object_type != CUPS_ASN1_INTEGER)
return;
fprintf(stderr, "DEBUG2: prtMarkerSuppliesClass.1.%d = %d\n", i,
packet->object_value.integer);
if (i > num_supplies)
num_supplies = i;
supplies[i - 1].sclass = packet->object_value.integer;
}
else if (_cupsSNMPIsOIDPrefixed(packet, prtMarkerSuppliesType))
{
@@ -916,6 +1013,26 @@ backend_walk_cb(cups_snmp_t *packet, /* I - SNMP packet */
supplies[i - 1].type = packet->object_value.integer;
}
else if (_cupsSNMPIsOIDPrefixed(packet, prtMarkerSuppliesSupplyUnit))
{
/*
* Get units for capacity...
*/
i = packet->object_name[prtMarkerSuppliesSupplyUnitOffset];
if (i < 1 || i > CUPS_MAX_SUPPLIES ||
packet->object_type != CUPS_ASN1_INTEGER)
return;
fprintf(stderr, "DEBUG2: prtMarkerSuppliesSupplyUnit.1.%d = %d\n", i,
packet->object_value.integer);
if (i > num_supplies)
num_supplies = i;
if (packet->object_value.integer == CUPS_TC_percent)
supplies[i - 1].max_capacity = 100;
}
}
@@ -940,9 +1057,9 @@ utf16_to_utf8(
for (ptr = temp; srcsize >= 2;)
{
if (le)
ch = src[0] | (src[1] << 8);
ch = (cups_utf32_t)(src[0] | (src[1] << 8));
else
ch = (src[0] << 8) | src[1];
ch = (cups_utf32_t)((src[0] << 8) | src[1]);
src += 2;
srcsize -= 2;
@@ -953,13 +1070,13 @@ utf16_to_utf8(
* Multi-word UTF-16 char...
*/
int lch; /* Lower word */
cups_utf32_t lch; /* Lower word */
if (le)
lch = src[0] | (src[1] << 8);
lch = (cups_utf32_t)(src[0] | (src[1] << 8));
else
lch = (src[0] << 8) | src[1];
lch = (cups_utf32_t)((src[0] << 8) | src[1]);
if (lch >= 0xdc00 && lch <= 0xdfff)
{
@@ -976,10 +1093,10 @@ utf16_to_utf8(
*ptr = '\0';
cupsUTF32ToUTF8(dst, temp, dstsize);
cupsUTF32ToUTF8(dst, temp, (int)dstsize);
}
/*
* End of "$Id$".
* End of "$Id: snmp-supplies.c 12227 2014-10-21 13:42:04Z msweet $".
*/
+45 -52
Ver Arquivo
@@ -1,44 +1,18 @@
/*
* "$Id$"
* "$Id: snmp.c 11594 2014-02-14 20:09:01Z msweet $"
*
* SNMP discovery backend for CUPS.
* SNMP discovery backend for CUPS.
*
* Copyright 2007-2011 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/".
* 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.
*
* Contents:
*
* main() - Discover printers via SNMP.
* add_array() - Add a string to an array.
* add_cache() - Add a cached device...
* add_device_uri() - Add a device URI to the cache.
* alarm_handler() - Handle alarm signals...
* compare_cache() - Compare two cache entries.
* debug_printf() - Display some debugging information.
* fix_make_model() - Fix common problems in the make-and-model
* string.
* free_array() - Free an array of strings.
* free_cache() - Free the array of cached devices.
* get_interface_addresses() - Get the broadcast address(es) associated with
* an interface.
* list_device() - List a device we found...
* password_cb() - Handle authentication requests.
* probe_device() - Probe a device to discover whether it is a
* printer.
* read_snmp_conf() - Read the snmp.conf file.
* read_snmp_response() - Read and parse a SNMP response...
* run_time() - Return the total running time...
* scan_devices() - Scan for devices using SNMP.
* try_connect() - Try connecting on a port...
* update_cache() - Update a cached device...
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -251,7 +225,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
#ifdef AF_INET6
if ((ipv6 = _cupsSNMPOpen(AF_INET6)) < 0)
return (1);
perror("DEBUG: Unable to create IPv6 socket");
#else
ipv6 = -1;
#endif /* AF_INET6 */
@@ -532,17 +506,16 @@ fix_make_model(
make_model[0] = 'H';
make_model[1] = 'P';
make_model[2] = ' ';
strlcpy(make_model + 3, mmptr, make_model_size - 3);
strlcpy(make_model + 3, mmptr, (size_t)make_model_size - 3);
}
else if (!_cups_strncasecmp(old_make_model, "deskjet", 7))
snprintf(make_model, make_model_size, "HP DeskJet%s", old_make_model + 7);
snprintf(make_model, (size_t)make_model_size, "HP DeskJet%s", old_make_model + 7);
else if (!_cups_strncasecmp(old_make_model, "officejet", 9))
snprintf(make_model, make_model_size, "HP OfficeJet%s", old_make_model + 9);
snprintf(make_model, (size_t)make_model_size, "HP OfficeJet%s", old_make_model + 9);
else if (!_cups_strncasecmp(old_make_model, "stylus_pro_", 11))
snprintf(make_model, make_model_size, "EPSON Stylus Pro %s",
old_make_model + 11);
snprintf(make_model, (size_t)make_model_size, "EPSON Stylus Pro %s", old_make_model + 11);
else
strlcpy(make_model, old_make_model, make_model_size);
strlcpy(make_model, old_make_model, (size_t)make_model_size);
if ((mmptr = strstr(make_model, ", Inc.,")) != NULL)
{
@@ -753,7 +726,7 @@ probe_device(snmp_cache_t *device) /* I - Device */
* Insert hostname/address...
*/
strlcpy(uriptr, device->addrname, sizeof(uri) - (uriptr - uri));
strlcpy(uriptr, device->addrname, sizeof(uri) - (size_t)(uriptr - uri));
uriptr += strlen(uriptr);
format += 2;
}
@@ -948,7 +921,7 @@ read_snmp_response(int fd) /* I - SNMP socket file descriptor */
debug_printf("DEBUG: request-id=%d\n", packet.request_id);
debug_printf("DEBUG: error-status=%d\n", packet.error_status);
if (packet.error_status)
if (packet.error_status && packet.request_id != DEVICE_TYPE)
return;
/*
@@ -1025,6 +998,11 @@ read_snmp_response(int fd) /* I - SNMP socket file descriptor */
* Description is the IEEE-1284 device ID...
*/
char *ptr; /* Pointer into device ID */
for (ptr = (char *)packet.object_value.string.bytes; *ptr; ptr ++)
if (*ptr == '\n')
*ptr = ';'; /* A lot of bad printers put a newline */
if (!device->id)
device->id = strdup((char *)packet.object_value.string.bytes);
@@ -1066,8 +1044,11 @@ read_snmp_response(int fd) /* I - SNMP socket file descriptor */
*/
char make_model[256]; /* Make and model */
char *ptr; /* Pointer into device ID */
for (ptr = (char *)packet.object_value.string.bytes; *ptr; ptr ++)
if (*ptr == '\n')
*ptr = ';'; /* A lot of bad printers put a newline */
if (device->id)
free(device->id);
@@ -1112,12 +1093,18 @@ read_snmp_response(int fd) /* I - SNMP socket file descriptor */
case DEVICE_URI :
if (device && packet.object_type == CUPS_ASN1_OCTET_STRING &&
!device->uri && packet.object_value.string.num_bytes > 0)
!device->uri && packet.object_value.string.num_bytes > 3)
{
/*
* Update an existing cache entry...
*/
char scheme[32], /* URI scheme */
userpass[256], /* Username:password in URI */
hostname[256], /* Hostname in URI */
resource[1024]; /* Resource path in URI */
int port; /* Port number in URI */
if (!strncmp((char *)packet.object_value.string.bytes, "lpr:", 4))
{
/*
@@ -1127,7 +1114,13 @@ read_snmp_response(int fd) /* I - SNMP socket file descriptor */
packet.object_value.string.bytes[2] = 'd';
}
device->uri = strdup((char *)packet.object_value.string.bytes);
if (httpSeparateURI(HTTP_URI_CODING_ALL,
(char *)packet.object_value.string.bytes,
scheme, sizeof(scheme),
userpass, sizeof(userpass),
hostname, sizeof(hostname), &port,
resource, sizeof(resource)) >= HTTP_URI_OK)
device->uri = strdup((char *)packet.object_value.string.bytes);
}
break;
}
@@ -1213,7 +1206,7 @@ scan_devices(int ipv4, /* I - SNMP IPv4 socket */
for (addr = addrs; addr; addr = addr->next)
{
#ifdef AF_INET6
if (_httpAddrFamily(&(addr->addr)) == AF_INET6)
if (httpAddrFamily(&(addr->addr)) == AF_INET6)
fd = ipv6;
else
#endif /* AF_INET6 */
@@ -1315,7 +1308,7 @@ try_connect(http_addr_t *addr, /* I - Socket address */
debug_printf("DEBUG: %.3f Trying %s://%s:%d...\n", run_time(),
port == 515 ? "lpd" : "socket", addrname, port);
if ((fd = socket(_httpAddrFamily(addr), SOCK_STREAM, 0)) < 0)
if ((fd = socket(httpAddrFamily(addr), SOCK_STREAM, 0)) < 0)
{
fprintf(stderr, "ERROR: Unable to create socket: %s\n",
strerror(errno));
@@ -1326,7 +1319,7 @@ try_connect(http_addr_t *addr, /* I - Socket address */
alarm(1);
status = connect(fd, (void *)addr, httpAddrLength(addr));
status = connect(fd, (void *)addr, (socklen_t)httpAddrLength(addr));
close(fd);
alarm(0);
@@ -1371,5 +1364,5 @@ update_cache(snmp_cache_t *device, /* I - Device */
/*
* End of "$Id$".
* End of "$Id: snmp.c 11594 2014-02-14 20:09:01Z msweet $".
*/
+36 -42
Ver Arquivo
@@ -1,23 +1,18 @@
/*
* "$Id$"
* "$Id: socket.c 11907 2014-06-09 18:35:32Z msweet $"
*
* AppSocket backend for CUPS.
* AppSocket backend for CUPS.
*
* Copyright 2007-2011 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/".
* 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.
*
* Contents:
*
* main() - Send a file to the printer or server.
* wait_bc() - Wait for back-channel data...
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -46,7 +41,7 @@
* Local functions...
*/
static int wait_bc(int device_fd, int secs);
static ssize_t wait_bc(int device_fd, int secs);
/*
@@ -73,10 +68,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
int print_fd; /* Print file */
int copies; /* Number of copies to print */
time_t start_time; /* Time of first connect */
#ifdef __APPLE__
time_t current_time, /* Current time */
wait_time; /* Time to wait before shutting down socket */
#endif /* __APPLE__ */
int contimeout; /* Connection timeout */
int waiteof; /* Wait for end-of-file? */
int port; /* Port number */
@@ -87,6 +78,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
http_addrlist_t *addrlist, /* Address list */
*addr; /* Connected address */
char addrname[256]; /* Address name */
int snmp_enabled = 1; /* Is SNMP enabled? */
int snmp_fd, /* SNMP socket */
start_count, /* Page count via SNMP at start */
page_count, /* Page count via SNMP */
@@ -246,6 +238,16 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
waiteof = !value[0] || !_cups_strcasecmp(value, "on") ||
!_cups_strcasecmp(value, "yes") || !_cups_strcasecmp(value, "true");
}
else if (!_cups_strcasecmp(name, "snmp"))
{
/*
* Enable/disable SNMP stuff...
*/
snmp_enabled = !value[0] || !_cups_strcasecmp(value, "on") ||
!_cups_strcasecmp(value, "yes") ||
!_cups_strcasecmp(value, "true");
}
else if (!_cups_strcasecmp(name, "contimeout"))
{
/*
@@ -286,11 +288,14 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
* See if the printer supports SNMP...
*/
if ((snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family)) >= 0)
{
if (snmp_enabled)
snmp_fd = _cupsSNMPOpen(addrlist->addr.addr.sa_family);
else
snmp_fd = -1;
if (snmp_fd >= 0)
have_supplies = !backendSNMPSupplies(snmp_fd, &(addrlist->addr),
&start_count, NULL);
}
else
have_supplies = start_count = 0;
@@ -371,11 +376,11 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
case ECONNREFUSED :
default :
_cupsLangPrintFilter(stderr, "WARNING",
_("The printer is busy."));
_("The printer is in use."));
break;
}
sleep(delay);
sleep((unsigned)delay);
if (delay < 30)
delay += 5;
@@ -396,7 +401,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
fprintf(stderr, "DEBUG: Connected to %s:%d...\n",
httpAddrString(&(addr->addr), addrname, sizeof(addrname)),
_httpAddrPort(&(addr->addr)));
httpAddrPort(&(addr->addr)));
/*
* Print everything...
@@ -405,7 +410,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
tbytes = 0;
if (bytes > 0)
tbytes += write(device_fd, buffer, bytes);
tbytes += write(device_fd, buffer, (size_t)bytes);
while (copies > 0 && tbytes >= 0)
{
@@ -424,16 +429,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
_cupsLangPrintFilter(stderr, "INFO", _("Print file sent."));
}
#ifdef __APPLE__
/*
* Wait up to 5 seconds to get any pending back-channel data...
*/
wait_time = time(NULL) + 5;
while (wait_time >= time(&current_time))
if (wait_bc(device_fd, wait_time - current_time) <= 0)
break;
#endif /* __APPLE__ */
fputs("STATE: +cups-waiting-for-job-completed\n", stderr);
if (waiteof)
{
@@ -472,8 +468,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
if (print_fd != 0)
close(print_fd);
_cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
return (CUPS_BACKEND_OK);
}
@@ -482,7 +476,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
* 'wait_bc()' - Wait for back-channel data...
*/
static int /* O - # bytes read or -1 on error */
static ssize_t /* O - # bytes read or -1 on error */
wait_bc(int device_fd, /* I - Socket */
int secs) /* I - Seconds to wait */
{
@@ -512,7 +506,7 @@ wait_bc(int device_fd, /* I - Socket */
{
fprintf(stderr, "DEBUG: Received %d bytes of back-channel data\n",
(int)bytes);
cupsBackChannelWrite(buffer, bytes, 1.0);
cupsBackChannelWrite(buffer, (size_t)bytes, 1.0);
}
return (bytes);
@@ -523,5 +517,5 @@ wait_bc(int device_fd, /* I - Socket */
/*
* End of "$Id$".
* End of "$Id: socket.c 11907 2014-06-09 18:35:32Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: test1284.c 10996 2013-05-29 11:51:34Z msweet $"
*
* IEEE-1284 support functions test program for CUPS.
*
@@ -80,5 +80,5 @@ main(int argc, /* I - Number of command-line args */
/*
* End of "$Id$".
* End of "$Id: test1284.c 10996 2013-05-29 11:51:34Z msweet $".
*/
+65 -32
Ver Arquivo
@@ -1,25 +1,18 @@
/*
* "$Id$"
* "$Id: testbackend.c 11594 2014-02-14 20:09:01Z msweet $"
*
* Backend test program for CUPS.
* Backend test program for CUPS.
*
* Copyright 2007-2010 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/".
* 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.
*
* Contents:
*
* main() - Run the named backend.
* sigterm_handler() - Flag when we get SIGTERM.
* usage() - Show usage information.
* walk_cb() - Show results of cupsSideChannelSNMPWalk...
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -47,7 +40,7 @@ static int job_canceled = 0;
*/
static void sigterm_handler(int sig);
static void usage(void);
static void usage(void) __attribute__((noreturn));
static void walk_cb(const char *oid, const char *data, int datalen,
void *context);
@@ -57,7 +50,7 @@ static void walk_cb(const char *oid, const char *data, int datalen,
*
* Usage:
*
* betest [-s] [-t] device-uri job-id user title copies options [file]
* testbackend [-s] [-t] device-uri job-id user title copies options [file]
*/
int /* O - Exit status */
@@ -75,7 +68,9 @@ main(int argc, /* I - Number of command-line args */
const char *oid = ".1.3.6.1.2.1.43.10.2.1.4.1.1";
/* OID to lookup or walk */
char scheme[255], /* Scheme in URI == backend */
backend[1024]; /* Backend path */
backend[1024], /* Backend path */
libpath[1024], /* Path for libcups */
*ptr; /* Pointer into path */
const char *serverbin; /* CUPS_SERVERBIN environment variable */
int fd, /* Temporary file descriptor */
back_fds[2], /* Back-channel pipe */
@@ -87,6 +82,29 @@ main(int argc, /* I - Number of command-line args */
status; /* Exit status */
/*
* Get the current directory and point the run-time linker at the "cups"
* subdirectory...
*/
if (getcwd(libpath, sizeof(libpath)) &&
(ptr = strrchr(libpath, '/')) != NULL && !strcmp(ptr, "/backend"))
{
strlcpy(ptr, "/cups", sizeof(libpath) - (size_t)(ptr - libpath));
if (!access(libpath, 0))
{
#ifdef __APPLE__
fprintf(stderr, "Setting DYLD_LIBRARY_PATH to \"%s\".\n", libpath);
setenv("DYLD_LIBRARY_PATH", libpath, 1);
#else
fprintf(stderr, "Setting LD_LIBRARY_PATH to \"%s\".\n", libpath);
setenv("LD_LIBRARY_PATH", libpath, 1);
#endif /* __APPLE__ */
}
else
perror(libpath);
}
/*
* See if we have side-channel tests to do...
*/
@@ -286,7 +304,7 @@ main(int argc, /* I - Number of command-line args */
*/
if ((bytes = cupsBackChannelRead(buffer, sizeof(buffer), 0)) > 0)
write(2, buffer, bytes);
write(2, buffer, (size_t)bytes);
/*
* Throttle output to ~100hz...
@@ -314,7 +332,7 @@ main(int argc, /* I - Number of command-line args */
*/
while ((bytes = cupsBackChannelRead(buffer, sizeof(buffer), 5.0)) > 0)
write(2, buffer, bytes);
write(2, buffer, (size_t)bytes);
exit(0);
}
@@ -389,7 +407,7 @@ main(int argc, /* I - Number of command-line args */
while ((bytes = cupsBackChannelRead(buffer, sizeof(buffer),
timeout)) > 0)
{
write(2, buffer, bytes);
write(2, buffer, (size_t)bytes);
timeout = 5.0;
}
write(2, "\nDEBUG: END\n", 12);
@@ -548,13 +566,13 @@ main(int argc, /* I - Number of command-line args */
length = sizeof(buffer);
scstatus = cupsSideChannelSNMPGet(oid, buffer, &length, 5.0);
printf("CUPS_SC_CMD_SNMP_GET %s returned %s, %s\n", oid,
statuses[scstatus], buffer);
printf("CUPS_SC_CMD_SNMP_GET %s returned %s, %d bytes (%s)\n", oid,
statuses[scstatus], (int)length, buffer);
length = sizeof(buffer);
scstatus = cupsSideChannelSNMPGet(oid, buffer, &length, 5.0);
printf("CUPS_SC_CMD_SNMP_GET %s returned %s, %s\n", oid,
statuses[scstatus], buffer);
printf("CUPS_SC_CMD_SNMP_GET %s returned %s, %d bytes (%s)\n", oid,
statuses[scstatus], (int)length, buffer);
}
length = 0;
@@ -569,7 +587,7 @@ main(int argc, /* I - Number of command-line args */
kill(data_pid, SIGTERM);
kill(back_pid, SIGTERM);
}
while ((pid = wait(&status)) > 0)
{
if (status)
@@ -613,13 +631,13 @@ sigterm_handler(int sig) /* I - Signal */
static void
usage(void)
{
puts("Usage: testbackend [-cancel] [-d] [-ps | -pcl] [-s [-oid OID] "
puts("Usage: testbackend [-cancel] [-d] [-ps | -pcl] [-s [-get OID] "
"[-walk OID]] [-t] device-uri job-id user title copies options [file]");
puts("");
puts("Options:");
puts(" -cancel Simulate a canceled print job after 2 seconds.");
puts(" -d Show log messages from backend.");
puts(" -oid OID Lookup the specified SNMP OID.");
puts(" -get OID Lookup the specified SNMP OID.");
puts(" (.1.3.6.1.2.1.43.10.2.1.4.1.1 is a good one for printers)");
puts(" -pcl Send PCL+PJL query and test page to backend.");
puts(" -ps Send PostScript query and test page to backend.");
@@ -642,10 +660,25 @@ walk_cb(const char *oid, /* I - OID */
int datalen, /* I - Length of data */
void *context) /* I - Context (unused) */
{
printf("CUPS_SC_CMD_SNMP_WALK %s=%s (%d bytes)\n", oid, data, datalen);
char temp[80];
(void)context;
if ((size_t)datalen > (sizeof(temp) - 1))
{
memcpy(temp, data, sizeof(temp) - 1);
temp[sizeof(temp) - 1] = '\0';
}
else
{
memcpy(temp, data, (size_t)datalen);
temp[datalen] = '\0';
}
printf("CUPS_SC_CMD_SNMP_WALK %s, %d bytes (%s)\n", oid, datalen, temp);
}
/*
* End of "$Id$".
* End of "$Id: testbackend.c 11594 2014-02-14 20:09:01Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: testsupplies.c 3247 2011-05-12 06:22:31Z msweet $"
*
* SNMP supplies test program for CUPS.
*
@@ -79,5 +79,5 @@ main(int argc, /* I - Number of command-line args */
/*
* End of "$Id$".
* End of "$Id: testsupplies.c 3247 2011-05-12 06:22:31Z msweet $".
*/
+755 -511
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+1459 -267
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+16 -32
Ver Arquivo
@@ -1,27 +1,20 @@
/*
* "$Id$"
* "$Id: usb-unix.c 12124 2014-08-28 15:37:22Z msweet $"
*
* USB port backend for CUPS.
* USB port backend for CUPS.
*
* This file is included from "usb.c" when compiled on UNIX/Linux.
* This file is included from "usb.c" when compiled on UNIX/Linux.
*
* Copyright 2007-2011 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/".
* 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.
*
* Contents:
*
* print_device() - Print a file to a USB device.
* list_devices() - List all USB devices.
* open_device() - Open a USB device...
* side_cb() - Handle side-channel requests...
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -128,16 +121,12 @@ print_device(const char *uri, /* I - Device URI */
if (errno == EBUSY)
{
_cupsLangPrintFilter(stderr, "INFO",
_("Printer busy, will retry in 10 seconds."));
_cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
sleep(10);
}
else if (errno == ENXIO || errno == EIO || errno == ENOENT ||
errno == ENODEV)
{
_cupsLangPrintFilter(stderr, "INFO",
_("Printer not connected, will retry in 30 "
"seconds."));
sleep(30);
}
else
@@ -157,7 +146,7 @@ print_device(const char *uri, /* I - Device URI */
tcgetattr(device_fd, &opts);
opts.c_lflag &= ~(ICANON | ECHO | ISIG); /* Raw mode */
opts.c_lflag &= ~(unsigned)(ICANON | ECHO | ISIG); /* Raw mode */
/**** No options supported yet ****/
@@ -261,7 +250,6 @@ list_devices(void)
close(fd);
}
#elif defined(__sgi)
#elif defined(__sun) && defined(ECPPIOC_GETDEVID)
int i; /* Looping var */
int fd; /* File descriptor */
@@ -290,8 +278,6 @@ list_devices(void)
close(fd);
}
}
#elif defined(__hpux)
#elif defined(__osf)
#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
int i; /* Looping var */
char device[255]; /* Device filename */
@@ -425,8 +411,7 @@ open_device(const char *uri, /* I - Device URI */
*/
if (busy)
_cupsLangPrintFilter(stderr, "INFO",
_("Printer is busy, will retry in 5 seconds."));
_cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
sleep(5);
}
@@ -509,8 +494,7 @@ open_device(const char *uri, /* I - Device URI */
if (busy)
{
_cupsLangPrintFilter(stderr, "INFO",
_("Printer is busy, will retry in 5 seconds."));
_cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
sleep(5);
}
}
@@ -619,5 +603,5 @@ side_cb(int print_fd, /* I - Print file */
/*
* End of "$Id$".
* End of "$Id: usb-unix.c 12124 2014-08-28 15:37:22Z msweet $".
*/
+5 -5
Ver Arquivo
@@ -1,9 +1,9 @@
/*
* "$Id$"
* "$Id: usb.c 10996 2013-05-29 11:51:34Z msweet $"
*
* USB port backend for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* 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
@@ -55,7 +55,7 @@ int print_device(const char *uri, const char *hostname,
* Include the vendor-specific USB implementation...
*/
#ifdef HAVE_USB_H
#ifdef HAVE_LIBUSB
# include "usb-libusb.c"
#elif defined(__APPLE__)
# include "usb-darwin.c"
@@ -118,7 +118,7 @@ print_device(const char *uri, /* I - Device URI */
return (CUPS_BACKEND_FAILED);
}
#endif /* __APPLE__ */
#endif /* HAVE_LIBUSB */
/*
@@ -260,5 +260,5 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
/*
* End of "$Id$".
* End of "$Id: usb.c 10996 2013-05-29 11:51:34Z msweet $".
*/
+28 -34
Ver Arquivo
@@ -1,34 +1,28 @@
# DO NOT DELETE THIS LINE -- make depend depends on it.
lpc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpc.o: ../cups/language.h ../cups/string-private.h ../config.h
lpc.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
lpc.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
lpc.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
lpc.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
lpc.o: ../cups/thread-private.h
lpq.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpq.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpq.o: ../cups/language.h ../cups/string-private.h ../config.h
lpq.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
lpq.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
lpq.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
lpq.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
lpq.o: ../cups/thread-private.h
lpr.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lpr.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lpr.o: ../cups/language.h ../cups/string-private.h ../config.h
lpr.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
lpr.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
lpr.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
lpr.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
lpr.o: ../cups/thread-private.h
lprm.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
lprm.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
lprm.o: ../cups/language.h ../cups/string-private.h ../config.h
lprm.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
lprm.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
lprm.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
lprm.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
lprm.o: ../cups/thread-private.h
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/ppd-private.h \
../cups/ppd.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/ppd-private.h \
../cups/ppd.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/ppd-private.h \
../cups/ppd.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/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+5 -4
Ver Arquivo
@@ -1,9 +1,9 @@
#
# "$Id$"
# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Berkeley commands makefile for CUPS.
#
# Copyright 2007-2011 by Apple Inc.
# Copyright 2007-2012 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
@@ -54,7 +54,7 @@ clean:
#
depend:
makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
$(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
#
@@ -88,6 +88,7 @@ install-exec:
$(INSTALL_DIR) $(SYMROOT); \
for file in $(TARGETS); do \
cp $$file $(SYMROOT); \
dsymutil $(SYMROOT)/$$file; \
done \
fi
@@ -163,5 +164,5 @@ include Dependencies
#
# End of "$Id$".
# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
+15 -22
Ver Arquivo
@@ -1,24 +1,16 @@
/*
* "$Id$"
* "$Id: lpc.c 11558 2014-02-06 18:33:34Z msweet $"
*
* "lpc" command for CUPS.
* "lpc" command for CUPS.
*
* Copyright 2007-2010 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
* 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
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* main() - Parse options and commands.
* compare_strings() - Compare two command-line strings.
* do_command() - Do an lpc command...
* show_help() - Show help messages.
* show_status() - Show printers.
* 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/".
*/
/*
@@ -32,7 +24,7 @@
* Local functions...
*/
static int compare_strings(const char *, const char *, int);
static int compare_strings(const char *, const char *, size_t);
static void do_command(http_t *, const char *, const char *);
static void show_help(const char *);
static void show_status(http_t *, const char *);
@@ -158,9 +150,9 @@ main(int argc, /* I - Number of command-line arguments */
static int /* O - -1 or 1 = no match, 0 = match */
compare_strings(const char *s, /* I - Command-line string */
const char *t, /* I - Option string */
int tmin) /* I - Minimum number of unique chars in option */
size_t tmin) /* I - Minimum number of unique chars in option */
{
int slen; /* Length of command-line string */
size_t slen; /* Length of command-line string */
slen = strlen(s);
@@ -364,7 +356,8 @@ show_status(http_t *http, /* I - HTTP connection to server */
for (ptr = printer;
*ptr != '\0' && *dptr != '\0' && *ptr == *dptr;
ptr ++, dptr ++);
ptr ++, dptr ++)
/* do nothing */;
if (*ptr == '\0' && (*dptr == '\0' || *dptr == ',' ||
isspace(*dptr & 255)))
@@ -445,5 +438,5 @@ show_status(http_t *http, /* I - HTTP connection to server */
/*
* End of "$Id$".
* End of "$Id: lpc.c 11558 2014-02-06 18:33:34Z msweet $".
*/
+42 -75
Ver Arquivo
@@ -1,27 +1,16 @@
/*
* "$Id$"
* "$Id: lpq.c 11558 2014-02-06 18:33:34Z msweet $"
*
* "lpq" command for CUPS.
* "lpq" command for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
* 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
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* main() - Parse options and commands.
* show_jobs() - Show jobs.
* show_printer() - Show printer status.
* usage() - Show program usage.
*/
/*
* Include necessary headers...
* 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/".
*/
/*
@@ -39,7 +28,7 @@ static http_t *connect_server(const char *, http_t *);
static int show_jobs(const char *, http_t *, const char *,
const char *, const int, const int);
static void show_printer(const char *, http_t *, const char *);
static void usage(void);
static void usage(void) __attribute__((noreturn));
/*
@@ -60,8 +49,7 @@ main(int argc, /* I - Number of command-line arguments */
all, /* All printers */
interval, /* Reporting interval */
longstatus; /* Show file details */
int num_dests; /* Number of destinations */
cups_dest_t *dests; /* Destinations */
cups_dest_t *named_dest; /* Named destination */
_cupsSetLocale(argv);
@@ -77,8 +65,6 @@ main(int argc, /* I - Number of command-line arguments */
interval = 0;
longstatus = 0;
all = 0;
num_dests = 0;
dests = NULL;
for (i = 1; i < argc; i ++)
if (argv[i][0] == '+')
@@ -127,7 +113,6 @@ main(int argc, /* I - Number of command-line arguments */
if (i >= argc)
{
httpClose(http);
cupsFreeDests(num_dests, dests);
usage();
}
@@ -140,12 +125,14 @@ main(int argc, /* I - Number of command-line arguments */
http = connect_server(argv[0], http);
if (num_dests == 0)
num_dests = cupsGetDests2(http, &dests);
if (cupsGetDest(dest, instance, num_dests, dests) == NULL)
if ((named_dest = cupsGetNamedDest(http, dest, instance)) == NULL)
{
if (instance)
if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
_cupsLangPrintf(stderr,
_("%s: Error - add '/version=1.1' to server "
"name."), argv[0]);
else if (instance)
_cupsLangPrintf(stderr,
_("%s: Error - unknown destination \"%s/%s\"."),
argv[0], dest, instance);
@@ -155,6 +142,8 @@ main(int argc, /* I - Number of command-line arguments */
return (1);
}
cupsFreeDests(1, named_dest);
break;
case 'a' : /* All printers */
@@ -192,10 +181,8 @@ main(int argc, /* I - Number of command-line arguments */
default :
httpClose(http);
cupsFreeDests(num_dests, dests);
usage();
break;
}
}
else if (isdigit(argv[i][0] & 255))
@@ -207,15 +194,17 @@ main(int argc, /* I - Number of command-line arguments */
if (dest == NULL && !all)
{
if (num_dests == 0)
num_dests = cupsGetDests2(http, &dests);
for (i = 0; i < num_dests; i ++)
if (dests[i].is_default)
dest = dests[i].name;
if (dest == NULL)
if ((named_dest = cupsGetNamedDest(http, NULL, NULL)) == NULL)
{
if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
{
_cupsLangPrintf(stderr,
_("%s: Error - add '/version=1.1' to server name."),
argv[0]);
return (1);
}
val = NULL;
if ((dest = getenv("LPDEST")) == NULL)
@@ -231,7 +220,7 @@ main(int argc, /* I - Number of command-line arguments */
else
val = "LPDEST";
if (dest && !cupsGetDest(dest, NULL, num_dests, dests))
if (dest && val)
_cupsLangPrintf(stderr,
_("%s: Error - %s environment variable names "
"non-existent destination \"%s\"."), argv[0], val,
@@ -241,9 +230,10 @@ main(int argc, /* I - Number of command-line arguments */
_("%s: Error - no default destination available."),
argv[0]);
httpClose(http);
cupsFreeDests(num_dests, dests);
return (1);
}
dest = named_dest->name;
}
/*
@@ -260,7 +250,7 @@ main(int argc, /* I - Number of command-line arguments */
if (i && interval)
{
fflush(stdout);
sleep(interval);
sleep((unsigned)interval);
}
else
break;
@@ -270,7 +260,6 @@ main(int argc, /* I - Number of command-line arguments */
* Close the connection to the server and return...
*/
cupsFreeDests(num_dests, dests);
httpClose(http);
return (0);
@@ -322,9 +311,6 @@ show_jobs(const char *command, /* I - Command name */
ipp_jstate_t jobstate; /* job-state */
int jobid, /* job-id */
jobsize, /* job-k-octets */
#ifdef __osf__
jobpriority, /* job-priority */
#endif /* __osf__ */
jobcount, /* Number of jobs */
jobcopies, /* Number of copies */
rank; /* Rank of job */
@@ -371,6 +357,7 @@ show_jobs(const char *command, /* I - Command name */
* attributes-natural-language
* job-uri or printer-uri
* requested-attributes
* requesting-user-name
*/
request = ippNewRequest(id ? IPP_GET_JOB_ATTRIBUTES : IPP_GET_JOBS);
@@ -399,6 +386,9 @@ show_jobs(const char *command, /* I - Command name */
"requesting-user-name", NULL, user);
ippAddBoolean(request, IPP_TAG_OPERATION, "my-jobs", 1);
}
else
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
"requesting-user-name", NULL, cupsUser());
ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
"requested-attributes",
@@ -443,12 +433,9 @@ show_jobs(const char *command, /* I - Command name */
jobid = 0;
jobsize = 0;
#ifdef __osf__
jobpriority = 50;
#endif /* __osf__ */
jobstate = IPP_JOB_PENDING;
jobname = "untitled";
jobuser = NULL;
jobname = "unknown";
jobuser = "unknown";
jobdest = NULL;
jobcopies = 1;
@@ -462,12 +449,6 @@ show_jobs(const char *command, /* I - Command name */
attr->value_tag == IPP_TAG_INTEGER)
jobsize = attr->values[0].integer;
#ifdef __osf__
if (!strcmp(attr->name, "job-priority") &&
attr->value_tag == IPP_TAG_INTEGER)
jobpriority = attr->values[0].integer;
#endif /* __osf__ */
if (!strcmp(attr->name, "job-state") &&
attr->value_tag == IPP_TAG_ENUM)
jobstate = (ipp_jstate_t)attr->values[0].integer;
@@ -505,16 +486,9 @@ show_jobs(const char *command, /* I - Command name */
}
if (!longstatus && jobcount == 0)
#ifdef __osf__
_cupsLangPuts(stdout,
/* TRANSLATORS: Pri is job priority. */
_("Rank Owner Pri Job Files"
" Total Size"));
#else
_cupsLangPuts(stdout,
_("Rank Owner Job File(s)"
" Total Size"));
#endif /* __osf__ */
jobcount ++;
@@ -523,7 +497,7 @@ show_jobs(const char *command, /* I - Command name */
*/
if (jobstate == IPP_JOB_PROCESSING)
strcpy(rankstr, "active");
strlcpy(rankstr, "active", sizeof(rankstr));
else
{
/*
@@ -555,16 +529,9 @@ show_jobs(const char *command, /* I - Command name */
namestr, 1024.0 * jobsize);
}
else
#ifdef __osf__
_cupsLangPrintf(stdout,
_("%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"),
rankstr, jobuser, jobpriority, jobid, jobname,
1024.0 * jobsize);
#else
_cupsLangPrintf(stdout,
_("%-7s %-7.7s %-7d %-31.31s %.0f bytes"),
rankstr, jobuser, jobid, jobname, 1024.0 * jobsize);
#endif /* __osf */
if (attr == NULL)
break;
@@ -674,5 +641,5 @@ usage(void)
/*
* End of "$Id$".
* End of "$Id: lpq.c 11558 2014-02-06 18:33:34Z msweet $".
*/
+37 -18
Ver Arquivo
@@ -1,20 +1,16 @@
/*
* "$Id$"
* "$Id: lpr.c 11558 2014-02-06 18:33:34Z msweet $"
*
* "lpr" command for CUPS.
* "lpr" command for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
* Copyright 2007-2014 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/".
*
* Contents:
*
* main() - Parse options and send files for printing.
* 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/".
*/
/*
@@ -61,6 +57,7 @@ main(int argc, /* I - Number of command-line arguments */
for (i = 1; i < argc; i ++)
if (argv[i][0] == '-')
{
switch (ch = argv[i][1])
{
case 'E' : /* Encrypt */
@@ -89,7 +86,7 @@ main(int argc, /* I - Number of command-line arguments */
cupsSetUser(argv[i]);
}
break;
case 'H' : /* Connect to host */
if (argv[i][2] != '\0')
cupsSetServer(argv[i] + 2);
@@ -226,6 +223,14 @@ main(int argc, /* I - Number of command-line arguments */
dest->options[j].value,
num_options, &options);
}
else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
{
_cupsLangPrintf(stderr,
_("%s: Error - add '/version=1.1' to server "
"name."), argv[0]);
return (1);
}
break;
case '#' : /* Number of copies */
@@ -275,6 +280,7 @@ main(int argc, /* I - Number of command-line arguments */
argv[i][1]);
return (1);
}
}
else if (num_files < 1000)
{
/*
@@ -320,6 +326,14 @@ main(int argc, /* I - Number of command-line arguments */
dest->options[j].value,
num_options, &options);
}
else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
{
_cupsLangPrintf(stderr,
_("%s: Error - add '/version=1.1' to server "
"name."), argv[0]);
return (1);
}
}
if (printer == NULL)
@@ -377,7 +391,6 @@ main(int argc, /* I - Number of command-line arguments */
const char *format; /* Document format */
ssize_t bytes; /* Bytes read */
if (cupsGetOption("raw", num_options, options))
format = CUPS_FORMAT_RAW;
else if ((format = cupsGetOption("document-format", num_options,
@@ -389,17 +402,23 @@ main(int argc, /* I - Number of command-line arguments */
while (status == HTTP_CONTINUE &&
(bytes = read(0, buffer, sizeof(buffer))) > 0)
status = cupsWriteRequestData(CUPS_HTTP_DEFAULT, buffer, bytes);
status = cupsWriteRequestData(CUPS_HTTP_DEFAULT, buffer, (size_t)bytes);
if (status != HTTP_CONTINUE)
{
_cupsLangPrintf(stderr, _("%s: Error - unable to queue from stdin - %s."),
argv[0], httpStatus(status));
cupsFinishDocument(CUPS_HTTP_DEFAULT, printer);
cupsCancelJob2(CUPS_HTTP_DEFAULT, printer, job_id, 0);
return (1);
}
if (cupsFinishDocument(CUPS_HTTP_DEFAULT, printer) != IPP_OK)
job_id = 0;
{
_cupsLangPrintf(stderr, "%s: %s", argv[0], cupsLastErrorString());
cupsCancelJob2(CUPS_HTTP_DEFAULT, printer, job_id, 0);
return (1);
}
}
if (job_id < 1)
@@ -413,5 +432,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
* End of "$Id$".
* End of "$Id: lpr.c 11558 2014-02-06 18:33:34Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: lprm.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "lprm" command for CUPS.
*
@@ -213,5 +213,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
* End of "$Id$".
* End of "$Id: lprm.c 10996 2013-05-29 11:51:34Z msweet $".
*/
+72 -75
Ver Arquivo
@@ -1,75 +1,72 @@
# DO NOT DELETE
help-index.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
help-index.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
help-index.o: ../cups/array.h ../cups/language.h ../cups/array.h help-index.h
help-index.o: ../cups/debug-private.h ../cups/language-private.h
help-index.o: ../cups/transcode.h ../cups/string-private.h ../config.h
help-index.o: ../cups/dir.h
html.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
html.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
html.o: ../cups/language.h ../cups/array.h help-index.h
html.o: ../cups/debug-private.h ../cups/language-private.h
html.o: ../cups/transcode.h ../cups/string-private.h ../config.h
ipp-var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
ipp-var.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
ipp-var.o: ../cups/language.h ../cups/array.h help-index.h
ipp-var.o: ../cups/debug-private.h ../cups/language-private.h
ipp-var.o: ../cups/transcode.h ../cups/string-private.h ../config.h
search.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
search.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
search.o: ../cups/language.h ../cups/array.h help-index.h
search.o: ../cups/debug-private.h ../cups/language-private.h
search.o: ../cups/transcode.h ../cups/string-private.h ../config.h
template.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
template.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
template.o: ../cups/language.h ../cups/array.h help-index.h
template.o: ../cups/debug-private.h ../cups/language-private.h
template.o: ../cups/transcode.h ../cups/string-private.h ../config.h
var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
var.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
var.o: ../cups/array.h help-index.h ../cups/debug-private.h
var.o: ../cups/language-private.h ../cups/transcode.h
var.o: ../cups/string-private.h ../config.h ../cups/http.h
var.o: ../cups/md5-private.h
admin.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
admin.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
admin.o: ../cups/language.h ../cups/array.h help-index.h
admin.o: ../cups/debug-private.h ../cups/language-private.h
admin.o: ../cups/transcode.h ../cups/string-private.h ../config.h
admin.o: ../cups/adminutil.h ../cups/cups.h ../cups/ppd.h
classes.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
classes.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
classes.o: ../cups/language.h ../cups/array.h help-index.h
classes.o: ../cups/debug-private.h ../cups/language-private.h
classes.o: ../cups/transcode.h ../cups/string-private.h ../config.h
help.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
help.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
help.o: ../cups/language.h ../cups/array.h help-index.h
help.o: ../cups/debug-private.h ../cups/language-private.h
help.o: ../cups/transcode.h ../cups/string-private.h ../config.h
jobs.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
jobs.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
jobs.o: ../cups/language.h ../cups/array.h help-index.h
jobs.o: ../cups/debug-private.h ../cups/language-private.h
jobs.o: ../cups/transcode.h ../cups/string-private.h ../config.h
makedocset.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
makedocset.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
makedocset.o: ../cups/array.h help-index.h
printers.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
printers.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
printers.o: ../cups/language.h ../cups/array.h help-index.h
printers.o: ../cups/debug-private.h ../cups/language-private.h
printers.o: ../cups/transcode.h ../cups/string-private.h ../config.h
testcgi.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
testcgi.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
testcgi.o: ../cups/array.h help-index.h
testhi.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
testhi.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
testhi.o: ../cups/array.h help-index.h
testtemplate.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
testtemplate.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
testtemplate.o: ../cups/language.h ../cups/array.h help-index.h
websearch.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
websearch.o: ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h
websearch.o: ../cups/array.h help-index.h
help-index.o: help-index.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/dir.h
html.o: html.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
ipp-var.o: ipp-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
search.o: search.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
template.o: template.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
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
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/adminutil.h ../cups/ppd.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 \
../cups/language-private.h ../cups/transcode.h \
../cups/string-private.h ../config.h ../cups/ipp-private.h
help.o: help.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
jobs.o: jobs.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
makedocset.o: makedocset.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
printers.o: printers.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
testcgi.o: testcgi.c 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
testhi.o: testhi.c 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
testtemplate.o: testtemplate.c 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
+19 -44
Ver Arquivo
@@ -1,16 +1,16 @@
#
# "$Id$"
# "$Id: Makefile 12519 2015-02-17 13:10:19Z msweet $"
#
# CGI makefile for CUPS.
# CGI makefile for CUPS.
#
# Copyright 2007-2010 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products.
# 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
# file is missing or damaged, see the license at "http://www.cups.org/".
# 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/".
#
include ../Makedefs
@@ -32,8 +32,7 @@ OBJS = \
printers.o \
testcgi.o \
testhi.o \
testtemplate.o \
websearch.o
testtemplate.o
CGIS = \
admin.cgi \
classes.cgi \
@@ -42,8 +41,7 @@ CGIS = \
printers.cgi
LIBTARGETS = \
libcupscgi.a \
$(LIBCUPSCGI) \
websearch
$(LIBCUPSCGI)
UNITTARGETS = \
testcgi \
@@ -82,7 +80,7 @@ unittests: $(UNITTARGETS)
clean:
$(RM) $(OBJS) $(TARGETS) $(UNITTARGETS) makedocset
$(RM) libcupscgi.so libcupscgi.sl libcupscgi.dylib
$(RM) libcupscgi.so libcupscgi.dylib
#
@@ -90,7 +88,7 @@ clean:
#
depend:
makedepend -Y -I.. -fDependencies $(OBJS:.o=.c) >/dev/null 2>&1
$(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
#
@@ -120,6 +118,7 @@ install-exec:
$(INSTALL_DIR) $(SYMROOT); \
for file in $(CGIS); do \
cp $$file $(SYMROOT); \
dsymutil $(SYMROOT)/$$file; \
done \
fi
@@ -143,7 +142,7 @@ install-libs: $(INSTALLSTATIC)
echo Installing libraries in $(LIBDIR)...
$(INSTALL_DIR) -m 755 $(LIBDIR)
$(INSTALL_LIB) $(LIBCUPSCGI) $(LIBDIR)
if test $(LIBCUPSCGI) = "libcupscgi.so.1" -o $(LIBCUPSCGI) = "libcupscgi.sl.1"; then \
if test $(LIBCUPSCGI) = "libcupscgi.so.1"; then \
$(RM) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \
$(LN) $(LIBCUPSCGI) $(LIBDIR)/`basename $(LIBCUPSCGI) .1`; \
fi
@@ -154,6 +153,7 @@ install-libs: $(INSTALLSTATIC)
if test "x$(SYMROOT)" != "x"; then \
$(INSTALL_DIR) $(SYMROOT); \
cp $(LIBCUPSCGI) $(SYMROOT); \
dsymutil $(SYMROOT)/$(LIBCUPSCGI); \
fi
installstatic:
@@ -175,9 +175,6 @@ uninstall:
$(RM) $(LIBDIR)/libcupscgi.1.dylib
$(RM) $(LIBDIR)/libcupscgi.a
$(RM) $(LIBDIR)/libcupscgi.dylib
$(RM) $(LIBDIR)/libcupscgi_s.a
$(RM) $(LIBDIR)/libcupscgi.sl
$(RM) $(LIBDIR)/libcupscgi.sl.1
$(RM) $(LIBDIR)/libcupscgi.so
$(RM) $(LIBDIR)/libcupscgi.so.1
-$(RMDIR) $(LIBDIR)
@@ -209,10 +206,10 @@ framedhelp:
#
# libcupscgi.so.1, libcupscgi.sl.1
# libcupscgi.so.1
#
libcupscgi.so.1 libcupscgi.sl.1: $(LIBOBJS)
libcupscgi.so.1: $(LIBOBJS)
echo Linking $@...
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBS)
$(RM) `basename $@ .1`
@@ -235,17 +232,6 @@ libcupscgi.1.dylib: $(LIBOBJS) libcupscgi.exp
$(LN) $@ libcupscgi.dylib
#
# libcupscgi_s.a
#
libcupscgi_s.a: $(LIBOBJS)
echo Creating $@...
$(DSO) $(DSOFLAGS) -o libcupscgi_s.o $(LIBOBJS) $(LIBS)
$(RM) $@
$(AR) $(ARFLAGS) $@ libcupscgi_s.o
#
# libcupscgi.la
#
@@ -359,17 +345,6 @@ testtemplate: testtemplate.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
$(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) $(LIBZ) $(LIBGSSAPI)
#
# websearch
#
websearch: websearch.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
echo Linking $@...
$(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ websearch.o libcupscgi.a \
../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(SSLLIBS) $(DNSSDLIBS) \
$(LIBZ) $(LIBGSSAPI)
#
# Dependencies...
#
@@ -378,5 +353,5 @@ include Dependencies
#
# End of "$Id$".
# End of "$Id: Makefile 12519 2015-02-17 13:10:19Z msweet $".
#
+200 -260
Ver Arquivo
@@ -1,37 +1,16 @@
/*
* "$Id$"
* "$Id: admin.c 12516 2015-02-12 20:18:11Z msweet $"
*
* Administration CGI for CUPS.
* Administration CGI for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
* Copyright 2007-2015 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/".
*
* Contents:
*
* main() - Main entry for CGI.
* choose_device_cb() - Add a device to the device selection page.
* do_add_rss_subscription() - Add a RSS subscription.
* do_am_class() - Add or modify a class.
* do_am_printer() - Add or modify a printer.
* do_cancel_subscription() - Cancel a subscription.
* do_config_server() - Configure server settings.
* do_delete_class() - Delete a class.
* do_delete_printer() - Delete a printer.
* do_export() - Export printers to Samba.
* do_list_printers() - List available printers.
* do_menu() - Show the main menu.
* do_set_allowed_users() - Set the allowed/denied users for a queue.
* do_set_default() - Set the server default printer/class.
* do_set_options() - Configure the default options for a queue.
* do_set_sharing() - Set printer-is-shared value.
* get_option_value() - Return the value of an option.
* get_points() - Get a value in points.
* 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/".
*/
/*
@@ -39,6 +18,8 @@
*/
#include "cgi-private.h"
#include <cups/http-private.h>
#include <cups/ppd-private.h>
#include <cups/adminutil.h>
#include <cups/ppd.h>
#include <errno.h>
@@ -59,12 +40,7 @@ static int current_device = 0; /* Current device shown */
* Local functions...
*/
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 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);
@@ -82,6 +58,7 @@ static void do_set_sharing(http_t *http);
static char *get_option_value(ppd_file_t *ppd, const char *name,
char *buffer, size_t bufsize);
static double get_points(double number, const char *uval);
static char *get_printer_ppd(const char *uri, char *buffer, size_t bufsize);
/*
@@ -89,8 +66,7 @@ static double get_points(double number, const char *uval);
*/
int /* O - Exit status */
main(int argc, /* I - Number of command-line arguments */
char *argv[]) /* I - Command-line arguments */
main(void)
{
http_t *http; /* Connection to the server */
const char *op; /* Operation name */
@@ -523,7 +499,7 @@ do_add_rss_subscription(http_t *http) /* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(_("Add RSS Subscription"));
cgiShowIPPError(_("Unable to add RSS subscription:"));
cgiShowIPPError(_("Unable to add RSS subscription"));
}
else
{
@@ -586,8 +562,7 @@ do_am_class(http_t *http, /* I - HTTP connection */
ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM, "printer-type",
CUPS_PRINTER_LOCAL);
ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM, "printer-type-mask",
CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE |
CUPS_PRINTER_IMPLICIT);
CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE);
/*
* Do the request and get back a response...
@@ -811,8 +786,8 @@ do_am_class(http_t *http, /* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(title);
cgiShowIPPError(modify ? _("Unable to modify class:") :
_("Unable to add class:"));
cgiShowIPPError(modify ? _("Unable to modify class") :
_("Unable to add class"));
}
else
{
@@ -855,7 +830,8 @@ do_am_printer(http_t *http, /* I - HTTP connection */
const cgi_file_t *file; /* Uploaded file, if any */
const char *var; /* CGI variable */
char uri[HTTP_MAX_URI], /* Device or printer URI */
*uriptr; /* Pointer into URI */
*uriptr, /* Pointer into URI */
evefile[1024] = ""; /* IPP Everywhere PPD file */
int maxrate; /* Maximum baud rate */
char baudrate[255]; /* Baud rate string */
const char *name, /* Pointer to class name */
@@ -963,13 +939,13 @@ do_am_printer(http_t *http, /* I - HTTP connection */
else if (!_cups_strncasecmp(make, "laserjet", 8) ||
!_cups_strncasecmp(make, "deskjet", 7) ||
!_cups_strncasecmp(make, "designjet", 9))
strcpy(make, "HP");
strlcpy(make, "HP", sizeof(make));
else if (!_cups_strncasecmp(make, "phaser", 6))
strcpy(make, "Xerox");
strlcpy(make, "Xerox", sizeof(make));
else if (!_cups_strncasecmp(make, "stylus", 6))
strcpy(make, "Epson");
strlcpy(make, "Epson", sizeof(make));
else
strcpy(make, "Generic");
strlcpy(make, "Generic", sizeof(make));
if (!cgiGetVariable("CURRENT_MAKE"))
cgiSetVariable("CURRENT_MAKE", make);
@@ -1056,8 +1032,8 @@ do_am_printer(http_t *http, /* I - HTTP connection */
else
{
cgiStartHTML(title);
cgiShowIPPError(modify ? _("Unable to modify printer:") :
_("Unable to add printer:"));
cgiShowIPPError(modify ? _("Unable to modify printer") :
_("Unable to add printer"));
cgiEndHTML();
return;
}
@@ -1173,7 +1149,7 @@ do_am_printer(http_t *http, /* I - HTTP connection */
char filename[1024]; /* PPD filename */
ppd_file_t *ppd; /* PPD information */
char buffer[1024]; /* Buffer */
int bytes; /* Number of bytes */
ssize_t bytes; /* Number of bytes */
http_status_t get_status; /* Status of GET */
@@ -1195,7 +1171,7 @@ do_am_printer(http_t *http, /* I - HTTP connection */
else if ((fd = cupsTempFd(filename, sizeof(filename))) >= 0)
{
while ((bytes = httpRead2(http, buffer, sizeof(buffer))) > 0)
write(fd, buffer, bytes);
write(fd, buffer, (size_t)bytes);
close(fd);
@@ -1212,8 +1188,10 @@ do_am_printer(http_t *http, /* I - HTTP connection */
}
else
{
int linenum; /* Line number */
fprintf(stderr, "ERROR: Unable to open PPD file %s: %s\n",
filename, ppdErrorString(ppdLastError(&bytes)));
filename, ppdErrorString(ppdLastError(&linenum)));
}
}
else
@@ -1318,7 +1296,7 @@ do_am_printer(http_t *http, /* I - HTTP connection */
else
{
cgiStartHTML(title);
cgiShowIPPError(_("Unable to get list of printer drivers:"));
cgiShowIPPError(_("Unable to get list of printer drivers"));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
}
@@ -1349,20 +1327,22 @@ do_am_printer(http_t *http, /* I - HTTP connection */
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);
if (!file)
{
var = cgiGetVariable("PPD_NAME");
if (!strcmp(var, "everywhere"))
get_printer_ppd(cgiGetVariable("DEVICE_URI"), evefile, sizeof(evefile));
else if (strcmp(var, "__no_change__"))
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "ppd-name",
NULL, var);
}
ippAddString(request, IPP_TAG_PRINTER, IPP_TAG_TEXT, "printer-location",
NULL, cgiGetVariable("PRINTER_LOCATION"));
ippAddString(request, IPP_TAG_PRINTER, IPP_TAG_TEXT, "printer-info",
NULL, cgiGetVariable("PRINTER_INFO"));
if (!file)
{
var = cgiGetVariable("PPD_NAME");
if (strcmp(var, "__no_change__"))
ippAddString(request, IPP_TAG_PRINTER, IPP_TAG_NAME, "ppd-name",
NULL, var);
}
strlcpy(uri, cgiGetVariable("DEVICE_URI"), sizeof(uri));
/*
@@ -1381,7 +1361,7 @@ do_am_printer(http_t *http, /* I - HTTP connection */
if ((uriptr = strchr(uri, '?')) == NULL)
uriptr = uri + strlen(uri);
snprintf(uriptr, sizeof(uri) - (uriptr - uri),
snprintf(uriptr, sizeof(uri) - (size_t)(uriptr - uri),
"?baud=%s+bits=%s+parity=%s+flow=%s",
cgiGetVariable("BAUDRATE"), cgiGetVariable("BITS"),
cgiGetVariable("PARITY"), cgiGetVariable("FLOW"));
@@ -1405,6 +1385,11 @@ do_am_printer(http_t *http, /* I - HTTP connection */
if (file)
ippDelete(cupsDoFileRequest(http, request, "/admin/", file->tempfile));
else if (evefile[0])
{
ippDelete(cupsDoFileRequest(http, request, "/admin/", evefile));
unlink(evefile);
}
else
ippDelete(cupsDoRequest(http, request, "/admin/"));
@@ -1416,8 +1401,8 @@ do_am_printer(http_t *http, /* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(title);
cgiShowIPPError(modify ? _("Unable to modify printer:") :
_("Unable to add printer:"));
cgiShowIPPError(modify ? _("Unable to modify printer") :
_("Unable to add printer"));
}
else if (modify)
{
@@ -1523,7 +1508,7 @@ do_cancel_subscription(http_t *http)/* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(_("Cancel RSS Subscription"));
cgiShowIPPError(_("Unable to cancel RSS subscription:"));
cgiShowIPPError(_("Unable to cancel RSS subscription"));
}
else
{
@@ -1558,10 +1543,10 @@ do_config_server(http_t *http) /* I - HTTP connection */
int advanced, /* Advanced settings shown? */
changed; /* Have settings changed? */
const char *debug_logging, /* DEBUG_LOGGING value */
*preserve_jobs = NULL,
/* PRESERVE_JOBS value */
*remote_admin, /* REMOTE_ADMIN value */
*remote_any, /* REMOTE_ANY value */
*remote_printers,
/* REMOTE_PRINTERS value */
*share_printers,/* SHARE_PRINTERS value */
*user_cancel_any,
/* USER_CANCEL_ANY value */
@@ -1577,10 +1562,6 @@ do_config_server(http_t *http) /* I - HTTP connection */
/* MaxJobs value */
*max_log_size = NULL;
/* MaxLogSize value */
char local_protocols[255],
/* BrowseLocalProtocols */
remote_protocols[255];
/* BrowseRemoteProtocols */
const char *current_browse_web_if,
/* BrowseWebIF value */
*current_preserve_job_history,
@@ -1591,12 +1572,8 @@ do_config_server(http_t *http) /* I - HTTP connection */
/* MaxClients value */
*current_max_jobs,
/* MaxJobs value */
*current_max_log_size,
*current_max_log_size;
/* MaxLogSize value */
*current_local_protocols,
/* BrowseLocalProtocols */
*current_remote_protocols;
/* BrowseRemoteProtocols */
#ifdef HAVE_GSSAPI
char default_auth_type[255];
/* DefaultAuthType value */
@@ -1611,7 +1588,6 @@ do_config_server(http_t *http) /* I - HTTP connection */
debug_logging = cgiGetVariable("DEBUG_LOGGING") ? "1" : "0";
remote_admin = cgiGetVariable("REMOTE_ADMIN") ? "1" : "0";
remote_any = cgiGetVariable("REMOTE_ANY") ? "1" : "0";
remote_printers = cgiGetVariable("REMOTE_PRINTERS") ? "1" : "0";
share_printers = cgiGetVariable("SHARE_PRINTERS") ? "1" : "0";
user_cancel_any = cgiGetVariable("USER_CANCEL_ANY") ? "1" : "0";
@@ -1623,80 +1599,37 @@ do_config_server(http_t *http) /* I - HTTP connection */
*/
browse_web_if = cgiGetVariable("BROWSE_WEB_IF") ? "Yes" : "No";
preserve_job_history = cgiGetVariable("PRESERVE_JOB_HISTORY") ? "Yes" : "No";
preserve_job_files = cgiGetVariable("PRESERVE_JOB_FILES") ? "Yes" : "No";
max_clients = cgiGetVariable("MAX_CLIENTS");
max_jobs = cgiGetVariable("MAX_JOBS");
max_log_size = cgiGetVariable("MAX_LOG_SIZE");
preserve_jobs = cgiGetVariable("PRESERVE_JOBS");
if (preserve_jobs)
{
max_jobs = cgiGetVariable("MAX_JOBS");
preserve_job_history = cgiGetVariable("PRESERVE_JOB_HISTORY");
preserve_job_files = cgiGetVariable("PRESERVE_JOB_FILES");
if (!max_jobs || atoi(max_jobs) < 0)
max_jobs = "500";
if (!preserve_job_history)
preserve_job_history = "On";
if (!preserve_job_files)
preserve_job_files = "1d";
}
else
{
max_jobs = "0";
preserve_job_history = "No";
preserve_job_files = "No";
}
if (!max_clients || atoi(max_clients) <= 0)
max_clients = "100";
if (!max_jobs || atoi(max_jobs) <= 0)
max_jobs = "500";
if (!max_log_size || atof(max_log_size) <= 0.0)
if (!max_log_size || atoi(max_log_size) <= 0.0)
max_log_size = "1m";
if (cgiGetVariable("BROWSE_LOCAL_CUPS"))
strcpy(local_protocols, "cups");
else
local_protocols[0] = '\0';
#ifdef HAVE_DNSSD
if (cgiGetVariable("BROWSE_LOCAL_DNSSD"))
{
if (local_protocols[0])
strcat(local_protocols, " dnssd");
else
strcat(local_protocols, "dnssd");
}
#endif /* HAVE_DNSSD */
#ifdef HAVE_LDAP
if (cgiGetVariable("BROWSE_LOCAL_LDAP"))
{
if (local_protocols[0])
strcat(local_protocols, " ldap");
else
strcat(local_protocols, "ldap");
}
#endif /* HAVE_LDAP */
#ifdef HAVE_LIBSLP
if (cgiGetVariable("BROWSE_LOCAL_SLP"))
{
if (local_protocols[0])
strcat(local_protocols, " slp");
else
strcat(local_protocols, "slp");
}
#endif /* HAVE_SLP */
if (cgiGetVariable("BROWSE_REMOTE_CUPS"))
strcpy(remote_protocols, "cups");
else
remote_protocols[0] = '\0';
#ifdef HAVE_LDAP
if (cgiGetVariable("BROWSE_REMOTE_LDAP"))
{
if (remote_protocols[0])
strcat(remote_protocols, " ldap");
else
strcat(remote_protocols, "ldap");
}
#endif /* HAVE_LDAP */
#ifdef HAVE_LIBSLP
if (cgiGetVariable("BROWSE_REMOTE_SLP"))
{
if (remote_protocols[0])
strcat(remote_protocols, " slp");
else
strcat(remote_protocols, "slp");
}
#endif /* HAVE_SLP */
}
/*
@@ -1707,7 +1640,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
{
cgiStartHTML(cgiText(_("Change Settings")));
cgiSetVariable("MESSAGE",
cgiText(_("Unable to change server settings:")));
cgiText(_("Unable to change server settings")));
cgiSetVariable("ERROR", cupsLastErrorString());
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
@@ -1746,7 +1679,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
if ((current_preserve_job_files = cupsGetOption("PreserveJobFiles",
num_settings,
settings)) == NULL)
current_preserve_job_files = "No";
current_preserve_job_files = "1d";
if ((current_max_clients = cupsGetOption("MaxClients", num_settings,
settings)) == NULL)
@@ -1760,16 +1693,6 @@ do_config_server(http_t *http) /* I - HTTP connection */
settings)) == NULL)
current_max_log_size = "1m";
if ((current_local_protocols = cupsGetOption("BrowseLocalProtocols",
num_settings,
settings)) == NULL)
current_local_protocols = CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS;
if ((current_remote_protocols = cupsGetOption("BrowseRemoteProtocols",
num_settings,
settings)) == NULL)
current_remote_protocols = CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS;
/*
* See if the settings have changed...
*/
@@ -1780,8 +1703,6 @@ do_config_server(http_t *http) /* I - HTTP connection */
num_settings, settings)) ||
strcmp(remote_any, cupsGetOption(CUPS_SERVER_REMOTE_ANY,
num_settings, settings)) ||
strcmp(remote_printers, cupsGetOption(CUPS_SERVER_REMOTE_PRINTERS,
num_settings, settings)) ||
strcmp(share_printers, cupsGetOption(CUPS_SERVER_SHARE_PRINTERS,
num_settings, settings)) ||
#ifdef HAVE_GSSAPI
@@ -1793,9 +1714,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
num_settings, settings));
if (advanced && !changed)
changed = _cups_strcasecmp(local_protocols, current_local_protocols) ||
_cups_strcasecmp(remote_protocols, current_remote_protocols) ||
_cups_strcasecmp(browse_web_if, current_browse_web_if) ||
changed = _cups_strcasecmp(browse_web_if, current_browse_web_if) ||
_cups_strcasecmp(preserve_job_history, current_preserve_job_history) ||
_cups_strcasecmp(preserve_job_files, current_preserve_job_files) ||
_cups_strcasecmp(max_clients, current_max_clients) ||
@@ -1817,8 +1736,6 @@ do_config_server(http_t *http) /* I - HTTP connection */
remote_admin, num_settings, &settings);
num_settings = cupsAddOption(CUPS_SERVER_REMOTE_ANY,
remote_any, num_settings, &settings);
num_settings = cupsAddOption(CUPS_SERVER_REMOTE_PRINTERS,
remote_printers, num_settings, &settings);
num_settings = cupsAddOption(CUPS_SERVER_SHARE_PRINTERS,
share_printers, num_settings, &settings);
num_settings = cupsAddOption(CUPS_SERVER_USER_CANCEL_ANY,
@@ -1834,12 +1751,6 @@ do_config_server(http_t *http) /* I - HTTP connection */
* Add advanced settings...
*/
if (_cups_strcasecmp(local_protocols, current_local_protocols))
num_settings = cupsAddOption("BrowseLocalProtocols", local_protocols,
num_settings, &settings);
if (_cups_strcasecmp(remote_protocols, current_remote_protocols))
num_settings = cupsAddOption("BrowseRemoteProtocols", remote_protocols,
num_settings, &settings);
if (_cups_strcasecmp(browse_web_if, current_browse_web_if))
num_settings = cupsAddOption("BrowseWebIF", browse_web_if,
num_settings, &settings);
@@ -1871,14 +1782,15 @@ do_config_server(http_t *http) /* I - HTTP connection */
cgiStartHTML(cgiText(_("Change Settings")));
cgiSetVariable("MESSAGE",
cgiText(_("Unable to change server settings:")));
cgiText(_("Unable to change server settings")));
cgiSetVariable("ERROR", cupsLastErrorString());
cgiCopyTemplateLang("error.tmpl");
}
else
{
if (advanced)
cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect&URL=/admin/?ADVANCEDSETTINGS=YES");
cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect&"
"URL=/admin/?ADVANCEDSETTINGS=YES");
else
cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect");
cgiStartHTML(cgiText(_("Change Settings")));
@@ -1921,7 +1833,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
if ((tempfd = cupsTempFd(tempfile, sizeof(tempfile))) < 0)
{
cgiStartHTML(cgiText(_("Edit Configuration File")));
cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file:")));
cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file")));
cgiSetVariable("ERROR", strerror(errno));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
@@ -1933,7 +1845,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
if ((temp = cupsFileOpenFd(tempfd, "w")) == NULL)
{
cgiStartHTML(cgiText(_("Edit Configuration File")));
cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file:")));
cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file")));
cgiSetVariable("ERROR", strerror(errno));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
@@ -1955,7 +1867,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
if ((end = strstr(start, "\n")) == NULL)
end = start + strlen(start);
cupsFileWrite(temp, start, end - start);
cupsFileWrite(temp, start, (size_t)(end - start));
cupsFilePutChar(temp, '\n');
if (*end == '\r')
@@ -1983,7 +1895,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
else if (status != HTTP_CREATED)
{
cgiSetVariable("MESSAGE",
cgiText(_("Unable to upload cupsd.conf file:")));
cgiText(_("Unable to upload cupsd.conf file")));
cgiSetVariable("ERROR", httpStatus(status));
cgiStartHTML(cgiText(_("Edit Configuration File")));
@@ -1991,7 +1903,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
}
else
{
cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect");
cgiSetVariable("refresh_page", "5;URL=/admin/");
cgiStartHTML(cgiText(_("Edit Configuration File")));
cgiCopyTemplateLang("restart.tmpl");
@@ -2030,7 +1942,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
{
cgiStartHTML(cgiText(_("Edit Configuration File")));
cgiSetVariable("MESSAGE",
cgiText(_("Unable to access cupsd.conf file:")));
cgiText(_("Unable to access cupsd.conf file")));
cgiSetVariable("ERROR", strerror(errno));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
@@ -2043,7 +1955,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
{
cgiStartHTML(cgiText(_("Edit Configuration File")));
cgiSetVariable("MESSAGE",
cgiText(_("Unable to access cupsd.conf file:")));
cgiText(_("Unable to access cupsd.conf file")));
cgiSetVariable("ERROR",
cgiText(_("Unable to edit cupsd.conf files larger than "
"1MB")));
@@ -2067,7 +1979,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
cgiStartHTML(cgiText(_("Edit Configuration File")));
cgiSetVariable("MESSAGE",
cgiText(_("Unable to access cupsd.conf file:")));
cgiText(_("Unable to access cupsd.conf file")));
cgiSetVariable("ERROR", strerror(errno));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
@@ -2080,9 +1992,9 @@ do_config_server(http_t *http) /* I - HTTP connection */
* Allocate memory and load the file into a string buffer...
*/
if ((buffer = calloc(1, info.st_size + 1)) != NULL)
if ((buffer = calloc(1, (size_t)info.st_size + 1)) != NULL)
{
cupsFileRead(cupsd, buffer, info.st_size);
cupsFileRead(cupsd, buffer, (size_t)info.st_size);
cgiSetVariable("CUPSDCONF", buffer);
free(buffer);
}
@@ -2099,7 +2011,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
if (!stat(filename, &info) && info.st_size < (1024 * 1024) &&
(cupsd = cupsFileOpen(filename, "r")) != NULL)
{
if ((buffer = calloc(1, 2 * info.st_size + 1)) != NULL)
if ((buffer = calloc(1, 2 * (size_t)info.st_size + 1)) != NULL)
{
bufend = buffer + 2 * info.st_size - 1;
@@ -2109,7 +2021,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
if (ch == '\\' || ch == '\"')
{
*bufptr++ = '\\';
*bufptr++ = ch;
*bufptr++ = (char)ch;
}
else if (ch == '\n')
{
@@ -2122,7 +2034,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
*bufptr++ = 't';
}
else if (ch >= ' ')
*bufptr++ = ch;
*bufptr++ = (char)ch;
}
*bufptr = '\0';
@@ -2224,7 +2136,7 @@ do_delete_class(http_t *http) /* I - HTTP connection */
cgiStartHTML(cgiText(_("Delete Class")));
if (cupsLastError() > IPP_OK_CONFLICT)
cgiShowIPPError(_("Unable to delete class:"));
cgiShowIPPError(_("Unable to delete class"));
else
cgiCopyTemplateLang("class-deleted.tmpl");
@@ -2309,7 +2221,7 @@ do_delete_printer(http_t *http) /* I - HTTP connection */
cgiStartHTML(cgiText(_("Delete Printer")));
if (cupsLastError() > IPP_OK_CONFLICT)
cgiShowIPPError(_("Unable to delete printer:"));
cgiShowIPPError(_("Unable to delete printer"));
else
cgiCopyTemplateLang("printer-deleted.tmpl");
@@ -2359,8 +2271,7 @@ do_export(http_t *http) /* I - HTTP connection */
"printer-type", 0);
ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM,
"printer-type-mask", CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE |
CUPS_PRINTER_IMPLICIT);
"printer-type-mask", CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE);
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
"requested-attributes", NULL, "printer-name");
@@ -2696,10 +2607,6 @@ do_menu(http_t *http) /* I - HTTP connection */
settings)) != NULL && atoi(val))
cgiSetVariable("REMOTE_ANY", "CHECKED");
if ((val = cupsGetOption(CUPS_SERVER_REMOTE_PRINTERS, num_settings,
settings)) != NULL && atoi(val))
cgiSetVariable("REMOTE_PRINTERS", "CHECKED");
if ((val = cupsGetOption(CUPS_SERVER_SHARE_PRINTERS, num_settings,
settings)) != NULL && atoi(val))
cgiSetVariable("SHARE_PRINTERS", "CHECKED");
@@ -2718,53 +2625,6 @@ do_menu(http_t *http) /* I - HTTP connection */
#endif /* HAVE_GSSAPI */
cgiSetVariable("KERBEROS", "");
#ifdef HAVE_DNSSD
cgiSetVariable("HAVE_DNSSD", "1");
#endif /* HAVE_DNSSD */
#ifdef HAVE_LDAP
cgiSetVariable("HAVE_LDAP", "1");
#endif /* HAVE_LDAP */
#ifdef HAVE_LIBSLP
cgiSetVariable("HAVE_LIBSLP", "1");
#endif /* HAVE_LIBSLP */
if ((val = cupsGetOption("BrowseRemoteProtocols", num_settings,
settings)) == NULL)
if ((val = cupsGetOption("BrowseProtocols", num_settings,
settings)) == NULL)
val = CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS;
if (strstr(val, "cups") || strstr(val, "CUPS"))
cgiSetVariable("BROWSE_REMOTE_CUPS", "CHECKED");
if (strstr(val, "ldap") || strstr(val, "LDAP"))
cgiSetVariable("BROWSE_REMOTE_LDAP", "CHECKED");
if (strstr(val, "slp") || strstr(val, "SLP"))
cgiSetVariable("BROWSE_REMOTE_SLP", "CHECKED");
if ((val = cupsGetOption("BrowseLocalProtocols", num_settings,
settings)) == NULL)
if ((val = cupsGetOption("BrowseProtocols", num_settings,
settings)) == NULL)
val = CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS;
if (strstr(val, "cups") || strstr(val, "CUPS"))
cgiSetVariable("BROWSE_LOCAL_CUPS", "CHECKED");
if (strstr(val, "dnssd") || strstr(val, "DNSSD") ||
strstr(val, "dns-sd") || strstr(val, "DNS-SD") ||
strstr(val, "bonjour") || strstr(val, "BONJOUR"))
cgiSetVariable("BROWSE_LOCAL_DNSSD", "CHECKED");
if (strstr(val, "ldap") || strstr(val, "LDAP"))
cgiSetVariable("BROWSE_LOCAL_LDAP", "CHECKED");
if (strstr(val, "slp") || strstr(val, "SLP"))
cgiSetVariable("BROWSE_LOCAL_SLP", "CHECKED");
if ((val = cupsGetOption("BrowseWebIF", num_settings,
settings)) == NULL)
val = "No";
@@ -2777,18 +2637,25 @@ do_menu(http_t *http) /* I - HTTP connection */
settings)) == NULL)
val = "Yes";
if (!_cups_strcasecmp(val, "yes") || !_cups_strcasecmp(val, "on") ||
!_cups_strcasecmp(val, "true"))
if (val &&
(!_cups_strcasecmp(val, "0") || !_cups_strcasecmp(val, "no") ||
!_cups_strcasecmp(val, "off") || !_cups_strcasecmp(val, "false") ||
!_cups_strcasecmp(val, "disabled")))
{
cgiSetVariable("PRESERVE_JOB_HISTORY", "CHECKED");
cgiSetVariable("PRESERVE_JOB_HISTORY", "0");
cgiSetVariable("PRESERVE_JOB_FILES", "0");
}
else
{
cgiSetVariable("PRESERVE_JOBS", "CHECKED");
cgiSetVariable("PRESERVE_JOB_HISTORY", val);
if ((val = cupsGetOption("PreserveJobFiles", num_settings,
settings)) == NULL)
val = "No";
val = "1d";
cgiSetVariable("PRESERVE_JOB_FILES", val);
if (!_cups_strcasecmp(val, "yes") || !_cups_strcasecmp(val, "on") ||
!_cups_strcasecmp(val, "true"))
cgiSetVariable("PRESERVE_JOB_FILES", "CHECKED");
}
if ((val = cupsGetOption("MaxClients", num_settings, settings)) == NULL)
@@ -2956,7 +2823,7 @@ do_set_allowed_users(http_t *http) /* I - HTTP connection */
exit(0);
}
else if (cupsLastError() > IPP_OK_CONFLICT)
cgiShowIPPError(_("Unable to get printer attributes:"));
cgiShowIPPError(_("Unable to get printer attributes"));
else
cgiCopyTemplateLang("users.tmpl");
@@ -3106,7 +2973,7 @@ do_set_allowed_users(http_t *http) /* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(cgiText(_("Set Allowed Users")));
cgiShowIPPError(_("Unable to change printer:"));
cgiShowIPPError(_("Unable to change printer"));
}
else
{
@@ -3193,7 +3060,7 @@ do_set_default(http_t *http) /* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(title);
cgiShowIPPError(_("Unable to set server default:"));
cgiShowIPPError(_("Unable to set server default"));
}
else
{
@@ -3302,7 +3169,7 @@ do_set_options(http_t *http, /* I - HTTP connection */
if ((ppd = ppdOpenFile(filename)) == NULL)
{
cgiSetVariable("ERROR", ppdErrorString(ppdLastError(&i)));
cgiSetVariable("MESSAGE", cgiText(_("Unable to open PPD file:")));
cgiSetVariable("MESSAGE", cgiText(_("Unable to open PPD file")));
cgiStartHTML(title);
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
@@ -3923,7 +3790,7 @@ do_set_options(http_t *http, /* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(title);
cgiShowIPPError(_("Unable to set options:"));
cgiShowIPPError(_("Unable to set options"));
}
else
{
@@ -4001,7 +3868,7 @@ do_set_sharing(http_t *http) /* I - HTTP connection */
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);
ippAddBoolean(request, IPP_TAG_OPERATION, "printer-is-shared", atoi(shared));
ippAddBoolean(request, IPP_TAG_OPERATION, "printer-is-shared", (char)atoi(shared));
/*
* Do the request and get back a response...
@@ -4022,7 +3889,7 @@ do_set_sharing(http_t *http) /* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(cgiText(_("Set Publishing")));
cgiShowIPPError(_("Unable to change printer-is-shared attribute:"));
cgiShowIPPError(_("Unable to change printer-is-shared attribute"));
}
else
{
@@ -4215,7 +4082,7 @@ get_option_value(
if ((val = cgiGetVariable(keyword)) == NULL)
return (NULL);
snprintf(bufptr, bufend - bufptr, "%s%s=", prefix, cparam->name);
snprintf(bufptr, (size_t)(bufend - bufptr), "%s%s=", prefix, cparam->name);
bufptr += strlen(bufptr);
prefix = " ";
@@ -4229,7 +4096,7 @@ get_option_value(
number > cparam->maximum.custom_real)
return (NULL);
snprintf(bufptr, bufend - bufptr, "%g", number);
snprintf(bufptr, (size_t)(bufend - bufptr), "%g", number);
break;
case PPD_CUSTOM_INT :
@@ -4239,7 +4106,7 @@ get_option_value(
integer > cparam->maximum.custom_int)
return (NULL);
snprintf(bufptr, bufend - bufptr, "%ld", integer);
snprintf(bufptr, (size_t)(bufend - bufptr), "%ld", integer);
break;
case PPD_CUSTOM_POINTS :
@@ -4257,7 +4124,7 @@ get_option_value(
number_points > cparam->maximum.custom_points)
return (NULL);
snprintf(bufptr, bufend - bufptr, "%g%s", number, uval);
snprintf(bufptr, (size_t)(bufend - bufptr), "%g%s", number, uval);
break;
case PPD_CUSTOM_PASSCODE :
@@ -4306,7 +4173,7 @@ get_option_value(
if (bufptr == buffer || (bufend - bufptr) < 2)
return (NULL);
strcpy(bufptr, "}");
memcpy(bufptr, "}", 2);
}
return (buffer);
@@ -4337,5 +4204,78 @@ get_points(double number, /* I - Original number */
/*
* End of "$Id$".
* 'get_printer_ppd()' - Get an IPP Everywhere PPD file for the given URI.
*/
static char * /* O - Filename or NULL */
get_printer_ppd(const char *uri, /* I - Printer URI */
char *buffer, /* I - Filename buffer */
size_t bufsize) /* I - Size of filename buffer */
{
http_t *http; /* Connection to printer */
ipp_t *request, /* Get-Printer-Attributes request */
*response; /* Get-Printer-Attributes response */
char resolved[1024], /* Resolved URI */
scheme[32], /* URI scheme */
userpass[256], /* Username:password */
host[256], /* Hostname */
resource[256]; /* Resource path */
int port; /* Port number */
/*
* Connect to the printer...
*/
if (strstr(uri, "._tcp"))
{
/*
* Resolve URI...
*/
if (!_httpResolveURI(uri, resolved, sizeof(resolved), _HTTP_RESOLVE_DEFAULT, NULL, NULL))
{
fprintf(stderr, "ERROR: Unable to resolve \"%s\".\n", uri);
return (NULL);
}
uri = resolved;
}
if (httpSeparateURI(HTTP_URI_CODING_ALL, uri, scheme, sizeof(scheme), userpass, sizeof(userpass), host, sizeof(host), &port, resource, sizeof(resource)) < HTTP_URI_STATUS_OK)
{
fprintf(stderr, "ERROR: Bad printer URI \"%s\".\n", uri);
return (NULL);
}
http = httpConnect2(host, port, NULL, AF_UNSPEC, !strcmp(scheme, "ipps") ? HTTP_ENCRYPTION_ALWAYS : HTTP_ENCRYPTION_IF_REQUESTED, 1, 30000, NULL);
if (!http)
{
fprintf(stderr, "ERROR: Unable to connect to \"%s:%d\": %s\n", host, port, cupsLastErrorString());
return (NULL);
}
/*
* Send a Get-Printer-Attributes request...
*/
request = ippNewRequest(IPP_OP_GET_PRINTER_ATTRIBUTES);
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri);
response = cupsDoRequest(http, request, resource);
if (!_ppdCreateFromIPP(buffer, bufsize, response))
fprintf(stderr, "ERROR: Unable to create PPD file: %s\n", strerror(errno));
ippDelete(response);
httpClose(http);
if (buffer[0])
return (buffer);
else
return (NULL);
}
/*
* End of "$Id: admin.c 12516 2015-02-12 20:18:11Z msweet $".
*/
+4 -3
Ver Arquivo
@@ -1,9 +1,9 @@
/*
* "$Id$"
* "$Id: cgi-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private CGI definitions for CUPS.
*
* Copyright 2007-2010 by Apple Inc.
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -21,6 +21,7 @@
#include <cups/debug-private.h>
#include <cups/language-private.h>
#include <cups/string-private.h>
#include <cups/ipp-private.h> /* TODO: Update so we don't need this */
/*
@@ -31,5 +32,5 @@
/*
* End of "$Id$".
* End of "$Id: cgi-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: cgi.h 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI support library definitions for CUPS.
*
@@ -115,5 +115,5 @@ extern const char *cgiText(const char *message);
#endif /* !_CUPS_CGI_H_ */
/*
* End of "$Id$".
* End of "$Id: cgi.h 10996 2013-05-29 11:51:34Z msweet $".
*/
+19 -27
Ver Arquivo
@@ -1,23 +1,16 @@
/*
* "$Id$"
* "$Id: classes.c 11928 2014-06-13 00:08:32Z msweet $"
*
* Class status CGI for CUPS.
* Class status CGI for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
* 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
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* main() - Main entry for CGI.
* do_class_op() - Do a class operation.
* show_all_classes() - Show all classes...
* show_class() - Show a single class.
* 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/".
*/
/*
@@ -42,8 +35,7 @@ static void show_class(http_t *http, const char *printer);
*/
int /* O - Exit status */
main(int argc, /* I - Number of command-line arguments */
char *argv[]) /* I - Command-line arguments */
main(void)
{
const char *pclass; /* Class name */
const char *user; /* Username */
@@ -169,8 +161,8 @@ main(int argc, /* I - Number of command-line arguments */
do_class_op(http, pclass, CUPS_ACCEPT_JOBS, cgiText(_("Accept Jobs")));
else if (!strcmp(op, "reject-jobs"))
do_class_op(http, pclass, CUPS_REJECT_JOBS, cgiText(_("Reject Jobs")));
else if (!strcmp(op, "purge-jobs"))
do_class_op(http, pclass, IPP_PURGE_JOBS, cgiText(_("Purge Jobs")));
else if (!strcmp(op, "cancel-jobs"))
do_class_op(http, pclass, IPP_OP_CANCEL_JOBS, cgiText(_("Cancel Jobs")));
else if (!_cups_strcasecmp(op, "print-test-page"))
cgiPrintTestPage(http, pclass);
else if (!_cups_strcasecmp(op, "move-jobs"))
@@ -257,7 +249,7 @@ do_class_op(http_t *http, /* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(title);
cgiShowIPPError(_("Unable to do maintenance command:"));
cgiShowIPPError(_("Unable to do maintenance command"));
}
else
{
@@ -286,8 +278,8 @@ do_class_op(http_t *http, /* I - HTTP connection */
cgiCopyTemplateLang("printer-accept.tmpl");
else if (op == CUPS_REJECT_JOBS)
cgiCopyTemplateLang("printer-reject.tmpl");
else if (op == IPP_PURGE_JOBS)
cgiCopyTemplateLang("printer-purge.tmpl");
else if (op == IPP_OP_CANCEL_JOBS)
cgiCopyTemplateLang("printer-cancel-jobs.tmpl");
}
cgiEndHTML();
@@ -380,7 +372,7 @@ show_all_classes(http_t *http, /* I - Connection to server */
sprintf(val, "%d", count);
cgiSetVariable("TOTAL", val);
if ((var = cgiGetVariable("ORDER")) != NULL)
if ((var = cgiGetVariable("ORDER")) != NULL && *var)
ascending = !_cups_strcasecmp(var, "asc");
else
ascending = 1;
@@ -447,7 +439,7 @@ show_all_classes(http_t *http, /* I - Connection to server */
* Show the error...
*/
cgiShowIPPError(_("Unable to get class list:"));
cgiShowIPPError(_("Unable to get class list"));
}
cgiEndHTML();
@@ -546,7 +538,7 @@ show_class(http_t *http, /* I - Connection to server */
*/
cgiStartHTML(pclass);
cgiShowIPPError(_("Unable to get class status:"));
cgiShowIPPError(_("Unable to get class status"));
}
cgiEndHTML();
@@ -554,5 +546,5 @@ show_class(http_t *http, /* I - Connection to server */
/*
* End of "$Id$".
* End of "$Id: classes.c 11928 2014-06-13 00:08:32Z msweet $".
*/
+45 -66
Ver Arquivo
@@ -1,34 +1,16 @@
/*
* "$Id$"
* "$Id: help-index.c 12644 2015-05-19 21:22:35Z msweet $"
*
* Online help index routines for CUPS.
* Online help index routines for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
* Copyright 2007-2015 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/".
*
* Contents:
*
* helpDeleteIndex() - Delete an index, freeing all memory used.
* helpFindNode() - Find a node in an index.
* helpLoadIndex() - Load a help index from disk.
* helpSaveIndex() - Save a help index to disk.
* helpSearchIndex() - Search an index.
* help_add_word() - Add a word to a node.
* help_compile_search() - Convert a search string into a regular expression.
* help_delete_node() - Free all memory used by a node.
* help_delete_word() - Free all memory used by a word.
* help_load_directory() - Load a directory of files into an index.
* help_load_file() - Load a HTML files into an index.
* help_new_node() - Create a new node and add it to an index.
* help_sort_nodes_by_name() - Sort nodes by section, filename, and anchor.
* help_sort_nodes_by_score() - Sort nodes by score and text.
* help_sort_words() - Sort words alphabetically.
* 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/".
*/
/*
@@ -161,7 +143,8 @@ static int help_load_file(help_index_t *hi,
static help_node_t *help_new_node(const char *filename, const char *anchor,
const char *section, const char *text,
time_t mtime, off_t offset,
size_t length);
size_t length)
__attribute__((nonnull(1,3,4)));
static int help_sort_by_name(help_node_t *p1, help_node_t *p2);
static int help_sort_by_score(help_node_t *p1, help_node_t *p2);
static int help_sort_words(help_word_t *w1, help_word_t *w2);
@@ -177,7 +160,7 @@ helpDeleteIndex(help_index_t *hi) /* I - Help index */
help_node_t *node; /* Current node */
DEBUG_printf(("helpDeleteIndex(hi=%p)\n", hi));
DEBUG_printf(("helpDeleteIndex(hi=%p)", hi));
if (!hi)
return;
@@ -209,8 +192,8 @@ helpFindNode(help_index_t *hi, /* I - Index */
help_node_t key; /* Search key */
DEBUG_printf(("helpFindNode(hi=%p, filename=\"%s\", anchor=\"%s\")\n",
hi, filename ? filename : "(nil)", anchor ? anchor : "(nil)"));
DEBUG_printf(("helpFindNode(hi=%p, filename=\"%s\", anchor=\"%s\")",
hi, filename, anchor));
/*
* Range check input...
@@ -259,7 +242,7 @@ helpLoadIndex(const char *hifile, /* I - Index filename */
help_word_t *word; /* Current word */
DEBUG_printf(("helpLoadIndex(hifile=\"%s\", directory=\"%s\")\n",
DEBUG_printf(("helpLoadIndex(hifile=\"%s\", directory=\"%s\")",
hifile, directory));
/*
@@ -345,7 +328,7 @@ helpLoadIndex(const char *hifile, /* I - Index filename */
mtime = strtol(ptr, &ptr, 10);
offset = strtoll(ptr, &ptr, 10);
length = strtoll(ptr, &ptr, 10);
length = (size_t)strtoll(ptr, &ptr, 10);
while (isspace(*ptr & 255))
ptr ++;
@@ -464,7 +447,7 @@ helpSaveIndex(help_index_t *hi, /* I - Index */
help_word_t *word; /* Current word */
DEBUG_printf(("helpSaveIndex(hi=%p, hifile=\"%s\")\n", hi, hifile));
DEBUG_printf(("helpSaveIndex(hi=%p, hifile=\"%s\")", hi, hifile));
/*
* Try creating a new index file...
@@ -545,9 +528,8 @@ helpSearchIndex(help_index_t *hi, /* I - Index */
int matches; /* Number of matches */
DEBUG_printf(("helpSearchIndex(hi=%p, query=\"%s\", filename=\"%s\")\n",
hi, query ? query : "(nil)",
filename ? filename : "(nil)"));
DEBUG_printf(("helpSearchIndex(hi=%p, query=\"%s\", filename=\"%s\")",
hi, query, filename));
/*
* Range check...
@@ -670,7 +652,7 @@ help_add_word(help_node_t *n, /* I - Node */
key; /* Search key */
DEBUG_printf(("help_add_word(n=%p, text=\"%s\")\n", n, text));
DEBUG_printf(("2help_add_word(n=%p, text=\"%s\")", n, text));
/*
* Create the words array as needed...
@@ -723,7 +705,7 @@ help_delete_node(help_node_t *n) /* I - Node */
help_word_t *w; /* Current word */
DEBUG_printf(("help_delete_node(n=%p)\n", n));
DEBUG_printf(("2help_delete_node(n=%p)", n));
if (!n)
return;
@@ -758,7 +740,7 @@ help_delete_node(help_node_t *n) /* I - Node */
static void
help_delete_word(help_word_t *w) /* I - Word */
{
DEBUG_printf(("help_delete_word(w=%p)\n", w));
DEBUG_printf(("2help_delete_word(w=%p)", w));
if (!w)
return;
@@ -789,8 +771,8 @@ help_load_directory(
help_node_t *node; /* Current node */
DEBUG_printf(("help_load_directory(hi=%p, directory=\"%s\", relative=\"%s\")\n",
hi, directory ? directory : "(nil)", relative ? relative : "(nil)"));
DEBUG_printf(("2help_load_directory(hi=%p, directory=\"%s\", relative=\"%s\")",
hi, directory, relative));
/*
* Open the directory and scan it...
@@ -901,9 +883,8 @@ help_load_file(
int wordlen; /* Length of word */
DEBUG_printf(("help_load_file(hi=%p, filename=\"%s\", relative=\"%s\", mtime=%ld)\n",
hi, filename ? filename : "(nil)",
relative ? relative : "(nil)", mtime));
DEBUG_printf(("2help_load_file(hi=%p, filename=\"%s\", relative=\"%s\", "
"mtime=%ld)", hi, filename, relative, (long)mtime));
if ((fp = cupsFileOpen(filename, "r")) == NULL)
return (-1);
@@ -911,7 +892,7 @@ help_load_file(
node = NULL;
offset = 0;
strcpy(section, "Other");
strlcpy(section, "Other", sizeof(section));
while (cupsFileGets(fp, line, sizeof(line)))
{
@@ -1020,14 +1001,14 @@ help_load_file(
*ptr++ = ' ';
if (!cupsFileGets(fp, ptr, sizeof(line) - (ptr - line) - 1))
if (!cupsFileGets(fp, ptr, sizeof(line) - (size_t)(ptr - line) - 1))
break;
}
*ptr = '\0';
if (node)
node->length = offset - node->offset;
node->length = (size_t)(offset - node->offset);
if (!*text)
{
@@ -1180,9 +1161,9 @@ help_load_file(
for (text = ptr, ptr ++; *ptr && isalnum(*ptr & 255); ptr ++);
wordlen = ptr - text;
wordlen = (int)(ptr - text);
memcpy(temp, text, wordlen);
memcpy(temp, text, (size_t)wordlen);
temp[wordlen] = '\0';
ptr --;
@@ -1207,7 +1188,7 @@ help_load_file(
cupsFileClose(fp);
if (node)
node->length = offset - node->offset;
node->length = (size_t)(offset - node->offset);
return (0);
}
@@ -1229,11 +1210,9 @@ help_new_node(const char *filename, /* I - Filename */
help_node_t *n; /* Node */
DEBUG_printf(("help_new_node(filename=\"%s\", anchor=\"%s\", text=\"%s\", "
"mtime=%ld, offset=%ld, length=%ld)\n",
filename ? filename : "(nil)", anchor ? anchor : "(nil)",
text ? text : "(nil)", (long)mtime, (long)offset,
(long)length));
DEBUG_printf(("2help_new_node(filename=\"%s\", anchor=\"%s\", text=\"%s\", "
"mtime=%ld, offset=%ld, length=%ld)", filename, anchor, text,
(long)mtime, (long)offset, (long)length));
n = (help_node_t *)calloc(1, sizeof(help_node_t));
if (!n)
@@ -1241,7 +1220,7 @@ help_new_node(const char *filename, /* I - Filename */
n->filename = strdup(filename);
n->anchor = anchor ? strdup(anchor) : NULL;
n->section = (section && *section) ? strdup(section) : NULL;
n->section = *section ? strdup(section) : NULL;
n->text = strdup(text);
n->mtime = mtime;
n->offset = offset;
@@ -1262,9 +1241,9 @@ help_sort_by_name(help_node_t *n1, /* I - First node */
int diff; /* Difference */
DEBUG_printf(("help_sort_by_name(n1=%p(%s#%s), n2=%p(%s#%s)\n",
n1, n1->filename, n1->anchor ? n1->anchor : "",
n2, n2->filename, n2->anchor ? n2->anchor : ""));
DEBUG_printf(("2help_sort_by_name(n1=%p(%s#%s), n2=%p(%s#%s)",
n1, n1->filename, n1->anchor,
n2, n2->filename, n2->anchor));
if ((diff = strcmp(n1->filename, n2->filename)) != 0)
return (diff);
@@ -1291,10 +1270,10 @@ help_sort_by_score(help_node_t *n1, /* I - First node */
int diff; /* Difference */
DEBUG_printf(("help_sort_by_score(n1=%p(%d \"%s\" \"%s\"), "
"n2=%p(%d \"%s\" \"%s\")\n",
n1, n1->score, n1->section ? n1->section : "", n1->text,
n2, n2->score, n2->section ? n2->section : "", n2->text));
DEBUG_printf(("2help_sort_by_score(n1=%p(%d \"%s\" \"%s\"), "
"n2=%p(%d \"%s\" \"%s\")",
n1, n1->score, n1->section, n1->text,
n2, n2->score, n2->section, n2->text));
if (n1->score != n2->score)
return (n2->score - n1->score);
@@ -1319,7 +1298,7 @@ static int /* O - Difference */
help_sort_words(help_word_t *w1, /* I - Second word */
help_word_t *w2) /* I - Second word */
{
DEBUG_printf(("help_sort_words(w1=%p(\"%s\"), w2=%p(\"%s\"))\n",
DEBUG_printf(("2help_sort_words(w1=%p(\"%s\"), w2=%p(\"%s\"))",
w1, w1->text, w2, w2->text));
return (_cups_strcasecmp(w1->text, w2->text));
@@ -1327,5 +1306,5 @@ help_sort_words(help_word_t *w1, /* I - Second word */
/*
* End of "$Id$".
* End of "$Id: help-index.c 12644 2015-05-19 21:22:35Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: help-index.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Online help index definitions for CUPS.
*
@@ -83,5 +83,5 @@ extern help_index_t *helpSearchIndex(help_index_t *hi, const char *query,
#endif /* !_CUPS_HELP_INDEX_H_ */
/*
* End of "$Id$".
* End of "$Id: help-index.h 10996 2013-05-29 11:51:34Z msweet $".
*/
+17 -12
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: help.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Online help CGI for CUPS.
*
@@ -39,7 +39,8 @@ main(int argc, /* I - Number of command-line arguments */
const char *query; /* Search query */
const char *cache_dir; /* CUPS_CACHEDIR environment variable */
const char *docroot; /* CUPS_DOCROOT environment variable */
const char *helpfile; /* Current help file */
const char *helpfile, /* Current help file */
*helptitle = NULL; /* Current help title */
const char *topic; /* Current topic */
char topic_data[1024]; /* Topic form data */
const char *section; /* Current section */
@@ -88,7 +89,7 @@ main(int argc, /* I - Number of command-line arguments */
perror(filename);
cgiStartHTML(cgiText(_("Online Help")));
cgiSetVariable("ERROR", "Unable to load help index!");
cgiSetVariable("ERROR", cgiText(_("Unable to load help index.")));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
@@ -129,7 +130,7 @@ main(int argc, /* I - Number of command-line arguments */
perror(filename);
cgiStartHTML(cgiText(_("Online Help")));
cgiSetVariable("ERROR", "Unable to access help file!");
cgiSetVariable("ERROR", cgiText(_("Unable to access help file.")));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
@@ -139,7 +140,7 @@ main(int argc, /* I - Number of command-line arguments */
if ((n = helpFindNode(hi, helpfile, NULL)) == NULL)
{
cgiStartHTML(cgiText(_("Online Help")));
cgiSetVariable("ERROR", "Help file not in index!");
cgiSetVariable("ERROR", cgiText(_("Help file not in index.")));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
@@ -147,12 +148,11 @@ main(int argc, /* I - Number of command-line arguments */
}
/*
* Set the page title and save the help file...
* Save the page title and help file...
*/
cgiSetVariable("HELPFILE", helpfile);
cgiSetVariable("HELPTITLE", n->text);
cgiSetVariable("TOPIC", n->section);
helptitle = n->text;
topic = n->section;
/*
* Send a standard page header...
@@ -170,6 +170,8 @@ main(int argc, /* I - Number of command-line arguments */
*/
cgiStartHTML(cgiText(_("Online Help")));
topic = cgiGetVariable("TOPIC");
}
/*
@@ -180,7 +182,6 @@ main(int argc, /* I - Number of command-line arguments */
cgiSetVariable("QUERY", "");
query = cgiGetVariable("QUERY");
topic = cgiGetVariable("TOPIC");
si = helpSearchIndex(hi, query, topic, helpfile);
cgiClearVariables();
@@ -188,6 +189,10 @@ main(int argc, /* I - Number of command-line arguments */
cgiSetVariable("QUERY", query);
if (topic)
cgiSetVariable("TOPIC", topic);
if (helpfile)
cgiSetVariable("HELPFILE", helpfile);
if (helptitle)
cgiSetVariable("HELPTITLE", helptitle);
fprintf(stderr, "DEBUG: query=\"%s\", topic=\"%s\"\n",
query ? query : "(null)", topic ? topic : "(null)");
@@ -356,7 +361,7 @@ main(int argc, /* I - Number of command-line arguments */
else
{
perror(filename);
cgiSetVariable("ERROR", "Unable to open help file.");
cgiSetVariable("ERROR", cgiText(_("Unable to open help file.")));
cgiCopyTemplateLang("error.tmpl");
}
}
@@ -388,5 +393,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
* End of "$Id$".
* End of "$Id: help.c 10996 2013-05-29 11:51:34Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: html.c 10996 2013-05-29 11:51:34Z msweet $"
*
* HTML support functions for CUPS.
*
@@ -235,5 +235,5 @@ cgi_null_passwd(const char *prompt) /* I - Prompt string (unused) */
/*
* End of "$Id$".
* End of "$Id: html.c 10996 2013-05-29 11:51:34Z msweet $".
*/
+38 -76
Ver Arquivo
@@ -1,31 +1,16 @@
/*
* "$Id$"
* "$Id: ipp-var.c 12768 2015-06-30 16:13:38Z msweet $"
*
* CGI <-> IPP variable routines for CUPS.
* CGI <-> IPP variable routines for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
* Copyright 2007-2015 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/".
*
* Contents:
*
* cgiGetAttributes() - Get the list of attributes that are needed by the
* template file.
* cgiGetIPPObjects() - Get the objects in an IPP response.
* cgiMoveJobs() - Move one or more jobs.
* cgiPrintCommand() - Print a CUPS command job.
* cgiPrintTestPage() - Print a test page.
* cgiRewriteURL() - Rewrite a printer URI into a web browser URL...
* cgiSetIPPObjectVars() - Set CGI variables from an IPP object.
* cgiSetIPPVars() - Set CGI variables from an IPP response.
* cgiShowIPPError() - Show the last IPP error message.
* cgiShowJobs() - Show print jobs.
* cgiText() - Return localized text.
* 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/".
*/
/*
@@ -65,7 +50,7 @@ cgiGetAttributes(ipp_t *request, /* I - IPP request */
{
for (i = 0; lang[i] && i < 15; i ++)
if (isalnum(lang[i] & 255))
locale[i] = tolower(lang[i]);
locale[i] = (char)tolower(lang[i]);
else
locale[i] = '_';
@@ -107,7 +92,7 @@ cgiGetAttributes(ipp_t *request, /* I - IPP request */
while ((ch = getc(in)) != EOF)
if (ch == '\\')
getc(in);
else if (ch == '{' && num_attrs < (sizeof(attrs) / sizeof(attrs[0])))
else if (ch == '{' && num_attrs < (int)(sizeof(attrs) / sizeof(attrs[0])))
{
/*
* Grab the name...
@@ -123,13 +108,13 @@ cgiGetAttributes(ipp_t *request, /* I - IPP request */
if (ch == '_')
*nameptr++ = '-';
else
*nameptr++ = ch;
*nameptr++ = (char)ch;
}
*nameptr = '\0';
if (!strncmp(name, "printer_state_history", 21))
strcpy(name, "printer_state_history");
strlcpy(name, "printer_state_history", sizeof(name));
/*
* Possibly add it to the list of attributes...
@@ -237,6 +222,9 @@ cgiGetIPPObjects(ipp_t *response, /* I - IPP response */
break;
case IPP_TAG_INTEGER :
if (!strncmp(ippGetName(attr), "time-at-", 8))
break; /* Ignore time-at-xxx */
for (i = 0; !add && i < attr->num_values; i ++)
{
char buf[255]; /* Number buffer */
@@ -554,7 +542,7 @@ cgiPrintCommand(http_t *http, /* I - Connection to server */
ipp_t *request, /* Get-Job-Attributes request */
*response; /* Get-Job-Attributes response */
ipp_attribute_t *attr; /* Current job attribute */
static const char const *job_attrs[] =/* Job attributes we want */
static const char * const job_attrs[] =/* Job attributes we want */
{
"job-state",
"job-printer-state-message"
@@ -792,7 +780,7 @@ cgiPrintTestPage(http_t *http, /* I - Connection to server */
cgiStartHTML(cgiText(_("Print Test Page")));
if (cupsLastError() > IPP_OK_CONFLICT)
cgiShowIPPError(_("Unable to print test page:"));
cgiShowIPPError(_("Unable to print test page"));
else
{
cgiSetVariable("PRINTER_NAME", dest);
@@ -917,7 +905,7 @@ cgiRewriteURL(const char *uri, /* I - Current URI */
* Make URI relative to the current server...
*/
strlcpy(url, resource, urlsize);
strlcpy(url, resource, (size_t)urlsize);
}
else
{
@@ -926,17 +914,13 @@ cgiRewriteURL(const char *uri, /* I - Current URI */
*/
if (userpass[0])
snprintf(url, urlsize, "%s://%s@%s:%d%s",
ishttps ? "https" : "http",
userpass, hostname, port, resource);
snprintf(url, (size_t)urlsize, "%s://%s@%s:%d%s", ishttps ? "https" : "http", userpass, hostname, port, resource);
else
snprintf(url, urlsize, "%s://%s:%d%s",
ishttps ? "https" : "http",
hostname, port, resource);
snprintf(url, (size_t)urlsize, "%s://%s:%d%s", ishttps ? "https" : "http", hostname, port, resource);
}
}
else
strlcpy(url, uri, urlsize);
strlcpy(url, uri, (size_t)urlsize);
return (url);
}
@@ -958,7 +942,6 @@ cgiSetIPPObjectVars(
*nameptr, /* Pointer into name */
value[16384], /* Value(s) */
*valptr; /* Pointer into value */
struct tm *date; /* Date information */
fprintf(stderr, "DEBUG2: cgiSetIPPObjectVars(obj=%p, prefix=\"%s\", "
@@ -1039,7 +1022,7 @@ cgiSetIPPObjectVars(
*valptr++ = ' ';
}
remaining = sizeof(value) - (valptr - value);
remaining = sizeof(value) - (size_t)(valptr - value);
if (!strcmp(attr->values[i].string.text, "printer-stopped"))
strlcpy(valptr, _("Printer Paused"), remaining);
@@ -1177,7 +1160,7 @@ cgiSetIPPObjectVars(
for (i = 0; i < attr->num_values; i ++)
{
if (i)
strlcat(valptr, ", ", sizeof(value) - (valptr - value));
strlcat(valptr, ", ", sizeof(value) - (size_t)(valptr - value));
valptr += strlen(valptr);
@@ -1186,40 +1169,32 @@ cgiSetIPPObjectVars(
case IPP_TAG_INTEGER :
case IPP_TAG_ENUM :
if (strncmp(name, "time_at_", 8) == 0)
{
time_t t; /* Temporary time value */
t = (time_t)attr->values[i].integer;
date = localtime(&t);
strftime(valptr, sizeof(value) - (valptr - value), "%c", date);
}
_cupsStrDate(valptr, sizeof(value) - (size_t)(valptr - value), (time_t)ippGetInteger(attr, i));
else
snprintf(valptr, sizeof(value) - (valptr - value),
"%d", attr->values[i].integer);
snprintf(valptr, sizeof(value) - (size_t)(valptr - value), "%d", ippGetInteger(attr, i));
break;
case IPP_TAG_BOOLEAN :
snprintf(valptr, sizeof(value) - (valptr - value),
snprintf(valptr, sizeof(value) - (size_t)(valptr - value),
"%d", attr->values[i].boolean);
break;
case IPP_TAG_NOVALUE :
strlcat(valptr, "novalue", sizeof(value) - (valptr - value));
strlcat(valptr, "novalue", sizeof(value) - (size_t)(valptr - value));
break;
case IPP_TAG_RANGE :
snprintf(valptr, sizeof(value) - (valptr - value),
snprintf(valptr, sizeof(value) - (size_t)(valptr - value),
"%d-%d", attr->values[i].range.lower,
attr->values[i].range.upper);
break;
case IPP_TAG_RESOLUTION :
snprintf(valptr, sizeof(value) - (valptr - value),
snprintf(valptr, sizeof(value) - (size_t)(valptr - value),
"%dx%d%s", attr->values[i].resolution.xres,
attr->values[i].resolution.yres,
attr->values[i].resolution.units == IPP_RES_PER_INCH ?
"dpi" : "dpc");
"dpi" : "dpcm");
break;
case IPP_TAG_URI :
@@ -1230,21 +1205,7 @@ cgiSetIPPObjectVars(
* Rewrite URIs...
*/
if (!strcmp(name, "member_uris"))
{
char url[1024]; /* URL for class member... */
cgiRewriteURL(attr->values[i].string.text, url,
sizeof(url), NULL);
snprintf(valptr, sizeof(value) - (valptr - value),
"<A HREF=\"%s\">%s</A>", url,
strrchr(attr->values[i].string.text, '/') + 1);
}
else
cgiRewriteURL(attr->values[i].string.text, valptr,
sizeof(value) - (valptr - value), NULL);
cgiRewriteURL(attr->values[i].string.text, valptr, (int)(sizeof(value) - (size_t)(valptr - value)), NULL);
break;
}
@@ -1256,7 +1217,7 @@ cgiSetIPPObjectVars(
case IPP_TAG_LANGUAGE :
case IPP_TAG_MIMETYPE :
strlcat(valptr, attr->values[i].string.text,
sizeof(value) - (valptr - value));
sizeof(value) - (size_t)(valptr - value));
break;
case IPP_TAG_BEGIN_COLLECTION :
@@ -1432,7 +1393,7 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
"ipp://localhost/");
if ((which_jobs = cgiGetVariable("which_jobs")) != NULL)
if ((which_jobs = cgiGetVariable("which_jobs")) != NULL && *which_jobs)
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
NULL, which_jobs);
@@ -1480,10 +1441,11 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
if (first < 0)
first = 0;
if ((var = cgiGetVariable("ORDER")) != NULL)
if ((var = cgiGetVariable("ORDER")) != NULL && *var)
ascending = !_cups_strcasecmp(var, "asc");
else
ascending = !which_jobs || !_cups_strcasecmp(which_jobs, "not-completed");
ascending = !which_jobs || !*which_jobs ||
!_cups_strcasecmp(which_jobs, "not-completed");
section = cgiGetVariable("SECTION");
@@ -1588,5 +1550,5 @@ cgiText(const char *message) /* I - Message */
/*
* End of "$Id$".
* End of "$Id: ipp-var.c 12768 2015-06-30 16:13:38Z msweet $".
*/
+13 -19
Ver Arquivo
@@ -1,21 +1,16 @@
/*
* "$Id$"
* "$Id: jobs.c 11558 2014-02-06 18:33:34Z msweet $"
*
* Job status CGI for CUPS.
* Job status CGI for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
* 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
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* main() - Main entry for CGI.
* do_job_op() - Do a job operation.
* 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/".
*/
/*
@@ -37,8 +32,7 @@ static void do_job_op(http_t *http, int job_id, ipp_op_t op);
*/
int /* O - Exit status */
main(int argc, /* I - Number of command-line arguments */
char *argv[]) /* I - Command-line arguments */
main(void)
{
http_t *http; /* Connection to the server */
const char *op; /* Operation name */
@@ -182,7 +176,7 @@ do_job_op(http_t *http, /* I - HTTP connection */
char url[1024]; /* Encoded URL */
strcpy(url, "5;URL=");
strlcpy(url, "5;URL=", sizeof(url));
cgiFormEncode(url + 6, getenv("HTTP_REFERER"), sizeof(url) - 6);
cgiSetVariable("refresh_page", url);
}
@@ -195,7 +189,7 @@ do_job_op(http_t *http, /* I - HTTP connection */
cgiStartHTML(cgiText(_("Jobs")));
if (cupsLastError() > IPP_OK_CONFLICT)
cgiShowIPPError(_("Job operation failed:"));
cgiShowIPPError(_("Job operation failed"));
else if (op == IPP_CANCEL_JOB)
cgiCopyTemplateLang("job-cancel.tmpl");
else if (op == IPP_HOLD_JOB)
@@ -210,5 +204,5 @@ do_job_op(http_t *http, /* I - HTTP connection */
/*
* End of "$Id$".
* End of "$Id: jobs.c 11558 2014-02-06 18:33:34Z msweet $".
*/
+4 -4
Ver Arquivo
@@ -1,9 +1,9 @@
/*
* "$Id$"
* "$Id: makedocset.c 3833 2012-05-23 22:51:18Z msweet $"
*
* Xcode documentation set generator.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 2007-2012 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -31,7 +31,7 @@
* Include necessary headers...
*/
#include "cgi.h"
#include "cgi-private.h"
#include <errno.h>
@@ -482,5 +482,5 @@ write_nodes(const char *path, /* I - File to write */
/*
* End of "$Id$".
* End of "$Id: makedocset.c 3833 2012-05-23 22:51:18Z msweet $".
*/
+19 -27
Ver Arquivo
@@ -1,23 +1,16 @@
/*
* "$Id$"
* "$Id: printers.c 11928 2014-06-13 00:08:32Z msweet $"
*
* Printer status CGI for CUPS.
* Printer status CGI for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
* 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
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* main() - Main entry for CGI.
* do_printer_op() - Do a printer operation.
* show_all_printers() - Show all printers...
* show_printer() - Show a single printer.
* 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/".
*/
/*
@@ -43,8 +36,7 @@ static void show_printer(http_t *http, const char *printer);
*/
int /* O - Exit status */
main(int argc, /* I - Number of command-line arguments */
char *argv[]) /* I - Command-line arguments */
main(void)
{
const char *printer; /* Printer name */
const char *user; /* Username */
@@ -172,8 +164,8 @@ main(int argc, /* I - Number of command-line arguments */
do_printer_op(http, printer, CUPS_ACCEPT_JOBS, cgiText(_("Accept Jobs")));
else if (!strcmp(op, "reject-jobs"))
do_printer_op(http, printer, CUPS_REJECT_JOBS, cgiText(_("Reject Jobs")));
else if (!strcmp(op, "purge-jobs"))
do_printer_op(http, printer, IPP_PURGE_JOBS, cgiText(_("Purge Jobs")));
else if (!strcmp(op, "cancel-jobs"))
do_printer_op(http, printer, IPP_OP_CANCEL_JOBS, cgiText(_("Cancel Jobs")));
else if (!_cups_strcasecmp(op, "print-self-test-page"))
cgiPrintCommand(http, printer, "PrintSelfTestPage",
cgiText(_("Print Self-Test Page")));
@@ -266,7 +258,7 @@ do_printer_op(http_t *http, /* I - HTTP connection */
else if (cupsLastError() > IPP_OK_CONFLICT)
{
cgiStartHTML(title);
cgiShowIPPError(_("Unable to do maintenance command:"));
cgiShowIPPError(_("Unable to do maintenance command"));
}
else
{
@@ -293,8 +285,8 @@ do_printer_op(http_t *http, /* I - HTTP connection */
cgiCopyTemplateLang("printer-accept.tmpl");
else if (op == CUPS_REJECT_JOBS)
cgiCopyTemplateLang("printer-reject.tmpl");
else if (op == IPP_PURGE_JOBS)
cgiCopyTemplateLang("printer-purge.tmpl");
else if (op == IPP_OP_CANCEL_JOBS)
cgiCopyTemplateLang("printer-cancel-jobs.tmpl");
}
cgiEndHTML();
@@ -397,7 +389,7 @@ show_all_printers(http_t *http, /* I - Connection to server */
sprintf(val, "%d", count);
cgiSetVariable("TOTAL", val);
if ((var = cgiGetVariable("ORDER")) != NULL)
if ((var = cgiGetVariable("ORDER")) != NULL && *var)
ascending = !_cups_strcasecmp(var, "asc");
else
ascending = 1;
@@ -464,7 +456,7 @@ show_all_printers(http_t *http, /* I - Connection to server */
* Show the error...
*/
cgiShowIPPError(_("Unable to get printer list:"));
cgiShowIPPError(_("Unable to get printer list"));
}
cgiEndHTML();
@@ -566,7 +558,7 @@ show_printer(http_t *http, /* I - Connection to server */
*/
cgiStartHTML(printer);
cgiShowIPPError(_("Unable to get printer status:"));
cgiShowIPPError(_("Unable to get printer status"));
}
cgiEndHTML();
@@ -574,5 +566,5 @@ show_printer(http_t *http, /* I - Connection to server */
/*
* End of "$Id$".
* End of "$Id: printers.c 11928 2014-06-13 00:08:32Z msweet $".
*/
+20 -26
Ver Arquivo
@@ -1,22 +1,16 @@
/*
* "$Id$"
* "$Id: search.c 11558 2014-02-06 18:33:34Z msweet $"
*
* Search routines for CUPS.
* Search routines for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
* 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
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* cgiCompileSearch() - Compile a search string.
* cgiDoSearch() - Do a search of some text.
* cgiFreeSearch() - Free a compiled search context.
* 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/".
*/
/*
@@ -38,12 +32,12 @@ cgiCompileSearch(const char *query) /* I - Query string */
char *s, /* Regular expression string */
*sptr, /* Pointer into RE string */
*sword; /* Pointer to start of word */
int slen; /* Allocated size of RE string */
size_t slen; /* Allocated size of RE string */
const char *qptr, /* Pointer into query string */
*qend; /* End of current word */
const char *prefix; /* Prefix to add to next word */
int quoted; /* Word is quoted */
int wlen; /* Word length */
size_t wlen; /* Word length */
char *lword; /* Last word in query */
@@ -139,7 +133,7 @@ cgiCompileSearch(const char *query) /* I - Query string */
for (qend = qptr + 1; *qend && !isspace(*qend); qend ++);
}
wlen = qend - qptr;
wlen = (size_t)(qend - qptr);
/*
* Look for logic words: AND, OR
@@ -174,7 +168,7 @@ cgiCompileSearch(const char *query) /* I - Query string */
* string + RE overhead...
*/
wlen = (sptr - s) + 2 * 4 * wlen + 2 * strlen(prefix) + 11;
wlen = (size_t)(sptr - s) + 2 * 4 * wlen + 2 * strlen(prefix) + 11;
if (lword)
wlen += strlen(lword);
@@ -208,7 +202,7 @@ cgiCompileSearch(const char *query) /* I - Query string */
* Add the prefix string...
*/
strcpy(sptr, prefix);
memcpy(sptr, prefix, strlen(prefix) + 1);
sptr += strlen(sptr);
/*
@@ -249,16 +243,16 @@ cgiCompileSearch(const char *query) /* I - Query string */
return (NULL);
}
strcpy(sptr, ".*|.*");
memcpy(sptr, ".*|.*", 6);
sptr += 5;
strcpy(sptr, lword2);
memcpy(sptr, lword2, strlen(lword2) + 1);
sptr += strlen(sptr);
strcpy(sptr, ".*");
memcpy(sptr, ".*", 3);
sptr += 2;
strcpy(sptr, lword);
memcpy(sptr, lword, strlen(lword) + 1);
sptr += strlen(sptr);
free(lword);
@@ -287,7 +281,7 @@ cgiCompileSearch(const char *query) /* I - Query string */
free(lword);
if (sptr > s)
strcpy(sptr, ".*");
memcpy(sptr, ".*", 3);
else
{
/*
@@ -377,5 +371,5 @@ cgiFreeSearch(void *search) /* I - Search context */
/*
* End of "$Id$".
* End of "$Id: search.c 11558 2014-02-06 18:33:34Z msweet $".
*/
+21 -64
Ver Arquivo
@@ -1,27 +1,16 @@
/*
* "$Id$"
* "$Id: template.c 12700 2015-06-08 18:32:35Z msweet $"
*
* CGI template function.
* CGI template function.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
* 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
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* cgiCopyTemplateFile() - Copy a template file and replace all the
* '{variable}' strings with the variable value.
* cgiCopyTemplateLang() - Copy a template file using a language...
* cgiGetTemplateDir() - Get the templates directory...
* cgiSetServerVersion() - Set the server name and CUPS version...
* cgi_copy() - Copy the template file, substituting as needed...
* cgi_puts() - Put a string to the output file, quoting as
* needed...
* 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/".
*/
#include "cgi-private.h"
@@ -266,7 +255,7 @@ cgi_copy(FILE *out, /* I - Output file */
else if (s > name && ch == '?')
break;
else if (s < (name + sizeof(name) - 1))
*s++ = ch;
*s++ = (char)ch;
*s = '\0';
@@ -443,7 +432,7 @@ cgi_copy(FILE *out, /* I - Output file */
* {name~refex?true:false} Regex match
*/
op = ch;
op = (char)ch;
if (ch == '?')
{
@@ -486,7 +475,7 @@ cgi_copy(FILE *out, /* I - Output file */
innerptr = innername;
while ((ch = getc(in)) != EOF && ch != '}')
if (innerptr < (innername + sizeof(innername) - 1))
*innerptr++ = ch;
*innerptr++ = (char)ch;
*innerptr = '\0';
if (innername[0] == '#')
@@ -498,26 +487,26 @@ cgi_copy(FILE *out, /* I - Output file */
if ((innerval = cgiGetArray(innername, atoi(innerptr) - 1)) == NULL)
*s = '\0';
else
strlcpy(s, innerval, sizeof(compare) - (s - compare));
strlcpy(s, innerval, sizeof(compare) - (size_t)(s - compare));
}
else if (innername[0] == '?')
{
if ((innerval = cgiGetArray(innername + 1, element)) == NULL)
*s = '\0';
else
strlcpy(s, innerval, sizeof(compare) - (s - compare));
strlcpy(s, innerval, sizeof(compare) - (size_t)(s - compare));
}
else if ((innerval = cgiGetArray(innername, element)) == NULL)
snprintf(s, sizeof(compare) - (s - compare), "{%s}", innername);
snprintf(s, sizeof(compare) - (size_t)(s - compare), "{%s}", innername);
else
strlcpy(s, innerval, sizeof(compare) - (s - compare));
strlcpy(s, innerval, sizeof(compare) - (size_t)(s - compare));
s += strlen(s);
}
else if (ch == '\\')
*s++ = getc(in);
*s++ = (char)getc(in);
else
*s++ = ch;
*s++ = (char)ch;
*s = '\0';
@@ -553,7 +542,7 @@ cgi_copy(FILE *out, /* I - Output file */
if (regcomp(&re, compare, REG_EXTENDED | REG_ICASE))
{
fprintf(stderr,
"ERROR: Unable to compile regular expresion \"%s\"!\n",
"ERROR: Unable to compile regular expression \"%s\"!\n",
compare);
result = 0;
}
@@ -659,39 +648,7 @@ cgi_puts(const char *s, /* I - String to output */
while (*s)
{
if (*s == '<')
{
/*
* Pass <A HREF="url"> and </A>, otherwise quote it...
*/
if (!_cups_strncasecmp(s, "<A HREF=\"", 9))
{
fputs("<A HREF=\"", out);
s += 9;
while (*s && *s != '\"')
{
if (*s == '&')
fputs("&amp;", out);
else
putc(*s, out);
s ++;
}
if (*s)
s ++;
fputs("\">", out);
}
else if (!_cups_strncasecmp(s, "</A>", 4))
{
fputs("</A>", out);
s += 3;
}
else
fputs("&lt;", out);
}
fputs("&lt;", out);
else if (*s == '>')
fputs("&gt;", out);
else if (*s == '\"')
@@ -729,5 +686,5 @@ cgi_puturi(const char *s, /* I - String to output */
/*
* End of "$Id$".
* End of "$Id: template.c 12700 2015-06-08 18:32:35Z msweet $".
*/
+11 -17
Ver Arquivo
@@ -1,21 +1,16 @@
/*
* "$Id$"
* "$Id: testcgi.c 11558 2014-02-06 18:33:34Z msweet $"
*
* CGI test program for CUPS.
* CGI test program for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2005 by Easy Software Products.
* 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
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* main() - Test the help index code.
* list_nodes() - List nodes in an array...
* 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/".
*/
/*
@@ -30,8 +25,7 @@
*/
int /* O - Exit status */
main(int argc, /* I - Number of command-line arguments */
char *argv[]) /* I - Command-line arguments */
main(void)
{
/*
* Test file upload/multi-part submissions...
@@ -71,5 +65,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
* End of "$Id$".
* End of "$Id: testcgi.c 11558 2014-02-06 18:33:34Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: testhi.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Help index test program for CUPS.
*
@@ -109,5 +109,5 @@ list_nodes(const char *title, /* I - Title string */
/*
* End of "$Id$".
* End of "$Id: testhi.c 10996 2013-05-29 11:51:34Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: testtemplate.c 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI template test program for CUPS.
*
@@ -99,5 +99,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
* End of "$Id$".
* End of "$Id: testtemplate.c 10996 2013-05-29 11:51:34Z msweet $".
*/
+74 -78
Ver Arquivo
@@ -1,49 +1,20 @@
/*
* "$Id$"
* "$Id: var.c 12621 2015-05-06 21:32:18Z msweet $"
*
* CGI form variable and array functions for CUPS.
* CGI form variable and array functions for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2005 by Easy Software Products.
* 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
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* cgiCheckVariables() - Check for the presence of "required"
* variables.
* cgiClearVariables() - Clear all form variables.
* cgiGetArray() - Get an element from a form array.
* cgiGetCookie() - Get a cookie value.
* cgiGetFile() - Get the file (if any) that was submitted in
* the form.
* cgiGetSize() - Get the size of a form array value.
* cgiGetVariable() - Get a CGI variable from the database.
* cgiInitialize() - Initialize the CGI variable "database".
* cgiIsPOST() - Determine whether this page was POSTed.
* cgiSetArray() - Set array element N to the specified string.
* cgiSetCookie() - Set a cookie value.
* cgiSetSize() - Set the array size.
* cgiSetVariable() - Set a CGI variable in the database.
* cgi_add_variable() - Add a form variable.
* cgi_compare_variables() - Compare two variables.
* cgi_find_variable() - Find a variable.
* cgi_initialize_cookies() - Initialize cookies.
* cgi_initialize_get() - Initialize form variables using the GET
* method.
* cgi_initialize_multipart() - Initialize variables and file using the POST
* method.
* cgi_initialize_post() - Initialize variables using the POST method.
* cgi_initialize_string() - Initialize form variables from a string.
* cgi_passwd() - Catch authentication requests and notify the
* server.
* cgi_set_sid() - Set the CUPS session ID.
* cgi_sort_variables() - Sort all form variables for faster lookup.
* cgi_unlink_file() - Remove the uploaded form.
* 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/".
*/
/*
* Include necessary headers...
*/
/*#define DEBUG*/
@@ -167,6 +138,8 @@ cgiClearVariables(void)
_cgi_var_t *v; /* Current variable */
fputs("DEBUG: cgiClearVariables called.\n", stderr);
for (v = form_vars, i = form_count; i > 0; v ++, i --)
{
_cupsStrFree(v->name);
@@ -401,6 +374,8 @@ cgiSetArray(const char *name, /* I - Name of variable */
if (name == NULL || value == NULL || element < 0 || element > 100000)
return;
fprintf(stderr, "DEBUG: cgiSetArray: %s[%d]=\"%s\"\n", name, element, value);
if ((var = cgi_find_variable(name)) == NULL)
{
cgi_add_variable(name, element, value);
@@ -413,7 +388,7 @@ cgiSetArray(const char *name, /* I - Name of variable */
const char **temp; /* Temporary pointer */
temp = (const char **)realloc((void *)(var->values),
sizeof(char *) * (element + 16));
sizeof(char *) * (size_t)(element + 16));
if (!temp)
return;
@@ -452,19 +427,19 @@ cgiSetCookie(const char *name, /* I - Name */
printf("Set-Cookie: %s=%s;", name, value);
if (path)
printf("; path=%s", path);
printf(" path=%s;", path);
if (domain)
printf("; domain=%s", domain);
printf(" domain=%s;", domain);
if (expires)
{
char date[256]; /* Date string */
printf("; expires=%s", httpGetDateString2(expires, date, sizeof(date)));
printf(" expires=%s;", httpGetDateString2(expires, date, sizeof(date)));
}
if (secure)
puts("; secure;");
puts(" httponly; secure;");
else
puts(";");
puts(" httponly;");
}
@@ -491,7 +466,7 @@ cgiSetSize(const char *name, /* I - Name of variable */
const char **temp; /* Temporary pointer */
temp = (const char **)realloc((void *)(var->values),
sizeof(char *) * (size + 16));
sizeof(char *) * (size_t)(size + 16));
if (!temp)
return;
@@ -532,6 +507,8 @@ cgiSetVariable(const char *name, /* I - Name of variable */
if (name == NULL || value == NULL)
return;
fprintf(stderr, "cgiSetVariable: %s=\"%s\"\n", name, value);
if ((var = cgi_find_variable(name)) == NULL)
{
cgi_add_variable(name, 0, value);
@@ -575,7 +552,7 @@ cgi_add_variable(const char *name, /* I - Variable name */
if (form_alloc == 0)
temp_vars = malloc(sizeof(_cgi_var_t) * 16);
else
temp_vars = realloc(form_vars, (form_alloc + 16) * sizeof(_cgi_var_t));
temp_vars = realloc(form_vars, (size_t)(form_alloc + 16) * sizeof(_cgi_var_t));
if (!temp_vars)
return;
@@ -586,7 +563,7 @@ cgi_add_variable(const char *name, /* I - Variable name */
var = form_vars + form_count;
if ((var->values = calloc(element + 1, sizeof(char *))) == NULL)
if ((var->values = calloc((size_t)element + 1, sizeof(char *))) == NULL)
return;
var->name = _cupsStrAlloc(name);
@@ -626,7 +603,7 @@ cgi_find_variable(const char *name) /* I - Name of variable */
key.name = name;
return ((_cgi_var_t *)bsearch(&key, form_vars, form_count, sizeof(_cgi_var_t),
return ((_cgi_var_t *)bsearch(&key, form_vars, (size_t)form_count, sizeof(_cgi_var_t),
(int (*)(const void *, const void *))cgi_compare_variables));
}
@@ -649,6 +626,8 @@ cgi_initialize_cookies(void)
while (*cookie)
{
int skip = 0; /* Skip this cookie? */
/*
* Skip leading whitespace...
*/
@@ -664,9 +643,14 @@ cgi_initialize_cookies(void)
for (ptr = name; *cookie && *cookie != '=';)
if (ptr < (name + sizeof(name) - 1))
{
*ptr++ = *cookie++;
}
else
break;
{
skip = 1;
cookie ++;
}
if (*cookie != '=')
break;
@@ -682,26 +666,38 @@ cgi_initialize_cookies(void)
{
for (cookie ++, ptr = value; *cookie && *cookie != '\"';)
if (ptr < (value + sizeof(value) - 1))
{
*ptr++ = *cookie++;
}
else
break;
{
skip = 1;
cookie ++;
}
if (*cookie == '\"')
cookie ++;
else
skip = 1;
}
else
{
for (ptr = value; *cookie && *cookie != ';';)
if (ptr < (value + sizeof(value) - 1))
{
*ptr++ = *cookie++;
}
else
break;
{
skip = 1;
cookie ++;
}
}
if (*cookie == ';')
cookie ++;
else if (*cookie)
break;
skip = 1;
*ptr = '\0';
@@ -710,7 +706,7 @@ cgi_initialize_cookies(void)
* "$"...
*/
if (name[0] != '$')
if (name[0] != '$' && !skip)
num_cookies = cupsAddOption(name, value, num_cookies, &cookies);
}
}
@@ -763,8 +759,8 @@ cgi_initialize_multipart(
*ptr, /* Pointer into name/filename */
*end; /* End of buffer */
int ch, /* Character from file */
fd, /* Temporary file descriptor */
blen; /* Length of boundary string */
fd; /* Temporary file descriptor */
size_t blen; /* Length of boundary string */
DEBUG_printf(("cgi_initialize_multipart(boundary=\"%s\")\n", boundary));
@@ -829,22 +825,22 @@ cgi_initialize_multipart(
while ((ch = getchar()) != EOF)
{
*ptr++ = ch;
*ptr++ = (char)ch;
if ((ptr - line) >= blen && !memcmp(ptr - blen, bstring, blen))
if ((size_t)(ptr - line) >= blen && !memcmp(ptr - blen, bstring, blen))
{
ptr -= blen;
break;
}
if ((ptr - line - blen) >= 8192)
if ((ptr - line - (int)blen) >= 8192)
{
/*
* Write out the first 8k of the buffer...
*/
write(fd, line, 8192);
memmove(line, line + 8192, ptr - line - 8192);
memmove(line, line + 8192, (size_t)(ptr - line - 8192));
ptr -= 8192;
}
}
@@ -854,7 +850,7 @@ cgi_initialize_multipart(
*/
if (ptr > line)
write(fd, line, ptr - line);
write(fd, line, (size_t)(ptr - line));
close(fd);
}
@@ -871,9 +867,9 @@ cgi_initialize_multipart(
while ((ch = getchar()) != EOF)
{
if (ptr < end)
*ptr++ = ch;
*ptr++ = (char)ch;
if ((ptr - line) >= blen && !memcmp(ptr - blen, bstring, blen))
if ((size_t)(ptr - line) >= blen && !memcmp(ptr - blen, bstring, blen))
{
ptr -= blen;
break;
@@ -973,12 +969,12 @@ cgi_initialize_multipart(
static int /* O - 1 if form data was read */
cgi_initialize_post(void)
{
char *content_length, /* Length of input data (string) */
*data; /* Pointer to form data string */
int length, /* Length of input data */
nbytes, /* Number of bytes read this read() */
tbytes, /* Total number of bytes read */
status; /* Return status */
char *content_length, /* Length of input data (string) */
*data; /* Pointer to form data string */
size_t length, /* Length of input data */
tbytes; /* Total number of bytes read */
ssize_t nbytes; /* Number of bytes read this read() */
int status; /* Return status */
DEBUG_puts("cgi_initialize_post: Initializing variables using POST method...");
@@ -995,7 +991,7 @@ cgi_initialize_post(void)
* Get the length of the input stream and allocate a buffer for it...
*/
length = atoi(content_length);
length = (size_t)strtol(content_length, NULL, 10);
data = malloc(length + 1);
if (data == NULL)
@@ -1005,8 +1001,8 @@ cgi_initialize_post(void)
* Read the data into the buffer...
*/
for (tbytes = 0; tbytes < length; tbytes += nbytes)
if ((nbytes = read(0, data + tbytes, length - tbytes)) < 0)
for (tbytes = 0; tbytes < length; tbytes += (size_t)nbytes)
if ((nbytes = read(0, data + tbytes, (size_t)(length - tbytes))) < 0)
{
if (errno != EAGAIN)
{
@@ -1120,7 +1116,7 @@ cgi_initialize_string(const char *data) /* I - Form data string */
ch = *data - '0';
if (ch > 9)
ch -= 7;
*s = ch << 4;
*s = (char)(ch << 4);
data ++;
ch = *data - '0';
@@ -1258,7 +1254,7 @@ cgi_sort_variables(void)
if (form_count < 2)
return;
qsort(form_vars, form_count, sizeof(_cgi_var_t),
qsort(form_vars, (size_t)form_count, sizeof(_cgi_var_t),
(int (*)(const void *, const void *))cgi_compare_variables);
#ifdef DEBUG
@@ -1301,5 +1297,5 @@ cgi_unlink_file(void)
/*
* End of "$Id$".
* End of "$Id: var.c 12621 2015-05-06 21:32:18Z msweet $".
*/
-116
Ver Arquivo
@@ -1,116 +0,0 @@
/*
* "$Id$"
*
* Web search program for www.cups.org.
*
* Copyright 2007-2009 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/".
*
* Usage:
*
* websearch directory "search string"
*
* Contents:
*
* main() - Search a directory of help files.
* list_nodes() - List matching nodes.
*/
/*
* Include necessary headers...
*/
#include "cgi.h"
/*
* Local functions...
*/
static void list_nodes(help_index_t *hi, const char *title,
cups_array_t *nodes);
/*
* 'main()' - Test the help index code.
*/
int /* O - Exit status */
main(int argc, /* I - Number of command-line args */
char *argv[]) /* I - Command-line arguments */
{
help_index_t *hi, /* Help index */
*search; /* Search index */
char indexname[1024]; /* Name of index file */
if (argc != 3)
{
puts("Usage: websearch directory \"search terms\"");
return (1);
}
/*
* Load the help index...
*/
snprintf(indexname, sizeof(indexname), "%s/.index", argv[1]);
hi = helpLoadIndex(indexname, argv[1]);
/*
* Do any searches...
*/
search = helpSearchIndex(hi, argv[2], NULL, NULL);
if (search)
list_nodes(hi, argv[1], search->sorted);
/*
* Return with no errors...
*/
return (0);
}
/*
* 'list_nodes()' - List nodes in an array...
*/
static void
list_nodes(help_index_t *hi, /* I - Help index */
const char *title, /* I - Title string */
cups_array_t *nodes) /* I - Nodes */
{
help_node_t *node, /* Current node */
*file; /* File node */
printf("%d\n", cupsArrayCount(nodes));
for (node = (help_node_t *)cupsArrayFirst(nodes);
node;
node = (help_node_t *)cupsArrayNext(nodes))
{
if (node->anchor)
{
file = helpFindNode(hi, node->filename, NULL);
printf("%d|%s#%s|%s|%s\n", node->score, node->filename, node->anchor,
node->text, file ? file->text : node->filename);
}
else
printf("%d|%s|%s|%s\n", node->score, node->filename, node->text,
node->text);
}
}
/*
* End of "$Id$".
*/
+5 -5
Ver Arquivo
@@ -1,9 +1,9 @@
#
# "$Id$"
# "$Id: Makefile 12533 2015-02-27 12:30:26Z msweet $"
#
# Configuration file makefile for CUPS.
#
# Copyright 2007-2011 by Apple Inc.
# Copyright 2007-2015 by Apple Inc.
# Copyright 1993-2006 by Easy Software Products.
#
# These coded instructions, statements, and computer programs are the
@@ -19,7 +19,7 @@ include ../Makedefs
# Config files...
#
KEEP = cupsd.conf snmp.conf
KEEP = cups-files.conf cupsd.conf snmp.conf
REPLACE = mime.convs mime.types
@@ -76,8 +76,8 @@ install-data:
else \
$(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT) ; \
fi ; \
$(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT)/$$file.default; \
done
$(INSTALL_CONFIG) -g $(CUPS_GROUP) cupsd.conf $(SERVERROOT)/cupsd.conf.default
$(INSTALL_DIR) -m 755 $(DATADIR)/mime
for file in $(REPLACE); do \
if test -r $(DATADIR)/mime/$$file ; then \
@@ -139,5 +139,5 @@ uninstall:
#
# End of "$Id$".
# End of "$Id: Makefile 12533 2015-02-27 12:30:26Z msweet $".
#
+93
Ver Arquivo
@@ -0,0 +1,93 @@
#
# File/directory/user/group configuration file for the CUPS scheduler.
# See "man cups-files.conf" for a complete description of this file.
#
# List of events that are considered fatal errors for the scheduler...
#FatalErrors @CUPS_FATAL_ERRORS@
# Do we call fsync() after writing configuration or status files?
#SyncOnClose No
# Default user and group for filters/backends/helper programs; this cannot be
# any user or group that resolves to ID 0 for security reasons...
#User @CUPS_USER@
#Group @CUPS_GROUP@
# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
# This cannot contain the Group value for security reasons...
SystemGroup @CUPS_SYSTEM_GROUPS@
@CUPS_SYSTEM_AUTHKEY@
# User that is substituted for unauthenticated (remote) root accesses...
#RemoteRoot remroot
# Do we allow file: device URIs other than to /dev/null?
#FileDevice No
# Permissions for configuration and log files...
#ConfigFilePerm 0@CUPS_CONFIG_FILE_PERM@
#LogFilePerm 0@CUPS_LOG_FILE_PERM@
# Location of the file logging all access to the scheduler; may be the name
# "syslog". If not an absolute path, the value of ServerRoot is used as the
# root directory. Also see the "AccessLogLevel" directive in cupsd.conf.
AccessLog @CUPS_LOGDIR@/access_log
# Location of cache files used by the scheduler...
#CacheDir @CUPS_CACHEDIR@
# Location of data files used by the scheduler...
#DataDir @CUPS_DATADIR@
# Location of the static web content served by the scheduler...
#DocumentRoot @CUPS_DOCROOT@
# Location of the file logging all messages produced by the scheduler and any
# helper programs; may be the name "syslog". If not an absolute path, the value
# of ServerRoot is used as the root directory. Also see the "LogLevel"
# directive in cupsd.conf.
ErrorLog @CUPS_LOGDIR@/error_log
# Location of fonts used by older print filters...
#FontPath @CUPS_FONTPATH@
# Location of LPD configuration
#LPDConfigFile @CUPS_DEFAULT_LPD_CONFIG_FILE@
# Location of the file logging all pages printed by the scheduler and any
# helper programs; may be the name "syslog". If not an absolute path, the value
# of ServerRoot is used as the root directory. Also see the "PageLogFormat"
# directive in cupsd.conf.
PageLog @CUPS_LOGDIR@/page_log
# Location of the file listing all of the local printers...
#Printcap @CUPS_DEFAULT_PRINTCAP@
# Format of the Printcap file...
#PrintcapFormat bsd
#PrintcapFormat plist
#PrintcapFormat solaris
# Location of all spool files...
#RequestRoot @CUPS_REQUESTS@
# Location of helper programs...
#ServerBin @CUPS_SERVERBIN@
# SSL/TLS keychain for the scheduler...
#ServerKeychain @CUPS_SERVERKEYCHAIN@
# Location of other configuration files...
#ServerRoot @CUPS_SERVERROOT@
# Location of Samba configuration file...
#SMBConfigFile @CUPS_DEFAULT_SMB_CONFIG_FILE@
# Location of scheduler state files...
#StateDir @CUPS_STATEDIR@
# Location of scheduler/helper temporary files. This directory is emptied on
# scheduler startup and cannot be one of the standard (public) temporary
# directory locations for security reasons...
#TempDir @CUPS_REQUESTS@/tmp
+9 -13
Ver Arquivo
@@ -1,17 +1,12 @@
#
# "$Id$"
#
# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# Configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#
# Log general information in error_log - change "@CUPS_LOG_LEVEL@" to "debug"
# for troubleshooting...
LogLevel @CUPS_LOG_LEVEL@
# Administrator user group...
SystemGroup @CUPS_SYSTEM_GROUPS@
@CUPS_SYSTEM_AUTHKEY@
@CUPS_PAGE_LOG_FORMAT@
# Only listen for connections from the local machine.
Listen localhost:@DEFAULT_IPP_PORT@
@@ -19,8 +14,6 @@ Listen localhost:@DEFAULT_IPP_PORT@
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols @CUPS_BROWSE_LOCAL_PROTOCOLS@
# Default authentication type, when authentication is required...
@@ -46,6 +39,13 @@ WebInterface @CUPS_WEBIF@
Order allow,deny
</Location>
# Restrict access to log files...
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Set the default printer/job policies...
<Policy default>
# Job/subscription privacy...
@@ -134,7 +134,3 @@ WebInterface @CUPS_WEBIF@
Order deny,allow
</Limit>
</Policy>
#
# End of "$Id$".
#
+2 -40
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id$"
# "$Id: mime.convs.in 11025 2013-06-07 01:00:33Z msweet $"
#
# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
# VERSIONS OF CUPS. Instead, create a "local.convs" file that
@@ -38,51 +38,13 @@
# PostScript filters
#
@DEFAULT_PDFTOPS@application/pdf application/vnd.cups-postscript 66 pdftops
application/postscript application/vnd.cups-postscript 66 pstops
@DEFAULT_TEXTTOPS@application/x-cshell application/postscript 33 texttops
@DEFAULT_TEXTTOPS@application/x-csource application/postscript 33 texttops
@DEFAULT_TEXTTOPS@application/x-perl application/postscript 33 texttops
@DEFAULT_TEXTTOPS@application/x-shell application/postscript 33 texttops
@DEFAULT_TEXTTOPS@text/plain application/postscript 33 texttops
@DEFAULT_TEXTTOPS@text/css application/postscript 33 texttops
@DEFAULT_TEXTTOPS@text/html application/postscript 33 texttops
@DEFAULT_IMAGEFILTERS@image/gif application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/png application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/jpeg application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/tiff application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-bitmap application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-photocd application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-portable-anymap application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-portable-bitmap application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-portable-graymap application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-portable-pixmap application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-sgi-rgb application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-xbitmap application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-xpixmap application/vnd.cups-postscript 66 imagetops
@DEFAULT_IMAGEFILTERS@image/x-sun-raster application/vnd.cups-postscript 66 imagetops
@DEFAULT_BANNERTOPS@application/vnd.cups-banner application/postscript 33 bannertops
########################################################################
#
# Raster filters...
#
@DEFAULT_IMAGEFILTERS@image/gif application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/png application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/jpeg application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/tiff application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-bitmap application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-photocd application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-portable-anymap application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-portable-bitmap application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-portable-graymap application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-portable-pixmap application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-sgi-rgb application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-xbitmap application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-xpixmap application/vnd.cups-raster 100 imagetoraster
@DEFAULT_IMAGEFILTERS@image/x-sun-raster application/vnd.cups-raster 100 imagetoraster
# PWG Raster filter for IPP Everywhere...
application/vnd.cups-raster image/pwg-raster 100 rastertopwg
@@ -97,5 +59,5 @@ application/vnd.cups-raster image/pwg-raster 100 rastertopwg
@DEFAULT_RAW_PRINTING@application/octet-stream application/vnd.cups-raw 0 -
#
# End of "$Id$".
# End of "$Id: mime.convs.in 11025 2013-06-07 01:00:33Z msweet $".
#
+25 -17
Ver Arquivo
@@ -1,20 +1,20 @@
#
# "$Id: mime.types 9667 2011-04-01 04:48:21Z mike $"
# "$Id: mime.types 7670 2008-06-17 22:42:08Z mike $"
#
# Base MIME types file for CUPS.
# Base MIME types file for CUPS.
#
# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
# VERSIONS OF CUPS. Instead, create a "local.types" file that
# reflects your local configuration changes.
# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
# VERSIONS OF CUPS. Instead, create a "local.types" file that
# reflects your local configuration changes.
#
# Copyright 2007-2011 by Apple Inc.
# Copyright 1997-2007 by Easy Software Products.
# Copyright 2007-2015 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/".
# 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/".
#
########################################################################
@@ -37,6 +37,7 @@
# 100=default, 200=highest)
# printable(offset,length) True if bytes are printable 8-bit chars
# (CR, NL, TAB, BS, 32-126, 128-254)
# regex(offset,"regex") True if bytes match regular expression
# string(offset,"string") True if bytes are identical to string
# istring(offset,"string") True if bytes are identical to
# case-insensitive string
@@ -70,7 +71,7 @@
#
#application/msword doc string(0,<D0CF11E0A1B11AE1>)
application/pdf pdf string(0,%PDF)
application/pdf pdf regex(0,^[\n\r]*%PDF)
application/postscript ai eps ps string(0,%!) string(0,<04>%!) \
contains(0,128,<1B>%-12345X) + \
(contains(0,4096,"LANGUAGE=POSTSCRIPT") \
@@ -80,6 +81,13 @@ application/postscript ai eps ps string(0,%!) string(0,<04>%!) \
(contains(0,4096,<0a>%!) + \
!contains(0,4096,"ENTER LANGUAGE")))
application/g-code gcode
application/sla stl string(0,"solid ") + contains(0,4096,"facet") + contains(0,4096,"vertex")
application/vnd.makerbot-s3g x3g
model/amf amf
model/vnd.collada+xml dae
########################################################################
#
# Image files...
@@ -92,7 +100,7 @@ image/jpeg jpeg jpg jpe string(0,<FFD8FF>) +\
char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))
image/pwg-raster string(0,"RaS2") + string(356,<0000000000000000>) priority(100)
image/pwg-raster string(0,"RaS2") + string(4,PwgRaster<00>) priority(150)
image/tiff tiff tif string(0,MM<002A>) string(0,II<2A00>)
image/x-photocd pcd string(2048,PCD_IPI)
image/x-portable-anymap pnm
@@ -123,7 +131,7 @@ application/x-shell sh printable(0,1024) + string(0,#!) +\
(contains(2,80,/bash) contains(2,80,/ksh)\
contains(2,80,/sh) contains(2,80,/zsh))
application/x-csource c cxx cpp cc C h hpp \
printable(0,1024) + \
printable(0,1024) + ! css + \
(string(0,/*) string(0,//)
string(0,#include) contains(0,1024,<0a>#include) \
string(0,#define) contains(0,1024,<0a>#define))
@@ -152,7 +160,7 @@ application/vnd.cups-pdf
application/vnd.cups-postscript
application/vnd.cups-ppd ppd string(0,"*PPD-Adobe:")
application/vnd.cups-raster string(0,"RaSt") string(0,"tSaR") \
string(0,"RaS2") string(0,"2SaR") \
(string(0,"RaS2") + !string(4,PwgRaster<00>)) string(0,"2SaR") \
string(0,"RaS3") string(0,"3SaR")
application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B)) \
string(0,<1B>@) \
@@ -170,5 +178,5 @@ application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B)) \
application/octet-stream
#
# End of "$Id: mime.types 9667 2011-04-01 04:48:21Z mike $".
# End of "$Id: mime.types 7670 2008-06-17 22:42:08Z mike $".
#
+2 -8
Ver Arquivo
@@ -1,13 +1,7 @@
#
# "$Id$"
#
# Sample SNMP configuration file for CUPS. See "man cups-snmp.conf" for a
# complete description of this file.
# SNMP configuration file for CUPS. See "man cups-snmp.conf" for a complete
# description of this file.
#
@CUPS_SNMP_ADDRESS@
@CUPS_SNMP_COMMUNITY@
#
# End of "$Id$".
#
-140
Ver Arquivo
@@ -1,140 +0,0 @@
dnl
dnl "$Id: cups-3264.m4 9771 2011-05-12 05:21:56Z mike $"
dnl
dnl 32/64-bit library support stuff for CUPS.
dnl
dnl Copyright 2007-2011 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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl Setup support for separate 32/64-bit library generation...
AC_ARG_ENABLE(32bit, [ --enable-32bit generate 32-bit libraries on 32/64-bit systems])
INSTALL32=""
LIB32CUPS=""
LIB32CUPSIMAGE=""
LIB32DIR=""
UNINSTALL32=""
AC_SUBST(INSTALL32)
AC_SUBST(LIB32CUPS)
AC_SUBST(LIB32CUPSIMAGE)
AC_SUBST(LIB32DIR)
AC_SUBST(UNINSTALL32)
AC_ARG_ENABLE(64bit, [ --enable-64bit generate 64-bit libraries on 32/64-bit systems])
INSTALL64=""
LIB64CUPS=""
LIB64CUPSIMAGE=""
LIB64DIR=""
UNINSTALL64=""
AC_SUBST(INSTALL64)
AC_SUBST(LIB64CUPS)
AC_SUBST(LIB64CUPSIMAGE)
AC_SUBST(LIB64DIR)
AC_SUBST(UNINSTALL64)
case "$uname" in
HP-UX*)
if test "x$enable_32bit" = xyes; then
# Build 32-bit libraries, 64-bit base...
INSTALL32="install32bit"
LIB32CUPS="32bit/libcups.so.2"
LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
LIB32DIR="$exec_prefix/lib"
if test -d /usr/lib/hpux32; then
LIB32DIR="${LIB32DIR}/hpux32"
fi
UNINSTALL32="uninstall32bit"
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
INSTALL64="install64bit"
LIB64CUPS="64bit/libcups.so.2"
LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
LIB64DIR="$exec_prefix/lib"
if test -d /usr/lib/hpux64; then
LIB64DIR="${LIB64DIR}/hpux64"
fi
UNINSTALL64="uninstall64bit"
fi
;;
IRIX)
if test "x$enable_32bit" = xyes; then
INSTALL32="install32bit"
LIB32CUPS="32bit/libcups.so.2"
LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
LIB32DIR="$prefix/lib32"
UNINSTALL32="uninstall32bit"
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
INSTALL64="install64bit"
LIB64CUPS="64bit/libcups.so.2"
LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
LIB64DIR="$prefix/lib64"
UNINSTALL64="uninstall64bit"
fi
;;
Linux*)
if test "x$enable_32bit" = xyes; then
# Build 32-bit libraries, 64-bit base...
INSTALL32="install32bit"
LIB32CUPS="32bit/libcups.so.2"
LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
LIB32DIR="$exec_prefix/lib"
if test -d /usr/lib32; then
LIB32DIR="${LIB32DIR}32"
fi
UNINSTALL32="uninstall32bit"
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
INSTALL64="install64bit"
LIB64CUPS="64bit/libcups.so.2"
LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
LIB64DIR="$exec_prefix/lib"
if test -d /usr/lib64; then
LIB64DIR="${LIB64DIR}64"
fi
UNINSTALL64="uninstall64bit"
fi
;;
SunOS*)
if test "x$enable_32bit" = xyes; then
# Build 32-bit libraries, 64-bit base...
INSTALL32="install32bit"
LIB32CUPS="32bit/libcups.so.2"
LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
LIB32DIR="$exec_prefix/lib/32"
UNINSTALL32="uninstall32bit"
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
INSTALL64="install64bit"
LIB64CUPS="64bit/libcups.so.2"
LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
LIB64DIR="$exec_prefix/lib/64"
UNINSTALL64="uninstall64bit"
fi
;;
esac
dnl
dnl End of "$Id: cups-3264.m4 9771 2011-05-12 05:21:56Z mike $".
dnl
+115 -62
Ver Arquivo
@@ -1,30 +1,38 @@
dnl
dnl "$Id: cups-common.m4 9810 2011-05-26 12:34:56Z mike $"
dnl "$Id: cups-common.m4 12852 2015-08-28 13:29:21Z msweet $"
dnl
dnl Common configuration stuff for CUPS.
dnl Common configuration stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl Copyright 2007-2015 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 file is missing or damaged, see the license at "http://www.cups.org/".
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl We need at least autoconf 2.60...
AC_PREREQ(2.60)
dnl Set the name of the config header file...
AC_CONFIG_HEADER(config.h)
dnl Version number information...
CUPS_VERSION="1.5b2"
CUPS_REVISION=""
#if test -z "$CUPS_REVISION" -a -d .svn; then
# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
#fi
CUPS_VERSION=2.1.2
case "$CUPS_VERSION" in
*svn)
if test -z "$CUPS_REVISION" -a -d .svn; then
CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
else
CUPS_REVISION=""
fi
;;
*)
CUPS_REVISION=""
;;
esac
CUPS_BUILD="cups-$CUPS_VERSION"
AC_ARG_WITH(cups_build, [ --with-cups-build set "cups-config --build" string ],
@@ -33,8 +41,8 @@ AC_ARG_WITH(cups_build, [ --with-cups-build set "cups-config --build" str
AC_SUBST(CUPS_VERSION)
AC_SUBST(CUPS_REVISION)
AC_SUBST(CUPS_BUILD)
AC_DEFINE_UNQUOTED(CUPS_SVERSION, "CUPS v$CUPS_VERSION$CUPS_REVISION")
AC_DEFINE_UNQUOTED(CUPS_MINIMAL, "CUPS/$CUPS_VERSION$CUPS_REVISION")
AC_DEFINE_UNQUOTED(CUPS_SVERSION, "AC_PACKAGE_NAME v$CUPS_VERSION$CUPS_REVISION")
AC_DEFINE_UNQUOTED(CUPS_MINIMAL, "AC_PACKAGE_NAME/$CUPS_VERSION$CUPS_REVISION")
dnl Default compiler flags...
CFLAGS="${CFLAGS:=}"
@@ -44,13 +52,13 @@ LDFLAGS="${LDFLAGS:=}"
dnl Checks for programs...
AC_PROG_AWK
AC_PROG_CC
AC_PROG_CC(clang cc gcc)
AC_PROG_CPP
AC_PROG_CXX
AC_PROG_CXX(clang++ c++ g++)
AC_PROG_RANLIB
AC_PATH_PROG(AR,ar)
AC_PATH_PROG(CHMOD,chmod)
AC_PATH_PROG(HTMLDOC,htmldoc)
AC_PATH_PROG(GZIP,gzip)
AC_PATH_PROG(LD,ld)
AC_PATH_PROG(LN,ln)
AC_PATH_PROG(MV,mv)
@@ -89,10 +97,12 @@ fi
AC_SUBST(INSTALLSTATIC)
dnl Check for pkg-config, which is used for some other tests later on...
AC_PATH_PROG(PKGCONFIG, pkg-config)
AC_PATH_TOOL(PKGCONFIG, pkg-config)
dnl Check for libraries...
AC_SEARCH_LIBS(abs, m, AC_DEFINE(HAVE_ABS))
AC_SEARCH_LIBS(crypt, crypt)
AC_SEARCH_LIBS(fmod, m)
AC_SEARCH_LIBS(getspent, sec gen)
LIBMALLOC=""
@@ -123,18 +133,19 @@ AC_SUBST(LIBPAPER)
dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADER(stdlib.h,AC_DEFINE(HAVE_STDLIB_H))
AC_CHECK_HEADER(crypt.h,AC_DEFINE(HAVE_CRYPT_H))
AC_CHECK_HEADER(langinfo.h,AC_DEFINE(HAVE_LANGINFO_H))
AC_CHECK_HEADER(malloc.h,AC_DEFINE(HAVE_MALLOC_H))
AC_CHECK_HEADER(shadow.h,AC_DEFINE(HAVE_SHADOW_H))
AC_CHECK_HEADER(stdint.h,AC_DEFINE(HAVE_STDINT_H))
AC_CHECK_HEADER(string.h,AC_DEFINE(HAVE_STRING_H))
AC_CHECK_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H))
AC_CHECK_HEADER(bstring.h,AC_DEFINE(HAVE_BSTRING_H))
AC_CHECK_HEADER(usersec.h,AC_DEFINE(HAVE_USERSEC_H))
AC_CHECK_HEADER(sys/ioctl.h,AC_DEFINE(HAVE_SYS_IOCTL_H))
AC_CHECK_HEADER(sys/param.h,AC_DEFINE(HAVE_SYS_PARAM_H))
AC_CHECK_HEADER(sys/ucred.h,AC_DEFINE(HAVE_SYS_UCRED_H))
AC_CHECK_HEADER(scsi/sg.h,AC_DEFINE(HAVE_SCSI_SG_H))
AC_CHECK_HEADER(asl.h,AC_DEFINE(HAVE_ASL_H))
dnl Checks for iconv.h and iconv_open
AC_CHECK_HEADER(iconv.h,
@@ -143,8 +154,21 @@ AC_CHECK_HEADER(iconv.h,
AC_SEARCH_LIBS(iconv_open,iconv,
AC_DEFINE(HAVE_ICONV_H)
SAVELIBS="$SAVELIBS $LIBS")
AC_SEARCH_LIBS(libiconv_open,iconv,
AC_DEFINE(HAVE_ICONV_H)
SAVELIBS="$SAVELIBS $LIBS")
LIBS="$SAVELIBS")
dnl Checks for Mini-XML (www.minixml.org)...
LIBMXML=""
AC_CHECK_HEADER(mxml.h,
SAVELIBS="$LIBS"
AC_SEARCH_LIBS(mmxlNewElement,mxml,
AC_DEFINE(HAVE_MXML_H)
LIBMXML="-lmxml")
LIBS="$SAVELIBS")
AC_SUBST(LIBMXML)
dnl Checks for statfs and its many headers...
AC_CHECK_HEADER(sys/mount.h,AC_DEFINE(HAVE_SYS_MOUNT_H))
AC_CHECK_HEADER(sys/statfs.h,AC_DEFINE(HAVE_SYS_STATFS_H))
@@ -188,6 +212,9 @@ AC_CHECK_FUNCS(sigaction)
dnl Checks for wait functions.
AC_CHECK_FUNCS(waitpid wait3)
dnl Check for posix_spawn
AC_CHECK_FUNCS(posix_spawn)
dnl See if the tm structure has the tm_gmtoff member...
AC_MSG_CHECKING(for tm_gmtoff member in tm structure)
AC_TRY_COMPILE([#include <time.h>],[struct tm t;
@@ -211,21 +238,28 @@ dnl See if we have libusb...
AC_ARG_ENABLE(libusb, [ --enable-libusb use libusb for USB printing])
LIBUSB=""
USBQUIRKS=""
AC_SUBST(LIBUSB)
AC_SUBST(USBQUIRKS)
if test x$enable_libusb = xyes; then
check_libusb=yes
elif test x$enable_libusb != xno -a $uname != Darwin; then
check_libusb=yes
else
check_libusb=no
fi
if test $check_libusb = yes; then
AC_CHECK_LIB(usb, usb_get_string_simple,[
AC_CHECK_HEADER(usb.h,
AC_DEFINE(HAVE_USB_H)
LIBUSB="-lusb")])
if test "x$PKGCONFIG" != x; then
if test x$enable_libusb != xno -a $uname != Darwin; then
AC_MSG_CHECKING(for libusb-1.0)
if $PKGCONFIG --exists libusb-1.0; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LIBUSB)
CFLAGS="$CFLAGS `$PKGCONFIG --cflags libusb-1.0`"
LIBUSB="`$PKGCONFIG --libs libusb-1.0`"
USBQUIRKS="\$(DATADIR)/usb"
else
AC_MSG_RESULT(no)
if test x$enable_libusb = xyes; then
AC_MSG_ERROR(libusb required for --enable-libusb.)
fi
fi
fi
elif test x$enable_libusb = xyes; then
AC_MSG_ERROR(Need pkg-config to enable libusb support.)
fi
dnl See if we have libwrap for TCP wrappers support...
@@ -241,6 +275,21 @@ if test x$enable_tcp_wrappers = xyes; then
LIBWRAP="-lwrap")])
fi
dnl ZLIB
INSTALL_GZIP=""
LIBZ=""
AC_CHECK_HEADER(zlib.h,
AC_CHECK_LIB(z, gzgets,
AC_DEFINE(HAVE_LIBZ)
LIBZ="-lz"
LIBS="$LIBS -lz"
AC_CHECK_LIB(z, inflateCopy, AC_DEFINE(HAVE_INFLATECOPY))
if test "x$GZIP" != z; then
INSTALL_GZIP="-z"
fi))
AC_SUBST(INSTALL_GZIP)
AC_SUBST(LIBZ)
dnl Flags for "ar" command...
case $uname in
Darwin* | *BSD*)
@@ -270,20 +319,15 @@ fi
LIBS="$SAVELIBS"
dnl Check for DBUS support
if test -d /etc/dbus-1; then
DBUSDIR="/etc/dbus-1"
else
DBUSDIR=""
fi
AC_ARG_ENABLE(dbus, [ --enable-dbus build with DBUS support])
AC_ARG_ENABLE(dbus, [ --disable-dbus build without DBUS support])
AC_ARG_WITH(dbusdir, [ --with-dbusdir set DBUS configuration directory ],
DBUSDIR="$withval")
DBUSDIR=""
DBUS_NOTIFIER=""
DBUS_NOTIFIERLIBS=""
if test "x$enable_dbus" != xno -a "x$PKGCONFIG" != x; then
if test "x$enable_dbus" != xno -a "x$PKGCONFIG" != x -a "x$uname" != xDarwin; then
AC_MSG_CHECKING(for DBUS)
if $PKGCONFIG --exists dbus-1; then
AC_MSG_RESULT(yes)
@@ -296,7 +340,12 @@ if test "x$enable_dbus" != xno -a "x$PKGCONFIG" != x; then
LIBS="$LIBS $DBUS_NOTIFIERLIBS"
AC_CHECK_FUNC(dbus_message_iter_init_append,
AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND))
AC_CHECK_FUNC(dbus_threads_init,
AC_DEFINE(HAVE_DBUS_THREADS_INIT))
LIBS="$SAVELIBS"
if test -d /etc/dbus-1; then
DBUSDIR="/etc/dbus-1"
fi
else
AC_MSG_RESULT(no)
fi
@@ -308,13 +357,12 @@ AC_SUBST(DBUS_NOTIFIERLIBS)
dnl Extra platform-specific libraries...
CUPS_DEFAULT_PRINTOPERATOR_AUTH="@SYSTEM"
CUPS_DEFAULT_SYSTEM_AUTHKEY=""
CUPS_SYSTEM_AUTHKEY=""
INSTALLXPC=""
LEGACY_BACKENDS="parallel"
case $uname in
Darwin*)
LEGACY_BACKENDS=""
BACKLIBS="$BACKLIBS -framework IOKit"
SERVERLIBS="$SERVERLIBS -framework IOKit -weak_framework ApplicationServices"
LIBS="-framework SystemConfiguration -framework CoreFoundation -framework Security $LIBS"
@@ -324,25 +372,15 @@ case $uname in
AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h,AC_DEFINE(HAVE_COREFOUNDATION_H))
AC_CHECK_HEADER(CoreFoundation/CFPriv.h,AC_DEFINE(HAVE_CFPRIV_H))
AC_CHECK_HEADER(CoreFoundation/CFBundlePriv.h,AC_DEFINE(HAVE_CFBUNDLEPRIV_H))
AC_CHECK_HEADER(IOKit/pwr_mgt/IOPMLibPrivate.h,AC_DEFINE(HAVE_IOKIT_PWR_MGT_IOPMLIBPRIVATE_H))
dnl Check for dynamic store function...
AC_CHECK_FUNCS(SCDynamicStoreCopyComputerName)
dnl Check for new ColorSync APIs...
SAVELIBS="$LIBS"
LIBS="$LIBS -framework ApplicationServices"
AC_CHECK_FUNCS(ColorSyncRegisterDevice)
LIBS="$SAVELIBS"
dnl Check for the new membership functions in MacOSX 10.4...
AC_CHECK_HEADER(membership.h,AC_DEFINE(HAVE_MEMBERSHIP_H))
AC_CHECK_HEADER(membershipPriv.h,AC_DEFINE(HAVE_MEMBERSHIPPRIV_H))
AC_CHECK_FUNCS(mbr_uid_to_uuid)
dnl Check for the vproc_transaction_begin/end stuff...
AC_CHECK_FUNCS(vproc_transaction_begin)
dnl Need <dlfcn.h> header...
AC_CHECK_HEADER(dlfcn.h,AC_DEFINE(HAVE_DLFCN_H))
@@ -363,10 +401,13 @@ case $uname in
if test "x$default_adminkey" != xdefault; then
CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey $default_adminkey"
CUPS_DEFAULT_SYSTEM_AUTHKEY="$default_adminkey"
elif grep -q system.print.operator /etc/authorization; then
CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.print.admin"
CUPS_DEFAULT_SYSTEM_AUTHKEY="system.print.admin"
else
CUPS_SYSTEM_AUTHKEY="SystemGroupAuthKey system.preferences"
CUPS_DEFAULT_SYSTEM_AUTHKEY="system.preferences"
fi
if test "x$default_operkey" != xdefault; then
@@ -380,21 +421,33 @@ case $uname in
dnl Check for sandbox/Seatbelt support
if test $uversion -ge 100; then
AC_CHECK_HEADER(sandbox.h,AC_DEFINE(HAVE_SANDBOX_H))
AC_CHECK_HEADER(sandbox.h,AC_DEFINE(HAVE_SANDBOX_H))
fi
if test $uversion -ge 110 -a $uversion -lt 120; then
# Broken public headers in 10.7.x...
AC_MSG_CHECKING(for sandbox/private.h presence)
if test -f /usr/local/include/sandbox/private.h; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(Run 'sudo mkdir -p /usr/local/include/sandbox' and 'sudo touch /usr/local/include/sandbox/private.h' to build CUPS.)
fi
fi
dnl Check for XPC support
AC_CHECK_HEADER(xpc/xpc.h,
AC_DEFINE(HAVE_XPC)
INSTALLXPC="install-xpc")
AC_CHECK_HEADER(xpc/private.h,
AC_DEFINE(HAVE_XPC_PRIVATE_H))
;;
esac
AC_SUBST(CUPS_DEFAULT_PRINTOPERATOR_AUTH)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_PRINTOPERATOR_AUTH, "$CUPS_DEFAULT_PRINTOPERATOR_AUTH")
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SYSTEM_AUTHKEY, "$CUPS_DEFAULT_SYSTEM_AUTHKEY")
AC_SUBST(CUPS_SYSTEM_AUTHKEY)
AC_SUBST(INSTALLXPC)
AC_SUBST(LEGACY_BACKENDS)
dnl Check for build components
COMPONENTS="all"
@@ -406,7 +459,7 @@ AC_ARG_WITH(components, [ --with-components set components to build:
case "$COMPONENTS" in
all)
BUILDDIRS="filter backend berkeley cgi-bin driver monitor notifier ppdc scheduler systemv conf data locale man doc examples templates"
BUILDDIRS="filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
;;
core)
@@ -421,5 +474,5 @@ esac
AC_SUBST(BUILDDIRS)
dnl
dnl End of "$Id: cups-common.m4 9810 2011-05-26 12:34:56Z mike $".
dnl End of "$Id: cups-common.m4 12852 2015-08-28 13:29:21Z msweet $".
dnl
+73 -387
Ver Arquivo
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-compiler.m4 9809 2011-05-26 12:24:20Z mike $"
dnl "$Id: cups-compiler.m4 12742 2015-06-23 14:48:53Z msweet $"
dnl
dnl Compiler stuff for CUPS.
dnl Compiler stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl Copyright 2007-2014 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 file is missing or damaged, see the license at "http://www.cups.org/".
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl Clear the debugging and non-shared library options unless the user asks
@@ -66,8 +66,8 @@ fi
if test -z "$with_ldarchflags"; then
if test "$uname" = Darwin; then
# Only create 32-bit programs by default
LDARCHFLAGS="`echo $ARCHFLAGS | sed -e '1,$s/-arch x86_64//' -e '1,$s/-arch ppc64//'`"
# Only create Intel programs by default
LDARCHFLAGS="`echo $ARCHFLAGS | sed -e '1,$s/-arch ppc64//'`"
else
LDARCHFLAGS="$ARCHFLAGS"
fi
@@ -78,15 +78,6 @@ fi
AC_SUBST(ARCHFLAGS)
AC_SUBST(LDARCHFLAGS)
dnl Setup support for separate 32/64-bit library generation...
AC_ARG_WITH(arch32flags, [ --with-arch32flags set 32-bit architecture flags])
ARCH32FLAGS=""
AC_SUBST(ARCH32FLAGS)
AC_ARG_WITH(arch64flags, [ --with-arch64flags set 64-bit architecture flags])
ARCH64FLAGS=""
AC_SUBST(ARCH64FLAGS)
dnl Read-only data/program support on Linux...
AC_ARG_ENABLE(relro, [ --enable-relro build with the GCC relro option])
@@ -100,9 +91,6 @@ AC_SUBST(PIEFLAGS)
RELROFLAGS=""
AC_SUBST(RELROFLAGS)
PHPOPTIONS=""
AC_SUBST(PHPOPTIONS)
if test -n "$GCC"; then
# Add GCC-specific compiler options...
if test -z "$OPTIM"; then
@@ -115,59 +103,89 @@ if test -n "$GCC"; then
fi
# Generate position-independent code as needed...
if test $PICFLAG = 1 -a $uname != AIX; then
if test $PICFLAG = 1; then
OPTIM="-fPIC $OPTIM"
fi
# The -fstack-protector option is available with some versions of
# GCC and adds "stack canaries" which detect when the return address
# has been overwritten, preventing many types of exploit attacks.
AC_MSG_CHECKING(if GCC supports -fstack-protector)
AC_MSG_CHECKING(whether compiler supports -fstack-protector)
OLDCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fstack-protector"
AC_TRY_LINK(,,
OPTIM="$OPTIM -fstack-protector"
if test "x$LSB_BUILD" = xy; then
# Can't use stack-protector with LSB binaries...
OPTIM="$OPTIM -fno-stack-protector"
else
OPTIM="$OPTIM -fstack-protector"
fi
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no))
CFLAGS="$OLDCFLAGS"
# The -fPIE option is available with some versions of GCC and adds
# randomization of addresses, which avoids another class of exploits
# that depend on a fixed address for common functions.
AC_MSG_CHECKING(if GCC supports -fPIE)
OLDCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fPIE"
AC_TRY_COMPILE(,,
[case "$CC" in
*clang)
PIEFLAGS="-fPIE -Wl,-pie"
if test "x$LSB_BUILD" != xy; then
# The -fPIE option is available with some versions of GCC and
# adds randomization of addresses, which avoids another class of
# exploits that depend on a fixed address for common functions.
#
# Not available to LSB binaries...
AC_MSG_CHECKING(whether compiler supports -fPIE)
OLDCFLAGS="$CFLAGS"
case "$uname" in
Darwin*)
CFLAGS="$CFLAGS -fPIE -Wl,-pie"
AC_TRY_COMPILE(,,[
PIEFLAGS="-fPIE -Wl,-pie"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
;;
*)
PIEFLAGS="-fPIE -pie"
CFLAGS="$CFLAGS -fPIE -pie"
AC_TRY_COMPILE(,,[
PIEFLAGS="-fPIE -pie"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
;;
esac
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
CFLAGS="$OLDCFLAGS"
CFLAGS="$OLDCFLAGS"
fi
if test "x$with_optim" = x; then
# Add useful warning options for tracking down problems...
OPTIM="-Wall -Wno-format-y2k -Wunused $OPTIM"
AC_MSG_CHECKING(whether compiler supports -Wno-unused-result)
OLDCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror -Wno-unused-result"
AC_TRY_COMPILE(,,
[OPTIM="$OPTIM -Wno-unused-result"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
CFLAGS="$OLDCFLAGS"
AC_MSG_CHECKING(whether compiler supports -Wsign-conversion)
OLDCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror -Wsign-conversion"
AC_TRY_COMPILE(,,
[OPTIM="$OPTIM -Wsign-conversion"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
CFLAGS="$OLDCFLAGS"
AC_MSG_CHECKING(whether compiler supports -Wno-tautological-compare)
OLDCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror -Wno-tautological-compare"
AC_TRY_COMPILE(,,
[OPTIM="$OPTIM -Wno-tautological-compare"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
CFLAGS="$OLDCFLAGS"
# Additional warning options for development testing...
if test -d .svn; then
OPTIM="-Wshadow $OPTIM"
CFLAGS="-Werror-implicit-function-declaration $CFLAGS"
PHPOPTIONS="-Wno-shadow"
else
AC_MSG_CHECKING(if GCC supports -Wno-tautological-compare)
OLDCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wno-tautological-compare"
AC_TRY_COMPILE(,,
[OPTIM="$OPTIM -Wno-tautological-compare"
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
CFLAGS="$OLDCFLAGS"
OPTIM="-Werror $OPTIM"
fi
fi
@@ -181,274 +199,17 @@ if test -n "$GCC"; then
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
;;
HP-UX*)
if test "x$enable_32bit" = xyes; then
# Build 32-bit libraries, 64-bit base...
if test -z "$with_arch32flags"; then
ARCH32FLAGS="-milp32"
else
ARCH32FLAGS="$with_arch32flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch64flags"; then
ARCHFLAGS="-mlp64"
else
ARCHFLAGS="$with_arch64flags"
fi
fi
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
if test -z "$with_arch64flags"; then
ARCH64FLAGS="-mlp64"
else
ARCH64FLAGS="$with_arch64flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch32flags"; then
ARCHFLAGS="-milp32"
else
ARCHFLAGS="$with_arch32flags"
fi
fi
fi
;;
IRIX)
if test "x$enable_32bit" = xyes; then
# Build 32-bit libraries, 64-bit base...
if test -z "$with_arch32flags"; then
ARCH32FLAGS="-n32 -mips3"
else
ARCH32FLAGS="$with_arch32flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch64flags"; then
ARCHFLAGS="-64 -mips4"
else
ARCHFLAGS="$with_arch64flags"
fi
fi
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
if test -z "$with_arch64flags"; then
ARCH64FLAGS="-64 -mips4"
else
ARCH64FLAGS="$with_arch64flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch32flags"; then
ARCHFLAGS="-n32 -mips3"
else
ARCHFLAGS="$with_arch32flags"
fi
fi
fi
;;
Linux*)
# The -z relro option is provided by the Linux linker command to
# make relocatable data read-only.
if test x$enable_relro = xyes; then
RELROFLAGS="-Wl,-z,relro"
fi
if test "x$enable_32bit" = xyes; then
# Build 32-bit libraries, 64-bit base...
if test -z "$with_arch32flags"; then
ARCH32FLAGS="-m32"
else
ARCH32FLAGS="$with_arch32flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch64flags"; then
ARCHFLAGS="-m64"
else
ARCHFLAGS="$with_arch64flags"
fi
fi
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
if test -z "$with_arch64flags"; then
ARCH64FLAGS="-m64"
else
ARCH64FLAGS="$with_arch64flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch32flags"; then
ARCHFLAGS="-m32"
else
ARCHFLAGS="$with_arch32flags"
fi
fi
fi
;;
SunOS*)
if test "x$enable_32bit" = xyes; then
# Build 32-bit libraries, 64-bit base...
if test -z "$with_arch32flags"; then
ARCH32FLAGS="-m32"
else
ARCH32FLAGS="$with_arch32flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch64flags"; then
ARCHFLAGS="-m64"
else
ARCHFLAGS="$with_arch64flags"
fi
fi
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
if test -z "$with_arch64flags"; then
ARCH64FLAGS="-m64"
else
ARCH64FLAGS="$with_arch64flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch32flags"; then
ARCHFLAGS="-m32"
else
ARCHFLAGS="$with_arch32flags"
fi
fi
RELROFLAGS="-Wl,-z,relro,-z,now"
fi
;;
esac
else
# Add vendor-specific compiler options...
case $uname in
AIX*)
if test -z "$OPTIM"; then
if test "x$with_optim" = x; then
OPTIM="-O2 -qmaxmem=6000"
else
OPTIM="$with_optim $OPTIM"
fi
fi
;;
HP-UX*)
if test -z "$OPTIM"; then
if test "x$with_optim" = x; then
OPTIM="+O2"
else
OPTIM="$with_optim $OPTIM"
fi
fi
CFLAGS="-Ae $CFLAGS"
if test $PICFLAG = 1; then
OPTIM="+z $OPTIM"
fi
if test "x$enable_32bit" = xyes; then
# Build 32-bit libraries, 64-bit base...
if test -z "$with_arch32flags"; then
ARCH32FLAGS="+DD32"
else
ARCH32FLAGS="$with_arch32flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch64flags"; then
ARCHFLAGS="+DD64"
else
ARCHFLAGS="$with_arch64flags"
fi
fi
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
if test -z "$with_arch64flags"; then
ARCH64FLAGS="+DD64"
else
ARCH64FLAGS="$with_arch64flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch32flags"; then
ARCHFLAGS="+DD32"
else
ARCHFLAGS="$with_arch32flags"
fi
fi
fi
;;
IRIX)
if test -z "$OPTIM"; then
if test "x$with_optim" = x; then
OPTIM="-O2"
else
OPTIM="$with_optim $OPTIM"
fi
fi
if test "x$with_optim" = x; then
OPTIM="-fullwarn -woff 1183,1209,1349,1506,3201 $OPTIM"
fi
if test "x$enable_32bit" = xyes; then
# Build 32-bit libraries, 64-bit base...
if test -z "$with_arch32flags"; then
ARCH32FLAGS="-n32 -mips3"
else
ARCH32FLAGS="$with_arch32flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch64flags"; then
ARCHFLAGS="-64 -mips4"
else
ARCHFLAGS="$with_arch64flags"
fi
fi
fi
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries, 32-bit base...
if test -z "$with_arch64flags"; then
ARCH64FLAGS="-64 -mips4"
else
ARCH64FLAGS="$with_arch64flags"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch32flags"; then
ARCHFLAGS="-n32 -mips3"
else
ARCHFLAGS="$with_arch32flags"
fi
fi
fi
;;
OSF*)
# Tru64 UNIX aka Digital UNIX aka OSF/1
if test -z "$OPTIM"; then
if test "x$with_optim" = x; then
OPTIM="-O"
else
OPTIM="$with_optim"
fi
fi
;;
SunOS*)
# Solaris
if test -z "$OPTIM"; then
@@ -459,61 +220,6 @@ else
fi
fi
if test $PICFLAG = 1; then
OPTIM="-KPIC $OPTIM"
fi
if test "x$enable_32bit" = xyes; then
# Compiling on a Solaris system, build 64-bit
# binaries with separate 32-bit libraries...
ARCH32FLAGS="-xarch=generic"
if test "x$with_optim" = x; then
# Suppress all of Sun's questionable
# warning messages, and default to
# 64-bit compiles of everything else...
OPTIM="-w $OPTIM"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch64flags"; then
ARCHFLAGS="-xarch=generic64"
else
ARCHFLAGS="$with_arch64flags"
fi
fi
else
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries...
ARCH64FLAGS="-xarch=generic64"
fi
if test "x$with_optim" = x; then
# Suppress all of Sun's questionable
# warning messages, and default to
# 32-bit compiles of everything else...
OPTIM="-w $OPTIM"
fi
if test -z "$with_archflags"; then
if test -z "$with_arch32flags"; then
ARCHFLAGS="-xarch=generic"
else
ARCHFLAGS="$with_arch32flags"
fi
fi
fi
;;
UNIX_SVR*)
# UnixWare
if test -z "$OPTIM"; then
if test "x$with_optim" = x; then
OPTIM="-O"
else
OPTIM="$with_optim $OPTIM"
fi
fi
if test $PICFLAG = 1; then
OPTIM="-KPIC $OPTIM"
fi
@@ -523,7 +229,7 @@ else
# should contribute the necessary options to
# cups-support@cups.org...
echo "Building CUPS with default compiler optimizations; contact"
echo "cups-bugs@cups.org with uname and compiler options needed"
echo "cups-devel@cups.org with uname and compiler options needed"
echo "for your platform, or set the CFLAGS and LDFLAGS environment"
echo "variables before running configure."
;;
@@ -532,33 +238,13 @@ fi
# Add general compiler options per platform...
case $uname in
HP-UX*)
# HP-UX 10.20 (at least) needs this definition to get the
# h_errno global...
OPTIM="$OPTIM -D_XOPEN_SOURCE_EXTENDED"
# HP-UX 11.00 (at least) needs this definition to get the
# u_short type used by the IP headers...
OPTIM="$OPTIM -D_INCLUDE_HPUX_SOURCE"
# HP-UX 11.23 (at least) needs this definition to get the
# IPv6 header to work...
OPTIM="$OPTIM -D_HPUX_SOURCE"
;;
Linux*)
# glibc 2.8 and higher breaks peer credentials unless you
# define _GNU_SOURCE...
OPTIM="$OPTIM -D_GNU_SOURCE"
;;
OSF*)
# Tru64 UNIX aka Digital UNIX aka OSF/1 need to be told
# to be POSIX-compliant...
OPTIM="$OPTIM -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_OSF_SOURCE"
;;
esac
dnl
dnl End of "$Id: cups-compiler.m4 9809 2011-05-26 12:24:20Z mike $".
dnl End of "$Id: cups-compiler.m4 12742 2015-06-23 14:48:53Z msweet $".
dnl
+31 -128
Ver Arquivo
@@ -1,9 +1,9 @@
dnl
dnl "$Id: cups-defaults.m4 9750 2011-05-06 22:53:53Z mike $"
dnl "$Id: cups-defaults.m4 12846 2015-08-26 18:26:22Z msweet $"
dnl
dnl Default cupsd configuration settings for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 2007-2015 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
@@ -14,7 +14,7 @@ dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl Default languages...
LANGUAGES="`ls -1 locale/cups_*.po | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
LANGUAGES="`ls -1 locale/cups_*.po 2>/dev/null | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
AC_ARG_WITH(languages, [ --with-languages set installed languages, default=all ],[
case "$withval" in
@@ -24,8 +24,8 @@ AC_ARG_WITH(languages, [ --with-languages set installed languages, defau
esac])
AC_SUBST(LANGUAGES)
dnl Mac OS X bundle-based localization support
AC_ARG_WITH(bundledir, [ --with-bundledir set Mac OS X localization bundle directory ],
dnl OS X bundle-based localization support
AC_ARG_WITH(bundledir, [ --with-bundledir set OS X localization bundle directory ],
CUPS_BUNDLEDIR="$withval",
if test "x$uname" = xDarwin -a $uversion -ge 100; then
CUPS_BUNDLEDIR="/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
@@ -50,6 +50,12 @@ AC_ARG_WITH(config_file_perm, [ --with-config-file-perm set default ConfigFileP
AC_SUBST(CUPS_CONFIG_FILE_PERM)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_CONFIG_FILE_PERM, 0$CUPS_CONFIG_FILE_PERM)
dnl Default permissions for cupsd
AC_ARG_WITH(cupsd_file_perm, [ --with-cupsd-file-perm set default cupsd permissions, default=0500],
CUPS_CUPSD_FILE_PERM="$withval",
CUPS_CUPSD_FILE_PERM="500")
AC_SUBST(CUPS_CUPSD_FILE_PERM)
dnl Default LogFilePerm
AC_ARG_WITH(log_file_perm, [ --with-log-file-perm set default LogFilePerm value, default=0644],
CUPS_LOG_FILE_PERM="$withval",
@@ -64,7 +70,6 @@ AC_ARG_WITH(fatal_errors, [ --with-fatal-errors set default FatalErrors val
AC_SUBST(CUPS_FATAL_ERRORS)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_FATAL_ERRORS, "$CUPS_FATAL_ERRORS")
dnl Default LogLevel
AC_ARG_WITH(log_level, [ --with-log-level set default LogLevel value, default=warn],
CUPS_LOG_LEVEL="$withval",
@@ -73,12 +78,21 @@ AC_SUBST(CUPS_LOG_LEVEL)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LOG_LEVEL, "$CUPS_LOG_LEVEL")
dnl Default AccessLogLevel
AC_ARG_WITH(access_log_level, [ --with-access-log-level set default AccessLogLevel value, default=actions],
AC_ARG_WITH(access_log_level, [ --with-access-log-level set default AccessLogLevel value, default=none],
CUPS_ACCESS_LOG_LEVEL="$withval",
CUPS_ACCESS_LOG_LEVEL="actions")
CUPS_ACCESS_LOG_LEVEL="none")
AC_SUBST(CUPS_ACCESS_LOG_LEVEL)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_ACCESS_LOG_LEVEL, "$CUPS_ACCESS_LOG_LEVEL")
dnl Default PageLogFormat
AC_ARG_ENABLE(page_logging, [ --enable-page-logging enable page_log by default])
if test "x$enable_page_logging" = xyes; then
CUPS_PAGE_LOG_FORMAT=""
else
CUPS_PAGE_LOG_FORMAT="PageLogFormat"
fi
AC_SUBST(CUPS_PAGE_LOG_FORMAT)
dnl Default Browsing
AC_ARG_ENABLE(browsing, [ --disable-browsing disable Browsing by default])
if test "x$enable_browsing" = xno; then
@@ -91,16 +105,16 @@ fi
AC_SUBST(CUPS_BROWSING)
dnl Default BrowseLocalProtocols
AC_ARG_WITH(local_protocols, [ --with-local-protocols set default BrowseLocalProtocols, default="CUPS"],
AC_ARG_WITH(local_protocols, [ --with-local-protocols set default BrowseLocalProtocols, default=""],
default_local_protocols="$withval",
default_local_protocols="default")
if test x$with_local_protocols != xno; then
if test "x$default_local_protocols" = "xdefault"; then
if test "x$DNSSDLIBS" != "x"; then
CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS dnssd"
else
CUPS_BROWSE_LOCAL_PROTOCOLS="CUPS"
if test "x$DNSSD_BACKEND" != "x"; then
CUPS_BROWSE_LOCAL_PROTOCOLS="dnssd"
else
CUPS_BROWSE_LOCAL_PROTOCOLS=""
fi
else
CUPS_BROWSE_LOCAL_PROTOCOLS="$default_local_protocols"
@@ -113,41 +127,6 @@ AC_SUBST(CUPS_BROWSE_LOCAL_PROTOCOLS)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS,
"$CUPS_BROWSE_LOCAL_PROTOCOLS")
dnl Default BrowseRemoteProtocols
AC_ARG_WITH(remote_protocols, [ --with-remote-protocols set default BrowseRemoteProtocols, default="CUPS"],
default_remote_protocols="$withval",
default_remote_protocols="default")
if test x$with_remote_protocols != xno; then
if test "x$default_remote_protocols" = "xdefault"; then
if test "$uname" = "Darwin" -a $uversion -ge 90; then
CUPS_BROWSE_REMOTE_PROTOCOLS=""
else
CUPS_BROWSE_REMOTE_PROTOCOLS="CUPS"
fi
else
CUPS_BROWSE_REMOTE_PROTOCOLS="$default_remote_protocols"
fi
else
CUPS_BROWSE_REMOTE_PROTOCOLS=""
fi
AC_SUBST(CUPS_BROWSE_REMOTE_PROTOCOLS)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS,
"$CUPS_BROWSE_REMOTE_PROTOCOLS")
dnl Default BrowseShortNames
AC_ARG_ENABLE(browse_short, [ --disable-browse-short-names
disable BrowseShortNames by default])
if test "x$enable_browse_short" = xno; then
CUPS_BROWSE_SHORT_NAMES="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_SHORT_NAMES, 0)
else
CUPS_BROWSE_SHORT_NAMES="Yes"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_SHORT_NAMES, 1)
fi
AC_SUBST(CUPS_BROWSE_SHORT_NAMES)
dnl Default DefaultShared
AC_ARG_ENABLE(default_shared, [ --disable-default-shared
disable DefaultShared by default])
@@ -160,38 +139,6 @@ else
fi
AC_SUBST(CUPS_DEFAULT_SHARED)
dnl Default ImplicitClasses
AC_ARG_ENABLE(implicit, [ --disable-implicit-classes
disable ImplicitClasses by default])
if test "x$enable_implicit" = xno; then
CUPS_IMPLICIT_CLASSES="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IMPLICIT_CLASSES, 0)
else
CUPS_IMPLICIT_CLASSES="Yes"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IMPLICIT_CLASSES, 1)
fi
AC_SUBST(CUPS_IMPLICIT_CLASSES)
dnl Default UseNetworkDefault
AC_ARG_ENABLE(use_network_default, [ --enable-use-network-default
set UseNetworkDefault to Yes by default])
if test "x$enable_use_network_default" != xno; then
AC_MSG_CHECKING(whether to use network default printers)
if test "x$enable_use_network_default" = xyes -o $uname != Darwin; then
CUPS_USE_NETWORK_DEFAULT="Yes"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 1)
AC_MSG_RESULT(yes)
else
CUPS_USE_NETWORK_DEFAULT="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 0)
AC_MSG_RESULT(no)
fi
else
CUPS_USE_NETWORK_DEFAULT="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_USE_NETWORK_DEFAULT, 0)
fi
AC_SUBST(CUPS_USE_NETWORK_DEFAULT)
dnl Determine the correct username and group for this OS...
AC_ARG_WITH(cups_user, [ --with-cups-user set default user for CUPS],
CUPS_USER="$withval",
@@ -367,6 +314,7 @@ else
fi
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_LPD_CONFIG_FILE, "$CUPS_DEFAULT_LPD_CONFIG_FILE")
AC_SUBST(CUPS_DEFAULT_LPD_CONFIG_FILE)
dnl Default SMB config file...
AC_ARG_WITH(smbconfigfile, [ --with-smbconfigfile set default SMBConfigFile URI],
@@ -388,6 +336,7 @@ else
fi
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SMB_CONFIG_FILE, "$CUPS_DEFAULT_SMB_CONFIG_FILE")
AC_SUBST(CUPS_DEFAULT_SMB_CONFIG_FILE)
dnl Default MaxCopies value...
AC_ARG_WITH(max-copies, [ --with-max-copies set default max copies value, default=9999 ],
@@ -434,54 +383,8 @@ AC_ARG_WITH(ipp-port, [ --with-ipp-port set port number for IPP, defaul
AC_SUBST(DEFAULT_IPP_PORT)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
dnl Filters
AC_ARG_ENABLE(bannertops, [ --enable-bannertops always build the banner filter ])
AC_ARG_ENABLE(texttops, [ --enable-texttops always build the text filter ])
if test "x$enable_bannertops" = xno; then
BANNERTOPS=""
DEFAULT_BANNERTOPS="#"
elif test "x$enable_bannertops" = xyes; then
BANNERTOPS="bannertops"
DEFAULT_BANNERTOPS=""
elif test $uname = Darwin; then
BANNERTOPS=""
DEFAULT_BANNERTOPS="#"
else
BANNERTOPS="bannertops"
DEFAULT_BANNERTOPS=""
fi
if test "x$enable_texttops" = xno; then
TEXTTOPS=""
DEFAULT_TEXTTOPS="#"
elif test "x$enable_texttops" = xyes; then
TEXTTOPS="texttops"
DEFAULT_TEXTTOPS=""
elif test $uname = Darwin; then
TEXTTOPS=""
DEFAULT_TEXTTOPS="#"
else
TEXTTOPS="texttops"
DEFAULT_TEXTTOPS=""
fi
AC_SUBST(BANNERTOPS)
AC_SUBST(DEFAULT_BANNERTOPS)
AC_SUBST(DEFAULT_TEXTTOPS)
AC_SUBST(TEXTTOPS)
dnl Fonts
if test "x$BANNERTOPS" = x -a "x$TEXTTOPS" = x; then
FONTS=""
else
FONTS="fonts"
fi
AC_SUBST(FONTS)
dnl Web interface...
AC_ARG_ENABLE(webif, [ --enable-webif enable the web interface by default, default=no for Mac OS X])
AC_ARG_ENABLE(webif, [ --enable-webif enable the web interface by default, default=no for OS X])
case "x$enable_webif" in
xno)
CUPS_WEBIF=No
@@ -506,5 +409,5 @@ AC_SUBST(CUPS_WEBIF)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)
dnl
dnl End of "$Id: cups-defaults.m4 9750 2011-05-06 22:53:53Z mike $".
dnl End of "$Id: cups-defaults.m4 12846 2015-08-26 18:26:22Z msweet $".
dnl
+22 -153
Ver Arquivo
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-directories.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-directories.m4 11717 2014-03-21 16:42:53Z msweet $"
dnl
dnl Directory stuff for CUPS.
dnl Directory stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl Copyright 2007-2014 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 file is missing or damaged, see the license at "http://www.cups.org/".
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_PREFIX_DEFAULT(/)
@@ -102,19 +102,11 @@ fi
dnl Fix "libdir" variable...
if test "$libdir" = "\${exec_prefix}/lib"; then
case "$uname" in
IRIX*)
libdir="$exec_prefix/lib32"
;;
Linux*)
if test -d /usr/lib64; then
if test -d /usr/lib64 -a ! -d /usr/lib64/fakeroot; then
libdir="$exec_prefix/lib64"
fi
;;
HP-UX*)
if test -d /usr/lib/hpux32; then
libdir="$exec_prefix/lib/hpux32"
fi
;;
esac
fi
@@ -129,126 +121,6 @@ fi
AC_SUBST(privateinclude)
AC_SUBST(PRIVATEINCLUDE)
dnl Setup init.d locations...
AC_ARG_WITH(rcdir, [ --with-rcdir set path for rc scripts],rcdir="$withval",rcdir="")
AC_ARG_WITH(rclevels, [ --with-rclevels set run levels for rc scripts],rclevels="$withval",rclevels="2 3 5")
AC_ARG_WITH(rcstart, [ --with-rcstart set start number for rc scripts],rcstart="$withval",rcstart="99")
AC_ARG_WITH(rcstop, [ --with-rcstop set stop number for rc scripts],rcstop="$withval",rcstop="00")
AC_ARG_WITH(smfmanifestdir, [ --with-smfmanifestdir set path for Solaris SMF manifest],smfmanifestdir="$withval",smfmanifestdir="")
INITDIR=""
INITDDIR=""
RCLEVELS="$rclevels"
RCSTART="$rcstart"
RCSTOP="$rcstop"
SMFMANIFESTDIR=""
if test x$rcdir = x; then
case "$uname" in
AIX*)
INITDIR="/etc/rc.d"
;;
Darwin*)
# Darwin and MacOS X...
if test -x /sbin/launchd; then
INITDDIR="/System/Library/LaunchDaemons"
else
INITDDIR="/System/Library/StartupItems/PrintingServices"
fi
;;
FreeBSD* | OpenBSD* | MirBSD* | ekkoBSD*)
# FreeBSD and OpenBSD
;;
HP-UX*)
INITDIR="/sbin"
RCLEVELS="2"
RCSTART="380"
RCSTOP="620"
;;
IRIX*)
# IRIX
INITDIR="/etc"
RCSTART="60"
RCSTOP="25"
;;
Linux | GNU | GNU/k*BSD*)
# Linux/HURD seems to choose an init.d directory at random...
if test -d /sbin/init.d; then
# SuSE
INITDIR="/sbin/init.d"
else
if test -d /etc/init.d; then
# Others
INITDIR="/etc"
else
# RedHat
INITDIR="/etc/rc.d"
fi
fi
RCSTART="81"
RCSTOP="36"
;;
NetBSD*)
# NetBSD
INITDDIR="/etc/rc.d"
;;
OSF1*)
INITDIR="/sbin"
;;
SunOS*)
# Solaris
if test "x$smfmanifestdir" != x; then
SMFMANIFESTDIR=$smfmanifestdir
else
INITDIR="/etc"
RCSTART="81"
fi
;;
*)
INITDIR="/etc"
;;
esac
elif test "x$rcdir" != xno; then
if test "x$rclevels" = x; then
INITDDIR="$rcdir"
else
INITDIR="$rcdir"
fi
fi
AC_SUBST(INITDIR)
AC_SUBST(INITDDIR)
AC_SUBST(RCLEVELS)
AC_SUBST(RCSTART)
AC_SUBST(RCSTOP)
AC_SUBST(SMFMANIFESTDIR)
dnl Xinetd support...
AC_ARG_WITH(xinetd, [ --with-xinetd set path for xinetd config files],XINETD="$withval",XINETD="")
if test "x$XINETD" = x -a ! -x /sbin/launchd; then
for dir in /private/etc/xinetd.d /etc/xinetd.d /usr/local/etc/xinetd.d; do
if test -d $dir; then
XINETD="$dir"
break
fi
done
elif test "x$XINETD" = xno; then
XINETD=""
fi
AC_SUBST(XINETD)
dnl LPD sharing support...
AC_ARG_WITH(lpdconfig, [ --with-lpdconfig set URI for LPD config file],
LPDCONFIG="$withval", LPDCONFIG="")
@@ -365,10 +237,6 @@ if test "$localedir" = "\${datarootdir}/locale"; then
CUPS_LOCALEDIR="$datarootdir/locale"
;;
OSF1* | AIX*)
CUPS_LOCALEDIR="$exec_prefix/lib/nls/msg"
;;
*)
# This is the standard System V location...
CUPS_LOCALEDIR="$exec_prefix/lib/locale"
@@ -422,19 +290,20 @@ AC_DEFINE_UNQUOTED(CUPS_SERVERROOT, "$sysconfdir/cups")
AC_SUBST(CUPS_SERVERROOT)
# Transient run-time state
case "$uname" in
Darwin*)
# Darwin (Mac OS X)
CUPS_STATEDIR="$CUPS_SERVERROOT"
;;
*)
# All others
CUPS_STATEDIR="$localstatedir/run/cups"
;;
esac
AC_ARG_WITH(rundir, [ --with-rundir set transient run-time state directory],CUPS_STATEDIR="$withval",[
case "$uname" in
Darwin*)
# Darwin (OS X)
CUPS_STATEDIR="$CUPS_SERVERROOT"
;;
*)
# All others
CUPS_STATEDIR="$localstatedir/run/cups"
;;
esac])
AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")
AC_SUBST(CUPS_STATEDIR)
dnl
dnl End of "$Id: cups-directories.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-directories.m4 11717 2014-03-21 16:42:53Z msweet $".
dnl
+29 -7
Ver Arquivo
@@ -1,9 +1,9 @@
dnl
dnl "$Id: cups-dnssd.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-dnssd.m4 12845 2015-08-26 18:23:53Z msweet $"
dnl
dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 2007-2015 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
@@ -12,7 +12,8 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_ARG_ENABLE(dnssd, [ --disable-dnssd disable DNS Service Discovery support])
AC_ARG_ENABLE(avahi, [ --disable-avahi disable DNS Service Discovery support using Avahi])
AC_ARG_ENABLE(dnssd, [ --disable-dnssd disable DNS Service Discovery support using mDNSResponder])
AC_ARG_WITH(dnssd-libs, [ --with-dnssd-libs set directory for DNS Service Discovery library],
LDFLAGS="-L$withval $LDFLAGS"
DSOFLAGS="-L$withval $DSOFLAGS",)
@@ -22,17 +23,34 @@ AC_ARG_WITH(dnssd-includes, [ --with-dnssd-includes set directory for DNS Ser
DNSSDLIBS=""
DNSSD_BACKEND=""
IPPFIND_BIN=""
IPPFIND_MAN=""
if test x$enable_dnssd != xno; then
if test "x$PKGCONFIG" != x -a x$enable_avahi != xno -a x$uname != xDarwin; then
AC_MSG_CHECKING(for Avahi)
if $PKGCONFIG --exists avahi-client; then
AC_MSG_RESULT(yes)
CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
DNSSD_BACKEND="dnssd"
IPPFIND_BIN="ippfind"
IPPFIND_MAN="ippfind.\$(MAN1EXT)"
AC_DEFINE(HAVE_AVAHI)
else
AC_MSG_RESULT(no)
fi
fi
if test "x$DNSSD_BACKEND" = x -a x$enable_dnssd != xno; then
AC_CHECK_HEADER(dns_sd.h, [
case "$uname" in
Darwin*)
# Darwin and MacOS X...
AC_DEFINE(HAVE_DNSSD)
AC_DEFINE(HAVE_COREFOUNDATION)
AC_DEFINE(HAVE_SYSTEMCONFIGURATION)
DNSSDLIBS="-framework CoreFoundation -framework SystemConfiguration"
DNSSD_BACKEND="dnssd"
IPPFIND_BIN="ippfind"
IPPFIND_MAN="ippfind.\$(MAN1EXT)"
;;
*)
# All others...
@@ -49,6 +67,8 @@ if test x$enable_dnssd != xno; then
AC_DEFINE(HAVE_DNSSD)
DNSSDLIBS="-ldns_sd"
DNSSD_BACKEND="dnssd",
IPPFIND_BIN="ippfind"
IPPFIND_MAN="ippfind.\$(MAN1EXT)"
AC_MSG_RESULT(no))
LIBS="$SAVELIBS"
;;
@@ -58,7 +78,9 @@ fi
AC_SUBST(DNSSDLIBS)
AC_SUBST(DNSSD_BACKEND)
AC_SUBST(IPPFIND_BIN)
AC_SUBST(IPPFIND_MAN)
dnl
dnl End of "$Id: cups-dnssd.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-dnssd.m4 12845 2015-08-26 18:23:53Z msweet $".
dnl
+7 -9
Ver Arquivo
@@ -1,9 +1,9 @@
dnl
dnl "$Id: cups-gssapi.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-gssapi.m4 11911 2014-06-10 13:54:53Z msweet $"
dnl
dnl GSSAPI/Kerberos library detection for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 2007-2013 by Apple Inc.
dnl Copyright 2006-2007 by Easy Software Products.
dnl
dnl This file contains Kerberos support code, copyright 2006 by
@@ -22,11 +22,11 @@ LIBGSSAPI=""
AC_SUBST(LIBGSSAPI)
if test x$enable_gssapi != xno; then
AC_PATH_PROG(KRB5CONFIG, krb5-config)
AC_PATH_TOOL(KRB5CONFIG, krb5-config)
if test "x$KRB5CONFIG" != x; then
case "$uname" in
Darwin)
# Mac OS X weak-links to the Kerberos framework...
# OS X weak-links to the Kerberos framework...
LIBGSSAPI="-weak_framework Kerberos"
AC_MSG_CHECKING(for GSS framework)
if test -d /System/Library/Frameworks/GSS.framework; then
@@ -72,14 +72,11 @@ if test x$enable_gssapi != xno; then
AC_CHECK_HEADER(krb5.h, AC_DEFINE(HAVE_KRB5_H))
if test -d /System/Library/Frameworks/GSS.framework; then
AC_CHECK_HEADER(GSS/gssapi.h, AC_DEFINE(HAVE_GSS_GSSAPI_H))
AC_CHECK_HEADER(GSS/gssapi_generic.h, AC_DEFINE(HAVE_GSSAPI_GENERIC_H))
AC_CHECK_HEADER(GSS/gssapi_krb5.h, AC_DEFINE(HAVE_GSSAPI_KRB5_H))
AC_CHECK_HEADER(GSS/gssapi_generic.h, AC_DEFINE(HAVE_GSS_GSSAPI_GENERIC_H))
AC_CHECK_HEADER(GSS/gssapi_spi.h, AC_DEFINE(HAVE_GSS_GSSAPI_SPI_H))
else
AC_CHECK_HEADER(gssapi.h, AC_DEFINE(HAVE_GSSAPI_H))
AC_CHECK_HEADER(gssapi/gssapi.h, AC_DEFINE(HAVE_GSSAPI_GSSAPI_H))
AC_CHECK_HEADER(gssapi/gssapi_generic.h, AC_DEFINE(HAVE_GSSAPI_GENERIC_H))
AC_CHECK_HEADER(gssapi/gssapi_krb5.h, AC_DEFINE(HAVE_GSSAPI_KRB5_H))
fi
SAVELIBS="$LIBS"
@@ -128,8 +125,9 @@ else
CUPS_DEFAULT_GSSSERVICENAME=""
fi
AC_SUBST(CUPS_DEFAULT_GSSSERVICENAME)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
dnl
dnl End of "$Id: cups-gssapi.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-gssapi.m4 11911 2014-06-10 13:54:53Z msweet $".
dnl
-112
Ver Arquivo
@@ -1,112 +0,0 @@
dnl
dnl "$Id: cups-image.m4 9750 2011-05-06 22:53:53Z mike $"
dnl
dnl Image library/filter stuff for CUPS.
dnl
dnl Copyright 2007-2011 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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl See if we want the image filters included at all...
AC_ARG_ENABLE(image, [ --enable-image always build the image filters])
DEFAULT_IMAGEFILTERS="#"
IMGFILTERS=""
if test "x$enable_image" != xno; then
AC_MSG_CHECKING(whether to build image filters)
if test "x$enable_image" = xyes -o $uname != Darwin; then
IMGFILTERS="imagetops imagetoraster"
DEFAULT_IMAGEFILTERS=""
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
fi
AC_SUBST(DEFAULT_IMAGEFILTERS)
AC_SUBST(IMGFILTERS)
dnl Check for image libraries...
AC_ARG_ENABLE(jpeg, [ --disable-jpeg disable JPEG support])
AC_ARG_ENABLE(png, [ --disable-png disable PNG support])
AC_ARG_ENABLE(tiff, [ --disable-tiff disable TIFF support])
LIBJPEG=""
LIBPNG=""
LIBTIFF=""
LIBZ=""
AC_SUBST(LIBJPEG)
AC_SUBST(LIBPNG)
AC_SUBST(LIBTIFF)
AC_SUBST(LIBZ)
dnl Image libraries use math library functions...
AC_SEARCH_LIBS(pow, m)
dnl Save the current libraries since we don't want the image libraries
dnl included with every program...
SAVELIBS="$LIBS"
dnl JPEG library...
if test x$enable_jpeg != xno; then
AC_CHECK_HEADER(jpeglib.h,
AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
AC_DEFINE(HAVE_LIBJPEG)
LIBJPEG="-ljpeg"
LIBS="$LIBS -ljpeg"))
else
AC_MSG_NOTICE([JPEG support disabled with --disable-jpeg.])
fi
dnl ZLIB library...
AC_CHECK_HEADER(zlib.h,
AC_CHECK_LIB(z, gzgets,
AC_DEFINE(HAVE_LIBZ)
LIBZ="-lz"
LIBS="$LIBS -lz"))
dnl PNG library...
if test x$enable_png != xno; then
AC_CHECK_HEADER(png.h,
AC_CHECK_LIB(png, png_create_read_struct,
AC_DEFINE(HAVE_LIBPNG)
LIBPNG="-lpng"))
else
AC_MSG_NOTICE([PNG support disabled with --disable-png.])
fi
dnl TIFF library...
if test x$enable_tiff != xno; then
AC_CHECK_HEADER(tiff.h,
AC_CHECK_LIB(tiff, TIFFReadScanline,
AC_DEFINE(HAVE_LIBTIFF)
LIBTIFF="-ltiff"))
else
AC_MSG_NOTICE([TIFF support disabled with --disable-tiff.])
fi
dnl Restore original LIBS settings...
LIBS="$SAVELIBS"
EXPORT_LIBJPEG="$LIBJPEG"
EXPORT_LIBPNG="$LIBPNG"
EXPORT_LIBTIFF="$LIBTIFF"
EXPORT_LIBZ="$LIBZ"
AC_SUBST(EXPORT_LIBJPEG)
AC_SUBST(EXPORT_LIBPNG)
AC_SUBST(EXPORT_LIBTIFF)
AC_SUBST(EXPORT_LIBZ)
AC_CHECK_HEADER(stdlib.h,AC_DEFINE(HAVE_STDLIB_H))
dnl
dnl End of "$Id: cups-image.m4 9750 2011-05-06 22:53:53Z mike $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-largefile.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-largefile.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Large file support stuff for CUPS.
dnl
@@ -48,5 +48,5 @@ fi
AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL))
dnl
dnl End of "$Id: cups-largefile.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-largefile.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
-43
Ver Arquivo
@@ -1,43 +0,0 @@
dnl
dnl "$Id: cups-launchd.m4 8983 2010-02-13 02:20:23Z mike $"
dnl
dnl launchd stuff for CUPS.
dnl
dnl Copyright 2007-2010 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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_ARG_ENABLE(launchd, [ --disable-launchd disable launchd support])
DEFAULT_LAUNCHD_CONF=""
LAUNCHDLIBS=""
if test x$enable_launchd != xno; then
AC_CHECK_FUNC(launch_msg, AC_DEFINE(HAVE_LAUNCHD))
AC_CHECK_HEADER(launch.h, AC_DEFINE(HAVE_LAUNCH_H))
case "$uname" in
Darwin*)
# Darwin, MacOS X
DEFAULT_LAUNCHD_CONF="/System/Library/LaunchDaemons/org.cups.cupsd.plist"
# liblaunch is already part of libSystem
;;
*)
# All others; this test will need to be updated
;;
esac
fi
AC_SUBST(DEFAULT_LAUNCHD_CONF)
AC_SUBST(LAUNCHDLIBS)
dnl
dnl End of "$Id: cups-launchd.m4 8983 2010-02-13 02:20:23Z mike $".
dnl
-52
Ver Arquivo
@@ -1,52 +0,0 @@
dnl
dnl "$Id: cups-ldap.m4 9771 2011-05-12 05:21:56Z mike $"
dnl
dnl LDAP configuration stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 2003-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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_ARG_ENABLE(ldap, [ --disable-ldap disable LDAP support])
AC_ARG_WITH(ldap-libs, [ --with-ldap-libs set directory for LDAP library],
LDFLAGS="-L$withval $LDFLAGS"
DSOFLAGS="-L$withval $DSOFLAGS",)
AC_ARG_WITH(ldap-includes, [ --with-ldap-includes set directory for LDAP includes],
CFLAGS="-I$withval $CFLAGS"
CPPFLAGS="-I$withval $CPPFLAGS",)
LIBLDAP=""
if test x$enable_ldap != xno; then
AC_CHECK_HEADER(ldap.h, [
AC_CHECK_LIB(ldap, ldap_initialize,
AC_DEFINE(HAVE_LDAP)
AC_DEFINE(HAVE_OPENLDAP)
LIBLDAP="-lldap"
AC_CHECK_LIB(ldap, ldap_start_tls,
AC_DEFINE(HAVE_LDAP_SSL)),
AC_CHECK_LIB(ldap, ldap_init,
AC_DEFINE(HAVE_LDAP)
AC_DEFINE(HAVE_MOZILLA_LDAP)
LIBLDAP="-lldap"
AC_CHECK_HEADER(ldap_ssl.h, AC_DEFINE(HAVE_LDAP_SSL_H),,[#include <ldap.h>])
AC_CHECK_LIB(ldap, ldapssl_init,
AC_DEFINE(HAVE_LDAP_SSL)))
)
AC_CHECK_LIB(ldap, ldap_set_rebind_proc, AC_DEFINE(HAVE_LDAP_REBIND_PROC))
])
fi
AC_SUBST(LIBLDAP)
dnl
dnl End of "$Id: cups-ldap.m4 9771 2011-05-12 05:21:56Z mike $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-libtool.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-libtool.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Libtool stuff for CUPS.
dnl
@@ -35,5 +35,5 @@ if test x$LIBTOOL != x; then
fi
dnl
dnl End of "$Id: cups-libtool.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-libtool.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
+15 -29
Ver Arquivo
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-manpages.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-manpages.m4 11342 2013-10-18 20:36:01Z msweet $"
dnl
dnl Manpage stuff for CUPS.
dnl Manpage stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
dnl Copyright 2007-2013 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 file is missing or damaged, see the license at "http://www.cups.org/".
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl Fix "mandir" variable...
@@ -22,18 +22,12 @@ fi
if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/"; then
case "$uname" in
Darwin* | Linux | GNU | *BSD* | AIX*)
# Darwin, MacOS X, Linux, GNU HURD, *BSD, and AIX
Darwin* | Linux | GNU | *BSD*)
# Darwin, MacOS X, Linux, GNU HURD, and *BSD
mandir="/usr/share/man"
AMANDIR="/usr/share/man"
PMANDIR="/usr/share/man"
;;
IRIX)
# SGI IRIX
mandir="/usr/share/catman/u_man"
AMANDIR="/usr/share/catman/a_man"
PMANDIR="/usr/share/catman/p_man"
;;
*)
# All others
mandir="/usr/man"
@@ -51,16 +45,8 @@ AC_SUBST(PMANDIR)
dnl Setup manpage extensions...
case "$uname" in
IRIX*)
# SGI IRIX
MAN1EXT=1
MAN5EXT=5
MAN7EXT=7
MAN8EXT=1m
MAN8DIR=1
;;
SunOS* | HP-UX*)
# Solaris and HP-UX
SunOS*)
# Solaris
MAN1EXT=1
MAN5EXT=5
MAN7EXT=7
@@ -68,7 +54,7 @@ case "$uname" in
MAN8DIR=1m
;;
Linux* | GNU* | Darwin*)
# Linux, GNU Hurd, and Mac OS X
# Linux, GNU Hurd, and OS X
MAN1EXT=1.gz
MAN5EXT=5.gz
MAN7EXT=7.gz
@@ -92,5 +78,5 @@ AC_SUBST(MAN8EXT)
AC_SUBST(MAN8DIR)
dnl
dnl End of "$Id: cups-manpages.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-manpages.m4 11342 2013-10-18 20:36:01Z msweet $".
dnl
+16 -14
Ver Arquivo
@@ -1,19 +1,24 @@
dnl
dnl "$Id: cups-network.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-network.m4 12324 2014-12-09 20:28:39Z msweet $"
dnl
dnl Networking stuff for CUPS.
dnl Networking stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl Copyright 2007-2014 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 file is missing or damaged, see the license at "http://www.cups.org/".
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_CHECK_HEADER(resolv.h,AC_DEFINE(HAVE_RESOLV_H))
AC_CHECK_HEADER(resolv.h,AC_DEFINE(HAVE_RESOLV_H),,[
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>])
AC_SEARCH_LIBS(socket, socket)
AC_SEARCH_LIBS(gethostbyaddr, nsl)
AC_SEARCH_LIBS(getifaddrs, nsl, AC_DEFINE(HAVE_GETIFADDRS))
@@ -66,9 +71,6 @@ fi
AC_SUBST(CUPS_DEFAULT_DOMAINSOCKET)
AC_SUBST(CUPS_LISTEN_DOMAINSOCKET)
AC_CHECK_HEADERS(AppleTalk/at_proto.h,AC_DEFINE(HAVE_APPLETALK_AT_PROTO_H),,
[#include <netat/appletalk.h>])
dnl
dnl End of "$Id: cups-network.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-network.m4 12324 2014-12-09 20:28:39Z msweet $".
dnl
+10 -6
Ver Arquivo
@@ -1,9 +1,9 @@
dnl
dnl "$Id: cups-opsys.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-opsys.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Operating system stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 2007-2012 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
@@ -19,17 +19,21 @@ uversion=`uname -r | sed -e '1,$s/^[[^0-9]]*\([[0-9]]*\)\.\([[0-9]]*\).*/\1\2/'`
uarch=`uname -m`
case "$uname" in
Darwin*)
uname="Darwin"
if test $uversion -lt 120; then
AC_MSG_ERROR([Sorry, this version of CUPS requires OS X 10.8 or higher.])
fi
;;
GNU* | GNU/*)
uname="GNU"
;;
IRIX*)
uname="IRIX"
;;
Linux*)
uname="Linux"
;;
esac
dnl
dnl "$Id: cups-opsys.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-opsys.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
+10 -15
Ver Arquivo
@@ -1,26 +1,21 @@
dnl
dnl "$Id: cups-pam.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $"
dnl
dnl PAM stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl Copyright 2007-2013 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 file is missing or damaged, see the license at "http://www.cups.org/".
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_ARG_ENABLE(pam, [ --disable-pam disable PAM support])
AC_ARG_WITH(pam_module, [ --with-pam-module specify the PAM module to use])
dnl Don't use PAM with AIX...
if test $uname = AIX; then
enable_pam=no
fi
PAMDIR=""
PAMFILE="pam.std"
PAMLIBS=""
@@ -61,7 +56,7 @@ if test x$enable_pam != xno; then
case "$uname" in
Darwin*)
# Darwin/Mac OS X
# Darwin/OS X
if test "x$with_pam_module" != x; then
PAMFILE="pam.$with_pam_module"
elif test -f /usr/lib/pam/pam_opendirectory.so.2; then
@@ -98,5 +93,5 @@ AC_SUBST(PAMMOD)
AC_SUBST(PAMMODAUTH)
dnl
dnl End of "$Id: cups-pam.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $".
dnl
-113
Ver Arquivo
@@ -1,113 +0,0 @@
dnl
dnl "$Id: cups-pdf.m4 9750 2011-05-06 22:53:53Z mike $"
dnl
dnl PDF filter configuration stuff for CUPS.
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_ARG_WITH(pdftops, [ --with-pdftops set pdftops filter (gs,/path/to/gs,pdftops,/path/to/pdftops,none), default=pdftops ])
PDFTOPS=""
CUPS_PDFTOPS=""
CUPS_GHOSTSCRIPT=""
case "x$with_pdftops" in
x) # Default/auto
if test $uname != Darwin; then
AC_PATH_PROG(CUPS_PDFTOPS, pdftops)
if test "x$CUPS_PDFTOPS" != x; then
AC_DEFINE(HAVE_PDFTOPS)
PDFTOPS="pdftops"
else
AC_PATH_PROG(CUPS_GHOSTSCRIPT, gs)
if test "x$CUPS_GHOSTSCRIPT" != x; then
AC_DEFINE(HAVE_GHOSTSCRIPT)
PDFTOPS="pdftops"
fi
fi
fi
;;
xgs)
AC_PATH_PROG(CUPS_GHOSTSCRIPT, gs)
if test "x$CUPS_GHOSTSCRIPT" != x; then
AC_DEFINE(HAVE_GHOSTSCRIPT)
PDFTOPS="pdftops"
else
AC_MSG_ERROR(Unable to find gs program!)
exit 1
fi
;;
x/*/gs) # Use /path/to/gs without any check:
CUPS_GHOSTSCRIPT="$with_pdftops"
AC_DEFINE(HAVE_GHOSTSCRIPT)
PDFTOPS="pdftops"
;;
xpdftops)
AC_PATH_PROG(CUPS_PDFTOPS, pdftops)
if test "x$CUPS_PDFTOPS" != x; then
AC_DEFINE(HAVE_PDFTOPS)
PDFTOPS="pdftops"
else
AC_MSG_ERROR(Unable to find pdftops program!)
exit 1
fi
;;
x/*/pdftops) # Use /path/to/pdftops without any check:
CUPS_PDFTOPS="$with_pdftops"
AC_DEFINE(HAVE_PDFTOPS)
PDFTOPS="pdftops"
;;
xnone) # Make no pdftops filter if with_pdftops=none:
;;
*) # Invalid with_pdftops value:
AC_MSG_ERROR(Invalid with_pdftops value!)
exit 1
;;
esac
if test "x$CUPS_PDFTOPS" != x; then
AC_MSG_CHECKING(whether pdftops supports -origpagesizes)
if ($CUPS_PDFTOPS -h 2>&1 | grep -q -- -origpagesizes); then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_PDFTOPS_WITH_ORIGPAGESIZES)
else
AC_MSG_RESULT(no)
fi
DEFAULT_PDFTOPS=""
elif test "x$CUPS_GHOSTSCRIPT" != x; then
AC_MSG_CHECKING(whether gs supports the ps2write device)
if ($CUPS_GHOSTSCRIPT -h 2>&1 | grep -q ps2write); then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GHOSTSCRIPT_PS2WRITE)
else
AC_MSG_RESULT(no)
fi
DEFAULT_PDFTOPS=""
else
DEFAULT_PDFTOPS="#"
fi
AC_DEFINE_UNQUOTED(CUPS_PDFTOPS, "$CUPS_PDFTOPS")
AC_DEFINE_UNQUOTED(CUPS_GHOSTSCRIPT, "$CUPS_GHOSTSCRIPT")
AC_SUBST(DEFAULT_PDFTOPS)
AC_SUBST(PDFTOPS)
dnl
dnl End of "$Id: cups-pdf.m4 9750 2011-05-06 22:53:53Z mike $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-poll.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-poll.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Select/poll stuff for CUPS.
dnl
@@ -18,5 +18,5 @@ AC_CHECK_FUNC(epoll_create, AC_DEFINE(HAVE_EPOLL))
AC_CHECK_FUNC(kqueue, AC_DEFINE(HAVE_KQUEUE))
dnl
dnl End of "$Id: cups-poll.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-poll.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
+2 -13
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-scripting.m4 9099 2010-04-11 07:16:05Z mike $"
dnl "$Id: cups-scripting.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Scripting configuration stuff for CUPS.
dnl
@@ -68,17 +68,6 @@ else
AC_DEFINE(HAVE_PHP)
fi
PHPDIR=""
if test "x$CUPS_PHP" != xno; then
AC_PATH_PROG(PHPCONFIG, php-config)
if test "x$PHPCONFIG" != x; then
PHPDIR="scripting/php"
fi
fi
AC_SUBST(PHPDIR)
dnl Do we have Python?
AC_ARG_WITH(python, [ --with-python set Python interpreter for web interfaces ],
CUPS_PYTHON="$withval",
@@ -96,5 +85,5 @@ if test "x$CUPS_PYTHON" != x; then
fi
dnl
dnl End of "$Id: cups-scripting.m4 9099 2010-04-11 07:16:05Z mike $".
dnl End of "$Id: cups-scripting.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
+19 -127
Ver Arquivo
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-sharedlibs.m4 9153 2010-06-16 00:48:25Z mike $"
dnl "$Id: cups-sharedlibs.m4 11342 2013-10-18 20:36:01Z msweet $"
dnl
dnl Shared library support for CUPS.
dnl Shared library support for CUPS.
dnl
dnl Copyright 2007-2010 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl Copyright 2007-2013 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 file is missing or damaged, see the license at "http://www.cups.org/".
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
PICFLAG=1
@@ -27,7 +27,6 @@ if test x$enable_shared != xno; then
SunOS*)
LIBCUPS="lib$cupsbase.so.2"
LIBCUPSCGI="libcupscgi.so.1"
LIBCUPSDRIVER="libcupsdriver.so.1"
LIBCUPSIMAGE="libcupsimage.so.2"
LIBCUPSMIME="libcupsmime.so.1"
LIBCUPSPPDC="libcupsppdc.so.1"
@@ -35,58 +34,9 @@ if test x$enable_shared != xno; then
DSOXX="\$(CXX)"
DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
;;
UNIX_S*)
Linux | GNU | *BSD*)
LIBCUPS="lib$cupsbase.so.2"
LIBCUPSCGI="libcupscgi.so.1"
LIBCUPSDRIVER="libcupsdriver.so.1"
LIBCUPSIMAGE="libcupsimage.so.2"
LIBCUPSMIME="libcupsmime.so.1"
LIBCUPSPPDC="libcupsppdc.so.1"
DSO="\$(CC)"
DSOXX="\$(CXX)"
DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
;;
HP-UX*)
case "$uarch" in
ia64)
LIBCUPS="lib$cupsbase.so.2"
LIBCUPSCGI="libcupscgi.so.1"
LIBCUPSDRIVER="libcupsdriver.so.1"
LIBCUPSIMAGE="libcupsimage.so.2"
LIBCUPSMIME="libcupsmime.so.1"
LIBCUPSPPDC="libcupsppdc.so.1"
DSO="\$(CC)"
DSOXX="\$(CXX)"
DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
;;
*)
LIBCUPS="lib$cupsbase.sl.2"
LIBCUPSCGI="libcupscgi.sl.1"
LIBCUPSDRIVER="libcupsdriver.sl.1"
LIBCUPSIMAGE="libcupsimage.sl.2"
LIBCUPSMIME="libcupsmime.sl.1"
LIBCUPSPPDC="libcupsppdc.sl.1"
DSO="\$(LD)"
DSOXX="\$(LD)"
DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
;;
esac
;;
IRIX)
LIBCUPS="lib$cupsbase.so.2"
LIBCUPSCGI="libcupscgi.so.1"
LIBCUPSDRIVER="libcupsdriver.so.1"
LIBCUPSIMAGE="libcupsimage.so.2"
LIBCUPSMIME="libcupsmime.so.1"
LIBCUPSPPDC="libcupsppdc.so.1"
DSO="\$(CC)"
DSOXX="\$(CXX)"
DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
;;
OSF1* | Linux | GNU | *BSD*)
LIBCUPS="lib$cupsbase.so.2"
LIBCUPSCGI="libcupscgi.so.1"
LIBCUPSDRIVER="libcupsdriver.so.1"
LIBCUPSIMAGE="libcupsimage.so.2"
LIBCUPSMIME="libcupsmime.so.1"
LIBCUPSPPDC="libcupsppdc.so.1"
@@ -97,7 +47,6 @@ if test x$enable_shared != xno; then
Darwin*)
LIBCUPS="lib$cupsbase.2.dylib"
LIBCUPSCGI="libcupscgi.1.dylib"
LIBCUPSDRIVER="libcupsdriver.1.dylib"
LIBCUPSIMAGE="libcupsimage.2.dylib"
LIBCUPSMIME="libcupsmime.1.dylib"
LIBCUPSPPDC="libcupsppdc.1.dylib"
@@ -105,24 +54,11 @@ if test x$enable_shared != xno; then
DSOXX="\$(CXX)"
DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
;;
AIX*)
LIBCUPS="lib${cupsbase}_s.a"
LIBCUPSBASE="${cupsbase}_s"
LIBCUPSCGI="libcupscgi_s.a"
LIBCUPSDRIVER="libcupsdriver_s.a"
LIBCUPSIMAGE="libcupsimage_s.a"
LIBCUPSMIME="libcupsmime_s.a"
LIBCUPSPPDC="libcupsppdc_s.a"
DSO="\$(CC)"
DSOXX="\$(CXX)"
DSOFLAGS="$DSOFLAGS -Wl,-bexpall,-bM:SRE,-bnoentry,-blibpath:\$(libdir)"
;;
*)
echo "Warning: shared libraries may not be supported. Trying -shared"
echo " option with compiler."
LIBCUPS="lib$cupsbase.so.2"
LIBCUPSCGI="libcupscgi.so.1"
LIBCUPSDRIVER="libcupsdriver.so.1"
LIBCUPSIMAGE="libcupsimage.so.2"
LIBCUPSMIME="libcupsmime.so.1"
LIBCUPSPPDC="libcupsppdc.so.1"
@@ -135,7 +71,6 @@ else
PICFLAG=0
LIBCUPS="lib$cupsbase.a"
LIBCUPSCGI="libcupscgi.a"
LIBCUPSDRIVER="libcupsdriver.a"
LIBCUPSIMAGE="libcupsimage.a"
LIBCUPSMIME="libcupsmime.a"
LIBCUPSPPDC="libcupsppdc.a"
@@ -143,20 +78,12 @@ else
DSOXX=":"
fi
# 32-bit and 64-bit libraries need variations of the standard
# DSOFLAGS...
DSO32FLAGS="$DSOFLAGS"
DSO64FLAGS="$DSOFLAGS"
AC_SUBST(DSO)
AC_SUBST(DSOXX)
AC_SUBST(DSOFLAGS)
AC_SUBST(DSO32FLAGS)
AC_SUBST(DSO64FLAGS)
AC_SUBST(LIBCUPS)
AC_SUBST(LIBCUPSBASE)
AC_SUBST(LIBCUPSCGI)
AC_SUBST(LIBCUPSDRIVER)
AC_SUBST(LIBCUPSIMAGE)
AC_SUBST(LIBCUPSMIME)
AC_SUBST(LIBCUPSPPDC)
@@ -167,28 +94,16 @@ if test x$enable_shared = xno; then
LINKCUPSIMAGE="../filter/libcupsimage.a"
EXTLINKCUPS="-lcups"
EXTLINKCUPSDRIVER="-lcupsdriver"
EXTLINKCUPSIMAGE="-lcupsimage"
else
if test $uname = AIX; then
LINKCUPS="-l${cupsbase}_s"
LINKCUPSIMAGE="-lcupsimage_s"
LINKCUPS="-l${cupsbase}"
LINKCUPSIMAGE="-lcupsimage"
EXTLINKCUPS="-lcups_s"
EXTLINKCUPSDRIVER="-lcupsdriver_s"
EXTLINKCUPSIMAGE="-lcupsimage_s"
else
LINKCUPS="-l${cupsbase}"
LINKCUPSIMAGE="-lcupsimage"
EXTLINKCUPS="-lcups"
EXTLINKCUPSDRIVER="-lcupsdriver"
EXTLINKCUPSIMAGE="-lcupsimage"
fi
EXTLINKCUPS="-lcups"
EXTLINKCUPSIMAGE="-lcupsimage"
fi
AC_SUBST(EXTLINKCUPS)
AC_SUBST(EXTLINKCUPSDRIVER)
AC_SUBST(EXTLINKCUPSIMAGE)
AC_SUBST(LINKCUPS)
AC_SUBST(LINKCUPSIMAGE)
@@ -201,36 +116,17 @@ if test "$DSO" != ":"; then
# rather than to the executables. This makes things smaller if you
# are using any static libraries, and it also allows us to distribute
# a single DSO rather than a bunch...
DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
DSOLIBS="\$(LIBZ)"
IMGLIBS=""
# Tell the run-time linkers where to find a DSO. Some platforms
# need this option, even when the library is installed in a
# standard location...
case $uname in
HP-UX*)
# HP-UX needs the path, even for /usr/lib...
case "$uarch" in
ia64)
DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS"
DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS"
DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS"
;;
*)
DSOFLAGS="+s +b $libdir $DSOFLAGS"
DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
;;
esac
LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
;;
SunOS*)
# Solaris...
if test $exec_prefix != /usr; then
DSOFLAGS="-R$libdir $DSOFLAGS"
DSO32FLAGS="-R$LIB32DIR $DSO32FLAGS"
DSO64FLAGS="-R$LIB64DIR $DSO64FLAGS"
LDFLAGS="$LDFLAGS -R$libdir"
EXPORT_LDFLAGS="-R$libdir"
fi
@@ -239,18 +135,14 @@ if test "$DSO" != ":"; then
# *BSD...
if test $exec_prefix != /usr; then
DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
DSO32FLAGS="-Wl,-R$LIB32DIR $DSO32FLAGS"
DSO64FLAGS="-Wl,-R$LIB64DIR $DSO64FLAGS"
LDFLAGS="$LDFLAGS -Wl,-R$libdir"
EXPORT_LDFLAGS="-Wl,-R$libdir"
fi
;;
IRIX | Linux | GNU)
# IRIX, Linux, and HURD...
Linux | GNU)
# Linux, and HURD...
if test $exec_prefix != /usr; then
DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
DSO32FLAGS="-Wl,-rpath,$LIB32DIR $DSO32FLAGS"
DSO64FLAGS="-Wl,-rpath,$LIB64DIR $DSO64FLAGS"
LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
fi
@@ -258,7 +150,7 @@ if test "$DSO" != ":"; then
esac
else
DSOLIBS=""
IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
IMGLIBS="\$(LIBZ)"
fi
AC_SUBST(DSOLIBS)
@@ -266,5 +158,5 @@ AC_SUBST(IMGLIBS)
AC_SUBST(EXPORT_LDFLAGS)
dnl
dnl End of "$Id: cups-sharedlibs.m4 9153 2010-06-16 00:48:25Z mike $".
dnl End of "$Id: cups-sharedlibs.m4 11342 2013-10-18 20:36:01Z msweet $".
dnl
-38
Ver Arquivo
@@ -1,38 +0,0 @@
dnl
dnl "$Id: cups-slp.m4 9771 2011-05-12 05:21:56Z mike $"
dnl
dnl OpenSLP configuration stuff for CUPS.
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_ARG_ENABLE(slp, [ --disable-slp disable SLP support])
AC_ARG_WITH(openslp-libs, [ --with-openslp-libs set directory for OpenSLP library],
LDFLAGS="-L$withval $LDFLAGS"
DSOFLAGS="-L$withval $DSOFLAGS",)
AC_ARG_WITH(openslp-includes, [ --with-openslp-includes set directory for OpenSLP includes],
CFLAGS="-I$withval $CFLAGS"
CPPFLAGS="-I$withval $CPPFLAGS",)
LIBSLP=""
if test x$enable_slp != xno; then
AC_CHECK_HEADER(slp.h,
AC_CHECK_LIB(slp, SLPOpen,
AC_DEFINE(HAVE_LIBSLP)
LIBSLP="-lslp"))
fi
AC_SUBST(LIBSLP)
dnl
dnl End of "$Id: cups-slp.m4 9771 2011-05-12 05:21:56Z mike $".
dnl
+27 -88
Ver Arquivo
@@ -1,32 +1,26 @@
dnl
dnl "$Id: cups-ssl.m4 9756 2011-05-11 00:52:08Z mike $"
dnl "$Id: cups-ssl.m4 12645 2015-05-20 01:20:52Z msweet $"
dnl
dnl OpenSSL/GNUTLS stuff for CUPS.
dnl TLS stuff for CUPS.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl Copyright 2007-2015 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 file is missing or damaged, see the license at "http://www.cups.org/".
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_ARG_ENABLE(ssl, [ --disable-ssl disable SSL/TLS support])
AC_ARG_ENABLE(cdsassl, [ --enable-cdsassl use CDSA for SSL/TLS support, default=first])
AC_ARG_ENABLE(gnutls, [ --enable-gnutls use GNU TLS for SSL/TLS support, default=second])
AC_ARG_ENABLE(openssl, [ --enable-openssl use OpenSSL for SSL/TLS support, default=third])
AC_ARG_WITH(openssl-libs, [ --with-openssl-libs set directory for OpenSSL library],
LDFLAGS="-L$withval $LDFLAGS"
DSOFLAGS="-L$withval $DSOFLAGS",)
AC_ARG_WITH(openssl-includes, [ --with-openssl-includes set directory for OpenSSL includes],
CFLAGS="-I$withval $CFLAGS"
CPPFLAGS="-I$withval $CPPFLAGS",)
SSLFLAGS=""
SSLLIBS=""
have_ssl=0
CUPS_SERVERKEYCHAIN=""
if test x$enable_ssl != xno; then
dnl Look for CDSA...
@@ -36,6 +30,7 @@ if test x$enable_ssl != xno; then
have_ssl=1
AC_DEFINE(HAVE_SSL)
AC_DEFINE(HAVE_CDSASSL)
CUPS_SERVERKEYCHAIN="/Library/Keychains/System.keychain"
dnl Check for the various security headers...
AC_CHECK_HEADER(Security/SecureTransportPriv.h,
@@ -56,41 +51,19 @@ if test x$enable_ssl != xno; then
AC_CHECK_HEADER(Security/SecIdentitySearchPriv.h,
AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H))
dnl Check for SecCertificateCopyData..
AC_MSG_CHECKING(for SecCertificateCopyData)
if test $uversion -ge 100; then
AC_DEFINE(HAVE_SECCERTIFICATECOPYDATA)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
dnl Check for SecIdentitySearchCreateWithPolicy...
AC_MSG_CHECKING(for SecIdentitySearchCreateWithPolicy)
if test $uversion -ge 80; then
AC_DEFINE(HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
dnl Check for SecPolicyCreateSSL...
AC_MSG_CHECKING(for SecPolicyCreateSSL)
if test $uversion -ge 110; then
AC_DEFINE(HAVE_SECPOLICYCREATESSL)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi])
AC_DEFINE(HAVE_CSSMERRORSTRING)
AC_DEFINE(HAVE_SECKEYCHAINOPEN)])
if test $uversion -ge 150; then
AC_DEFINE(HAVE_SSLSETENABLEDCIPHERS)
fi
fi
fi
dnl Then look for GNU TLS...
if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config)
AC_PATH_PROG(LIBGCRYPTCONFIG,libgcrypt-config)
AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config)
AC_PATH_TOOL(LIBGCRYPTCONFIG,libgcrypt-config)
if $PKGCONFIG --exists gnutls; then
have_ssl=1
SSLLIBS=`$PKGCONFIG --libs gnutls`
@@ -106,48 +79,14 @@ if test x$enable_ssl != xno; then
fi
if test $have_ssl = 1; then
if $PKGCONFIG --exists gcrypt; then
SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`"
SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`"
elif test "x$LIBGCRYPTCONFIG" != x; then
SSLLIBS="$SSLLIBS `$LIBGCRYPTCONFIG --libs`"
SSLFLAGS="$SSLFLAGS `$LIBGCRYPTCONFIG --cflags`"
fi
fi
fi
CUPS_SERVERKEYCHAIN="ssl"
dnl Check for the OpenSSL library last...
if test $have_ssl = 0 -a "x$enable_openssl" != "xno"; then
AC_CHECK_HEADER(openssl/ssl.h,
dnl Save the current libraries so the crypto stuff isn't always
dnl included...
SAVELIBS="$LIBS"
dnl Some ELF systems can't resolve all the symbols in libcrypto
dnl if libcrypto was linked against RSAREF, and fail to link the
dnl test program correctly, even though a correct installation
dnl of OpenSSL exists. So we test the linking three times in
dnl case the RSAREF libraries are needed.
for libcrypto in \
"-lcrypto" \
"-lcrypto -lrsaref" \
"-lcrypto -lRSAglue -lrsaref"
do
AC_CHECK_LIB(ssl,SSL_new,
[have_ssl=1
SSLFLAGS="-DOPENSSL_DISABLE_OLD_DES_SUPPORT"
SSLLIBS="-lssl $libcrypto"
AC_DEFINE(HAVE_SSL)
AC_DEFINE(HAVE_LIBSSL)],,
$libcrypto)
if test "x${SSLLIBS}" != "x"; then
break
fi
done
LIBS="$SAVELIBS")
LIBS="$LIBS $SSLLIBS"
AC_CHECK_FUNC(gnutls_transport_set_pull_timeout_function, AC_DEFINE(HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION))
AC_CHECK_FUNC(gnutls_priority_set_direct, AC_DEFINE(HAVE_GNUTLS_PRIORITY_SET_DIRECT))
LIBS="$SAVELIBS"
fi
fi
fi
@@ -156,10 +95,11 @@ if test $have_ssl = 1; then
AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"])
AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"])
IPPALIASES="http https ipps"
elif test x$enable_cdsa = xyes -o x$enable_gnutls = xyes -o x$enable_openssl = xyes; then
elif test x$enable_cdsa = xyes -o x$enable_gnutls = xyes; then
AC_MSG_ERROR([Unable to enable SSL support.])
fi
AC_SUBST(CUPS_SERVERKEYCHAIN)
AC_SUBST(IPPALIASES)
AC_SUBST(SSLFLAGS)
AC_SUBST(SSLLIBS)
@@ -167,7 +107,6 @@ AC_SUBST(SSLLIBS)
EXPORT_SSLLIBS="$SSLLIBS"
AC_SUBST(EXPORT_SSLLIBS)
dnl
dnl End of "$Id: cups-ssl.m4 9756 2011-05-11 00:52:08Z mike $".
dnl End of "$Id: cups-ssl.m4 12645 2015-05-20 01:20:52Z msweet $".
dnl
+192
Ver Arquivo
@@ -0,0 +1,192 @@
dnl
dnl "$Id: cups-startup.m4 12857 2015-08-31 15:00:45Z msweet $"
dnl
dnl Launch-on-demand/startup stuff for CUPS.
dnl
dnl Copyright 2007-2015 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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
ONDEMANDFLAGS=""
ONDEMANDLIBS=""
AC_SUBST(ONDEMANDFLAGS)
AC_SUBST(ONDEMANDLIBS)
dnl Launchd is used on OS X/Darwin...
AC_ARG_ENABLE(launchd, [ --disable-launchd disable launchd support])
LAUNCHD_DIR=""
AC_SUBST(LAUNCHD_DIR)
if test x$enable_launchd != xno; then
AC_CHECK_FUNC(launch_msg, AC_DEFINE(HAVE_LAUNCHD))
if test $uversion -ge 140; then
AC_CHECK_FUNC(launch_activate_socket, [
AC_DEFINE(HAVE_LAUNCHD)
AC_DEFINE(HAVE_LAUNCH_ACTIVATE_SOCKET)])
fi
AC_CHECK_HEADER(launch.h, AC_DEFINE(HAVE_LAUNCH_H))
case "$uname" in
Darwin*)
# Darwin, MacOS X
LAUNCHD_DIR="/System/Library/LaunchDaemons"
# liblaunch is already part of libSystem
;;
*)
# All others; this test will need to be updated
;;
esac
fi
dnl Systemd is used on Linux...
AC_ARG_ENABLE(systemd, [ --disable-systemd disable systemd support])
AC_ARG_WITH(systemd, [ --with-systemd set directory for systemd service files],
SYSTEMD_DIR="$withval", SYSTEMD_DIR="")
AC_SUBST(SYSTEMD_DIR)
if test x$enable_systemd != xno; then
if test "x$PKGCONFIG" = x; then
if test x$enable_systemd = xyes; then
AC_MSG_ERROR(Need pkg-config to enable systemd support.)
fi
else
have_systemd=no
AC_MSG_CHECKING(for libsystemd)
if $PKGCONFIG --exists libsystemd; then
AC_MSG_RESULT(yes)
have_systemd=yes
ONDEMANDFLAGS=`$PKGCONFIG --cflags libsystemd`
ONDEMANDLIBS=`$PKGCONFIG --libs libsystemd`
elif $PKGCONFIG --exists libsystemd-daemon; then
AC_MSG_RESULT(yes - legacy)
have_systemd=yes
ONDEMANDFLAGS=`$PKGCONFIG --cflags libsystemd-daemon`
ONDEMANDLIBS=`$PKGCONFIG --libs libsystemd-daemon`
if $PKGCONFIG --exists libsystemd-journal; then
ONDEMANDFLAGS="$ONDEMANDFLAGS `$PKGCONFIG --cflags libsystemd-journal`"
ONDEMANDLIBS="$ONDEMANDLIBS `$PKGCONFIG --libs libsystemd-journal`"
fi
else
AC_MSG_RESULT(no)
fi
if test $have_systemd = yes; then
AC_DEFINE(HAVE_SYSTEMD)
AC_CHECK_HEADER(systemd/sd-journal.h,AC_DEFINE(HAVE_SYSTEMD_SD_JOURNAL_H))
if test "x$SYSTEMD_DIR" = x; then
SYSTEMD_DIR="`$PKGCONFIG --variable=systemdsystemunitdir systemd`"
fi
fi
fi
fi
dnl Solaris uses smf
SMFMANIFESTDIR=""
AC_SUBST(SMFMANIFESTDIR)
AC_ARG_WITH(smfmanifestdir, [ --with-smfmanifestdir set path for Solaris SMF manifest],SMFMANIFESTDIR="$withval")
dnl Use init on other platforms...
AC_ARG_WITH(rcdir, [ --with-rcdir set path for rc scripts],rcdir="$withval",rcdir="")
AC_ARG_WITH(rclevels, [ --with-rclevels set run levels for rc scripts],rclevels="$withval",rclevels="2 3 5")
AC_ARG_WITH(rcstart, [ --with-rcstart set start number for rc scripts],rcstart="$withval",rcstart="")
AC_ARG_WITH(rcstop, [ --with-rcstop set stop number for rc scripts],rcstop="$withval",rcstop="")
if test x$rcdir = x; then
if test x$LAUNCHD_DIR = x -a x$SYSTEMD_DIR = x -a x$SMFMANIFESTDIR = x; then
# Fall back on "init", the original service startup interface...
if test -d /sbin/init.d; then
# SuSE
rcdir="/sbin/init.d"
elif test -d /etc/init.d; then
# Others
rcdir="/etc"
else
# RedHat, NetBSD
rcdir="/etc/rc.d"
fi
else
rcdir="no"
fi
fi
if test "x$rcstart" = x; then
case "$uname" in
Linux | GNU | GNU/k*BSD*)
# Linux
rcstart="81"
;;
SunOS*)
# Solaris
rcstart="81"
;;
*)
# Others
rcstart="99"
;;
esac
fi
if test "x$rcstop" = x; then
case "$uname" in
Linux | GNU | GNU/k*BSD*)
# Linux
rcstop="36"
;;
*)
# Others
rcstop="00"
;;
esac
fi
INITDIR=""
INITDDIR=""
RCLEVELS="$rclevels"
RCSTART="$rcstart"
RCSTOP="$rcstop"
AC_SUBST(INITDIR)
AC_SUBST(INITDDIR)
AC_SUBST(RCLEVELS)
AC_SUBST(RCSTART)
AC_SUBST(RCSTOP)
if test "x$rcdir" != xno; then
if test "x$rclevels" = x; then
INITDDIR="$rcdir"
else
INITDIR="$rcdir"
fi
fi
dnl Xinetd support...
AC_ARG_WITH(xinetd, [ --with-xinetd set path for xinetd config files],xinetd="$withval",xinetd="")
XINETD=""
AC_SUBST(XINETD)
if test "x$xinetd" = x; then
if test ! -x /sbin/launchd; then
for dir in /etc/xinetd.d /usr/local/etc/xinetd.d; do
if test -d $dir; then
XINETD="$dir"
break
fi
done
fi
elif test "x$xinetd" != xno; then
XINETD="$xinetd"
fi
dnl
dnl End of "$Id: cups-startup.m4 12857 2015-08-31 15:00:45Z msweet $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-threads.m4 9771 2011-05-12 05:21:56Z mike $"
dnl "$Id: cups-threads.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Threading stuff for CUPS.
dnl
@@ -50,5 +50,5 @@ fi
AC_SUBST(PTHREAD_FLAGS)
dnl
dnl End of "$Id: cups-threads.m4 9771 2011-05-12 05:21:56Z mike $".
dnl End of "$Id: cups-threads.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
+110 -107
Ver Arquivo
@@ -1,16 +1,16 @@
/*
* "$Id$"
* "$Id: config.h.in 12687 2015-06-03 17:19:04Z msweet $"
*
* Configuration file for CUPS.
* Configuration file for CUPS.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
* Copyright 2007-2015 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/".
* 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/".
*/
#ifndef _CUPS_CONFIG_H_
@@ -32,6 +32,7 @@
#define CUPS_DEFAULT_GROUP "sys"
#define CUPS_DEFAULT_SYSTEM_GROUPS "sys root system"
#define CUPS_DEFAULT_PRINTOPERATOR_AUTH "@SYSTEM"
#define CUPS_DEFAULT_SYSTEM_AUTHKEY "system.print.admin"
/*
@@ -62,12 +63,8 @@
*/
#define CUPS_DEFAULT_BROWSING 1
#define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS "CUPS"
#define CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS "CUPS"
#define CUPS_DEFAULT_BROWSE_SHORT_NAMES 1
#define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS ""
#define CUPS_DEFAULT_DEFAULT_SHARED 1
#define CUPS_DEFAULT_IMPLICIT_CLASSES 1
#define CUPS_DEFAULT_USE_NETWORK_DEFAULT 1
/*
@@ -96,7 +93,7 @@
* Default MaxCopies value...
*/
#define CUPS_DEFAULT_MAX_COPIES 100
#define CUPS_DEFAULT_MAX_COPIES 9999
/*
@@ -135,23 +132,25 @@
/*
* Do we have various image libraries?
* Do we have posix_spawn?
*/
#undef HAVE_POSIX_SPAWN
/*
* Do we have ZLIB?
*/
#undef HAVE_LIBPNG
#undef HAVE_LIBZ
#undef HAVE_LIBJPEG
#undef HAVE_LIBTIFF
#undef HAVE_INFLATECOPY
/*
* Do we have PAM stuff?
*/
#ifndef HAVE_LIBPAM
#define HAVE_LIBPAM 0
#endif /* !HAVE_LIBPAM */
#undef HAVE_PAM_PAM_APPL_H
#undef HAVE_PAM_SET_ITEM
#undef HAVE_PAM_SETCRED
@@ -172,10 +171,10 @@
/*
* Do we have <scsi/sg.h>?
* Use <stdint.h>?
*/
#undef HAVE_SCSI_SG_H
#undef HAVE_STDINT_H
/*
@@ -243,6 +242,20 @@
#undef HAVE_VSYSLOG
/*
* Do we have the ASL functions?
*/
#undef HAVE_ASL_H
/*
* Do we have the systemd journal functions?
*/
#undef HAVE_SYSTEMD_SD_JOURNAL_H
/*
* Do we have the (v)snprintf() functions?
*/
@@ -295,10 +308,24 @@
#undef HAVE_CDSASSL
#undef HAVE_GNUTLS
#undef HAVE_LIBSSL
#undef HAVE_SSPISSL
#undef HAVE_SSL
/*
* Do we have the gnutls_transport_set_pull_timeout_function function?
*/
#undef HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION
/*
* Do we have the gnutls_priority_set_direct function?
*/
#undef HAVE_GNUTLS_PRIORITY_SET_DIRECT
/*
* What Security framework headers do we have?
*/
@@ -314,34 +341,6 @@
#undef HAVE_SECURETRANSPORTPRIV_H
/*
* Do we have the SecCertificateCopyData function?
*/
#undef HAVE_SECCERTIFICATECOPYDATA
/*
* Do we have the SecIdentitySearchCreateWithPolicy function?
*/
#undef HAVE_SECIDENTITYSEARCHCREATEWITHPOLICY
/*
* Do we have the SecPolicyCreateSSL function?
*/
#undef HAVE_SECPOLICYCREATESSL
/*
* Do we have the SecPolicyCreateSSL function?
*/
#undef HAVE_SECPOLICYCREATESSL
/*
* Do we have the cssmErrorString function?
*/
@@ -350,22 +349,24 @@
/*
* Do we have the SLP library?
* Do we have the SecGenerateSelfSignedCertificate function?
*/
#undef HAVE_LIBSLP
#undef HAVE_SECGENERATESELFSIGNEDCERTIFICATE
/*
* Do we have an LDAP library?
* Do we have the SecKeychainOpen function?
*/
#undef HAVE_LDAP
#undef HAVE_OPENLDAP
#undef HAVE_MOZILLA_LDAP
#undef HAVE_LDAP_SSL_H
#undef HAVE_LDAP_SSL
#undef HAVE_LDAP_REBIND_PROC
#undef HAVE_SECKEYCHAINOPEN
/*
* Do we have (a working) SSLSetEnabledCiphers function?
*/
#undef HAVE_SSLSETENABLEDCIPHERS
/*
@@ -376,12 +377,19 @@
/*
* Do we have DNS Service Discovery (aka Bonjour)?
* Do we have mDNSResponder for DNS Service Discovery (aka Bonjour)?
*/
#undef HAVE_DNSSD
/*
* Do we have Avahi for DNS Service Discovery (aka Bonjour)?
*/
#undef HAVE_AVAHI
/*
* Do we have <sys/ioctl.h>?
*/
@@ -466,13 +474,6 @@
#undef HAVE_STRUCT_SOCKADDR_SA_LEN
/*
* Do we have the AIX usersec.h header file?
*/
#undef HAVE_USERSEC_H
/*
* Do we have pthread support?
*/
@@ -486,6 +487,14 @@
#undef HAVE_LAUNCH_H
#undef HAVE_LAUNCHD
#undef HAVE_LAUNCH_ACTIVATE_SOCKET
/*
* Do we have systemd support?
*/
#undef HAVE_SYSTEMD
/*
@@ -520,14 +529,6 @@
#define CUPS_GHOSTSCRIPT "/usr/bin/gs"
/*
* Do we have Darwin's CoreFoundation and SystemConfiguration frameworks?
*/
#undef HAVE_COREFOUNDATION
#undef HAVE_SYSTEMCONFIGURATION
/*
* Do we have CoreFoundation public and private headers?
*/
@@ -552,7 +553,7 @@
/*
* Do we have Mac OS X 10.4's mbr_XXX functions?
* Do we have OS X 10.4's mbr_XXX functions?
*/
#undef HAVE_MEMBERSHIP_H
@@ -568,19 +569,13 @@
#undef HAVE_NOTIFY_POST
/*
* Do we have Darwin's IOKit private headers?
*/
#undef HAVE_IOKIT_PWR_MGT_IOPMLIBPRIVATE_H
/*
* Do we have DBUS?
*/
#undef HAVE_DBUS
#undef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND
#undef HAVE_DBUS_THREADS_INIT
/*
@@ -592,11 +587,8 @@
#undef HAVE_GSS_GSSAPI_H
#undef HAVE_GSS_GSSAPI_SPI_H
#undef HAVE_GSSAPI
#undef HAVE_GSSAPI_GENERIC_H
#undef HAVE_GSSAPI_GSSAPI_H
#undef HAVE_GSSAPI_H
#undef HAVE_GSSAPI_KRB5_H
#undef HAVE_KRB5_H
/*
@@ -660,7 +652,7 @@
#ifdef HAVE_ARC4RANDOM
# define CUPS_RAND() arc4random()
# define CUPS_SRAND(v) arc4random_stir()
# define CUPS_SRAND(v)
#elif defined(HAVE_RANDOM)
# define CUPS_RAND() random()
# define CUPS_SRAND(v) srandom(v)
@@ -673,18 +665,11 @@
#endif /* HAVE_ARC4RANDOM */
/*
* Do we have vproc_transaction_begin/end?
*/
#undef HAVE_VPROC_TRANSACTION_BEGIN
/*
* Do we have libusb?
*/
#undef HAVE_USB_H
#undef HAVE_LIBUSB
/*
@@ -714,28 +699,46 @@
/*
* Location of Mac OS X localization bundle, if any.
* Location of OS X localization bundle, if any.
*/
#undef CUPS_BUNDLEDIR
/*
* Do we have the ColorSyncRegisterDevice function?
*/
#undef HAVE_COLORSYNCREGISTERDEVICE
/*
* Do we have XPC?
*/
#undef HAVE_XPC
#undef HAVE_XPC_PRIVATE_H
/*
* Do we have Mini-XML?
*/
#undef HAVE_MXML_H
/*
* Do we have the C99 abs() function?
*/
#undef HAVE_ABS
#if !defined(HAVE_ABS) && !defined(abs)
# if defined(__GNUC__) || __STDC_VERSION__ >= 199901L
# define abs(x) _cups_abs(x)
static inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
# elif defined(_MSC_VER)
# define abs(x) _cups_abs(x)
static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
# else
# define abs(x) ((x) < 0 ? -(x) : (x))
# endif /* __GNUC__ || __STDC_VERSION__ */
#endif /* !HAVE_ABS && !abs */
#endif /* !_CUPS_CONFIG_H_ */
/*
* End of "$Id$".
* End of "$Id: config.h.in 12687 2015-06-03 17:19:04Z msweet $".
*/
externo Arquivo executável
+11565
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+24 -23
Ver Arquivo
@@ -1,44 +1,43 @@
dnl
dnl "$Id$"
dnl "$Id: configure.ac 12998 2015-12-02 15:09:04Z msweet $"
dnl
dnl Configuration script for CUPS.
dnl Configuration script for CUPS.
dnl
dnl Copyright 2007-2010 by Apple Inc.
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl Copyright 2007-2015 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 file is missing or damaged, see the license at "http://www.cups.org/".
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 file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_INIT(cups/cups.h)
dnl We need at least autoconf 2.60...
AC_PREREQ(2.60)
dnl Package name and version...
AC_INIT([CUPS], [2.1.2], [https://www.cups.org/str.php], [cups], [https://www.cups.org/])
sinclude(config-scripts/cups-opsys.m4)
sinclude(config-scripts/cups-common.m4)
sinclude(config-scripts/cups-directories.m4)
sinclude(config-scripts/cups-manpages.m4)
sinclude(config-scripts/cups-3264.m4)
sinclude(config-scripts/cups-sharedlibs.m4)
sinclude(config-scripts/cups-libtool.m4)
sinclude(config-scripts/cups-compiler.m4)
sinclude(config-scripts/cups-image.m4)
sinclude(config-scripts/cups-network.m4)
sinclude(config-scripts/cups-poll.m4)
sinclude(config-scripts/cups-slp.m4)
sinclude(config-scripts/cups-gssapi.m4)
sinclude(config-scripts/cups-ldap.m4)
sinclude(config-scripts/cups-threads.m4)
sinclude(config-scripts/cups-ssl.m4)
sinclude(config-scripts/cups-pam.m4)
sinclude(config-scripts/cups-largefile.m4)
sinclude(config-scripts/cups-dnssd.m4)
sinclude(config-scripts/cups-launchd.m4)
sinclude(config-scripts/cups-startup.m4)
sinclude(config-scripts/cups-defaults.m4)
sinclude(config-scripts/cups-pdf.m4)
sinclude(config-scripts/cups-scripting.m4)
INSTALL_LANGUAGES=""
@@ -56,7 +55,7 @@ if test "x$LANGUAGES" != x; then
LANGFILES="$LANGFILES templates/$lang/header.tmpl"
fi
done
elif test "x$CUPS_BUNDLEDIR" != ""; then
elif test "x$CUPS_BUNDLEDIR" != x; then
INSTALL_LANGUAGES="install-langbundle"
UNINSTALL_LANGUAGES="uninstall-langbundle"
fi
@@ -65,20 +64,18 @@ AC_SUBST(INSTALL_LANGUAGES)
AC_SUBST(UNINSTALL_LANGUAGES)
AC_OUTPUT(Makedefs
conf/cups-files.conf
conf/cupsd.conf
conf/mime.convs
conf/pam.std
conf/snmp.conf
cups-config
data/testprint
desktop/cups.desktop
doc/help/ref-cupsd-conf.html
doc/help/standard.html
doc/index.html
man/client.conf.man
man/cups-deviced.man
man/cups-driverd.man
man/cups-files.conf.man
man/cups-lpd.man
man/cups-snmp.man
man/cupsaddsmb.man
man/cupsd.conf.man
man/cupsd.man
@@ -87,6 +84,10 @@ AC_OUTPUT(Makedefs
scheduler/cups.sh
scheduler/cups.xml
scheduler/org.cups.cups-lpd.plist
scheduler/org.cups.cups-lpdAT.service
scheduler/org.cups.cupsd.path
scheduler/org.cups.cupsd.service
scheduler/org.cups.cupsd.socket
templates/header.tmpl
packaging/cups.list
$LANGFILES)
@@ -94,5 +95,5 @@ AC_OUTPUT(Makedefs
chmod +x cups-config
dnl
dnl End of "$Id$".
dnl End of "$Id: configure.ac 12998 2015-12-02 15:09:04Z msweet $".
dnl
+8 -22
Ver Arquivo
@@ -1,10 +1,10 @@
#! /bin/sh
#
# "$Id$"
#
# "$Id: cups-config.in 10996 2013-05-29 11:51:34Z msweet $"
#
# CUPS configuration utility.
#
# Copyright 2007-2010 by Apple Inc.
# Copyright 2007-2011 by Apple Inc.
# Copyright 2001-2006 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@
#
VERSION="@CUPS_VERSION@"
APIVERSION="1.5"
APIVERSION="1.6"
BUILD="@CUPS_BUILD@"
prefix=@prefix@
@@ -35,8 +35,7 @@ INSTALLSTATIC=@INSTALLSTATIC@
# flags for C++ compiler:
CFLAGS=""
LDFLAGS="@EXPORT_LDFLAGS@"
LIBS="@LIBGSSAPI@ @EXPORT_SSLLIBS@ @EXPORT_LIBZ@ @LIBS@"
IMGLIBS="@EXPORT_LIBTIFF@ @EXPORT_LIBJPEG@ @EXPORT_LIBPNG@"
LIBS="@LIBGSSAPI@ @EXPORT_SSLLIBS@ @LIBZ@ @LIBS@"
# Check for local invocation...
selfdir=`dirname $0`
@@ -46,9 +45,6 @@ if test -f "$selfdir/cups/cups.h"; then
LDFLAGS="-L$selfdir/cups -L$selfdir/filter $LDFLAGS"
libdir="$selfdir/cups"
imagelibdir="$selfdir/filter"
if test ! -f "$selfdir/cups/raster.h"; then
ln -s ../filter/raster.h "$selfdir/cups"
fi
else
if test $includedir != /usr/include; then
CFLAGS="$CFLAGS -I$includedir"
@@ -68,7 +64,7 @@ usage ()
echo " cups-config --datadir"
echo " cups-config --help"
echo " cups-config --ldflags"
echo " cups-config [--driver] [--image] [--static] --libs"
echo " cups-config [--image] [--static] --libs"
echo " cups-config --serverbin"
echo " cups-config --serverroot"
echo " cups-config --version"
@@ -83,7 +79,6 @@ fi
# Parse command line options
static=no
image=no
driver=no
while test $# -gt 0; do
case $1 in
@@ -99,9 +94,6 @@ while test $# -gt 0; do
--datadir)
echo $cups_datadir
;;
--driver)
driver=yes
;;
--help)
usage 0
;;
@@ -117,16 +109,10 @@ while test $# -gt 0; do
if test $image = yes; then
libs="@EXTLINKCUPSIMAGE@ $libs"
fi
if test $driver = yes; then
libs="@EXTLINKCUPSDRIVER@ $libs"
fi
else
libs="$libdir/libcups.a $LIBS";
if test $image = yes; then
libs="$libdir/libcupsimage.a $IMGLIBS $libs"
fi
if test $driver = yes; then
libs="$libdir/libcupsdriver.a $libs"
libs="$libdir/libcupsimage.a $libs"
fi
fi
echo $libs
@@ -156,5 +142,5 @@ while test $# -gt 0; do
done
#
# End of "$Id$".
# End of "$Id: cups-config.in 10996 2013-05-29 11:51:34Z msweet $".
#
+318 -735
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+109 -107
Ver Arquivo
@@ -1,22 +1,30 @@
#
# "$Id$"
# "$Id: Makefile 12850 2015-08-27 19:29:06Z msweet $"
#
# API library Makefile for CUPS.
# API library Makefile for CUPS.
#
# Copyright 2007-2011 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products, all rights reserved.
# Copyright 2007-2014 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/".
# 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/".
#
# This file is subject to the Apple OS-Developed Software exception.
# This file is subject to the Apple OS-Developed Software exception.
#
include ../Makedefs
#
# Options to build libcups without the use of deprecated APIs...
#
OPTIONS = -D_CUPS_NO_DEPRECATED=1 -D_PPD_DEPRECATED=""
#
# Object files...
#
@@ -32,6 +40,9 @@ LIBOBJS = \
custom.o \
debug.o \
dest.o \
dest-job.o \
dest-localization.o \
dest-options.o \
dir.o \
emit.o \
encode.o \
@@ -65,19 +76,17 @@ LIBOBJS = \
string.o \
tempfile.o \
thread.o \
tls.o \
transcode.o \
usersys.o \
util.o
LIB32OBJS = $(LIBOBJS:.o=.32.o)
LIB64OBJS = $(LIBOBJS:.o=.64.o)
OBJS = \
$(LIBOBJS) \
$(LIB32OBJS) \
$(LIB64OBJS) \
TESTOBJS = \
testadmin.o \
testarray.o \
testcache.o \
testconflicts.o \
testcups.o \
testdest.o \
testfile.o \
testhttp.o \
testi18n.o \
@@ -86,7 +95,11 @@ OBJS = \
testlang.o \
testppd.o \
testpwg.o \
testsnmp.o
testsnmp.o \
tlscheck.o
OBJS = \
$(LIBOBJS) \
$(TESTOBJS)
#
@@ -104,6 +117,7 @@ HEADERS = \
ipp.h \
language.h \
ppd.h \
pwg.h \
raster.h \
sidechannel.h \
transcode.h \
@@ -120,6 +134,7 @@ HEADERSPRIV = \
md5-private.h \
ppd-private.h \
pwg-private.h \
raster-private.h \
snmp-private.h \
string-private.h \
thread-private.h
@@ -131,15 +146,15 @@ HEADERSPRIV = \
LIBTARGETS = \
$(LIBCUPSSTATIC) \
$(LIBCUPS) \
$(LIB32CUPS) \
$(LIB64CUPS)
$(LIBCUPS)
UNITTARGETS = \
testadmin \
testarray \
testcache \
testconflicts \
testcups \
testdest \
testfile \
testhttp \
testi18n \
@@ -148,7 +163,8 @@ UNITTARGETS = \
testoptions \
testppd \
testpwg \
testsnmp
testsnmp \
tlscheck
TARGETS = \
$(LIBTARGETS)
@@ -181,8 +197,7 @@ unittests: $(UNITTARGETS)
clean:
$(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
$(RM) libcups.so libcups.sl libcups.dylib
$(RM) -r 32bit 64bit
$(RM) libcups.so libcups.dylib
#
@@ -190,13 +205,15 @@ clean:
#
depend:
touch Dependencies.tmp
makedepend -Y -I.. -fDependencies.tmp $(OBJS:.o=.c) >/dev/null 2>&1
$(RM) Dependencies
cp Dependencies.tmp Dependencies
sed -E -e '1,$$s/^([^.]+)\.o:/\1\.32.o: \1\.c /' Dependencies.tmp >>Dependencies
sed -E -e '1,$$s/^([^.]+)\.o:/\1\.64.o: \1\.c /' Dependencies.tmp >>Dependencies
$(RM) Dependencies.tmp
$(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
#
# Run oclint to check code coverage...
#
oclint:
oclint -o=oclint.html -html $(LIBOBJS:.o=.c) -- $(ALL_CFLAGS)
#
@@ -243,11 +260,11 @@ install-headers:
# Install libraries...
#
install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
install-libs: $(INSTALLSTATIC)
echo Installing libraries in $(LIBDIR)...
$(INSTALL_DIR) -m 755 $(LIBDIR)
$(INSTALL_LIB) $(LIBCUPS) $(LIBDIR)
if test $(LIBCUPS) = "libcups.so.2" -o $(LIBCUPS) = "libcups.sl.2"; then \
if test $(LIBCUPS) = "libcups.so.2"; then \
$(RM) $(LIBDIR)/`basename $(LIBCUPS) .2`; \
$(LN) $(LIBCUPS) $(LIBDIR)/`basename $(LIBCUPS) .2`; \
fi
@@ -258,6 +275,7 @@ install-libs: $(INSTALLSTATIC) $(INSTALL32) $(INSTALL64)
if test "x$(SYMROOT)" != "x"; then \
$(INSTALL_DIR) $(SYMROOT); \
cp $(LIBCUPS) $(SYMROOT); \
dsymutil $(SYMROOT)/$(LIBCUPS); \
fi
installstatic:
@@ -266,30 +284,15 @@ installstatic:
$(RANLIB) $(LIBDIR)/$(LIBCUPSSTATIC)
$(CHMOD) 555 $(LIBDIR)/$(LIBCUPSSTATIC)
install32bit:
echo Installing libraries in $(LIB32DIR)...
$(INSTALL_DIR) -m 755 $(LIB32DIR)
$(INSTALL_LIB) 32bit/libcups.so.2 $(LIB32DIR)/libcups.so.2
$(LN) libcups.so.2 $(LIB32DIR)/libcups.so
install64bit:
echo Installing libraries in $(LIB64DIR)...
$(INSTALL_DIR) -m 755 $(LIB64DIR)
$(INSTALL_LIB) 64bit/libcups.so.2 $(LIB64DIR)/libcups.so.2
$(LN) libcups.so.2 $(LIB64DIR)/libcups.so
#
# Uninstall object and target files...
#
uninstall: $(UNINSTALL32) $(UNINSTALL64)
uninstall:
$(RM) $(LIBDIR)/libcups.2.dylib
$(RM) $(LIBDIR)/$(LIBCUPSSTATIC)
$(RM) $(LIBDIR)/libcups.dylib
$(RM) $(LIBDIR)/libcups_s.a
$(RM) $(LIBDIR)/libcups.sl
$(RM) $(LIBDIR)/libcups.sl.2
$(RM) $(LIBDIR)/libcups.so
$(RM) $(LIBDIR)/libcups.so.2
-$(RMDIR) $(LIBDIR)
@@ -298,22 +301,12 @@ uninstall: $(UNINSTALL32) $(UNINSTALL64)
done
-$(RMDIR) $(INCLUDEDIR)/cups
uninstall32bit:
$(RM) $(LIB32DIR)/libcups.so
$(RM) $(LIB32DIR)/libcups.so.2
-$(RMDIR) $(LIB32DIR)
uninstall64bit:
$(RM) $(LIB64DIR)/libcups.so
$(RM) $(LIB64DIR)/libcups.so.2
-$(RMDIR) $(LIB64DIR)
#
# libcups.so.2, libcups.sl.2
# libcups.so.2
#
libcups.so.2 libcups.sl.2: $(LIBOBJS)
libcups.so.2: $(LIBOBJS)
echo Linking $@...
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS) $(LIBGSSAPI) \
$(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
@@ -321,32 +314,6 @@ libcups.so.2 libcups.sl.2: $(LIBOBJS)
$(LN) $@ `basename $@ .2`
#
# 32bit/libcups.so.2
#
32bit/libcups.so.2: $(LIB32OBJS)
echo Linking 32-bit $@...
-mkdir 32bit
$(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(LIBGSSAPI) \
$(DNSSDLIBS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
$(RM) 32bit/libcups.so
$(LN) libcups.so.2 32bit/libcups.so
#
# 64bit/libcups.so.2
#
64bit/libcups.so.2: $(LIB64OBJS)
echo Linking 64-bit $@...
-mkdir 64bit
$(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(LIBGSSAPI) \
$(DNSSDLIBS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
$(RM) 64bit/libcups.so
$(LN) libcups.so.2 64bit/libcups.so
#
# libcups.2.dylib
#
@@ -359,7 +326,7 @@ libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER)
echo Linking $@...
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
-install_name $(libdir)/$@ \
-current_version 2.9.0 \
-current_version 2.11.0 \
-compatibility_version 2.0.0 \
-exported_symbols_list t.exp \
$(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
@@ -368,19 +335,6 @@ libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER)
$(LN) $@ libcups.dylib
#
# libcups_s.a
#
libcups_s.a: $(LIBOBJS) libcups_s.exp
echo Creating $@...
$(DSO) $(DSOFLAGS) -Wl,-bexport:libcups_s.exp -o libcups_s.o \
$(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
$(COMMONLIBS) $(LIBZ) -lm
$(RM) $@
$(AR) $(ARFLAGS) $@ libcups_s.o
#
# libcups.la
#
@@ -388,7 +342,7 @@ libcups_s.a: $(LIBOBJS) libcups_s.exp
libcups.la: $(LIBOBJS)
echo Linking $@...
$(CC) $(ARCHFLAGS) $(DSOFLAGS) -o $@ $(LIBOBJS:.o=.lo) \
-rpath $(LIBDIR) -version-info 2:9 $(LIBGSSAPI) $(SSLLIBS) \
-rpath $(LIBDIR) -version-info 2:11 $(LIBGSSAPI) $(SSLLIBS) \
$(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
@@ -403,6 +357,23 @@ libcups.a: $(LIBOBJS)
$(RANLIB) $@
#
# libcups2.def (Windows DLL exports file...)
#
libcups2.def: $(LIBOBJS) Makefile
echo Generating $@...
echo "LIBRARY libcups2" >libcups2.def
echo "VERSION 2.11" >>libcups2.def
echo "EXPORTS" >>libcups2.def
(nm $(LIBOBJS) 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' \
-e 'Block$$' | \
sed -e '1,$$s/^_//' | sort >>libcups2.def
#
# testadmin (dependency on static CUPS library is intentional)
#
@@ -425,6 +396,16 @@ testarray: testarray.o $(LIBCUPSSTATIC)
./testarray
#
# testcache (dependency on static CUPS library is intentional)
#
testcache: testcache.o $(LIBCUPSSTATIC)
echo Linking $@...
$(CC) $(LDFLAGS) -o $@ testcache.o $(LIBCUPSSTATIC) \
$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
# testconflicts (dependency on static CUPS library is intentional)
#
@@ -445,6 +426,16 @@ testcups: testcups.o $(LIBCUPSSTATIC)
$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
# testdest (dependency on static CUPS library is intentional)
#
testdest: testdest.o $(LIBCUPSSTATIC)
echo Linking $@...
$(CC) $(LDFLAGS) -o $@ testdest.o $(LIBCUPSSTATIC) \
$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
# testfile (dependency on static CUPS library is intentional)
#
@@ -551,6 +542,16 @@ testsnmp: testsnmp.o $(LIBCUPSSTATIC)
$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
# tlscheck (dependency on static CUPS library is intentional)
#
tlscheck: tlscheck.o $(LIBCUPSSTATIC)
echo Linking $@...
$(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ tlscheck.o $(LIBCUPSSTATIC) \
$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
#
# Automatic API help files...
#
@@ -573,8 +574,8 @@ apihelp:
--css ../doc/cups-printable.css \
--header api-cups.header --intro api-cups.shtml \
api-cups.xml \
cups.h adminutil.c dest.c language.c notify.c \
options.c tempfile.c usersys.c \
cups.h pwg.h adminutil.c dest*.c language.c notify.c \
options.c pwg-media.c tempfile.c usersys.c \
util.c >../doc/help/api-cups.html
mxmldoc --tokens help/api-cups.html api-cups.xml >../doc/help/api-cups.tokens
$(RM) api-cups.xml
@@ -585,7 +586,7 @@ apihelp:
file.h file.c dir.h dir.c >../doc/help/api-filedir.html
mxmldoc --tokens api-filedir.xml >../doc/help/api-filedir.tokens
$(RM) api-filedir.xml
mxmldoc --section "Programming" --title "PPD API" \
mxmldoc --section "Programming" --title "PPD API (DEPRECATED)" \
--css ../doc/cups-printable.css \
--header api-ppd.header --intro api-ppd.shtml \
api-ppd.xml \
@@ -628,7 +629,7 @@ framedhelp:
--section "Programming" --title "CUPS API" \
--css ../doc/cups-printable.css \
--header api-cups.header --intro api-cups.shtml \
cups.h adminutil.c dest.c language.c notify.c \
cups.h adminutil.c dest*.c language.c notify.c \
options.c tempfile.c usersys.c \
util.c
mxmldoc --framed api-filedir \
@@ -637,7 +638,7 @@ framedhelp:
--header api-filedir.header --intro api-filedir.shtml \
file.h file.c dir.h dir.c
mxmldoc --framed api-ppd \
--section "Programming" --title "PPD API" \
--section "Programming" --title "PPD API (DEPRECATED)" \
--css ../doc/cups-printable.css \
--header api-ppd.header --intro api-ppd.shtml \
ppd.h attr.c conflicts.c custom.c emit.c localize.c mark.c \
@@ -673,8 +674,9 @@ sloc:
#
include Dependencies
tls.o: tls-darwin.c tls-gnutls.c tls-sspi.c
#
# End of "$Id$".
# End of "$Id: Makefile 12850 2015-08-27 19:29:06Z msweet $".
#

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais