Comparar commits

...

813 Commits

Autor SHA1 Mensagem Data
Michael Sweet 354aadbe34 Import experimental work-in-progress HTTP/2 branch 2016-03-15 11:13:26 -04:00
Michael Sweet d9f356c545 Add configure script and .gitignore file. 2016-03-15 11:06:30 -04:00
msweet f13db65e41 The IPP backend now continues on to the next job when the remote server/printer
puts the job on hold (<rdar://problem/24858548>)

A 30 second delay (currently not configurable) is provided to allow for
canceling the job locally.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13133 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-10 17:23:01 +00:00
msweet 5a4c3fcf03 Fix cancel of jobs with multiple documents (<rdar://problem/24854834>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13131 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-10 17:01:08 +00:00
msweet cd1a83eac8 The scheduler did not return non-shared printers to local clients unless
they connected to the domain socket (<rdar://problem/24566996>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13128 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-09 15:45:21 +00:00
msweet 8ddb0f601e Fix builds on Linux.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13127 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-09 14:35:57 +00:00
msweet 788d7a15c5 Remove all remnants of the old private PWG APIs and structures.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13124 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-08 21:16:52 +00:00
msweet f7c7eff771 Update message catalogs.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13123 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-08 21:16:32 +00:00
msweet ac7c59abca The scheduler now reads the spool directory if one or more job cache entries
point to deleted jobs (<rdar://problem/24048846>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13120 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-07 20:38:23 +00:00
msweet d71488ecdd Added support for disc media sizes (<rdar://problem/20219536>)
Also remove old 10.8 private APIs that are no longer needed.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13118 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-07 20:02:13 +00:00
msweet 8be431f216 Fix anonymous ESR markup bug.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13116 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-05 16:25:47 +00:00
msweet c7d89253a0 Fix hang bug when alternating text contains a quote.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13115 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-02 20:24:10 +00:00
msweet 4ce9510966 Make sure cupsPageSize is initialized.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13114 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-03-02 20:23:04 +00:00
msweet 3e679a2968 Add PWG Raster field definitions.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13110 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-26 20:39:11 +00:00
msweet c585706d00 Implement more of testdest unit test.
Fix mapping of CUPS-Create-Local-Printer operation code.

Add logging to background thread.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13105 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-18 20:32:13 +00:00
msweet 4db7fceecf Fix some bugs in the implementation that have been around for a while...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13101 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-17 23:29:38 +00:00
msweet 46385a1a17 More work on temporary queues - implement support for them in the cupsDest APIs,
add some duplicate printer checking code, and implement the --enum unit test.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13099 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-17 22:46:40 +00:00
msweet 830cfed95a Update "make test" to include alternate filter.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13096 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-16 23:45:12 +00:00
msweet 95ece0cb8d Implement CUPS-Create-Local-Printer operation and add test file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13095 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-16 22:52:10 +00:00
msweet 724f2615e5 Back off on ECDSA for now, just use RSA as before, but now with SHA256 for
signing.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13094 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-16 19:30:22 +00:00
msweet 1ae693e31e Switch to ECDSA and SHA256 for self-signed certs on OS X
(<rdar://problem/24535828>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13091 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-16 19:11:37 +00:00
msweet 7ae00c352c First half of new "local temporary printer" queues, to support on-demand IPP
Everywhere printers.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13088 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-15 23:39:23 +00:00
msweet 3b43301028 Update documentation for cupsd - "-s" option was not mentioned (STR #4772)
Also update usage (-h) output.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13086 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-12 18:53:04 +00:00
msweet 34a63bd98a Add printer-queue-id attribute (extension).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13080 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-02-05 15:03:20 +00:00
msweet 83f1674e70 Fix deprecation and uninitialized value issues.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13074 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-29 21:13:57 +00:00
msweet d649be59fe Fix compiler warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13072 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-29 20:00:14 +00:00
msweet 549fc0f192 Put the developer guide into a new CONTRIBUTING file instead.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13066 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-28 15:59:40 +00:00
msweet 85df117dd8 Fix logic error (need to move only the remaining characters in the string).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13063 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-27 16:05:05 +00:00
msweet f07c012184 Fix access to resource files when the web interface was disabled (STR #4755)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13060 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-26 21:31:33 +00:00
msweet f76916f6e3 Update copyright.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13058 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-26 18:36:06 +00:00
msweet 14fa491e7a Fix encoding of quoted values (<rdar://problem/19736672>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13057 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-26 18:35:03 +00:00
msweet 2dd940185b Add (undocumented) -T option to print the current sandbox profile to stdout.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13055 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-25 14:43:52 +00:00
msweet 3517cb2348 Fix German web template (STR #4756)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13048 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-13 19:19:22 +00:00
msweet f3d8ceb685 The "lp -H resume" command did not reset the "job-state-reasons" attribute
value (STR #4752)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13046 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-13 19:13:49 +00:00
msweet 3e6c46ea77 Fix some issues in ipptool for skipped tests (<rdar://problem/24137160>)
- Don't error out on bad values when skipping a test (probably something isn't
  defined)
- Fix "rewind" code so that the line numbers do not get messed up.
- Don't report cupsLastErrorString when attributes cannot be created (not set
  for those issues)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13043 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-13 15:56:23 +00:00
msweet 3867aed599 Fix builds on Linux.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13042 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-12 19:12:16 +00:00
msweet 23abf279d8 Add "-4" and "-6" options to tlscheck.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13041 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-12 17:21:23 +00:00
msweet 79d3cd17cc Pending subscriptions would prevent the scheduler from idle exiting (STR #4754)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13039 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-11 20:27:08 +00:00
msweet 6d7669cc0a Bump version.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13038 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-11 20:26:17 +00:00
msweet a6a4a2f5b6 Fix some compile issues, use our implementation of rresvport_af since it is
deprecated.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13034 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-06 15:36:36 +00:00
msweet 4a78452e73 Fix variable definitions.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13032 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-06 00:29:50 +00:00
msweet a8db9df8b3 The default password function did not work on some platforms (STR #4750)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13029 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-04 14:34:55 +00:00
msweet 6c49fde65c Revert permissions change to cupsd domain socket (<rdar://problem/23958973>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13027 a1ca3aef-8c08-0410-bb20-df032aa958be
2016-01-04 14:11:19 +00:00
msweet 684d1464e6 Wrap all uses of notify_post with #ifdef's.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13025 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-12-18 22:07:41 +00:00
msweet 6e5a57e8af Add cupsRasterInitPWGHeader API to setup a raster header using IPP Everywhere
attribute values.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13024 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-12-18 20:34:33 +00:00
msweet e7f4e0e9c0 The EPL2 and ZPL sample drivers did not properly support the CutMedia option.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13021 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-12-16 18:35:12 +00:00
msweet d5cc05c96d The httpAddrConnect and httpConnect* APIs now try connecting to multiple
addresses in parallel (<rdar://problem/20643153>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13014 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-12-11 18:59:09 +00:00
msweet 8935a80bd0 Can't hide _httpWait.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13010 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-12-11 16:47:32 +00:00
msweet 966773c540 Fix export list for shared libraries (<rdar://problem/23303388>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13008 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-12-11 16:00:00 +00:00
msweet f787e1e3ff Do some code reorganization so that all of the PPD code is separate from the rest.
Note: cupsGetPPD* and friends are now in cups/ppd.h now - should not be an issue
but was necessary to leave a clean break for future code.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13007 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-12-09 16:56:00 +00:00
msweet 7f2dc952e0 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13005 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-12-08 20:19:05 +00:00
msweet 634c6c927d Don't exit under memory pressure (<rdar://problem/23255001>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13003 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-12-08 20:17:05 +00:00
msweet c47d48694a Add missing client-error-not-fetchable status code.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12995 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-20 02:32:42 +00:00
msweet 3ce45fb70a Fix compile error on Linux.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12993 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-19 15:27:44 +00:00
msweet 5ae9fbb3dd Add support for hashed job-password values; right now just SHA-1 and SHA-2 hashes
(<rdar://problem/20221502>)

- Add new cupsHashData API
- Use cupsHashData in _cupsConvertOptions.
- Grab the job-password-encryption-supported value from the printer and pick the most
  secure hash that is supported.
- Add a new _CUPS_API_2_2 availability macro.
- Update dependencies and Xcode project settings.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12983 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-18 17:22:38 +00:00
msweet 71a78e2fe4 The IPP backend incorrectly included the job-password attribute in Validate-Job
requests (<rdar://problem/23531939>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12979 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-17 21:23:16 +00:00
msweet 7dc6f91d5e Changing the printer-is-shared value for a remote queue did not produce an
error (STR #4738)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12977 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-17 19:25:54 +00:00
msweet 9924fab816 The scheduler did not deliver job notifications for jobs submitted to classes
(STR #4733)

A matching job is enough.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12976 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-17 19:02:23 +00:00
msweet dd1360c1fe Added USB quirk for Canon MP530 (STR #4730)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12975 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-17 18:04:51 +00:00
msweet 8719e9dbf5 Scheduler logging change (STR #4728)
Just log "connection now encrypted" as a debug message now.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12974 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-17 18:01:44 +00:00
msweet c1bc6894eb Fix regression in fix for <rdar://problem/23133833>.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12971 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-13 20:30:20 +00:00
msweet 044af446cd Range check port numbers in URIs (<rdar://problem/23144461>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12969 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-13 20:01:52 +00:00
msweet 28af862a1c Don't create the full name twice (<rdar://problem/23144358>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12967 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-13 19:49:10 +00:00
msweet be939dc257 Don't treat HTTP/1.x prefix as a response unless we are a client
(<rdar://problem/23144290>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12964 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-13 19:37:47 +00:00
msweet eb93498a8c Make sure to delete temporary file on failed install of cupsd.conf
(<rdar://problem/23135207>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12962 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-11 19:59:43 +00:00
msweet e0a0bd781b Don't export weak symbols.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12957 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-11-06 16:21:36 +00:00
msweet db3b30894c Fix symbolic name to enum mapping (first value wasn't mapped)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12951 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-28 17:21:45 +00:00
msweet 40e7858e19 Fix compile error.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12950 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-28 16:45:50 +00:00
msweet 1b01c393d2 Fix another spot where URI hostnames were not normalized.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12948 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-28 16:37:49 +00:00
msweet 5947e9d5ad Fix IPP conformance issues and a bug in the printer-state-reasons reporting
from ippserver.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12946 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-28 15:20:59 +00:00
msweet ffe3267303 Cleanup some DEBUG2 log messages (<rdar://problem/23135122>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12944 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-26 19:44:10 +00:00
msweet 546400fd70 Make sure we escape the subject and text in the RSS feed
(<rdar://problem/23135066>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12942 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-26 18:15:48 +00:00
msweet c26ceab084 Strip trailing ? and / before checking for .ppd (<rdar://problem/23134506>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12940 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-26 18:07:32 +00:00
msweet fcad603269 Add /admin/log section to cupsd.conf so that remote admin also controls remote
access to the log files (<rdar://problem/23134415>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12938 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-26 17:26:36 +00:00
msweet d8a60ef8de Make sure /icons/printer.png and /ppds/printer.ppd point to real queues.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12936 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-26 17:17:40 +00:00
msweet 992d991815 Don't log strings directly (<rdar://problem/23134299>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12934 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-26 16:48:23 +00:00
msweet b9ce33c5b0 Return error if we cannot allocate the compression buffer
(<rdar://problem/23134228>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12932 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-26 16:24:57 +00:00
msweet 40150539e8 Make sure that raster buffer can hold enough data for all planes
(<rdar://problem/23133998>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12930 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-26 16:18:23 +00:00
msweet 1b6c727889 Use constant time comparison function for local certificates
(<rdar://problem/23133833>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12927 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 21:31:17 +00:00
msweet 59189c00d2 Escape strings in error_log output (<rdar://problem/23133466>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12925 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 21:17:33 +00:00
msweet 3a555a4f30 Ensure that cupsBytesPerLine < 2^31 for 32-bit only platforms
(<rdar://problem/23133393>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12923 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 20:30:33 +00:00
msweet fd5ce3a47b Add missing length check (<rdar://problem/23133230>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12921 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 20:08:36 +00:00
msweet a4708bb06c Really fix it.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12918 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 19:58:07 +00:00
msweet f94d4e7f01 Fix infinite loop on bad PUT (<rdar://problem/23132803>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12917 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 19:41:38 +00:00
msweet 34c67f13d6 Limit size of chunked requests (<rdar://problem/23132353>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12915 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 19:00:06 +00:00
msweet 96a9a53ee3 Documentation updates.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12913 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 18:58:15 +00:00
msweet 58e9f2680f Fix compile error.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12912 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 18:56:11 +00:00
msweet f433237632 Add margin checks to rastertopwg (<rdar://problem/23132108>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12909 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 18:07:07 +00:00
msweet 3c0659cd0f Protect against integer overflow in raster data (<rdar://problem/23131948>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12908 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 17:44:03 +00:00
msweet 1261ca01ce Get rid of compiler warning...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12906 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-23 15:02:21 +00:00
msweet 2a0197fe83 Make sure image is not progressive.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12905 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-20 22:12:08 +00:00
msweet e67e2f9e9f Interface scripts are no longer supported for security reasons
(<rdar://problem/23135640>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12904 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-19 18:49:28 +00:00
msweet 29d379ccb6 Update software for stable draft of IPP Everywhere Printer Self-Certification
Manual 1.0 (October 9, 2015 draft)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12897 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-09 19:18:39 +00:00
msweet f024f448c0 The IPP backend did not always handle jobs getting canceled at the printer
(<rdar://problem/22716820>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12895 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-09 13:15:16 +00:00
msweet 89b7fd552d Fix access check for domain socket.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12892 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-08 17:24:57 +00:00
msweet a07bfaea4e The cupsd domain socket is no longer world-accessible on OS X
(<rdar://problem/7542560>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12890 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-08 14:27:25 +00:00
msweet dd37b5bcf9 Fix cupsGetPPD* with IPP print queues (STR #4725)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12883 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-10-07 20:28:20 +00:00
msweet 1a8ca4fab2 Update CUPS version in sample.drv.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12882 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-09-15 21:20:50 +00:00
msweet 499aa6cd12 Fix typo.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12880 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-09-15 21:19:10 +00:00
msweet f81d652010 Some older HP LaserJet printers need a delayed close when printing using the
libusb-based USB backend (STR #4549)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12878 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-09-15 21:16:11 +00:00
msweet 1c5f75579f Drop cups-revision property.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12876 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-09-14 19:01:25 +00:00
msweet d0e96b4a79 Move trunk to v2.2.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12875 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-09-14 19:00:47 +00:00
msweet 7385c337ac The libusb-based USB backend did not unload the kernel usblp module if it was
preventing the backend from accessing the printer (STR #4707)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12869 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-09-13 23:57:07 +00:00
msweet 3f93806957 Fix message translation for Catalan (STR #4709)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12868 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-09-13 23:51:42 +00:00
msweet a906a73123 Don't map Primera name to Fargo anymore (STR #4708)
Bump version to 2.1.1.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12867 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-09-13 23:49:19 +00:00
msweet f495e905dd Fix another journald issue, and partially revert the systemd change so that
CUPS 2.1 builds with systemd support on RHEL 7.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12857 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-31 15:00:45 +00:00
msweet 0b2b24c558 Update jobs.cache after expiring job files (STR #4706)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12856 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-31 14:27:39 +00:00
msweet fbfee7a844 Update copyrights in man pages.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12854 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-28 14:08:00 +00:00
msweet 6a638e3289 Another typo when the default (timid) tests are chosen (STR #4699)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12853 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-28 13:38:46 +00:00
msweet 44ee459098 Don't look for DBUS on OS X, either (STR #4698)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12852 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-28 13:29:21 +00:00
msweet 55516fd3bc The scheduler did not use the ConfigFilePerm setting when copying PPD files or
interface scripts attached to a request (STR #4703)

Use cupsdCreateConfFile when copying attached files, and use ConfigFilePerm.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12851 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-28 13:17:53 +00:00
msweet 5315d269f0 Make sure testcache.o is listed as an object file...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12850 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-27 19:29:06 +00:00
msweet dd3fdd2c59 Documentation updates (STR #4691, STR #4693)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12848 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-26 18:51:57 +00:00
msweet ff455bc67f The new PDF file type rule did not work (STR #4692)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12847 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-26 18:32:22 +00:00
msweet e87a99684f Fix --enable-page-logging configure option (STR #4694)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12846 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-26 18:26:22 +00:00
msweet 7470f0c7dc Don't try to use Avahi on OS X (STR #4695)
cupsd-logs man page is in section 5...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12845 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-26 18:23:53 +00:00
msweet 71d1039982 Fix another "new logging" bug for journald only this time (STR #4690)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12843 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-13 13:50:22 +00:00
msweet 6922317779 Fix another bug in the new logging code (STR #4687)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12842 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-10 17:26:07 +00:00
msweet 3647435025 Additional fixes for Hong Kong locale (<rdar://problem/22130168>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12841 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-10 17:07:30 +00:00
msweet 63efa61613 Fix warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12840 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-09 02:10:23 +00:00
msweet 7fd8cbfadb Implement Identify-Printer and add tests.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12839 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-07 13:22:27 +00:00
msweet 9610a474e2 Add support for STATE: and ATTR: (currently a stub) messages from commands,
at least on POSIX platforms.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12838 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-07 13:13:12 +00:00
msweet 88da9d7351 Fix another new Chinese locale ID (<rdar://problem/22086642>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12835 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-06 14:08:01 +00:00
msweet bd3e2e22b9 <rdar://problem/22130168> [PrintCenter]: HK: Gala15A250: Many strings are not localized in printer setting pane for HK.
Need to use zh_TW as a fallback for zh_HK.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12834 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-06 13:56:32 +00:00
msweet 15a9714c6c Add support for extra and overridden attributes (vendor request).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12833 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-05 20:59:52 +00:00
msweet 591b26322a Bump versions.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12831 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-05 14:24:32 +00:00
msweet e6330e6da1 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12830 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-05 14:23:26 +00:00
msweet ea99768e29 Fix "make check" warning counts (STR #4684)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12829 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-08-05 14:22:02 +00:00
msweet 183552bee5 Prep for 2.1rc1.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12821 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-31 14:53:55 +00:00
msweet 3fc450cdce With recent changes there should only be 8 warning messages in the log.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12820 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-31 14:12:25 +00:00
msweet fac77c5b2d <Limit All> in <Policy> sections now applies to all operations when used by
itself (STR #4659)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12819 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-31 13:52:00 +00:00
msweet c1de66f911 Fix the signal handlers in the dnssd and usb backends to only use async-safe
functions (STR #4671)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12818 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-31 13:29:25 +00:00
msweet 1ade8dd9b0 Fix domain socket support on Linux (STR #4679)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12817 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-30 15:45:46 +00:00
msweet 7c91f59a7f More journald/asl logging bug fixes (STR #4661)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12816 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-30 15:38:57 +00:00
msweet bbbdd14100 cupsd-logs man page should be in section 5 (STR #4674)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12814 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-30 15:03:33 +00:00
msweet 4b9daaf451 Fix processing of server overrides without port numbers (STR #4675)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12812 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-30 15:00:26 +00:00
msweet 149e8707cf Updated HTML man page...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12811 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-30 14:59:14 +00:00
msweet f1ebe30e92 Fix a USB memory leak and update to the most recent interface
(<rdar://problem/21421966>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12800 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-22 20:33:16 +00:00
msweet 7530b13a2e Fix a USB race condition (<rdar://problem/21882551>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12798 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-21 17:44:57 +00:00
msweet 08b1b9ba47 Fix another spot where we should not be using curley quotes (<rdar://problem/21835161>)
Also fix trailing regular quote after curley quote caused by previous change.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12794 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-20 18:26:20 +00:00
msweet f91fdb4275 Fix mapping of a long double-quote to a regular double quote and not a curley quote
(<rdar://problem/21852022>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12792 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-20 17:42:59 +00:00
msweet 36ac4374ed Fix Portugeuse localization fallback (<rdar://problem/21873202>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12790 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-20 17:05:06 +00:00
msweet db7d774183 Fix sample.drv version number.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12789 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-20 14:51:28 +00:00
msweet cdd90b5ce3 Add URLs so they get reported at the bottom of the (very long) configure --help
output...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12787 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-14 21:19:57 +00:00
msweet 6fe0e36094 Updated autoconf sources to use newer form of AC_INIT (STR #4664)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12785 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-14 18:07:49 +00:00
msweet 4bdf6dfacf Next release will be CUPS 2.1rc1...
Just look for libsystemd for all systemd support (STR #4669)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12784 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-14 17:39:26 +00:00
msweet 845cd48759 Fix typo, remove reference to OpenSSL.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12782 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-13 20:39:14 +00:00
msweet 8ef06c795f The scheduler incorrectly started jobs while canceling multiple jobs (STR #4648)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12777 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-07 17:24:06 +00:00
msweet 5252fc7ae2 Fix logging of printer URI (STR #4658)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12774 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-02 17:53:47 +00:00
msweet 67fe5048b9 Fix journald support (STR #4655)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12773 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-02 17:43:52 +00:00
msweet 71936a32a1 Fix curley quotes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12771 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-07-02 16:14:47 +00:00
msweet 945bef5290 The web search incorrectly searched time-at-xxx values (STR #4652)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12768 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-30 16:13:38 +00:00
msweet 0d53bff197 Documentation changes (STR #4651)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12767 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-30 15:57:39 +00:00
msweet 286755bd68 Bump versions.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12763 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-24 20:12:22 +00:00
msweet 6d3a75901c Prep for 2.1b2 (couple more bug fixes coming...)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12760 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-24 20:09:38 +00:00
msweet 93d3b4feef The scheduler did not start all pending jobs at once (STR #4646)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12758 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-24 20:01:28 +00:00
msweet 911cdc0da8 The IPP backend did not respond to side-channel requests (STR #4645)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12757 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-24 19:55:31 +00:00
msweet 3b20f9f50c Add ellipsis to "Looking for printer" message.
Update strings file generation to convert common ASCII sequences to their
Unicode counterparts.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12752 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-24 19:30:47 +00:00
msweet f7c0e88013 Fix redirection in the web interface (STR #4538)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12751 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-24 18:22:32 +00:00
msweet a5425f93fa Fix a bug in cupsRasterWritePixels (STR #4650)
The return value should be the number of uncompressed bytes written, not the number of
compressed bytes.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12747 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-24 15:55:05 +00:00
msweet d9564ec707 Update libcupsimage to properly use DEBUG_ macros.
Add additional debug stuff for raster.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12746 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-24 13:28:36 +00:00
msweet 590e44a4d3 Save changes to raster unit test and debug messages.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12744 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-23 21:30:17 +00:00
msweet e87e23e76e Add a check for whether the compiler supports the -Wno-unused-result option.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12742 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-23 14:48:53 +00:00
msweet 7b61970288 Fix builds with GCC 4.8.x
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12737 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-15 18:21:23 +00:00
msweet f97ae2c64e Update changelog since 2.1b1 is already out.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12734 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-12 01:22:17 +00:00
msweet 5a08320a77 Bring back PWG white paper support for 3D print queues (just tagging of queues and drivers
that are 3D-specific, with 3D queues omitted from 2D print dialogs)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12733 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-12 01:21:05 +00:00
msweet 08f269f9b9 Back out PWG white paper support from mainline CUPS.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12722 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 22:00:19 +00:00
msweet 03e56bef25 Fix CUPS_VERSION value.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12717 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 21:53:06 +00:00
msweet d4aaf2e540 Update CUPS_VERSION and friends.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12716 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 21:52:19 +00:00
msweet 0d1174843a Update message catalogs.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12714 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 21:14:37 +00:00
msweet 1134a63299 Fix RPM packaging.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12713 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 21:10:09 +00:00
msweet 22ba99842c Add note about 3D support from PWG white paper.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12712 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 20:10:58 +00:00
msweet 59fd9df986 Start of 3D printer support (infrastructure only)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12711 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 19:29:57 +00:00
msweet 763a0aed16 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12702 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 18:53:29 +00:00
msweet 5e6c3df7c0 Security: Fix CERT VU #810572 exploiting the dynamic linker (STR #4609)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12700 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 18:32:35 +00:00
msweet c59e07c674 Update documentation.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12699 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 18:16:30 +00:00
msweet ebaf274807 Prep for 2.1b1.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12697 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 17:42:16 +00:00
msweet 87f8ade3e3 Update "make check" to report on the exit status of cupsd (useful for seeing if cupsd
crashed; maybe we can grab a crash log?)

Add hyperlinks to each of the major sections.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12696 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 15:05:11 +00:00
msweet 370e42d343 Update HTML version of man page.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12695 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-08 15:04:25 +00:00
msweet a990ad13c7 Fix build errors on Linux for new journald logging.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12691 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-04 18:00:31 +00:00
msweet 42dccd4272 Fix IPP Everywhere tests I-16, I-22, and I-25 to allow media-col in the response
(STR #4630)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12690 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-04 16:34:20 +00:00
msweet a1797929b6 Add support for logging to stderr (STR #4505)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12689 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-03 19:49:54 +00:00
msweet 47ddc81271 Update messages from tlscheck.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12688 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-03 17:31:30 +00:00
msweet 0dc4a6bf8c Add support for ASL and journald when doing "syslog" logging (STR #4474)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12687 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-03 17:19:04 +00:00
msweet 5e7464ec5e Don't write empty ColorModel option (STR #4638)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12685 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-01 18:45:56 +00:00
msweet 45bfe940ea Added German translation (STR #4635)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12683 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-01 18:26:39 +00:00
msweet d1db56d49c Fix PageRegion dimensions (STR #4637)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12682 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-06-01 16:53:07 +00:00
msweet 89665c51ed Fix a compiler warning.
PWG Raster Format output contained invalid ImageBox values
(<rdar://problem/21144309>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12678 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-28 19:09:48 +00:00
msweet 4ea83fb2e4 Prefer job-impressions-completed over job-media-sheets-completed.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12676 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-28 01:19:14 +00:00
msweet 4492316e9c Fix builds on some Darwin platforms.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12675 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-28 01:14:32 +00:00
msweet de3edeba17 USB and IPP backend fixes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12672 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-28 00:10:27 +00:00
msweet 72aa7cb4b5 Just blacklist anonymous DH.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12670 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-27 19:48:05 +00:00
msweet 9514a192a5 Add support for job-impressions[-completed].
Fix regression in remote printing (needed to block date-time-at-xxx attrs)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12668 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-27 19:30:32 +00:00
msweet 9b4bd602fb Support many new attributes and fix some IPP conformance issues (STR #4630)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12666 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-25 19:38:09 +00:00
msweet 520fe1dee4 Fix a memory leak in cupsConnectDest (STR #4634)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12664 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-25 15:08:41 +00:00
msweet 315db3ecd6 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12662 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-25 14:32:05 +00:00
msweet 9b5440d8a9 Fix intermittent "make check" failures due to the initial print job completing
before the test script checks the status (STR #4576)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12661 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-25 14:30:52 +00:00
msweet cab9f682cd Don't return an error for browsing.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12659 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-22 19:06:41 +00:00
msweet f0cd6a7ce2 Fix quoting.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12657 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-22 17:53:35 +00:00
msweet 8e333c29c6 Fix "make check" when there are no native CUPS filters on the system.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12655 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-22 17:26:40 +00:00
msweet bfa448ff84 Log the filename that cannot be opened.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12654 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-22 16:26:29 +00:00
msweet 838bcb9292 Fix compile error...
Drop optimization for default TLS options; better to ensure we get consistent
priority string values here than to save a few nanoseconds (previous optimized
value was wrong...)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12653 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-22 11:16:30 +00:00
msweet 58796d4932 tlscheck should only be built when SSL/TLS is available/enabled.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12652 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-22 11:09:38 +00:00
msweet bdc4056cff Update list of blacklisted DH/DHE cipher suites.
Expand what tlscheck can do/report.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12649 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-21 01:48:09 +00:00
msweet b37d45d9ed More tweaks for cipher suite restrictions.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12647 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-20 18:37:52 +00:00
msweet ee6226a5cb Add SSLOptions to enable Diffie-Hellman key exchange and disable TLS/1.0.
DH/DHE support is being made optional because of known security issues with short
DH parameters.  Since there is no way to conditionally use DH/DHE with a minimum
number of bits, we just have to disable it by default.

TLS/1.0 support can now be disabled due to known security issues with TLS/1.0.
However, since TLS/1.1 and TLS/1.2 support is not universally available, we
cannot simply disable TLS/1.0 like we did for SSL/3.0.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12645 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-20 01:20:52 +00:00
msweet 3bb5973159 Fix compiler warnings.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12644 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-19 21:22:35 +00:00
msweet b81c7a3272 Ignore tlscheck.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12643 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-19 15:05:12 +00:00
msweet b2250eaa0b Fix compiler warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12641 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-19 15:04:39 +00:00
msweet 88da3fd755 Add more cipher suites.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12640 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-19 15:03:48 +00:00
msweet 3363e7596f ippfind incorrectly substituted "=port" for service_port.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12638 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-19 02:36:15 +00:00
msweet fb9d90d672 Add a check for "=" in the port number (to work around an ippfind bug)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12637 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-19 02:26:15 +00:00
msweet 72b9a3131a Add TLS version.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12636 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-19 02:22:55 +00:00
msweet 79a3732626 Start of check program for TLS implementations.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12635 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-19 02:12:22 +00:00
msweet d25e43cfbe The ppdhtml and ppdpo utilities crashed when the -D option was used before a
driver information file (STR #4627)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12633 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-15 19:16:58 +00:00
msweet f64b32d934 The IPP backend now correctly monitors jobs (<rdar://problem/20495955>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12623 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 23:50:10 +00:00
msweet 560634d338 Write numbers in a locale-safe way (STR #4579)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12622 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 23:19:28 +00:00
msweet fab4b71e38 Long cookies caused the web interface to stop working (STR #4619)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12621 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 21:32:18 +00:00
msweet d4cda727d5 The scheduler now validates ErrorPolicy values in config files (STR #4591)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12620 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 21:11:47 +00:00
msweet 6d8021f4bd Check the return value of rename() (STR #4589)
Add some & in front of function names.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12619 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 21:00:19 +00:00
msweet dc991142c4 The sample Epson driver could crash (STR #4616)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12617 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 20:28:22 +00:00
msweet ea614873ca Link with common libs (to get CoreFoundation).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12615 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 20:21:51 +00:00
msweet bb00c43fcc The scheduler could get caught in a busy loop (STR #4605)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12613 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 18:01:04 +00:00
msweet 2906719433 The cups-lpd mini-daemon did not check for request parameters (STR #4603)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12611 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 15:30:36 +00:00
msweet c130ea1d81 The rastertopwg filter did not check for truncated input (STR #4597)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12609 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 12:24:47 +00:00
msweet 33076d249b cupsRasterReadHeader did not fully validate the raster header (STR #4596)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12607 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 12:19:59 +00:00
msweet d2df9aeddb The web interface always showed support for 2-sided printing (STR #4595)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12605 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 01:58:08 +00:00
msweet 61c9d9f825 Fix lpadmin when both -m and -o are used (STR #4578)
Grab server PPD and edit it as needed.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12603 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-06 01:42:51 +00:00
msweet d201ec2b11 Update copyright.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12602 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-05 20:19:35 +00:00
msweet d2ff46225c Fixed <Limit> inside <Location> (STR #4575)
Need to copy length when copying location.  Also strip trailing / and query
string when doing path comparison.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12600 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-05 19:52:13 +00:00
msweet 3606a6d61f Fix weak-link check.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12599 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-05 19:48:38 +00:00
msweet 367377293a Change maximum raster resolution to 300 DPI.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12598 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-05-05 18:57:57 +00:00
msweet c8fdb00125 Fix some clang issues.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12583 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-04-03 00:33:05 +00:00
msweet cbf9404a5a Fix a gzip processing bug (STR #4602)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12577 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-03-30 19:07:17 +00:00
msweet 50752acba9 Fix potential buffer overflow in rastertohp (STR #4601)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12574 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-03-26 16:36:18 +00:00
msweet 8326c12921 Fix another potential buffer overflow (STR #4600)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12572 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-03-25 20:04:18 +00:00
msweet f8e5a7b498 Fix another potential buffer overflow (STR #4599)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12570 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-03-25 18:44:16 +00:00
msweet 94d5dc4814 Fix buffer overflow in rastertopwg (STR #4598)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12568 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-03-25 13:49:23 +00:00
msweet f8f7636ed6 Eliminate Clang warnings.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12559 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-03-23 17:28:46 +00:00
msweet c4496252d6 Fixed logging of configuration errors to show up as errors (STR #4582)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12542 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-27 18:41:55 +00:00
msweet 77b80b0d76 Add Russian translation (STR #4577)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12540 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-27 18:15:29 +00:00
msweet fd40cbc4d1 Restore missing generic printer icon file (STR #4587)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12538 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-27 18:01:33 +00:00
msweet ea72cf2b56 The cupstestppd program did not handle "maxsize(nnn)" entries in cupsFilter/
cupsFilter2 values (<rdar://problem/18974858>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12536 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-27 14:06:20 +00:00
msweet 6ee8dca8b5 Install filename.default versions of cups-files.conf and snmp.conf
(<rdar://problem/19024491>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12533 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-27 12:30:26 +00:00
msweet fe750b8658 Fix USB backend for compatibility with IPP USB.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12528 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-23 18:57:20 +00:00
msweet 5629a813c4 Eliminate usage of sprintf.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12523 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-18 18:24:39 +00:00
msweet 0907c437d2 Fix empty stdin open...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12521 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-17 20:00:17 +00:00
msweet fb458c34bf Revert SDKROOT changes for OS X.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12519 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-17 13:10:19 +00:00
msweet fb2d54701f Last bits of IPP Everywhere PPD support - web interface and cups-driverd
(STR #4258)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12516 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-12 20:18:11 +00:00
msweet fffed08915 lpadmin changes to support "-m everywhere" (STR #4258)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12513 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-11 19:45:01 +00:00
msweet 8bd1a2e1ef Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12511 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-11 15:28:52 +00:00
msweet d9fc71e456 First part of IPP Everywhere PPD support - a private API that generates a PPD
from a Get-Printer-Attributes response (STR #4258)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12510 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-11 15:27:27 +00:00
msweet 14537a4db8 Fix pwg-raster-document-types-supported values.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12509 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-11 15:25:26 +00:00
msweet e3138ca407 Remove generated file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12507 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-10 12:04:26 +00:00
msweet 4463881125 Don't ignore.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12506 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-10 12:04:07 +00:00
msweet 8e732f4a20 The scheduler no longer listens on the loopback interface unless the web
interface or printer sharing are enabled (<rdar://problem/9136448>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12497 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-06 21:58:21 +00:00
msweet 974ad7dfd4 Set ProcessType in launchd plists (<rdar://problem/19749641>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12495 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-06 21:51:27 +00:00
msweet 64dda3963f Enable transaction and pressured exit support (<rdar://problem/19749501>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12493 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-06 21:43:23 +00:00
msweet 543507bea2 Add support for SDKROOT on OS X.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12492 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-06 21:33:50 +00:00
msweet 2cf627f029 Fix lpstat test.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12490 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-06 18:45:48 +00:00
msweet a21c36fa82 Add new WITH-VALUE-FROM predicate to validate -default attributes against their
-supported counterparts.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12487 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-05 15:42:59 +00:00
msweet 1ec50c42bd Fix memory leak of environment strings on failed execution.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12485 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-04 13:12:50 +00:00
msweet e83646d5c2 Add EXPECT-ALL directive to ipptool (STR #4469)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12484 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-03 19:25:57 +00:00
msweet eb92c2e74b Copyright updates.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12483 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-03 12:49:40 +00:00
msweet 3abb875b96 Fix several issues with client.conf, CUPS_SERVER, and the "-h" option of most
commands (STR #4528)

Load default client.conf values in the proper order, and then allow them to be
overridden.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12480 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-03 12:36:34 +00:00
msweet eb098ba20b Add a note about using BUILDROOT to redirect installs.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12478 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-03 05:02:20 +00:00
msweet 08c7d54404 Add note that ServerKeychain is a directory of files on most platforms.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12476 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-02 18:35:00 +00:00
msweet df9bc0b7f8 Update LPD backend documentation (STR #4569)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12474 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-02 18:18:55 +00:00
msweet cefc2beec5 Japanese translation (STR #4524)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12472 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-01 05:53:21 +00:00
msweet a7616fe837 Another change for OpenBSD (STR #4526)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12470 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-01 05:06:54 +00:00
msweet a6534de898 Copyright.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12468 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-01 04:50:43 +00:00
msweet ba7900a529 The ipptool timeout option did not work (STR #4515)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12466 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-01 04:50:11 +00:00
msweet e9f9e650da The ippfind and ipptool programs now correctly match hostnames with trailing
dots (STR #4563)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12464 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-02-01 02:46:20 +00:00
msweet c07e5e20f8 The scheduler did not always log which configuration file had the error
(STR #4559)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12462 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-30 16:34:13 +00:00
msweet f775e78ae9 Add a USB quirk rule for Intermec printers (STR #4553)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12460 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-30 16:19:56 +00:00
msweet 3644808db7 The scheduler could crash during shutdown if Avahi was shutdown first
(STR #4550)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12458 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-30 16:15:53 +00:00
msweet 726429cbd4 ippserver did not handle Bonjour registrations properly (STR #4548)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12456 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-30 16:11:41 +00:00
msweet 12f009bb47 ippserver used the wrong temporary directory on Windows (STR #4547)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12454 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-30 16:05:50 +00:00
msweet 62bd8d9187 Validate cupsBitsPerColor, cupsBitsPerPixel, and cupsBytesPerLine to avoid
potential buffer overflow with compressed raster data (STR #4551)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12452 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-30 15:42:10 +00:00
msweet 4eff94092d cupsGetPPD* sent bad requests (STR #4567)
Use IPP_TAG_KEYWORD for requested-attributes in get_printer_uri.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12448 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-29 20:32:07 +00:00
msweet 0940626b54 Update copyrights...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12447 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-29 20:26:30 +00:00
msweet eb5c9ea320 Drop support for "Sandboxing off" when running as root on OS X.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12445 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-29 20:25:06 +00:00
msweet f099325eb2 Move _cupsConvertOptions to ppd-cache since it depends on PPDs.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12441 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-29 14:42:32 +00:00
msweet 07eca067cf Move CUPS->IPP mapping code to libcups.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12439 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-28 21:05:25 +00:00
msweet 4c97c06fa1 Don't forget to close RequestRoot directory.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12437 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-28 18:09:38 +00:00
msweet 222753d9fb cupsd takes the slow path when loading job history even if the control files
are older than the cache file (<rdar://problem/18188866>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12435 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-28 18:06:28 +00:00
msweet 79d7d84abf Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was
already an IPP keyword (<rdar://problem/19121005>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12432 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-28 16:21:40 +00:00
msweet 20529d535e Fix copyright.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12429 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-27 21:22:37 +00:00
msweet 6e6611efe9 Backends needing to load OS X kernel extensions did not work
(<rdar://problem/19015679>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12426 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-27 21:21:32 +00:00
msweet 69889dcff4 The IPP backend now updates the cupsMandatory values when the printer
configuration changes (<rdar://problem/18126570>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12424 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-27 16:51:17 +00:00
msweet c178ac6149 The IPP backend now sends the job-pages-per-set attribute when printing
multiple copy jobs with finishings (<rdar://problem/16792757>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12422 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-26 16:38:15 +00:00
msweet 3ae465e71c Update availability macros for Yoemite.
Don't need to define kSecClass constants anymore...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12418 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-22 15:49:23 +00:00
msweet 352d5a7db5 Make sure clean and distclean remove all generated files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12414 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-21 00:02:04 +00:00
msweet 6884f8da96 Fix compiler warnings.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12411 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-19 15:17:18 +00:00
msweet a112444032 "job-preferred-attributes-supported" needs to be "preferred-attributes-supported"
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12407 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-14 21:17:10 +00:00
msweet ef14694020 Adjust GNU TLS cipher suite priority strings per feedback from Tim
Waugh.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12404 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-14 20:04:25 +00:00
msweet f25ce75f36 Use PPD deprecation annotation for cupsGetPPD functions.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12401 a1ca3aef-8c08-0410-bb20-df032aa958be
2015-01-12 16:59:02 +00:00
msweet da5f55b560 Use gziptoany instead of cat or gunzip.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12397 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-19 16:55:52 +00:00
msweet 6f260d7d72 More spots where port was hardcoded.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12395 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-19 16:11:14 +00:00
msweet 8f8d5cd468 Use port number for test server.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12393 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-19 15:33:22 +00:00
msweet e0f0a3d5c7 Make sure to run the lpstat command from the source directory.
Dummy scripts need to consume their input...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12391 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-19 14:54:33 +00:00
msweet f70e9f2c35 More cleanup.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12389 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-19 13:10:28 +00:00
msweet 35a242864a Clean up filters for test.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12388 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-19 13:08:56 +00:00
msweet e7061482c0 Trap common signals in the wrapper scripts.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12386 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-19 12:52:56 +00:00
msweet 6015e919ce Use SVN revision instead of date, when possible.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12373 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-17 19:30:39 +00:00
msweet 95dd887665 Allow "make check" to run on different ports and in different directories.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12371 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-17 13:36:32 +00:00
msweet a891ff4cc9 Don't try to talk to colord unless we are running as root.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12368 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-15 14:51:10 +00:00
msweet 00d3a9af03 SystemGroup is now documented in the cups-files.conf man page.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12365 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-15 14:02:57 +00:00
msweet 37d9646b92 Fix links from policies.html to cupsd.conf reference.
Add HTML anchor support to mantohtml.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12362 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-12 19:50:49 +00:00
msweet 237b42e933 Preserve job files for 5 minutes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12359 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-11 17:45:57 +00:00
msweet a33b4a6cc1 Don't log a "file does not exist" error for a canceled job.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12357 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-11 17:42:01 +00:00
msweet 1d58a957e3 Add in test banner files.
Update version number in test report.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12356 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-11 17:34:58 +00:00
msweet 3b5b1841db Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12352 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 22:19:28 +00:00
msweet c4a1d4a533 Fix typo for --without-xinetd (STR #4542)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12350 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 22:18:21 +00:00
msweet 5e1504aa1e Fix USB printing on OpenBSD (STR #4525)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12348 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 22:10:45 +00:00
msweet 12f1eda99b ...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12345 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 21:41:30 +00:00
msweet 2274af3819 ...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12343 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 21:36:01 +00:00
msweet ce7d367df7 Fix a libusb issue on OpenBSD.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12341 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 21:33:23 +00:00
msweet cf1d728186 More changes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12339 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 21:27:43 +00:00
msweet ce861325f4 Bypass another bogus compiler warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12337 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 21:23:49 +00:00
msweet aac48e5f50 OpenBSD's libiconv uses libiconv_open instead of iconv_open...
Standards, gotta love 'em.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12335 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 21:19:42 +00:00
msweet 341efe62ec Silence yet another bogus compiler warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12333 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 21:01:46 +00:00
msweet cadceea851 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12331 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 20:58:34 +00:00
msweet 52958fdb98 Relax the conversion of characters for OpenBSD.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12330 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 20:57:28 +00:00
msweet 4f2935a856 Eliminate another bogus compiler warning...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12327 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 20:38:39 +00:00
msweet c70c356152 Yet another header...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12324 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 20:28:39 +00:00
msweet e10c6901cd Use TMPDIR for snapshots and releases.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12322 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 20:17:41 +00:00
msweet 758c3b305b Try to get resolv.h test to work on OpenBSD.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12320 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 19:43:35 +00:00
msweet abcf164745 Update resolv.h check to include dependent headers.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12317 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 18:35:35 +00:00
msweet 0a15691ae7 Eliminate compiler warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12315 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 18:19:45 +00:00
msweet 0c124a183a Additional fix for STR #4531.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12313 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 17:58:18 +00:00
msweet 22ebb7d0ba Fixed builds when no SSL/TLS library is available, or when explicitly disabled
(STR #4531)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12311 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 17:51:55 +00:00
msweet e0646a95d8 Mirror change.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12304 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 16:16:28 +00:00
msweet 770f94bc2d Address another bogus GCC warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12300 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-09 16:08:37 +00:00
msweet 8d5b58f632 Workaround stupid GCC bug.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12296 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-08 19:26:22 +00:00
msweet 56138cae8a The cups-files.conf file contained the old ServerCertificate/Key directives
instead of ServerKeychain.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12289 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-05 17:25:43 +00:00
msweet 765bf3beb5 The scheduler incorrectly aborted jobs after a job was restarted
(<rdar://problem/19129387>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12285 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-04 18:57:07 +00:00
msweet 426184cbf4 ippLength() did not return the correct length for IPP_TAG_CONST string values.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12281 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-03 12:14:20 +00:00
msweet 95fcd65c91 Don't install banner and self-test files (STR #4518)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12278 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-12-01 13:53:56 +00:00
msweet c5f27b8891 Ignore buildfarm .buildrev file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12277 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-24 19:38:20 +00:00
msweet 20aa0765bd Fix up PPD unit test.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12275 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-24 19:37:21 +00:00
msweet 51e07447b2 CUPS did not compile without Avahi or mDNSResponder (STR #4523)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12270 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-20 17:07:58 +00:00
msweet 19ba687883 CUPS did not work with older versions of GNU TLS (STR #4527)
- Add check for gnutls_priority_set_direct, use older gnutls_priority_set API
  if not found.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12269 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-20 15:37:29 +00:00
msweet c989e789ea Update test PPD to include OutputBin to validate PPD to IPP mapping.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12268 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-19 17:06:08 +00:00
msweet a27984635c Clean up some loose ends.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12267 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-19 16:56:57 +00:00
msweet caff6dbab1 The scheduler incorrectly cleared the MakeModel string in the printers.conf file
after a restart (<rdar://problem/16827518>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12264 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-19 16:02:27 +00:00
msweet b2656447ce Command-line programs were not localized on Mac OS X (<rdar://problem/14546232>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12262 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-19 15:18:33 +00:00
msweet 6028693e0d <rdar://problem/17837631> OS X continues sending print data after the print job is canceled at a printer
Stop sending data when we see an 'aborted-by-system' or 'job-canceled-xxx' value
in job-state-reasons.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12260 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-19 12:52:21 +00:00
msweet 93a5da07d5 <rdar://problem/15146999> 13A598: spin in AddPrinter while adding printer from Printers & Scanners prefs
Don't need to do ppdConflicts after every default is marked.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12258 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-19 12:38:44 +00:00
msweet 938816b84c Ignore generated files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12253 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-14 17:16:13 +00:00
msweet 73174bb3ba The web interface did not work on OpenBSD (STR #4496)
posix_spawnattr_setsigdefault and POSIX_SPAWN_SETSIGDEF are busted on OpenBSD.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12251 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-14 17:14:30 +00:00
msweet a0e8382185 Windows BAT files need CR+LF.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12249 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-14 12:54:05 +00:00
msweet 242b936ad7 Make "cancel -a" cancel jobs on all destinations.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12247 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-12 16:23:39 +00:00
msweet 1b3b9aa995 Fix compiles on unsupported platforms (STR #4510)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12246 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-12 15:31:47 +00:00
msweet 108f75052d Fix a random crash in the scheduler when not using systemd (STR #4484)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12245 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-12 14:35:59 +00:00
msweet bb80072ca4 Added a USB quirk rule for the Brother HL-1250 (STR #4519)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12242 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-12 12:04:02 +00:00
msweet d627bfa00d Whoops, RC4 and SSL3 need separate bit values.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12241 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-12 12:02:02 +00:00
msweet 5513588c77 Initial Get-Notifications implementation (no notify-wait support).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12237 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-03 13:07:32 +00:00
msweet 49c81c17e3 Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12236 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-11-03 04:08:41 +00:00
msweet 3d2fdf3863 Update README and other files in trunk to be 2.1.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12235 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-31 12:06:15 +00:00
msweet ed26f50fbb OpenBSD build fixes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12233 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-25 00:03:02 +00:00
msweet 4978eed9c0 The IPP backend did not work with some configurations of Windows (STR #4503)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12229 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-21 13:52:24 +00:00
msweet bf766888c7 Stop reporting waste-receptacle-xxx from SNMP, because vendors implement it
inconsistently (STR #4499)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12227 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-21 13:42:04 +00:00
msweet cae3816ebe Fix a DBUS crash if colord is not running (STR #4496)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12225 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-21 13:35:54 +00:00
msweet af38c1b354 The scheduler did not honor the FatalErrors directive for mis-configured Group
and SystemGroup values (STR #4495)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12223 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-21 13:14:55 +00:00
msweet 451d5797fa Add systemd support for cups-lpd (STR #4493)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12221 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-21 11:54:05 +00:00
msweet 241474b0d9 The web interface now protects against frame "click-jacking" attacks (STR #4492)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12219 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-20 21:59:33 +00:00
msweet 9b9c3de281 cupsGetPPD* would return a symlink to the PPD in /etc/cups/ppd even if it was
not readable by the user (STR #4500)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12218 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-20 21:41:29 +00:00
msweet 0627e8695c Printer sharing did not work when systemd was being used (STR #4497)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12216 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-20 18:42:11 +00:00
msweet c9c515e478 Remove a debug printf.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12214 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-20 18:20:51 +00:00
msweet 5c460b65dc Fix builds with VC++ 2008
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12213 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-20 18:10:26 +00:00
msweet 63aefcd517 Implement SSLOptions in cupsd.conf and client.conf to allow admins to enable
SSL 3.0 and RC4 (STR #4476)

(currently RC4 cipher restrictions are not implemented on OS X or Windows)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12211 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-20 16:58:48 +00:00
msweet 84245a8a38 Fix compile errors.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12209 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-17 18:27:22 +00:00
msweet d65637395c Add Avahi support to ippserver.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12208 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-17 18:23:27 +00:00
msweet 3315fb2d4e Fix sample driver file to pass tests.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12201 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-15 19:11:12 +00:00
msweet f28a1eafa2 RPMs did not build (STR #4490)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12199 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-09 16:11:51 +00:00
msweet 2c69d4628c Protect against NULL collection values (<rdar://problem/17903871>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12193 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-02 18:40:12 +00:00
msweet 92ee0d7c02 Save work on IPP Infra server and proxy (WIP)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12191 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-01 19:00:21 +00:00
msweet fab9a59a3b Trunk is now 2.1.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12187 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-01 13:15:30 +00:00
msweet c7aa86b042 Update files for 2.0.0 release.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12180 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-10-01 12:08:02 +00:00
msweet 91f22d1157 Fix build issues when we don't have systemd or launchd.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12178 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-30 18:56:48 +00:00
msweet 1960468b6b Fix system requirements (no more SGT required).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12177 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-30 16:36:25 +00:00
msweet 159df568e1 Drop reference to Digest authentication.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12176 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-30 16:34:32 +00:00
msweet 270f2d4279 Remove "at the top of this page", since that is confusing when viewing the
documentation on the CUPS.org web site.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12175 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-30 16:31:12 +00:00
msweet e2f8e83152 Update glossary to remove some obsolete terms and add PWG.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12174 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-30 16:29:32 +00:00
msweet 388b2b4d83 Clean up network printer guide; IPP is no longer unreliable so don't advise
using socket, and drop the compression option since it is no longer needed.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12173 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-30 16:27:35 +00:00
msweet e49523c508 Clarify that scripts must be read-only and owned by root.
Also list CONTENT_TYPE variable.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12172 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-30 16:23:21 +00:00
msweet 075b444be3 Do not say third-party solutions are on cups.org (not any more).
Also mention that page logging has to be enabled.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12171 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-30 16:18:00 +00:00
msweet 2711d8657a Update the list of operations to match what CUPS supports.
Fix an error in listing support for Restart-Job twice.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12170 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-30 16:12:03 +00:00
msweet 9e8e57a558 Spanish localization (STR #4487)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12166 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-29 15:10:32 +00:00
msweet ebb24a07bb Fix some code comments in tls-xxx.c.
Update USB quirks for MX310 and MX320 (STR #4482)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12159 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-23 14:56:14 +00:00
msweet 484798d807 Don't use --read-var-info=yes with Valgrind for now since it has problems on
OS X...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12151 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-04 00:57:41 +00:00
msweet 6e6adc4fa3 The scheduler did not preserve listener sockets from launchd or systemd after a
restart (<rdar://problem/18112848>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12149 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-03 15:33:50 +00:00
msweet 9aed20a59e Last changes for 2.0rc1.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12145 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-02 15:00:50 +00:00
msweet da720f3b9a Update POSIX test script to no longer define variables - we just use the
environment from ippfind...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12144 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-02 13:40:27 +00:00
msweet b32e625662 IPP Everywhere tests finally work for Windows. Fix an output bug in ipptool in quiet mode.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12143 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-09-02 13:37:30 +00:00
msweet 12f73e6f2b Tweak localization files for updates help text.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12141 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-30 02:25:38 +00:00
msweet 1deb86fdaf Re-introduce dark wake support, but this time while monitoring the current
power source (<rdar://problem/17325852>)

This allows printing to work while the system is visibly asleep.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12140 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-30 01:51:22 +00:00
msweet 1b6d468c9a Save work
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12139 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-29 17:50:38 +00:00
msweet 3c08d65244 Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12137 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-29 16:08:22 +00:00
msweet 015214aada Changes to make ippserver compile on Windows.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12136 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-29 15:19:40 +00:00
msweet 1e564ac849 Add project for ippserver on Windows.
Sync up config.h and do some minor cleanup.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12135 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-29 14:29:39 +00:00
msweet 193013f909 Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12134 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-29 12:38:53 +00:00
msweet 6ca7b7a8e7 Make sure CachDir is only readable by root and lp.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12132 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-29 11:27:18 +00:00
msweet f098fcf0ff Fix package filenames to match spec.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12130 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-28 22:40:36 +00:00
msweet c6cc3553c8 Eliminate compiler warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12129 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-28 19:26:31 +00:00
msweet 20104c4c13 Make sure RSS feeds are world-readable (STR #4461)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12128 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-28 19:23:23 +00:00
msweet 83ce8172d2 Add a (non-shipping) man page for ippserver.
Add some missing file to the repository.

Update the README.txt file for CUPS, which still had old links and legal
language.

httpGetHostname did not make sure a .local name ended with a ".".

ippserver now properly assigns the default port number and hostname, and adds
the job attributes to the environment of the print command (if specified).

ippserver now validates that the print command can be run before it accepts any
jobs.

Rename "document-format-tests.*" to "document-tests.*".

Implement the script to build the IPP Everywhere Printer Self-Certification
tools.

Add a readme for the self-certification tools.




git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12127 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-28 18:57:27 +00:00
msweet f9f18a7425 Don't need to include <gcrypt.h>...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12126 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-28 16:02:00 +00:00
msweet e7312eb40a Eliminate the rest of the warnings when the other dependencies are added in.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12125 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-28 15:49:29 +00:00
msweet 7d5824d6a8 Fix Linux builds without normal prerequisite libraries installed.
Also correct GCC 4.8 compiler warnings.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12124 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-28 15:37:22 +00:00
msweet 3bc376ee94 Fix the spinner image on a restart (STR #4475)
Also fix the redirection link.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12123 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-28 14:24:45 +00:00
msweet 9483577ff8 Fix RPM build issues (STR #4459)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12122 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-28 12:55:52 +00:00
msweet b972ab5a76 FileId goes under each test.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12121 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-27 21:40:10 +00:00
msweet 276762cd09 Update ipptool to include a Skipped boolean key for skipped tests.
Update FileId of tests.

Include Skipped boolean key for skipped Bonjour tests.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12120 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-27 20:52:33 +00:00
msweet 0e4445e91b Fix some IPP conformance issues with Send-Document (wasn't copying values).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12119 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-26 17:01:57 +00:00
msweet fe202ff462 ippfind fixes:
- Fix a bug with '{name}' substitution in ippfind.
- Fix a bug with --txt-name option handling in ippfind.
- Add some more debugging output to ippfind when IPPFIND_DEBUG env var is set.

ippserver fixes:

- Include TLS and UUID keys in TXT record.
- Implement HTTP Upgrade to TLS.

IPP Everywhere test file fixes:

- Separate access and value tests, confusing.
- Fix some of the tests to work properly (cut/paste errors)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12118 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-26 15:36:07 +00:00
msweet 8288bfd0d9 Save work on all of the IPP Everywhere tests, and a bug fix for ippfind.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12117 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-25 21:38:31 +00:00
msweet 04f71e64cf Tweak default printer icon, add apple-touch-icon to ippserver.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12116 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-25 15:07:35 +00:00
msweet 952fa13df6 Finish up document format tests.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12115 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-25 14:54:55 +00:00
msweet a5a8d71629 Update changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12114 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-25 13:29:04 +00:00
msweet 112fc3c0bd Allow access to cupsd-created files with non-world-readable permissions via the
web interface (STR #4461).

Use cupsdCreateConfFile API to create PPD files, and use the ConfigFilePerm for
PPD files.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12113 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-25 13:28:04 +00:00
msweet 1252ae2760 Maybe final new printer icon image.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12112 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-22 13:14:17 +00:00
msweet 4403acbb9f Update printer icon (not final)
Add some more raster "support".


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12111 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-21 20:37:08 +00:00
msweet 404dde30f1 Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12110 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-21 17:43:30 +00:00
msweet a654c79d10 Fix an ippserver Send-Document issue with PWG raster files.
Fix some ipptool issues:

- ${VARIABLE} wasn't supported
- DEFINE-VALUE included all values; now just define with the last value.
- NAME didn't expand variables.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12109 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 21:44:02 +00:00
msweet ff6403d63d Drop Epson Stylus drivers from readme.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12106 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 15:28:22 +00:00
msweet 55fb2687e9 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>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12105 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 15:27:43 +00:00
msweet abcaca5754 Update sandboxing documentation to indicate which directories are allowed for
domain sockets.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12103 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 15:20:48 +00:00
msweet 59aa494417 Add read access to /private/var/tmp, socket access to /private/var/tmp, and
read access to all of /Library and /System/Library (STR #4471, <rdar://problem/17483959>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12102 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 15:19:09 +00:00
msweet 8e8d3a7117 Fix libgmalloc usage (although the report is still not too useful - need to do
more here...)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12101 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 15:10:51 +00:00
msweet dd47aa7db8 Add script to run the IPP tests.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12100 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 01:22:38 +00:00
msweet 10ff1f8852 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12099 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 01:07:01 +00:00
msweet e3a57e0be3 Fix the last of the conformance issues.
ippserver now supports IPP Everywhere (STR #4101)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12098 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 01:06:03 +00:00
msweet 0b5ce83f88 Finish up new web interface for ippserver so we can fiddle with media and
supply levels.

Fix a DISPLAY bug in ipptool.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12097 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-20 00:52:06 +00:00
msweet 27347f86a5 Update dependencies.
Drop document-name as a Job attribute (it isn't).


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12096 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-19 16:19:48 +00:00
msweet 4a83808817 More IPP Everywhere fixes; almost there!
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12095 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-19 16:16:06 +00:00
msweet e1f19878c6 Update "since CUPS 2.0" into to mention OS X 10.10.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12094 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-19 12:15:11 +00:00
msweet 58fce51f9f Fix documentation typo.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12093 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-19 12:10:17 +00:00
msweet c2c30ebc03 Save work on IPP Everywhere updates.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12092 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-18 20:53:41 +00:00
msweet 2cadf0f454 Save work on making ippserver conform to IPP Everywhere.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12091 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-18 12:11:25 +00:00
msweet 92df50e696 Include job-uri in get-jobs tests.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12088 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-07 01:09:21 +00:00
msweet 82d1ebb9c6 Add section on OS X sandboxing (STR #4464)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12085 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-06 18:59:13 +00:00
msweet dc69e13abd Add libgmalloc and malloc_history to the test suite on OS X.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12084 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-06 18:23:12 +00:00
msweet 117466cd93 Free the sockets array returned by launch_activate_socket.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12082 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-04 16:18:32 +00:00
msweet c297995574 Don't call launch_activate_socket multiple times (<rdar://problem/17523218>)
Bump version to 2.0rc1.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12080 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-08-04 13:23:50 +00:00
msweet dd32079c83 Fix version check.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12075 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-31 01:12:53 +00:00
msweet d95bd167bc More cleanup.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12074 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-31 01:10:14 +00:00
msweet 240214ef23 Remove implementation of cupsGetClasses, cupsGetPrinters, and cupsTempFile;
these functions are still exported but they all now return empty results.

Update API documentation.

Update version number to 2.0b1 without SVN identifier.

Fix some more RPM spec file issues.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12073 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-31 00:58:00 +00:00
msweet c034d390f2 No more "what's new" file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12072 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-31 00:43:05 +00:00
msweet eb4b1b5696 Prep for 2.0b1.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12071 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-31 00:37:33 +00:00
msweet f16ea703e1 Performance fixes for Get-Jobs (STR #2913)
Cache a few additional job attributes so that we normally do not need to load
the job attributes from the 'c' files.

If we do need to load them, limit the returned jobs to 500 at a time.

Implement first-index operation attribute.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12067 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-31 00:02:30 +00:00
msweet eec1fbc36f The scheduler now returns completed jobs in the correct newest-to-oldest order
(STR #4396)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12066 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-30 18:30:44 +00:00
msweet 2a8db0cddf Save work on test suite to ensure we collect the exit status of all child
print processes.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12065 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-30 17:56:35 +00:00
msweet 23c665995a Sync up changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12064 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-30 16:57:40 +00:00
msweet 053939b362 Update cupsd.conf man page to list the ErrorPolicy directive (STR #4457)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12059 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-28 14:04:32 +00:00
msweet 2e667a52c6 Also add the world-readable check.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12056 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-22 14:02:56 +00:00
msweet 9e92ab1978 Security: Addressed some more situations where symlinked files would be served
by the web interface (STR #4455)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12055 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-22 13:58:51 +00:00
msweet 13713f49a4 Fix CGI scripts (STR #4454)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12051 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-18 20:37:44 +00:00
msweet a2751f30e7 Fix some compile errors.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12050 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-18 16:51:12 +00:00
msweet 26435c51e6 Sanitize hostname as needed.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12049 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-18 14:39:06 +00:00
msweet 81827f7547 Final changes to track TLS credentials (STR #1616)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12048 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-18 14:26:14 +00:00
msweet 74ac5fe799 Fix a few build errors with VC++
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12047 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-18 13:53:34 +00:00
msweet 52770f63a2 Implement httpLoadCredentials and httpSaveCredentials for SSPI.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12046 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-18 13:43:26 +00:00
msweet 9041146f32 Save work - fix the cert helper functions, implement httpCopyCredentials.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12045 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-17 21:32:21 +00:00
msweet 17eecbf1d8 Save work on SSPI certificate functions for validation and info.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12044 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-17 21:21:21 +00:00
msweet e32497ad0c Save work - properly implement server stuff, separate out cert creation.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12043 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-17 20:03:10 +00:00
msweet adad9dd69b Save work - testhttp now works to get HTTPS web page.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12041 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-17 16:42:49 +00:00
msweet d777d26d19 Update debugging/error reporting code to use FormatMessage throughout.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12040 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-17 16:35:49 +00:00
msweet 195c1f2d5e Save work - more debug stuff.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12039 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-17 16:24:52 +00:00
msweet 6abe9327bf Fix authorization (and other error) text from CGIs.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12037 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-16 19:48:22 +00:00
msweet 6c2b2b1944 Fix cookie handling for web interface.
Allow access to auth certificates in the state directory.

Remove client connection from select when all data has been read from client.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12034 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-16 19:37:34 +00:00
msweet 9870d12b8f Save work - client TLS negotiation now works, but hangs on a GET...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12033 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-15 21:12:56 +00:00
msweet 4128527fd1 Automate creation of the libcups2.def file, since it is really out-of-date...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12032 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-15 20:37:32 +00:00
msweet 33c9220c0a Get builds working on Windows again.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12031 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-15 19:57:59 +00:00
msweet 95d03f3375 Bump shared library version.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12030 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-15 19:39:18 +00:00
msweet 2ece34a9f8 Initial work on SSPI support in 2.0.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12029 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-15 18:59:26 +00:00
msweet bdc8d1ad53 Fix load/save of certificates.
Implement peer certificates.

Validation now works for GNU TLS (STR #1616)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12028 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-15 14:01:27 +00:00
msweet 1b1b177663 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12026 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-15 13:00:25 +00:00
msweet 2875da6cee Fix the fix for STR #4452 - incorrectly used httpAddrSize instead of
httpAddrLength.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12024 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-15 12:58:39 +00:00
msweet ff82e16936 Rest of the work for certificate validation/revocation for GNU TLS (STR #1616)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12016 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-14 18:20:31 +00:00
msweet 005f7f1f4c Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12008 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-09 01:00:00 +00:00
msweet f79731e7b3 Allow more paths in sandbox.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12006 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-08 18:18:09 +00:00
msweet fba14c7f86 The LPD backend did not work with some versions of glibc (STR #4452)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12004 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-08 15:46:46 +00:00
msweet 77d314e60f Fix cupsd man page linking to old cups-deviced and cups-driverd man pages.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12003 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-08 15:29:14 +00:00
msweet d0facf4886 Get GNU TLS server-side working again.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12002 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-08 15:14:40 +00:00
msweet f3211b6d64 Make sure we send a 0-length chunk for CGI output, even for things like "Status".
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11999 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-03 19:15:31 +00:00
msweet 8db75d57ea Add USB quirk rule for Lexmark E230 (STR #4448)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11997 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-03 14:47:43 +00:00
msweet abdd2bb172 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11994 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-03 14:38:26 +00:00
msweet 36618f454d Don't serve symlinked or non-world-readable files (STR #4450)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11993 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-03 14:37:16 +00:00
msweet f93b32b62c Make sure to redirect stdout/stderr to /dev/null when running certtool.
Add IPPS support to ippserver (still need to handle upgrade).


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11986 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-02 15:52:01 +00:00
msweet a94fe6cf47 More tweaks to sandbox profiles.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11981 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-02 12:14:02 +00:00
msweet d367062cea Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11980 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-02 10:36:34 +00:00
msweet ca979496f3 Fix compile errors.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11977 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-01 20:03:06 +00:00
msweet a15960a192 Copy over more stuff that needs to be implemented.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11976 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-01 19:57:42 +00:00
msweet f394e0f7c8 Fix compile errors.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11975 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-01 19:52:57 +00:00
msweet 172bdf5d74 Save work on catching GNU TLS code up to 2.0's new APIs.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11974 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-01 19:43:59 +00:00
msweet fb3777ccd1 Tweak the sandbox profiles for filters.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11973 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-01 17:17:56 +00:00
msweet 2adbc9df5c Fixed a bug in the CUPS_SC_GET_DEVICE_ID handling by the network backends
(STR #4447)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11970 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-07-01 14:35:25 +00:00
msweet bde350ea9e Fix the debug output from the DNS-SD backend when using Avahi (STR #4444)
(Avahi doesn't include the trailing dot for the regtype value)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11969 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-30 14:27:01 +00:00
msweet f5f2e19e88 Use "printer-uri" and not "printer URI".
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11959 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-26 18:30:19 +00:00
msweet b0206260c7 Fix localized error message from ipptool.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11958 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-26 18:26:05 +00:00
msweet 84465c7c28 <rdar://problem/17307802> SEED: BUG: Increased sandboxing means CPUS backends can't write files?
Fix automated test and duplicate deny issues.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11953 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-25 14:08:16 +00:00
msweet 08bb59b417 Update HTML of man page.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11952 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-25 14:07:14 +00:00
msweet 8a986d2738 Fixed the --disable-libusb configure option (STR #4439)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11950 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-24 19:03:02 +00:00
msweet 175bc7986c Fix IPP read error messages (STR #4440)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11947 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-24 18:43:20 +00:00
msweet 6e4925fbe6 One quick fix to prevent write access to the CUPS spool directory.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11943 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-24 16:02:51 +00:00
msweet 99328a65fc Add some more writable directories.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11941 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-24 15:56:25 +00:00
msweet 52f7b14a1a Fix man page error.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11938 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-22 12:44:05 +00:00
msweet 1d8db48d90 Allow domain sockets in /private/tmp.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11935 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-17 21:31:46 +00:00
msweet 546e096b26 Fix gzip with Lexmark printers, which apparently do not like having the gzip
header separated from the first block of compressed data
(<rdar://problem/17032025>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11933 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-17 16:00:05 +00:00
msweet b8f01dbcf4 Fix MaxJobTime time value bug (STR #4434)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11931 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-16 16:10:58 +00:00
msweet 5f1456afb4 Cleanup online help.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11930 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-16 15:33:00 +00:00
msweet b960a3cf9b Add missing HTML.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11929 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-16 14:22:54 +00:00
msweet 96be8b6c6e Make "Cancel All Jobs" use the Cancel-Jobs operation instead of Purge-Jobs
(STR #1914)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11928 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-13 00:08:32 +00:00
msweet b4a8492a63 Final man page changes for STR #4372 and STR #4329.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11927 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-13 00:01:23 +00:00
msweet 53480915ef Save work on man pages.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11925 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-12 19:36:12 +00:00
msweet 27e0d6f8ec Save man page updates.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11924 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-12 19:10:33 +00:00
msweet 6e12033b28 More updates.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11923 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-12 12:55:34 +00:00
msweet cfa19b58e6 More man page updates.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11922 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-11 23:35:37 +00:00
msweet 0d1da748db More man page work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11921 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-11 20:10:10 +00:00
msweet bf1bc4c6d3 More man page updates.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11920 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-11 19:03:59 +00:00
msweet 25d0c3feab Update more man pages.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11919 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-11 15:38:28 +00:00
msweet 8ac5fc54a8 Use NOSCRIPT for Go buttons - "links" text browser implements CSS but not
Javascript, so the NOSCRIPT element is a better fit (STR #4425)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11914 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-10 19:48:45 +00:00
msweet ce0ddeb244 More man page updates.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11913 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-10 19:00:24 +00:00
msweet 6b2419da85 Add initial IPP Everywhere test suite.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11912 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-10 13:55:14 +00:00
msweet cffefbacf1 Use AC_PATH_TOOL for the *-config scripts we call (STR #4423)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11911 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-10 13:54:53 +00:00
msweet 93e3d3f5aa The User directive in client.conf did not override the USER environment variable
(STR #4426)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11908 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-09 18:57:44 +00:00
msweet 5a58240905 The "snmp" option did not work with the network backends (STR #4422)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11907 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-09 18:35:32 +00:00
msweet e94cac038d Update some man pages (STR #4372)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11905 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-06-03 18:46:30 +00:00
msweet c4b264d40b Add another directory to the sandbox.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11903 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-28 17:54:04 +00:00
msweet 8757020d7a Fix IPPTOOL test file (STR #4420)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11896 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-27 15:00:06 +00:00
msweet 995b120a06 Red Hat renamed the libusb developer package (again).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11895 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-27 14:57:09 +00:00
msweet 85cbdbc74a Fix localization of media sizes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11894 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-23 03:18:00 +00:00
msweet ddf95fe678 Update lprm man page for modern markup and "canceled" spelling.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11893 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-23 02:45:48 +00:00
msweet 554aa7b749 Dates in non-UTF-8 locales did not display correctly (STR #4388)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11889 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-22 13:54:15 +00:00
msweet cf3d4dd6dc IPP queues using hardcoded credentials would ask for credentials (STR #4371)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11888 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-22 13:16:25 +00:00
msweet e639770bd4 Update documentation.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11887 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-22 13:15:20 +00:00
msweet eceee985ef Fix PWG Raster auto-typing (STR #4417)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11886 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-22 12:56:59 +00:00
msweet 6a87b7d7ea Support TIFF files in ipptool (STR #4418)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11885 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-21 15:25:30 +00:00
msweet 104fd4ae9f Save work on destination API unit test program.
Add cupsGetDestWithURI API.

Add cupsLocalizeDestMedia API.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11884 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-16 21:54:22 +00:00
msweet ae26bf708c More changes for STR #4414 to fix cupsGetDestMediaByIndex - wasn't copying the
size data over correctly (two different structs...)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11882 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-16 21:02:15 +00:00
msweet 0033909448 Fix formatting.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11881 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-16 20:59:22 +00:00
msweet 9fcdd2507f Add -P option and PAUSE directive to ipptool.
Save work on IPP Everywhere test suite.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11880 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-16 06:14:11 +00:00
msweet 5b69e934ac cupsGetDestMediaCount did not work for CUPS_MEDIA_FLAGS DEFAULT (STR #4414)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11874 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-13 14:57:34 +00:00
msweet 4cecbbe836 Add localized error message for failed TLS negotiation.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11872 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-09 21:25:04 +00:00
msweet 8441e27ce4 CUPS did not compile when Avahi or mDNSResponder was not present (STR #4402)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11871 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-09 20:57:11 +00:00
msweet a19c48e0d0 The configure script incorrectly added libgcrypt as a GNU TLS dependency
(STR #4399)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11870 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-09 20:54:15 +00:00
msweet b4f46ff54c The CUPS headers incorrectly needed libdispatch for blocks support (STR #4397)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11869 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-09 20:52:03 +00:00
msweet 67dde2ccb9 The scheduler did not add the "job-hold-until-specified" reason when holding a
job using the lp command (STR #4405)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11868 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-09 20:45:53 +00:00
msweet 88a9886677 Fix an authentication race condition in cupsSendRequest (STR #4403)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11866 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-09 20:20:16 +00:00
msweet 651e0a226e The IPP backend did not abort a job when the printer did not validate the
supplied options (<rdar://problem/16836752>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11865 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-09 20:03:14 +00:00
msweet d3d824a355 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11861 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-08 23:01:24 +00:00
msweet 82bf228397 Fix bug in cupsGetResponse.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11860 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-08 22:57:57 +00:00
msweet 38a68cfbee Sync up with some build changes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11859 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-08 22:42:44 +00:00
msweet 291e472758 Do compression to a separate 64k buffer for larger chunks.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11853 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-08 17:51:12 +00:00
msweet f51f3773d1 Add code to validate trust when printing via the IPP backend.
Add new CUPS_VALIDATECERTS (ValidateCerts in the conf file) setting to control
whether we require the common name to match the host name, default is no.
(currently)

httpCredentialsGetTrust now only checks hostname/common name matches when
validation is enabled.  Otherwise we just look for changes to certs.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11851 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-07 23:55:35 +00:00
msweet 524c65e662 Save work on cert stuff.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11850 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-07 23:12:48 +00:00
msweet 355ddf4188 Make sure long-edge feed bounding box is correct.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11848 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-07 00:26:44 +00:00
msweet 7d58a105fb Set CERTTOOL_EXPIRATION_DAYS environment variable for certtool, to get certs
that last longer than 30 days on OS X (<rdar://problem/16763836>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11846 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-02 12:10:10 +00:00
msweet e13ce0be7a <rdar://problem/11829070> ER: Could we consolidate Wi-Fi and USB connections to a printer as a single printer?
Additional changes requested by Jim...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11844 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-02 11:58:54 +00:00
msweet 88f1e9c8ca Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11843 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-05-01 19:46:51 +00:00
msweet 2573136055 Move the deck chairs a bit so that the TLS stuff is separated from the HTTP
stuff.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11841 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-29 16:39:25 +00:00
msweet c52d341f7e Return 0 from all ippGet* functions on error, to match how all other CUPS APIs
work.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11840 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-29 15:57:26 +00:00
msweet 3c218cf569 Fall back to wireless if USB doesn't respond (<rdar://problem/11829070>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11838 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-24 18:40:31 +00:00
msweet d489df6a97 Fix mapping of OutputBin values such as "Tray1" (<rdar://problem/16685606>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11832 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-24 15:04:00 +00:00
msweet 376d7c6937 Wire up most of the certificate validation code for OS X. Still need to
finish the keychain and subject alternate name changes, but we now have the
core validation framework in place.

Also need to decide whether to allow requests to untrusted connections by
default or require all applications to copy and validate manually.

- Updated httpCredentialsAreTrusted to require the common name.
- Implementation of httpCredentialsAreTrusted, httpCredentialsGetExpiration,
  httpCredentialsIsValidName, and httpCredentialsString.
- Added display of credential info to testhttp program.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11829 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-23 16:37:05 +00:00
msweet 6be126d133 Add yet another key to the launchd plists...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11827 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-23 00:44:27 +00:00
msweet c3ebc4c673 PPD cache did not reflect full set of media sizes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11826 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-23 00:38:21 +00:00
msweet 9653cfdfbb Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11824 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-21 12:23:56 +00:00
msweet 2dabbdab04 Fix configure script.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11823 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-21 12:22:03 +00:00
msweet f9988e18ec Save documentation changes.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11822 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-21 11:49:06 +00:00
msweet da51650158 More documentation install cleanup.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11820 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-15 20:59:56 +00:00
msweet d2001a49cc Remove more files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11819 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-15 20:56:52 +00:00
msweet c390f212cb Remove more unnecessary documentation.
Update cups-files.conf man page.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11818 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-15 20:56:19 +00:00
msweet 7131e2853a More man page modernization.
Combine and simplify documentation of cupsd helper programs into a single man
page.

Document the client.conf file as deprecated.

Document the classes.conf, printers.conf, and subscriptions.conf files as
subject to be changed and not to be hand-edited.

Remove separate HTML documentation for client.conf - the man page is now "good
enough"...

Fix usage comment at the top of cups-exec.c.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11817 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-15 16:31:11 +00:00
msweet 6b13fa61b6 The ipptool program now supports EXPECT statements for collection member
attributes (<rdar://problem/15355218>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11806 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-09 16:12:27 +00:00
msweet 9498f97a9c The ipptool program now supports collection attributes with multiple values
(<rdar://problem/15355124>)

Add a test file for FaxOut.

Update the get_token function to allow {, }, and "," to be values of their own.

Update the collection code to allow multiple top-level collection values (still
no support for embedding member attributes with multiple collection values,
however we don't need to test that right now...)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11802 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-08 20:42:50 +00:00
msweet be76a9737d Make sure that the sample drivers include all installed localizations
(<rdar://problem/14756625>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11800 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-08 19:53:57 +00:00
msweet 698fa0aa4a <rdar://problem/16532240> Root Regression: On restart or checking share box in sys pref printer uri changes to //dev/null
Fix /DefaultPrinter handling.

Also add restart testing (just for this specific issue for now) to the "make check" suite.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11798 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-07 15:18:44 +00:00
msweet 2909c66c50 Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11796 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-04 21:28:49 +00:00
msweet bfbd0197bd More man page updates.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11793 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-04 19:02:20 +00:00
msweet c9dcc485c5 <rdar://problem/16495000> CUPS: Disable gratuitous logging by default
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11789 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-04-02 16:52:53 +00:00
msweet f2a31e2181 Add support for hierarchical searches (STR #4395)
- Add "atend" and "curindex" members to ipp_t to track position in search.
- Update ippFindAttribute and ippFindNextAttribute to search collections.
- Add unit tests to testipp for it.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11783 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-31 14:10:13 +00:00
msweet 0a393e6a40 Allow backends to have group read + execute permissions and still run as root
(STR #2935)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11782 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 21:03:43 +00:00
msweet 1dd965f62b Use </DefaultPrinter> and </DefaultClass> to close the default printer/class (STR #4153)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11781 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 20:57:22 +00:00
msweet 3b94e1e1cd Use _httpDecodeURI private API to remove percent encoding of phone number and
prefix (pre-dial) strings.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11778 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 20:48:28 +00:00
msweet f387542e11 Remove lppasswd man page, and clean up dependencies.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11777 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 19:18:10 +00:00
msweet e066087949 Drop lppasswd and (server-side) Digest authentication (STR #4321)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11776 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 19:16:05 +00:00
msweet a99f5c6a05 Add a "how do I get help?" section, and make these headings subsections under the DESCRIPTION section.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11774 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 16:01:14 +00:00
msweet 969af9354e Add cups(1) man page with CUPS overview information and relevant links.
Fix link embedding for man pages.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11773 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 15:55:05 +00:00
msweet 84987361cb Add --list-filters options to cupsfilter (STR #4325)
Also update cupsfilter to look for cups-files.conf instead of cupsd.conf (this
was never updated after the security changes to use cups-files.conf)

Update the man page to use the "modern" markup and sections.

Prep for future cups(1) man page that provides an overview of CUPS and the
standard environment.

Update man page converter to not add whitespace before punctuation.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11770 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 14:49:58 +00:00
msweet ef66db4b1b Fix changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11769 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 13:59:52 +00:00
msweet d7484965df Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11768 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 13:52:25 +00:00
msweet b5b025cf56 Apply changes from 1.7 branch; still need to migrate the SSPI code to the new
TLS infrastructure.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11762 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-28 13:05:06 +00:00
msweet ca6b43fc04 Update CUPS filter/backend programming guide (STR #4355)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11758 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-27 20:57:18 +00:00
msweet cfeac714b4 Fix a memory leak in the label printer driver (STR #4393)
Make sure we free CompBuffer and LastBuffer as needed in EndPage.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11755 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-27 17:06:12 +00:00
msweet 1e9586e168 Printer classes were not accessible on OS X (<rdar://problem/16385643>)
Map localhost access to the domain socket when the port number matches.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11749 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-27 14:35:02 +00:00
msweet 6347efdfb6 Fix install failure.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11747 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-27 01:15:48 +00:00
msweet 7cad9d0f81 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11744 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-26 21:16:52 +00:00
msweet 654051c554 <rdar://problem/16351701> Dial string is escaped twice by the parcent mark in IPPFAXOUT.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11743 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-26 21:15:32 +00:00
msweet ad6f549048 Fix early 200 response bug.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11738 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-26 21:05:19 +00:00
msweet 60bc88e136 Don't add // to geo: URIs.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11736 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-26 19:51:59 +00:00
msweet 42404685b7 Fix documentation and naming of subscription operations (STR #4389)
(also maintaining compatibility mappings for names and enums...)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11733 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-25 18:01:41 +00:00
msweet 343276df2e Fix cups-exec calling bug on Linux.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11729 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 19:14:42 +00:00
msweet ab428cc05e Try again...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11728 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:46:35 +00:00
msweet a10bb5f65f And no testprint file either.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11727 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:45:11 +00:00
msweet 1b30cc97ab Don't package the banner files on Linux.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11726 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:41:55 +00:00
msweet f463b80ca2 One more file...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11725 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:37:13 +00:00
msweet 071b290622 Another fix.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11724 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:35:59 +00:00
msweet 8c29c8906c Work on fixing RPM builds.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11723 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:34:38 +00:00
msweet 5950e7bd5e Fix systemd build on Linux.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11722 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:28:30 +00:00
msweet e7f455a5b3 Fix builds on Linux.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11720 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:17:50 +00:00
msweet 5d62953211 Remove AppleTalk header checks (wow, that should have been removed 4 years ago!)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11719 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:07:23 +00:00
msweet db6ac61559 Fix makefile tab issues.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11718 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 18:04:48 +00:00
msweet 1720786e61 Add systemd support to cupsd (STR #3282)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11717 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 16:42:53 +00:00
msweet f2b8078bd6 Save work on generalizing startup of cupsd…
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11716 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 14:50:24 +00:00
msweet 9ca6ba8fcb Rename configure.in to configure.ac.
Rename cups-launchd.m4 to cups-ondemand.m4 in preparation for systemd support.

Add more files to the Xcode project.

git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11715 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-21 13:52:34 +00:00
msweet 4745f485c4 Fix handling of default username.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11705 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-19 18:33:23 +00:00
msweet c12b983aa4 More sandbox tweaking for IOKit access of USB/Bluetooth.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11702 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-18 17:50:41 +00:00
msweet 3f4342fa09 More sandbox tweaks for Fax.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11701 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-17 18:28:28 +00:00
msweet fa84ca4b57 Update the localizations for some printer-state-reasons (<rdar://problem/16340893>)
This changes the paper and output area/tray messages to be indefinite about
the number of trays, since these reasons are "roll-up" values for all trays.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11698 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-17 11:58:18 +00:00
msweet ebd5991b0f More Avahi changes to make cupsd resiliant to Avahi failures (STR #4373)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11687 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-05 21:10:04 +00:00
msweet 4db417411a cupsEnumDests did not set the "is_default" field (STR #4332)
Copy the default code from cupsGetDests2...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11686 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-05 20:11:06 +00:00
msweet 6daf363669 Fix typo (STR #3252)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11685 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-05 20:03:29 +00:00
msweet 9ee955fecb Update Linux "relro" support (STR #4349)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11683 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-05 20:00:54 +00:00
msweet f627443d1b Scheduler crash due to unknown circumstances leading to NULL policy pointer (STR #4378)
This should never happen, but could be due to a patch applied for Debian/Ubuntu.

This change logs the occurrence and uses the default policy if the policy is
NULL.  If DefaultPolicyPtr is NULL (something that definitely should never
happen when cupsd is accepting client connections) then we will still crash.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11681 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-05 19:07:24 +00:00
msweet fa17c11e8a cupsDoIORequest could miss the server status, causing failed lpadmin and other administrative commands (STR #4386)
Look for 100-continue or lower, and get the final status code if so.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11680 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-05 18:51:44 +00:00
msweet c51dcb4892 cupsEnumDests didn't always call the callback function (STR #4380)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11674 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-05 12:52:57 +00:00
msweet c277f98cbc Initial work on man page modernization (STR #4372)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11671 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-04 18:16:46 +00:00
msweet b846cf0155 Don't provide human-readable log message.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11669 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-04 14:53:34 +00:00
msweet 0e53e7d1bd Tweak.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11666 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-03 18:55:03 +00:00
msweet 96964950c6 Tweak.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11664 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-03 18:52:14 +00:00
msweet d9183105e4 More tweakage.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11663 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-03 18:40:35 +00:00
msweet 6e83de0532 More sandbox tweaks.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11661 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-03 16:53:05 +00:00
msweet 8a6466eba5 More sandbox tweaks.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11659 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-03 16:49:32 +00:00
msweet 80693400b1 Remove SVN Id keywords from config files.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11658 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-03-03 16:46:23 +00:00
msweet e54d62b280 Don't use launchd_activate_socket on 10.9.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11656 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-28 19:29:29 +00:00
msweet 3b3a130ad9 Only log when we aren't using the generic class driver.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11653 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-28 17:19:43 +00:00
msweet 9fb65b8971 Log 32-bit vs. 64-bit class driver usage.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11649 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-27 17:06:06 +00:00
msweet 951665081c Changelog update.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11644 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-27 15:58:44 +00:00
msweet 21459fa1fa "lp -i job-id -H hold" did not work (STR #nnn)
Add Set-Job-Attributes and Set-Document-Attributes to job and document
creation operation lists.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11640 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-24 16:09:05 +00:00
msweet e7dc514dc6 Don't show error message when we are just canceling a job to reprocess it.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11637 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-21 19:49:30 +00:00
msweet 8e67b75b88 Resend jobs as raster if the original format fails, e.g., PDF (<rdar://problem/15583721>)
Add retry_as_raster flag to job object.

Add new JOBSTATE: cups-retry-as-raster message.

When starting a job, check whether the flag is set, and if so use image/urf
or image/pwg-raster as the alternate format.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11635 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-21 19:42:14 +00:00
msweet d309dce32a Remove the deprecated ServiceIPC key and add the recommended EnableTransactions
key.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11633 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-21 13:05:19 +00:00
msweet 4c6277cc72 Sandbox tweaking.
ipptool man page tweak.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11631 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-21 12:56:34 +00:00
msweet 3a43047f18 ipptool doco updates (STR #3259, STR #4346)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11629 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-20 16:42:16 +00:00
msweet 8dd318e55b Several libcups files did not have the Apple license exception notice (STR #4361)
VEOL2 isn't available on older System V versions, apparently...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11628 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-20 16:29:50 +00:00
msweet 6539a0afd5 Several libcups files did not have the Apple license exception notice (STR #4361)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11627 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-20 16:15:09 +00:00
msweet 0cf0c416ec Fix a D-BUS threading issue that caused the scheduler to crash (STR #4347)
Apparently D-BUS is not thread-safe by default...


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11626 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-20 16:09:55 +00:00
msweet bb0a112b94 The scheduler now automatically reconnects to Avahi as needed (STR #4370)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11625 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-20 16:01:02 +00:00
msweet 209cc9b629 The scheduler did not handle GET requests for the log files properly (STR #3265)
Limit the number of bytes read to the original file size.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11624 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-20 15:21:05 +00:00
msweet 5353e5ee00 The dnssd backend did not always report all discovered printers using Avahi
(STR #4365)

Keep track of active browsers, don't stop until Avahi gives up.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11622 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-19 20:15:53 +00:00
msweet 7b466f29e8 The Zebra printer driver did not properly handle negative "label top" values
(STR #4354)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11621 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-19 20:07:09 +00:00
msweet 1216300668 Protect against HTML in the URL (STR #4356)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11620 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-19 19:56:56 +00:00
msweet 2644cfc5f2 The scheduler did not always update the MakeModel value in printers.conf after
updating the driver (STR #4264)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11618 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-19 19:21:18 +00:00
msweet d6ea1b93c5 Remove old logging of IPP conformance issues.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11617 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-19 19:16:36 +00:00
msweet ffb3d9d39f Changelog for STR #4351 (cups-lpd doesn't support large files)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11616 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-19 19:07:31 +00:00
msweet d423d83d10 Fix a bug in the status reading code when sending a compressed data stream to an IPP printer/server (<rdar://problem/16019623>)
Don't use the compression buffer when reading, don't use the decompression
buffer when writing.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11613 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-19 16:49:29 +00:00
msweet a27a134a70 Don't use numeric hostnames for certificates (always a hostname).
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11612 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-19 16:36:17 +00:00
msweet 777e09f895 More sandbox profile tweaks.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11609 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-19 16:04:18 +00:00
msweet e26851264d Tweak SMB rules again.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11607 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-18 20:13:58 +00:00
msweet 5e787d6f9c Tweak SMB rule.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11605 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-18 19:50:46 +00:00
msweet 7364ba24ec Fix typo.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11602 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-18 19:21:40 +00:00
msweet bcc4b65596 Add more exceptions to the sandbox profile.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11599 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-18 18:58:40 +00:00
msweet df0f06aec1 Fix clang warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11598 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-18 18:58:19 +00:00
msweet 5096353d12 Add debug logging for launchd checkin.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11596 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-18 18:12:23 +00:00
msweet 076239869a Fix build errors on Fedora.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11594 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-14 20:09:01 +00:00
msweet 02f3db8a51 Support new launch_activate_socket API on OS X (<rdar://problem/16069952>)
Check for new function at configure time.

Define prototype pending public API header.

Use it to get the list of Listeners sockets in launchd_checkin.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11591 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-14 16:07:13 +00:00
msweet 392aa79d2d Make sure job template attributes are included in Validate-Job requests.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11587 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-13 19:49:51 +00:00
msweet ea77c0117d <rdar://problem/16041820> Initial edit of a new document on Syrah hangs, apparently waiting for printing info
Increase default idle exit timeout to 60 seconds, as 10 seconds can make launchd
throttle cupsd relaunches.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11585 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-13 19:37:53 +00:00
msweet 3e4dcdb951 Correctly log the connected client from a domain socket.
Update the comment in the launchd plist to avoid a BBEdit syntax coloring bug.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11581 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-12 16:15:46 +00:00
msweet 28c194b081 <rdar://problem/15939788> Improve CUPS sandboxing
Fix a bug in cups-exec where (for some reason) the call to execv was missing...

Update cups-exec to take real options (-u uid, -g gid, -n nice-value) so that
existing applications that use cups-exec won't need changes.  This will also
allow for future changes without breaking things.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11578 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-12 01:27:42 +00:00
msweet 5a757074a3 Fix whitespace.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11577 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-11 19:51:56 +00:00
msweet 8fe0183a71 <rdar://problem/15939788> Improve CUPS sandboxing
- Use separate profiles for filters and backends.
- Add Sandboxing configuration directive to control whether a strict or relaxed
  profile is used.
- The new strict profile is a whitelist profile that does not allow unlimited
  networking, among other things.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11576 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-11 15:06:01 +00:00
msweet 8f787fcac9 Add missing IPP definitions.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11575 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-11 15:04:31 +00:00
msweet e3adfc1f0f Fix double-include that caused problems.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11574 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-11 15:04:16 +00:00
msweet c82f05eadb <rdar://problem/15958253> 14A125b: cupsd console output when launching AddPrinter
Use posix_spawn and move all of the setuid/setgid/setgroups/nice stuff to
cups-exec.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11564 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-07 21:34:06 +00:00
msweet 7e86f2f686 Full sweep of all Clang warnings, plus some bug fixes for incorrect memcpy usage.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11558 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-02-06 18:33:34 +00:00
msweet b1564baed9 Fix clang-reported issues (<rdar://problem/15936066>)
- httpAddrGetList could leak memory.
- cupsRasterInterpretPPD could access freed memory.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11550 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-29 16:29:50 +00:00
msweet 95d1f98299 Ignore generated testcache unit test program.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11548 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-29 01:53:42 +00:00
msweet b2b9911d6d Add PPD cache unit test program.
(Current focus is on finishings)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11547 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-29 01:52:38 +00:00
msweet 739a2093b0 cupsRasterInterpretPPD now supports the Orientation header in order to support long-edge feed raster printers (<rdar://problem/15837926>)
Rotate page size and margins based on Orientation key in page device dictionary.  Note that this requires support in the RIP filter as well.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11542 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-22 01:40:13 +00:00
msweet 8aaeeaa9eb Update Xcode config.h file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11535 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-15 19:07:03 +00:00
msweet 5bc8ea6613 Add more debug stuff.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11534 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-15 19:04:56 +00:00
msweet 27d0ed525f Also create detached PGP signature of tarballs.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11519 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-08 16:36:57 +00:00
msweet 46cc8b817f Fix typo in spec file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11515 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-08 16:24:25 +00:00
msweet c2b391f776 Update copyrights.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11512 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-08 16:08:47 +00:00
msweet 4541d836ce CUPS incorrectly used the USER environment variable when the name did not match
the user ID (STR #4327)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11509 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-08 16:00:10 +00:00
msweet b933058eb6 Changelog update.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11507 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-08 13:59:19 +00:00
msweet e9dd00a00d The D-BUS notifier did not remove its lockfile (STR #4314)
Add signal handler and remove lockfile.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11499 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-06 22:17:44 +00:00
msweet e584c0683d lpq and lpstat did not list jobs in the correct order when priorities were specified (STR #4326)
The default list should be ActiveJobs, not Jobs.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11498 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-06 22:05:26 +00:00
msweet 84ec3a8445 Using "@IF(name)" in an Allow or Deny rule did not work (STR #4328)
Move the cupsdNetIFUpdate call before the name check - we need to update for all names.

Add debug logging to show interfaces that are skipped and other "errors".


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11497 a1ca3aef-8c08-0410-bb20-df032aa958be
2014-01-06 21:59:35 +00:00
msweet f2a7bf2a93 CUPS did not support "auto-monochrome" or "process-monochrome" for the "print-color-mode" option (<rdar://problem/15482520>)
Map monochrome to auto-monochrome or process-monochrome as needed.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11494 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-22 05:29:06 +00:00
msweet eb383c319d The IPP backend did not wait for a busy printer to become available before attempting to print (<rdar://problem/15465667>)
When busy, set the last IPP status to busy so we retry.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11490 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-22 05:17:53 +00:00
msweet 878389c8cd Shared printers could become inaccessible after a few days on OS X (<rdar://problem/15426838>)
Need to set TMPDIR so that the sandbox profiles are created in a safe temporary directory.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11487 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-22 05:04:29 +00:00
msweet 83bc2aac57 Security: the lppasswd program incorrectly used settings from ~/.cups/client.conf (STR #4319)
Don't use the HOME environment variable when running setuid, setgid, or as root.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11484 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-22 00:44:02 +00:00
msweet a80b2360c9 Don't do TLS upgrade unless the Upgrade header says to...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11482 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-21 18:39:06 +00:00
msweet ebeb3268e4 Remove commented-out code.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11481 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-21 17:39:24 +00:00
msweet c913d72625 Don't try to access non-existent keychain.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11479 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-19 20:29:32 +00:00
msweet eb66bc71be Make sure we don't use functions that are not available.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11477 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-19 20:25:35 +00:00
msweet bfb0ab1327 Update CMP to reflect current CUPS.org web site.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11472 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-19 16:41:53 +00:00
msweet 8a4b51bb6c Fix appearance on Firefox.
Fix link to CUPS.org.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11470 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-18 23:56:11 +00:00
msweet ebc0869ce2 Use translucent header/footer.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11469 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-18 23:36:28 +00:00
msweet 2eefda5ea5 Tweak web interface content.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11467 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-18 20:20:32 +00:00
msweet 41e0907c48 Server-side TLS is now working (yay!)
Still need to finish up the load/save/compare function for certs, and do the
corresponding code for GNU TLS.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11466 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-18 20:20:04 +00:00
msweet c0459938a5 Save work...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11458 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-12 17:55:04 +00:00
msweet 097488cff0 Drop support for ServerCertificate and ServerKey directives; now we just support
ServerKeychain on all platforms.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11457 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-11 02:23:54 +00:00
msweet 3af9ac9e69 The libusb-based USB backend incorrectly used write timeouts
(<rdar://problem/15564888>)

Closer to final server TLS APIs.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11455 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-09 19:26:39 +00:00
msweet cd3614ae67 Sync up with IPP Finishings 2.0 values.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11449 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-06 01:58:28 +00:00
msweet 5a1adc8db8 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11447 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-05 20:01:42 +00:00
msweet f4047845ec Fix builds.
Fix tel: URIs (<rdar://problem/15418463>)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11444 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-12-05 19:51:58 +00:00
msweet dafebafde5 Save work on TLS stuff (does not compile)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11436 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-21 17:33:57 +00:00
msweet 0042c0d7c2 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11428 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-12 14:11:33 +00:00
msweet 72d05bc912 Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11426 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-08 20:42:05 +00:00
msweet 23ee1efa40 Fix typo.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11423 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-08 19:50:52 +00:00
msweet 380e29d55c Current iconv uses "SHIFTJIS_X0213" instead of "jis-x0213".
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11421 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-08 19:43:56 +00:00
msweet 2bf2b8e94a Fix crash bug with GNU TLS.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11420 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-08 16:01:19 +00:00
msweet 724e1819b1 Drop OpenSSL support.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11419 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-08 15:35:27 +00:00
msweet 59ac438c6b Fix free of argv values in cupsdContinueJob.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11416 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-08 15:16:53 +00:00
msweet 3aec6cf0fe Eliminate compiler warning.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11414 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-07 23:23:23 +00:00
msweet e3dfbe13b3 <rdar://problem/15313228> "Canceling stuck job after XXX seconds" message should use "job-cancel-after" value
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11408 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-07 14:33:00 +00:00
msweet 1e3e80bb39 Change new keyword to "cups-waiting-for-job-completed" (<rdar://problem/14323704>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11406 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-07 12:47:57 +00:00
msweet 581dae2da0 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>)

Aside from removing all of the power assertions, we now track a new
"cups-waiting-for-completed" state keyword that tells cupsd it can SIGKILL a
backend without side-effects - then if we are just waiting for the job to
complete we can go to sleep immediately.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11403 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-07 01:20:23 +00:00
msweet a866043016 More changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11401 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 21:38:03 +00:00
msweet 4f2b0ae1c9 Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11400 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 21:36:43 +00:00
msweet 79a784c4d6 Fix "make check" on Linux (<rdar://problem/14292998>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11398 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 20:11:11 +00:00
msweet dd3326384f Get builds going again with GNU TLS.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11393 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-06 01:57:02 +00:00
msweet 462b6e746c Printing to a raw queue could result in corrupt output due to opportunistic
compression (<rdar://problem/15008524>)

(a similar fix needs to be applied to older CUPS distributions)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11384 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-05 15:12:57 +00:00
msweet 93aa5239a0 One more tweak - pull in gnutls-devel and pam-devel unconditionally.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11382 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-05 02:23:49 +00:00
msweet 7f5ce42e30 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>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11381 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-05 02:15:43 +00:00
msweet 7d6442889d <rdar://problem/15382819> cups.org: String pool corruption bug
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11377 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-05 01:05:00 +00:00
msweet 72f5017073 <rdar://problem/15332672> cups.org: Always use cupsdLogJob for job log messages
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11375 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-05 00:45:40 +00:00
msweet da00323434 <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/trunk@11373 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-04 23:47:03 +00:00
msweet d726db79c5 Fix another STACK-detected bug.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11371 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-11-01 18:21:42 +00:00
msweet 148d36993e Fix a few STACK-detected issues:
backend/ipp.c: Off-by-one error in quote_string
test/ipptool.c: Avoid possible optimizer error by using ippSetCollection API.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11369 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-30 15:08:07 +00:00
msweet e12bb97dc5 Verify that the lpadmin command lays down a PPD from a driver info file.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11368 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-28 16:00:50 +00:00
msweet ff2b08f99c Fix <rdar://problem/15331639> cups.org: Regression in auto-debug logging
Need to use memcpy instead of strlcpy or strcpy.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11366 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-28 15:35:44 +00:00
msweet d226322162 Fix potential crasher if a compressed request is interrupted.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11355 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-23 20:33:10 +00:00
msweet 3463c27a30 Fix IPP backend to send print-color-mode (<rdar://problem/15259768>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11352 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-23 19:53:00 +00:00
msweet 13e6b94700 Some more tweaks for the mobile css...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11350 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-21 22:24:07 +00:00
msweet dfc45c1b97 Fix httpWriteResponse state values after a 0-length response.
Fix text/css MIME type rules (so css files don't get mistaken for C source)

New web interface templates and stylesheet that works better on mobile
browsers like the iPhone.

Touch icon for mobile bookmarks.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11349 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-21 21:41:21 +00:00
msweet e52a144303 Remove web interface localizations (they will no longer be valid in 2.0...)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11348 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-21 16:25:09 +00:00
msweet 43dcaf3bb6 Fix some state transition breakage.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11347 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-21 16:22:14 +00:00
msweet b0f269389e The lpadmin command did not send the PPD name from the "-m" option
(<rdar://problem/15264697>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11344 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-18 21:14:44 +00:00
msweet 0d40cb1e4d Fix some issues detected by clang.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11343 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-18 20:55:33 +00:00
msweet 5a1d7a1769 Remove support for AIX, HP-UX, and OSF/1.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11342 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-18 20:36:01 +00:00
msweet 7855ab5635 Drop old private APIs that are no longer used/supported.
Sync up exports file for Windows.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11341 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-18 17:18:20 +00:00
msweet d3d894744d Get builds working again (still need to fill in the server-side stuff for TLS)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11340 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-17 16:44:47 +00:00
msweet 2c85b75239 Save work to move all of the TLS support code into libcups (this does not compile)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11338 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-17 15:53:07 +00:00
msweet 87e9839293 Use httpAddrListen and new httpAddrClose in cupsd and other places that need it.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11337 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-17 00:23:06 +00:00
msweet a73ca01e07 Fix "make check".
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11332 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-16 01:27:57 +00:00
msweet e200616a7b Save work - almost have "make check" working again (some logging and cups-driverd
issues to work out...)


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11329 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-15 17:49:31 +00:00
msweet d21dc0ed72 Save work on cupsd - almost there...
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11326 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-09 22:44:03 +00:00
msweet 48bd1142c9 Re-enable name resolution of client addresses.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11325 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-04 15:54:22 +00:00
msweet 5ec1fd3d9e Save work; public accessors for more stuff, continue transition away from private
APIs.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11324 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-04 03:11:42 +00:00
msweet e6b1a6a976 New APIs for servers.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11322 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-10-01 03:39:09 +00:00
msweet 996acce876 Save work.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11321 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-30 21:29:56 +00:00
msweet 5f8f4499da Changelog.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11317 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-27 16:17:50 +00:00
msweet f7e3306ab0 <rdar://problem/14302628> SNMP: Use prtMarkerSuppliesClass property to determine fillable/consumed value
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11316 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-27 16:16:45 +00:00
msweet 28a463e028 Log power messages.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11313 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-27 15:08:17 +00:00
msweet 928b43f75e <rdar://problem/15065555> CUPS sometimes leaves behind a zombie file
Delete backup PPD and interface script files.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11310 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-27 14:22:51 +00:00
msweet c6fc9716eb <rdar://problem/15090332> CUPS responds to HEAD requests with incorrect content-type header, responds with request
Don't pass request line as content type.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11307 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-27 14:08:59 +00:00
msweet 9d66195840 Drop "contents" requirement from source file header. Most IDEs now provide a list of
functions and it is getting harder and harder to actually get IDEs to run external
scripts these days to generate the list.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11306 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-27 14:00:08 +00:00
msweet 61893d0b8e <rdar://problem/14323704> J90 PreEVT/Schooner: HP Photosmart Prem C310 prevents system from going to sleep.
Log when we wake.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11295 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-23 12:00:42 +00:00
msweet ebaac3df80 <rdar://problem/13655599> Seed: Print queue JOBS disappear after computer Wakes up from Sleep.
Need to provide -default and -supported attributes, map job-cancel-after-xxx
to integer.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11282 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-11 17:55:16 +00:00
msweet 982069db84 <rdar://problem/13655599> Seed: Print queue JOBS disappear after computer Wakes up from Sleep.
Reset cancel time after wake from sleep, support job-cancel-after Job Template
attribute to allow command jobs to be canceled after a suitable amount of time.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11280 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-11 17:45:56 +00:00
msweet 9c47743020 Fix build failures.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11278 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-10 21:59:52 +00:00
msweet 91123e2c82 <rdar://problem/14672918> Use UUID from dnssd URI to identify instance of printer
Don't log the "still looking for xxx" message, let Jim screen those bugs :)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11276 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-10 19:52:13 +00:00
msweet 81441dd34a Fix memory leak of regular expression.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11274 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-10 19:19:26 +00:00
msweet 6ee54c0729 <rdar://problem/11131245> PDF detection in cups needs to be tightened up
Add regex() rule support.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11272 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-10 19:15:36 +00:00
msweet 2c3f586529 <rdar://problem/14672918> Use UUID from dnssd URI to identify instance of printer
Report UUID (if any) and use it to find a matching printer.



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11270 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-04 20:35:42 +00:00
msweet e1578ed9a4 <rdar://problem/11044332> CUPS: Stop using certtool
Conditional code to use SecGenerateSelfSignedCertificate, however this API is
not yet available on OS X.


git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11267 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-09-03 18:50:01 +00:00
msweet cccd10cb5b Update Japanese localization.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11264 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-29 20:10:15 +00:00
msweet a552bd55af Removed some duplicate size definitions for some ISO sizes that were causing
problems (<rdar://problem/14722721>)



git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11239 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-14 20:33:42 +00:00
msweet 75c167a25a Update tests to report v2.0 now.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11235 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-12 19:52:43 +00:00
msweet 41e6c1f1fd Localize HTTP status codes based on Accept-Lanaguage (<rdar://problem/14201195>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11233 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-12 19:49:44 +00:00
msweet 38bb3cf454 Add API version 2.0 constants.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11232 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-12 19:33:47 +00:00
msweet 9d94692945 Save work on <rdar://problem/11044332> CUPS: Stop using certtool.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11231 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-09 16:28:14 +00:00
msweet 1763b7e380 Snapshots are 2.0svn-something.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11230 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-06 17:31:16 +00:00
msweet 621ca63a7b Trunk is now 2.0 development.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11225 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-08-06 17:10:44 +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
1103 arquivos alterados com 115598 adições e 59435 exclusões
+142
Ver Arquivo
@@ -0,0 +1,142 @@
autom4te.cache
config.h
config.log
config.status
cups-config
Makedefs
*.a
*.cgi
*.dylib
*.gz
*.o
*.so
*.so.*
backend/dnssd
backend/http
backend/ipp
backend/lpd
backend/mdns
backend/snmp
backend/socket
backend/test1284
backend/testbackend
backend/testsupplies
backend/usb
berkeley/lpc
berkeley/lpq
berkeley/lpr
berkeley/lprm
cgi-bin/testcgi
cgi-bin/testhi
cgi-bin/testhi.index
cgi-bin/testtemplate
conf/cups-files.conf
conf/cupsd.conf
conf/mime.convs
conf/pam.std
conf/snmp.conf
cups/locale/
cups/test.pwg
cups/testadmin
cups/testarray
cups/testcache
cups/testconflicts
cups/testcups
cups/testdest
cups/testfile
cups/testhttp
cups/testi18n
cups/testipp
cups/testlang
cups/testoptions
cups/testppd
cups/testpwg
cups/testsnmp
cups/tlscheck
desktop/cups.desktop
doc/index.html
filter/commandtops
filter/gziptoany
filter/pstops
filter/rasterbench
filter/rastertoepson
filter/rastertohp
filter/rastertolabel
filter/rastertopwg
filter/test.raster
filter/testraster
locale/checkpo
locale/po2strings
locale/strings2po
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
man/mantohtml
monitor/bcp
monitor/tbcp
notifier/mailto
notifier/rss
notifier/testnotify
packaging/cups.list
ppdc/genstrings
ppdc/ppd/
ppdc/ppd2/
ppdc/ppdc
ppdc/ppdc-static
ppdc/ppdhtml
ppdc/ppdi
ppdc/ppdi-static
ppdc/ppdmerge
ppdc/ppdpo
ppdc/sample-import.drv
ppdc/sample.c
ppdc/testcatalog
scheduler/convert
scheduler/cups-deviced
scheduler/cups-driverd
scheduler/cups-exec
scheduler/cups-lpd
scheduler/cups-lpd.xinetd
scheduler/cups.sh
scheduler/cups.xml
scheduler/cupsd
scheduler/cupsfilter
scheduler/org.cups.cups-lpd.plist
scheduler/org.cups.cups-lpdAT.service
scheduler/org.cups.cupsd.path
scheduler/org.cups.cupsd.service
scheduler/org.cups.cupsd.socket
scheduler/testlpd
scheduler/testmime
scheduler/testspeed
scheduler/testsub
systemv/accept
systemv/cancel
systemv/cupsaccept
systemv/cupsaddsmb
systemv/cupsctl
systemv/cupsdisable
systemv/cupsenable
systemv/cupsreject
systemv/cupstestdsc
systemv/cupstestppd
systemv/lp
systemv/lpadmin
systemv/lpinfo
systemv/lpmove
systemv/lpoptions
systemv/lpstat
systemv/reject
templates/header.tmpl
test/cups-str-*.html
test/error_log-*
test/ippfind
test/ippfind-static
test/ippserver
test/ipptool
test/ipptool-static
+19
Ver Arquivo
@@ -1,6 +1,25 @@
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.
+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)
+139
Ver Arquivo
@@ -0,0 +1,139 @@
CHANGES-2.1.txt
---------------
CHANGES IN CUPS V2.1.4
- Documentation update (STR #4772)
CHANGES IN CUPS V2.1.3
- The default password function did not work on some platforms
(STR #4750)
- The scheduler should not exit under memory pressure
(<rdar://problem/23255001>)
- The EPL2 and ZPL sample drivers did not properly support the CutMedia
option.
- Pending subscriptions would prevent the scheduler from idle exiting
(STR #4754)
- Fixed some issues in ipptool for skipped tests
(<rdar://problem/24137160>)
- The "lp -H resume" command did not reset the "job-state-reasons"
attribute value (STR #4752)
- cupsEncodeOptions2 incorrectly handled escaped values
(<rdar://problem/19736672>)
- The scheduler did not allow access to resource files (icons, etc.)
when the web interface was disabled (STR #4755)
- Localization fix (STR #4756)
CHANGES IN CUPS V2.1.2
- Re-release of CUPS 2.1.1 as CUPS 2.1.2 due to error in tagging of the
2.1.1 release (pulled content from the 2.2.x tree instead)
CHANGES IN CUPS V2.1.1
- Security hardening fixes (<rdar://problem/23131948>,
<rdar://problem/23132108>, <rdar://problem/23132353>,
<rdar://problem/23132803>, <rdar://problem/23133230>,
<rdar://problem/23133393>, <rdar://problem/23133466>,
<rdar://problem/23133833>, <rdar://problem/23133998>,
<rdar://problem/23134228>, <rdar://problem/23134299>,
<rdar://problem/23134356>, <rdar://problem/23134415>,
<rdar://problem/23134506>, <rdar://problem/23135066>,
<rdar://problem/23135122>, <rdar://problem/23135207>,
<rdar://problem/23144290>, <rdar://problem/23144358>,
<rdar://problem/23144461>)
- The cupsGetPPD* functions did not work with IPP printers (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)
+9 -3
Ver Arquivo
@@ -1,10 +1,16 @@
CHANGES-IPPTOOL.txt - 2013-07-08
CHANGES-IPPTOOL.txt - 2015-05-15
--------------------------------
This file provides a list of changes to the ipptool binary distribution posted
on cups.org.
on CUPS.org.
2013-07-08
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
+20 -61
Ver Arquivo
@@ -1,63 +1,22 @@
CHANGES.txt - 1.7rc1 - 2013-07-10
---------------------------------
CHANGES.txt - 2.2b1 - 2016-03-10
--------------------------------
CHANGES IN CUPS V1.7rc1
CHANGES IN CUPS V2.2b1
- 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)
- The IPP backend now continues on to the next job when the remote
server/printer puts the job on hold (<rdar://problem/24858548>)
- The scheduler did not cancel multi-document jobs immediately
(<rdar://problem/24854834>)
- The scheduler did not return non-shared printers to local clients
unless they connected to the domain socket (<rdar://problem/24566996>)
- The scheduler now reads the spool directory if one or more job cache
entries point to deleted jobs (<rdar://problem/24048846>)
- Added support for disc media sizes (<rdar://problem/20219536>)
- The httpAddrConnect and httpConnect* APIs now try connecting to
multiple addresses in parallel (<rdar://problem/20643153>)
- The cupsd domain socket is no longer world-accessible on OS X
(<rdar://problem/7542560>)
- Interface scripts are no longer supported for security reasons
(<rdar://problem/23135640>)
- Added a new cupsHashData API and support for hashed job passwords
(<rdar://problem/20221502>)
+636
Ver Arquivo
@@ -0,0 +1,636 @@
CONTRIBUTING.txt - 2016/01/28
-----------------------------
CUPS is developed by Apple Inc. and distributed as open source software under a
combination of GNU GPL2 and GNU LGPL2 licenses with exceptions to allow
developers on Apple's operating systems to develop CUPS-based software under
alternate license terms. Significant contributions to CUPS must be licensed to
Apple using the Apple Contributor Agreement:
https://www.cups.org/AppleContributorAgreement_2011-03-10.pdf
Contributions should be submitted as attachments to bug reports on the CUPS web
site. Changes to existing source files should be submitted as unified diffs
(both Subversion and Git produce this format by default) while new source files
should be provided as-is or in an archive.
HOW TO CONTACT THE DEVELOPERS
The CUPS mailing lists are the primary means of asking questions and informally
discussing issues and feature requests with the CUPS developers and other
experienced CUPS users and developers. The "cups" mailing list is intended for
CUPS usage questions and new software announcements while the "cups-devel"
mailing list provides a forum for CUPS developers and monitoring new bugs.
INTERFACES
CUPS interfaces, including the C APIs and command-line arguments, environment
variables, configuration files, and output format, are stable across patch
versions and are generally backwards-compatible with interfaces used in prior
major and minor versions. However, program interfaces such as those used by
the scheduler to run filter, port monitor, and backend processes for job
processing should only be considered stable from the point of view of a
filter, port monitor, or backend. Software that simulates the scheduler in
order to run those programs outside of CUPS must necessarily be updated when
the corresponding interface is changed in a subsequent CUPS release, otherwise
undefined behavior can occur.
CUPS C APIs starting with an underscore (_) are considered to be private to
CUPS and are not subject to the normal guarantees of stability between CUPS
releases and must never be used in non-CUPS source code. Similarly,
configuration and state files written by CUPS are considered private if a
corresponding man page is not provided with the CUPS release. Never rely on
undocumented files or formats when developing software for CUPS. Always use a
published C API to access data stored in a file to avoid compatibility problems
in the future.
BUILD SYSTEM
The CUPS build system uses GNU autoconf to tailor the library to the local
operating system. Project files for the current release of Microsoft Visual
Studio are also provided for Microsoft Windows®. To improve portability,
makefiles must not make use of features unique to GNU make. See the MAKEFILE
GUIDELINES section for a description of the allowed make features and makefile
guidelines.
Additional GNU build programs such as GNU automake and GNU libtool must not be
used. GNU automake produces non-portable makefiles which depend on GNU-
specific extensions, and GNU libtool is not portable or reliable enough for
CUPS.
VERSION NUMBERING
CUPS uses a three-part version number separated by periods to represent the
major, minor, and patch release numbers. Major release numbers indicate large
design changes or backwards-incompatible changes to the CUPS API or CUPS
Imaging API. Minor release numbers indicate new features and other smaller
changes which are backwards-compatible with previous CUPS releases. Patch
numbers indicate bug fixes to the previous feature or patch release.
Note:
When we talk about compatibility, we are talking about binary compatibility
for public APIs and output format compatibility for program interfaces.
Changes to configuration file formats or the default behavior of programs
are not generally considered incompatible as the upgrade process can
normally address such changes gracefully.
Production releases use the plain version numbers:
MAJOR.MINOR.PATCH
1.0.0
...
1.1.0
...
1.1.23
...
2.0.0
...
2.1.0
2.1.1
2.1.2
2.1.3
The first production release in a MAJOR.MINOR series (MAJOR.MINOR.0) is called
a feature release. Feature releases are the only releases that may contain new
features. Subsequent production releases in a MAJOR.MINOR series may only
contain bug fixes.
Beta-test releases are identified by appending the letter B to the major and
minor version numbers followed by the beta release number:
MAJOR.MINORbNUMBER
2.2b1
Release candidates are identified by appending the letters RC to the major and
minor version numbers followed by the release candidate number:
MAJOR.MINORrcNUMBER
2.2rc1
CODING GUIDELINES
Contributed source code must follow the guidelines below. While the examples
are for C and C++ source files, source code for other languages should conform
to the same guidelines as allowed by the language.
SOURCE FILES
All source files names must be 16 characters or less in length to ensure
compatibility with older UNIX filesystems. Source files containing functions
have an extension of ".c" for C and ".cxx" for C++ source files. All other
"include" files have an extension of ".h". Tabs are set to 8 characters or
columns.
Note:
The ".cxx" extension is used because it is the only common C++ extension
between Linux, OS X, UNIX, and Windows.
The top of each source file contains a header giving the purpose or nature of
the source file and the copyright and licensing notice:
/*
* Description of file contents.
*
* Copyright 2016 by Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
*/
For source files that are subject to the Apple OS-Developed Software exception,
the following additional comment appears after the contact information:
* This file is subject to the Apple OS-Developed Software exception.
HEADER FILES
All public header files must include the "versioning.h" header file, or a header
that does so. Function declarations are then "decorated" with the correct
_CUPS_API_major_minor macro to define its availability based on the build
environment, for example:
extern int cupsDoThis(int foo, int bar) _CUPS_API_2_2;
Private API header files must be named with the suffix "-private", for example
the "cups.h" header file defines all of the public CUPS APIs while the
"cups-private.h" header file defines all of the private CUPS APIs as well.
Typically a private API header file will include the corresponding public API
header file.
COMMENTS
All source code utilizes block comments within functions to describe the
operations being performed by a group of statements; avoid putting a comment
per line unless absolutely necessary, and then consider refactoring the code
so that it is not necessary. C source files use the block comment format
("/* comment */") since many vendor C compilers still do not support C99/C++
comments ("// comment"):
/*
* Clear the state array before we begin...
*/
for (i = 0; i < (sizeof(array) / sizeof(sizeof(array[0])); i ++)
array[i] = CUPS_STATE_IDLE;
/*
* Wait for state changes on another thread...
*/
do
{
for (i = 0; i < (sizeof(array) / sizeof(sizeof(array[0])); i ++)
if (array[i] != CUPS_STATE_IDLE)
break;
if (i == (sizeof(array) / sizeof(array[0])))
sleep(1);
} while (i == (sizeof(array) / sizeof(array[0])));
INDENTATION
All code blocks enclosed by brackets begin with the opening brace on a new
line. The code then follows starting on a new line after the brace and is
indented 2 spaces. The closing brace is then placed on a new line following
the code at the original indentation:
{
int i; /* Looping var */
/*
* Process foobar values from 0 to 999...
*/
for (i = 0; i < 1000; i ++)
{
do_this(i);
do_that(i);
}
}
Single-line statements following "do", "else", "for", "if", and "while" are
indented 2 spaces as well. Blocks of code in a "switch" block are indented 4
spaces after each "case" and "default" case:
switch (array[i])
{
case CUPS_STATE_IDLE :
do_this(i);
do_that(i);
break;
default :
do_nothing(i);
break;
}
SPACING
A space follows each reserved word such as "if", "while", etc. Spaces are not
inserted between a function name and the arguments in parenthesis.
RETURN VALUES
Parenthesis surround values returned from a function:
return (CUPS_STATE_IDLE);
FUNCTIONS
Functions with a global scope have a lowercase prefix followed by capitalized
words, e.g., "cupsDoThis", "cupsDoThat", "cupsDoSomethingElse", etc. Private
global functions begin with a leading underscore, e.g., "_cupsDoThis",
"_cupsDoThat", etc.
Functions with a local scope are declared "static" with lowercase names and
underscores between words, e.g., "do_this", "do_that", "do_something_else", etc.
Each function begins with a comment header describing what the function does,
the possible input limits (if any), the possible output values (if any), and
any special information needed:
/*
* 'do_this()' - Compute y = this(x).
*
* Notes: none.
*/
static float /* O - Inverse power value, 0.0 <= y <= 1.1 */
do_this(float x) /* I - Power value (0.0 <= x <= 1.1) */
{
...
return (y);
}
Return/output values are indicated using an "O" prefix, input values are
indicated using the "I" prefix, and values that are both input and output use
the "IO" prefix for the corresponding in-line comment.
The Mini-XML documentation generator also understands the following special
text in the function description comment:
@deprecated@ - Marks the function as deprecated (not recommended
for new development and scheduled for removal)
@since CUPS version@ - Marks the function as new in the specified version
of CUPS.
@private@ - Marks the function as private (same as starting the
function name with an underscore)
VARIABLES
Variables with a global scope are capitalized, e.g., "ThisVariable",
"ThatVariable", "ThisStateVariable", etc. Globals in CUPS libraries are either
part of the per-thread global values managed by the "_cupsGlobals()" function
or are suitably protected for concurrent access. Global variables should be
replaced by function arguments whenever possible.
Variables with a local scope are lowercase with underscores between words,
e.g., "this_variable", "that_variable", etc. Any "local global" variables
shared by functions within a source file are declared "static". As for global
variables, local static variables are suitably protected for concurrent access.
Each variable is declared on a separate line and is immediately followed by a
comment block describing the variable:
int ThisVariable; /* The current state of this */
static int that_variable; /* The current state of that */
TYPES
All type names are lowercase with underscores between words and "_t" appended
to the end of the name, e.g., "cups_this_type_t", "cups_that_type_t", etc.
Type names start with a prefix, typically "cups" or the name of the program,
to avoid conflicts with system types. Private type names start with an
underscore, e.g., "_cups_this_t", "_cups_that_t", etc.
Each type has a comment block immediately after the typedef:
typedef int cups_this_type_t; /* This type is for CUPS foobar options. */
STRUCTURES
All structure names are lowercase with underscores between words and "_s"
appended to the end of the name, e.g., "cups_this_s", "cups_that_s", etc.
Structure names start with a prefix, typically "cups" or the name of the
program, to avoid conflicts with system types. Private structure names start
with an underscore, e.g., "_cups_this_s", "_cups_that_s", etc.
Each structure has a comment block immediately after the struct and each member
is documented similar to the variable naming policy above:
struct cups_this_struct_s /* This structure is for CUPS foobar options. */
{
int this_member; /* Current state for this */
int that_member; /* Current state for that */
};
CONSTANTS
All constant names are uppercase with underscores between words, e.g.,
"CUPS_THIS_CONSTANT", "CUPS_THAT_CONSTANT", etc. Constants begin with an
uppercase prefix, typically "CUPS" or the program name. Private constants
start with an underscore, e.g., "_CUPS_THIS_CONSTANT", "_CUPS_THAT_CONSTANT",
etc.
Typed enumerations should be used whenever possible to allow for type checking
by the compiler.
Comment blocks immediately follow each constant:
typedef enum cups_tray_e /* Tray enumerations */
{
CUPS_TRAY_THIS, /* This tray */
CUPS_TRAY_THAT /* That tray */
} cups_tray_t;
MAKEFILE GUIDELINES
The following is a guide to the makefile-based build system used by CUPS.
These standards have been developed over the years to allow CUPS to be built on
as many systems and environments as possible.
GENERAL ORGANIZATION
The CUPS source code is organized functionally into a top-level makefile,
include file, and subdirectories each with their own makefile and dependencies
files. The ".in" files are template files for the autoconf software and are
used to generate a static version of the corresponding file.
MAKEFILE DOCUMENTATION
Each makefile starts with the standard CUPS header containing the description
of the file, and CUPS copyright and license notice:
#
# Makefile for ...
#
# Copyright 2016 by Apple Inc.
#
# These coded instructions, statements, and computer programs are the
# property of Apple Inc. and are protected by Federal copyright
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
# which should have been included with this file. If this file is
# file is missing or damaged, see the license at "http://www.cups.org/".
#
PORTABLE MAKEFILE CONSTRUCTION
CUPS uses a common subset of make program syntax to ensure that the software
can be compiled "out of the box" on as many systems as possible. The following
is a list of assumptions we follow when constructing makefiles:
- Targets; we assume that the make program supports the notion of simple
targets of the form "name:" that perform tab-indented commands that follow
the target, e.g.:
target:
<tab> target commands
- Dependencies; we assume that the make program supports recursive dependencies
on targets, e.g.:
target: foo bar
<tab> target commands
foo: bla
<tab> foo commands
bar:
<tab> bar commands
bla:
<tab> bla commands
- Variable Definition; we assume that the make program supports variable
definition on the command-line or in the makefile using the following form:
name=value
- Variable Substitution; we assume that the make program supports variable
substitution using the following forms:
- $(name); substitutes the value of "name",
- $(name:.old=.new); substitutes the value of "name" with the filename
extension ".old" changed to ".new",
- $(MAKEFLAGS); substitutes the command-line options passed to the
program without the leading hyphen (-),
- $$; substitutes a single $ character,
- $<; substitutes the current source file or dependency, and
- $@; substitutes the current target name.
- Suffixes; we assume that the make program supports filename suffixes with
assumed dependencies, e.g.:
.SUFFIXES: .c .o
.c.o:
<tab> $(CC) $(CFLAGS) -o $@ -c $<
- Include Files; we assume that the make program supports the include
directive, e.g.:
include ../Makedefs
include Dependencies
- Comments; we assume that comments begin with a # character and proceed to the
end of the current line.
- Line Length; we assume that there is no practical limit to the length of
lines.
- Continuation of long lines; we assume that the \ character may be placed at
the end of a line to concatenate two or more lines in a makefile to form a
single long line.
- Shell; we assume a POSIX-compatible shell is present on the build system.
STANDARD VARIABLES
The following variables are defined in the "Makedefs" file generated by the
autoconf software:
- ALL_CFLAGS; the combined C compiler options,
- ALL_CXXFLAGS; the combined C++ compiler options,
- AMANDIR; the administrative man page installation directory (section 8/1m
depending on the platform),
- AR; the library archiver command,
- ARFLAGS; options for the library archiver command,
- AWK; the local awk command,
- BINDIR; the binary installation directory,
- BUILDROOT; optional installation prefix (defaults to DSTROOT),
- CC; the C compiler command,
- CFLAGS; options for the C compiler command,
- CHMOD; the chmod command,
- CXX; the C++ compiler command,
- CXXFLAGS; options for the C++ compiler command,
- DATADIR; the data file installation directory,
- DSO; the C shared library building command,
- DSOXX; the C++ shared library building command,
- DSOFLAGS; options for the shared library building command,
- INCLUDEDIR; the public header file installation directory,
- INSTALL; the install command,
- INSTALL_BIN; the program installation command,
- INSTALL_COMPDATA; the compressed data file installation command,
- INSTALL_CONFIG; the configuration file installation command,
- INSTALL_DATA; the data file installation command,
- INSTALL_DIR; the directory installation command,
- INSTALL_LIB; the library installation command,
- INSTALL_MAN; the documentation installation command,
- INSTALL_SCRIPT; the shell script installation command,
- LD; the linker command,
- LDFLAGS; options for the linker,
- LIBDIR; the library installation directory,
- LIBS; libraries for all programs,
- LN; the ln command,
- MAN1EXT; extension for man pages in section 1,
- MAN3EXT; extension for man pages in section 3,
- MAN5EXT; extension for man pages in section 5,
- MAN7EXT; extension for man pages in section 7,
- MAN8DIR; subdirectory for man pages in section 8,
- MAN8EXT; extension for man pages in section 8,
- MANDIR; the man page installation directory,
- OPTIM; common compiler optimization options,
- PRIVATEINCLUDE; the private header file installation directory,
- RM; the rm command,
- SHELL; the sh (POSIX shell) command,
- STRIP; the strip command,
- srcdir; the source directory.
STANDARD TARGETS
The following standard targets are defined in each makefile:
- all; creates all target programs, libraries, and documentation files,
- clean; removes all target programs libraries, documentation files, and object
files,
- depend; generates automatic dependencies for any C or C++ source files (also
see "DEPENDENCIES"),
- distclean; removes autoconf-generated files in addition to those removed by
the "clean" target,
- install; installs all distribution files in their corresponding locations
(also see "INSTALL/UNINSTALL SUPPORT"),
- install-data; installs all data files in their corresponding locations (also
see "INSTALL/UNINSTALL SUPPORT"),
- install-exec; installs all executable files in their corresponding locations
(also see "INSTALL/UNINSTALL SUPPORT"),
- install-headers; installs all include files in their corresponding locations
(also see "INSTALL/UNINSTALL SUPPORT"),
- install-libs; installs all library files in their corresponding locations
(also see "INSTALL/UNINSTALL SUPPORT"), and
- uninstall; removes all distribution files from their corresponding locations
(also see "INSTALL/UNINSTALL SUPPORT").
OBJECT FILES
Object files (the result of compiling a C or C++ source file) have the
extension ".o".
PROGRAMS
Program files are the result of linking object files and libraries together to
form an executable file. A typical program target looks like:
program: $(OBJS)
<tab> echo Linking $@...
<tab> $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
STATIC LIBRARIES
Static libraries have a prefix of "lib" and the extension ".a". A typical
static library target looks like:
libname.a: $(OBJECTS)
<tab> echo Creating $@...
<tab> $(RM) $@
<tab> $(AR) $(ARFLAGS) $@ $(OBJECTS)
<tab> $(RANLIB) $@
SHARED LIBRARIES
Shared libraries have a prefix of "lib" and the extension ".dylib" or ".so"
depending on the operating system. A typical shared library is composed of
several targets that look like:
libname.so: $(OBJECTS)
<tab> echo $(DSOCOMMAND) libname.so.$(DSOVERSION) ...
<tab> $(DSOCOMMAND) libname.so.$(DSOVERSION) $(OBJECTS)
<tab> $(RM) libname.so libname.so.$(DSOMAJOR)
<tab> $(LN) libname.so.$(DSOVERSION) libname.so.$(DSOMAJOR)
<tab> $(LN) libname.so.$(DSOVERSION) libname.so
libname.dylib: $(OBJECTS)
<tab> echo $(DSOCOMMAND) libname.$(DSOVERSION).dylib ...
<tab> $(DSOCOMMAND) libname.$(DSOVERSION).dylib \
<tab> <tab> -install_name $(libdir)/libname.$(DSOMAJOR).dylib \
<tab> <tab> -current_version libname.$(DSOVERSION).dylib \
<tab> <tab> -compatibility_version $(DSOMAJOR).0 \
<tab> <tab> $(OBJECTS) $(LIBS)
<tab> $(RM) libname.dylib
<tab> $(RM) libname.$(DSOMAJOR).dylib
<tab> $(LN) libname.$(DSOVERSION).dylib libname.$(DSOMAJOR).dylib
<tab> $(LN) libname.$(DSOVERSION).dylib libname.dylib
DEPENDENCIES
Static dependencies are expressed in each makefile following the target, for
example:
foo: bar
Static dependencies are only used when it is not possible to automatically
generate them. Automatic dependencies are stored in a file named
"Dependencies" and included at the end of the makefile. The following "depend"
target rule is used to create the automatic dependencies:
depend:
<tab> $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
We regenerate the automatic dependencies on an OS X system and express any
non-OS X dependencies statically in the makefile.
INSTALL/UNINSTALL SUPPORT
All makefiles contains install and uninstall rules which install or remove the
corresponding software. These rules must use the $(BUILDROOT) variable as a
prefix to any installation directory so that CUPS can be installed in a
temporary location for packaging by programs like rpmbuild.
The $(INSTALL_BIN), $(INSTALL_COMPDATA), $(INSTALL_CONFIG), $(INSTALL_DATA),
$(INSTALL_DIR), $(INSTALL_LIB), $(INSTALL_MAN), and $(INSTALL_SCRIPT) variables
must be used when installing files so that the proper ownership and permissions
are set on the installed files.
The $(RANLIB) command must be run on any static libraries after installation
since the symbol table is invalidated when the library is copied on some
platforms.
+2 -1
Ver Arquivo
@@ -1,4 +1,4 @@
CREDITS.txt - 2012-07-16
CREDITS.txt - 2013-07-23
------------------------
Few projects are completed by one person, and CUPS is no exception. We'd
@@ -39,6 +39,7 @@ like to thank the following individuals for their contributions:
Vincenzo Reale - Italian localization.
Petter Reinholdtsen - HP-UX compiler stuff.
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.
+44
Ver Arquivo
@@ -0,0 +1,44 @@
HTTP/2.0 Implementation Notes - 2013-11-07
------------------------------------------
OVERVIEW
HTTP/2.0 allows clients to send multiple, simultaneous requests over a
single connection, as well as supporting server-side push delivery of
content. In the context of IPP, this would allow a single connection to
support simultaneous job submission and monitoring.
This will require changes to the HTTP API used in CUPS, and to cupsd and
other CUPS-based servers. This branch tracks that development.
DESIGN
http_t will be updated to be accessible from multiple threads and track the
HTTP state in a thread ID to stream ID/state table. Applications can
discover whether a Printer supports HTTP/2.0 with a new httpSupportsVersion
API and upgrade to HTTP/2.0 with httpUpgradeToVersion.
Calling httpPost in HTTP/1.1 mode will serialize requests between threads.
Calling httpPost in HTTP/2.0 mode will create a new stream ID and issue
requests in parallel.
Q: How to handle incoming 2.0 requests? New httpServerRunLoop with
callback that creates a new thread for all incoming requests and associates
the thread with the stream ID. httpWriteResponse is then tied to the stream
ID. For 1.1 mode the callback gets called on the current thread (no new
threads created).
Q: How to handle PUSH_PROMISE? New httpPushPromise API that creates a new
thread and stream ID?
REFERENCES
HTTPbis WG web site: http://tools.ietf.org/wg/httpbis
Main spec: http://tools.ietf.org/html/draft-ietf-httpbis-http2
Header compression spec:
http://tools.ietf.org/html/draft-ietf-httpbis-header-compression
+11 -8
Ver Arquivo
@@ -1,5 +1,5 @@
INSTALL - CUPS v1.7rc1 - 2013-07-08
-----------------------------------
INSTALL - CUPS v2.2b1 - 2015-09-14
----------------------------------
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
@@ -98,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
@@ -136,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,
@@ -165,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
+1 -1
Ver Arquivo
@@ -1,4 +1,4 @@
IPPTOOL.txt - 2013-07-08
IPPTOOL.txt - 2013-07-15
------------------------
See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
+7 -13
Ver Arquivo
@@ -1,6 +1,6 @@
CUPS License Agreement
Copyright 2007-2012 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;
@@ -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
+23 -19
Ver Arquivo
@@ -1,16 +1,16 @@
#
# "$Id$"
# "$Id: Makedefs.in 11984 2014-07-02 13:16:59Z msweet $"
#
# Common makefile definitions for CUPS.
# Common makefile definitions for CUPS.
#
# Copyright 2007-2012 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/".
#
#
@@ -121,9 +121,9 @@ 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@
@@ -140,13 +140,14 @@ DSOLIBS = @DSOLIBS@ $(COMMONLIBS)
DNSSDLIBS = @DNSSDLIBS@
IPPFIND_BIN = @IPPFIND_BIN@
IPPFIND_MAN = @IPPFIND_MAN@
LAUNCHDLIBS = @LAUNCHDLIBS@
LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
-L../scheduler @LDARCHFLAGS@ \
@LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
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@
@@ -200,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@
@@ -216,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@
@@ -229,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@
#
@@ -260,5 +264,5 @@ DBUSDIR = @DBUSDIR@
#
# End of "$Id$"
# End of "$Id: Makedefs.in 11984 2014-07-02 13:16:59Z msweet $"
#
+47 -25
Ver Arquivo
@@ -1,16 +1,16 @@
#
# "$Id$"
# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Top-level Makefile for CUPS.
# Top-level Makefile for CUPS.
#
# Copyright 2007-2013 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
@@ -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,14 @@ 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.
#
# Alternatively, use "--analyze -Xanalyzer -analyzer-output=text" for OPTIM (text
# output instead of HTML...)
#
.PHONY: clang clang-changes
@@ -140,6 +142,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...
#
@@ -300,7 +322,7 @@ sloc:
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:
@@ -329,5 +351,5 @@ dist: all
#
# End of "$Id$".
# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
+10 -29
Ver Arquivo
@@ -1,13 +1,5 @@
README - CUPS v1.7rc1 - 2013-07-08
----------------------------------
*******************************************************
*******************************************************
**** ****
**** PRE-RELEASE SOFTWARE - USE AT YOUR OWN RISK ****
**** ****
*******************************************************
*******************************************************
README - CUPS v2.2b1 - 2015-09-14
---------------------------------
Looking for compile instructions? Read the file "INSTALL.txt" instead...
@@ -49,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.
@@ -86,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
@@ -121,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
@@ -142,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:
@@ -151,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-2013 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
+50 -48
Ver Arquivo
@@ -1,70 +1,72 @@
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/ipp-private.h ../cups/ipp.h \
../cups/http.h ../cups/array.h ../cups/http-private.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
../cups/array-private.h
lpd.o: lpd.c ../cups/http-private.h ../config.h ../cups/http.h \
../cups/versioning.h ../cups/array.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/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/raster.h
lpd.o: lpd.c ../cups/http-private.h ../config.h ../cups/language.h \
../cups/array.h ../cups/versioning.h ../cups/http.h \
../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h \
backend-private.h ../cups/cups-private.h ../cups/string-private.h \
../cups/debug-private.h ../cups/array-private.h \
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
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/ipp-private.h ../cups/ipp.h \
../cups/http.h ../cups/array.h ../cups/http-private.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
../cups/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/ipp-private.h ../cups/ipp.h \
../cups/http.h ../cups/array.h ../cups/http-private.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
socket.o: socket.c ../cups/http-private.h ../config.h ../cups/http.h \
../cups/versioning.h ../cups/array.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/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
socket.o: socket.c ../cups/http-private.h ../config.h ../cups/language.h \
../cups/array.h ../cups/versioning.h ../cups/http.h \
../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h \
backend-private.h ../cups/cups-private.h ../cups/string-private.h \
../cups/debug-private.h ../cups/array-private.h \
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
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/ipp-private.h ../cups/ipp.h \
../cups/http.h ../cups/array.h ../cups/http-private.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/raster.h
testbackend.o: testbackend.c ../cups/string-private.h ../config.h \
../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
../cups/http.h ../cups/array.h ../cups/language.h \
../cups/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/ipp-private.h ../cups/ipp.h \
../cups/http.h ../cups/array.h ../cups/http-private.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
../cups/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/ipp-private.h ../cups/ipp.h \
../cups/http.h ../cups/array.h ../cups/http-private.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
../cups/versioning.h ../cups/array-private.h ../cups/array.h \
../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
../cups/http-private.h ../cups/language.h ../cups/md5-private.h \
../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \
../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \
../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
usb-darwin.c ../cups/file-private.h
usb-darwin.c ../cups/file-private.h ../cups/ppd-private.h \
../cups/ppd.h ../cups/raster.h
+28 -9
Ver Arquivo
@@ -1,9 +1,9 @@
#
# "$Id$"
# "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $"
#
# Backend makefile for CUPS.
#
# Copyright 2007-2012 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
@@ -23,8 +23,8 @@ include ../Makedefs
# RBACKENDS are installed mode 0700 so cupsd will run them as root...
#
# UBACKENDS are installed mode 0755 so cupsd will run them as an unprivileged
# user...
# 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 = \
@@ -33,7 +33,8 @@ RBACKENDS = \
$(DNSSD_BACKEND)
UBACKENDS = \
snmp \
socket \
socket
ULBACKENDS = \
usb
UNITTESTS = \
test1284 \
@@ -42,7 +43,8 @@ UNITTESTS = \
TARGETS = \
libbackend.a \
$(RBACKENDS) \
$(UBACKENDS)
$(UBACKENDS) \
$(ULBACKENDS)
LIBOBJS = \
ieee1284.o \
network.o \
@@ -71,7 +73,7 @@ all: $(TARGETS)
# Make library targets...
#
libs:
libs: $(ULBACKENDS)
#
@@ -109,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
#
@@ -162,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
#
@@ -174,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 \
@@ -296,5 +315,5 @@ include Dependencies
#
# End of "$Id$".
# End of "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $".
#
+12 -12
Ver Arquivo
@@ -1,18 +1,18 @@
/*
* "$Id$"
* "$Id: backend-private.h 11984 2014-07-02 13:16:59Z msweet $"
*
* Backend support definitions for CUPS.
* Backend support definitions for CUPS.
*
* Copyright 2007-2012 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_
@@ -313,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);
@@ -334,5 +334,5 @@ extern int backendWaitLoop(int snmp_fd, http_addr_t *addr,
/*
* End of "$Id$".
* End of "$Id: backend-private.h 11984 2014-07-02 13:16:59Z msweet $".
*/
+57 -59
Ver Arquivo
@@ -1,33 +1,17 @@
/*
* "$Id$"
* "$Id: dnssd.c 13138 2016-03-15 14:59:54Z msweet $"
*
* DNS-SD discovery backend for CUPS.
* DNS-SD discovery backend for CUPS.
*
* Copyright 2008-2012 by Apple Inc.
* Copyright 2008-2015 by Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* "LICENSE" which should have been included with this file. If this
* file is missing or damaged, see the license at "http://www.cups.org/".
* 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() - Browse for printers.
* browse_callback() - Browse devices.
* browse_local_callback() - Browse local devices.
* client_callback() - Avahi client callback function.
* compare_devices() - Compare two devices.
* exec_backend() - Execute the backend that corresponds to the
* resolved service name.
* device_type() - Get DNS-SD type enumeration from string.
* get_device() - Create or update a device.
* query_callback() - Process query data.
* find_device() - Find a device from its name and domain.
* sigterm_handler() - Handle termination signals.
* unquote() - Unquote a name string.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -77,7 +61,8 @@ typedef struct
*domain, /* Domain name */
*fullName, /* Full name */
*make_and_model, /* Make and model from TXT record */
*device_id; /* 1284 device ID from TXT record */
*device_id, /* 1284 device ID from TXT record */
*uuid; /* UUID from TXT record */
cups_devtype_t type; /* Device registration type */
int priority, /* Priority associated with type */
cups_shared, /* CUPS shared printer? */
@@ -95,6 +80,7 @@ static int job_canceled = 0;
static AvahiSimplePoll *simple_poll = NULL;
/* Poll information */
static int got_data = 0; /* Got data from poll? */
static int browsers = 0; /* Number of running browsers */
#endif /* HAVE_AVAHI */
@@ -137,7 +123,7 @@ static void client_callback(AvahiClient *client,
#endif /* HAVE_AVAHI */
static int compare_devices(cups_device_t *a, cups_device_t *b);
static void exec_backend(char **argv);
static void exec_backend(char **argv) __attribute__((noreturn));
static cups_device_t *get_device(cups_array_t *devices,
const char *serviceName,
const char *regtype,
@@ -332,7 +318,7 @@ main(int argc, /* I - Number of command-line args */
if ((simple_poll = avahi_simple_poll_new()) == NULL)
{
fputs("DEBUG: Unable to create Avahi simple poll object.\n", stderr);
return (1);
return (0);
}
avahi_simple_poll_set_func(simple_poll, poll_callback, NULL);
@@ -342,9 +328,10 @@ main(int argc, /* I - Number of command-line args */
if (!client)
{
fputs("DEBUG: Unable to create Avahi client.\n", stderr);
return (1);
return (0);
}
browsers = 6;
avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
AVAHI_PROTO_UNSPEC,
"_fax-ipp._tcp", NULL, 0,
@@ -513,9 +500,15 @@ main(int argc, /* I - Number of command-line args */
{
unquote(uriName, best->fullName, sizeof(uriName));
httpAssembleURI(HTTP_URI_CODING_ALL, device_uri, sizeof(device_uri),
"dnssd", NULL, uriName, 0,
best->cups_shared ? "/cups" : "/");
if (best->uuid)
httpAssembleURIf(HTTP_URI_CODING_ALL, device_uri,
sizeof(device_uri), "dnssd", NULL, uriName, 0,
best->cups_shared ? "/cups?uuid=%s" : "/?uuid=%s",
best->uuid);
else
httpAssembleURI(HTTP_URI_CODING_ALL, device_uri,
sizeof(device_uri), "dnssd", NULL, uriName, 0,
best->cups_shared ? "/cups" : "/");
cupsBackendReport("network", device_uri, best->make_and_model,
best->name, best->device_id, NULL);
@@ -546,9 +539,15 @@ main(int argc, /* I - Number of command-line args */
{
unquote(uriName, best->fullName, sizeof(uriName));
httpAssembleURI(HTTP_URI_CODING_ALL, device_uri, sizeof(device_uri),
"dnssd", NULL, uriName, 0,
best->cups_shared ? "/cups" : "/");
if (best->uuid)
httpAssembleURIf(HTTP_URI_CODING_ALL, device_uri,
sizeof(device_uri), "dnssd", NULL, uriName, 0,
best->cups_shared ? "/cups?uuid=%s" : "/?uuid=%s",
best->uuid);
else
httpAssembleURI(HTTP_URI_CODING_ALL, device_uri,
sizeof(device_uri), "dnssd", NULL, uriName, 0,
best->cups_shared ? "/cups" : "/");
cupsBackendReport("network", device_uri, best->make_and_model,
best->name, best->device_id, NULL);
@@ -558,7 +557,11 @@ main(int argc, /* I - Number of command-line args */
fprintf(stderr, "DEBUG: sent=%d, count=%d\n", sent, count);
#ifdef HAVE_AVAHI
if (sent == cupsArrayCount(devices) && browsers == 0)
#else
if (sent == cupsArrayCount(devices))
#endif /* HAVE_AVAHI */
break;
}
}
@@ -710,9 +713,12 @@ browse_callback(
break;
case AVAHI_BROWSER_REMOVE:
case AVAHI_BROWSER_ALL_FOR_NOW:
case AVAHI_BROWSER_CACHE_EXHAUSTED:
break;
case AVAHI_BROWSER_ALL_FOR_NOW:
browsers--;
break;
}
}
@@ -824,8 +830,8 @@ exec_backend(char **argv) /* I - Command-line arguments */
* 'device_type()' - Get DNS-SD type enumeration from string.
*/
static int
device_type(const char *regtype)
static cups_devtype_t /* O - Device type */
device_type(const char *regtype) /* I - Service registration type */
{
#ifdef HAVE_AVAHI
if (!strcmp(regtype, "_ipp._tcp"))
@@ -915,9 +921,6 @@ get_device(cups_array_t *devices, /* I - Device array */
* Yes, add the device...
*/
fprintf(stderr, "DEBUG: Found \"%s.%s%s\"...\n", serviceName, regtype,
replyDomain);
device = calloc(sizeof(cups_device_t), 1);
device->name = strdup(serviceName);
device->domain = strdup(replyDomain);
@@ -933,8 +936,7 @@ get_device(cups_array_t *devices, /* I - Device array */
#ifdef HAVE_DNSSD
DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain);
#else /* HAVE_AVAHI */
avahi_service_name_join(fullName, kDNSServiceMaxDomainName,
serviceName, regtype, replyDomain);
avahi_service_name_join(fullName, kDNSServiceMaxDomainName, serviceName, regtype, replyDomain);
#endif /* HAVE_DNSSD */
device->fullName = strdup(fullName);
@@ -1040,9 +1042,7 @@ query_callback(
"interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
"rrtype=%u, rrclass=%u, rdlen=%u, rdata=%p, ttl=%u, "
"context=%p)\n",
sdRef, flags, interfaceIndex, errorCode,
fullName ? fullName : "(null)", rrtype, rrclass, rdlen, rdata, ttl,
context);
sdRef, flags, interfaceIndex, errorCode, fullName, rrtype, rrclass, rdlen, rdata, ttl, context);
/*
* Only process "add" data...
@@ -1055,9 +1055,7 @@ query_callback(
fprintf(stderr, "DEBUG2: query_callback(browser=%p, interfaceIndex=%d, "
"protocol=%d, event=%d, fullName=\"%s\", rrclass=%u, "
"rrtype=%u, rdata=%p, rdlen=%u, flags=%x, context=%p)\n",
browser, interfaceIndex, protocol, event,
fullName ? fullName : "(null)", rrclass, rrtype, rdata,
(unsigned)rdlen, flags, context);
browser, interfaceIndex, protocol, event, fullName, rrclass, rrtype, rdata, (unsigned)rdlen, flags, context);
/*
* Only process "add" data...
@@ -1102,7 +1100,7 @@ query_callback(
datanext = data + datalen;
for (ptr = key; data < datanext && *data != '='; data ++)
*ptr++ = *data;
*ptr++ = (char)*data;
*ptr = '\0';
if (data < datanext && *data == '=')
@@ -1110,7 +1108,7 @@ query_callback(
data ++;
if (data < datanext)
memcpy(value, data, datanext - data);
memcpy(value, data, (size_t)(datanext - data));
value[datanext - data] = '\0';
fprintf(stderr, "DEBUG2: query_callback: \"%s=%s\".\n",
@@ -1130,8 +1128,7 @@ query_callback(
*/
ptr = device_id + strlen(device_id);
snprintf(ptr, sizeof(device_id) - (ptr - device_id), "%s:%s;",
key + 4, value);
snprintf(ptr, sizeof(device_id) - (size_t)(ptr - device_id), "%s:%s;", key + 4, value);
}
if (!_cups_strcasecmp(key, "usb_MFG") || !_cups_strcasecmp(key, "usb_MANU") ||
@@ -1180,6 +1177,8 @@ query_callback(
if (device->type == CUPS_DEVICE_PRINTER)
device->sent = 1;
}
else if (!_cups_strcasecmp(key, "UUID"))
device->uuid = strdup(value);
}
if (device->device_id)
@@ -1200,7 +1199,7 @@ query_callback(
* Assume the first word is the make...
*/
memcpy(make_and_model, model, ptr - model);
memcpy(make_and_model, model, (size_t)(ptr - model));
make_and_model[ptr - model] = '\0';
snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s",
@@ -1235,7 +1234,7 @@ query_callback(
while (isalnum(*ptr & 255) || *ptr == '-' || *ptr == '.')
{
if (isalnum(*ptr & 255) && valptr < (value + sizeof(value) - 1))
*valptr++ = toupper(*ptr++ & 255);
*valptr++ = (char)toupper(*ptr++ & 255);
else
break;
}
@@ -1244,8 +1243,7 @@ query_callback(
}
ptr = device_id + strlen(device_id);
snprintf(ptr, sizeof(device_id) - (ptr - device_id), "CMD:%s;",
value + 1);
snprintf(ptr, sizeof(device_id) - (size_t)(ptr - device_id), "CMD:%s;", value + 1);
}
if (device_id[0])
@@ -1279,7 +1277,7 @@ sigterm_handler(int sig) /* I - Signal number (unused) */
(void)sig;
if (job_canceled)
exit(CUPS_BACKEND_OK);
_exit(CUPS_BACKEND_OK);
else
job_canceled = 1;
}
@@ -1320,5 +1318,5 @@ unquote(char *dst, /* I - Destination buffer */
/*
* End of "$Id$".
* End of "$Id: dnssd.c 13138 2016-03-15 14:59:54Z msweet $".
*/
+19 -30
Ver Arquivo
@@ -1,24 +1,18 @@
/*
* "$Id$"
* "$Id: ieee1284.c 13138 2016-03-15 14:59:54Z 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-2015 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* "LICENSE" which should have been included with this file. If this
* file is missing or damaged, see the license at "http://www.cups.org/".
* 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,7 @@
*/
#include "backend-private.h"
#include <cups/cups-private.h>
#include <cups/ppd-private.h>
/*
@@ -148,8 +142,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;
@@ -178,8 +171,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
@@ -188,8 +180,7 @@ backendGetDeviceID(
*/
if (length > device_id_size || length < 14)
length = (((unsigned)device_id[1] & 255) << 8) +
((unsigned)device_id[0] & 255);
length = (int)((((unsigned)device_id[1] & 255) << 8) + ((unsigned)device_id[0] & 255));
if (length > device_id_size)
length = device_id_size;
@@ -221,7 +212,7 @@ backendGetDeviceID(
length -= 2;
memmove(device_id, device_id + 2, length);
memmove(device_id, device_id + 2, (size_t)length);
device_id[length] = '\0';
}
}
@@ -287,7 +278,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...
@@ -372,7 +363,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 */
@@ -381,9 +372,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...
@@ -487,5 +476,5 @@ backendGetMakeModel(
/*
* End of "$Id$".
* End of "$Id: ieee1284.c 13138 2016-03-15 14:59:54Z msweet $".
*/
+301 -441
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+125 -140
Ver Arquivo
@@ -1,27 +1,18 @@
/*
* "$Id$"
* "$Id: lpd.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Line Printer Daemon backend for CUPS.
* Line Printer Daemon backend for CUPS.
*
* Copyright 2007-2012 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
* Copyright 2007-2016 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* "LICENSE" which should have been included with this file. If this
* file is missing or damaged, see the license at "http://www.cups.org/".
* 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_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.
*/
/*
@@ -86,6 +77,7 @@ static int abort_job = 0; /* Non-zero if we get SIGTERM */
* Local functions...
*/
static int cups_rresvport(int *port, int family);
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,
@@ -93,10 +85,7 @@ static int lpd_queue(const char *hostname, http_addrlist_t *addrlist,
int copies, int banner, int format, int order,
int reserve, int manual_copies, int timeout,
int contimeout, const char *orighost);
static int lpd_write(int lpd_fd, char *buffer, int length);
#ifndef HAVE_RRESVPORT_AF
static int rresvport_af(int *port, int family);
#endif /* !HAVE_RRESVPORT_AF */
static ssize_t lpd_write(int lpd_fd, char *buffer, size_t length);
static void sigterm_handler(int sig);
@@ -393,8 +382,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
*/
snmp_enabled = !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, "timeout"))
{
@@ -481,7 +470,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);
@@ -581,6 +570,84 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
}
/*
* 'cups_rresvport()' - A simple implementation of rresvport_af().
*/
static int /* O - Socket or -1 on error */
cups_rresvport(int *port, /* IO - Port number to bind to */
int family) /* I - Address family */
{
http_addr_t addr; /* Socket address */
int fd; /* Socket file descriptor */
/*
* Try to create an IPv4 socket...
*/
if ((fd = socket(family, SOCK_STREAM, 0)) < 0)
return (-1);
/*
* Initialize the address buffer...
*/
memset(&addr, 0, sizeof(addr));
addr.addr.sa_family = (sa_family_t)family;
/*
* Try to bind the socket to a reserved port...
*/
while (*port > 511)
{
/*
* Set the port number...
*/
_httpAddrSetPort(&addr, *port);
/*
* Try binding the port to the socket; return if all is OK...
*/
if (!bind(fd, (struct sockaddr *)&addr, (socklen_t)httpAddrLength(&addr)))
return (fd);
/*
* Stop if we have any error other than "address already in use"...
*/
if (errno != EADDRINUSE)
{
httpAddrClose(NULL, fd);
return (-1);
}
/*
* Try the next port...
*/
(*port)--;
}
/*
* Wasn't able to bind to a reserved port, so close the socket and return
* -1...
*/
#ifdef WIN32
closesocket(fd);
#else
close(fd);
#endif /* WIN32 */
return (-1);
}
/*
* 'lpd_command()' - Send an LPR command sequence and wait for a reply.
*/
@@ -592,7 +659,7 @@ lpd_command(int fd, /* I - Socket connection to LPD host */
{
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 */
@@ -617,9 +684,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);
@@ -634,7 +701,7 @@ lpd_command(int fd, /* I - Socket connection to LPD host */
if (recv(fd, &status, 1, 0) < 1)
{
_cupsLangPrintFilter(stderr, "WARNING", _("The printer did not respond."));
status = errno;
status = (char)errno;
}
fprintf(stderr, "DEBUG: lpd_command returning %d\n", status);
@@ -680,7 +747,7 @@ 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 */
#ifdef WIN32
@@ -762,7 +829,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
* priviledged lport between 721 and 731...
*/
if ((fd = rresvport_af(&lport, addr->addr.addr.sa_family)) < 0)
if ((fd = cups_rresvport(&lport, addr->addr.addr.sa_family)) < 0)
{
perror("DEBUG: Unable to reserve port");
sleep(1);
@@ -782,7 +849,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;
@@ -846,7 +913,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
break;
}
sleep(delay);
sleep((unsigned)delay);
if (delay < 30)
delay += 5;
@@ -967,7 +1034,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);
@@ -976,13 +1043,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);
@@ -1012,9 +1079,9 @@ 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");
}
@@ -1024,7 +1091,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
{
_cupsLangPrintFilter(stderr, "WARNING",
_("The printer did not respond."));
status = errno;
status = (char)errno;
}
}
@@ -1074,7 +1141,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;
@@ -1087,11 +1154,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
{
@@ -1145,9 +1212,9 @@ 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
@@ -1156,7 +1223,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
{
_cupsLangPrintFilter(stderr, "WARNING",
_("The printer did not respond."));
status = errno;
status = (char)errno;
}
}
@@ -1169,6 +1236,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...
*/
@@ -1204,119 +1273,35 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
* '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);
}
#ifndef HAVE_RRESVPORT_AF
/*
* 'rresvport_af()' - A simple implementation of rresvport_af().
*/
static int /* O - Socket or -1 on error */
rresvport_af(int *port, /* IO - Port number to bind to */
int family) /* I - Address family */
{
http_addr_t addr; /* Socket address */
int fd; /* Socket file descriptor */
/*
* Try to create an IPv4 socket...
*/
if ((fd = socket(family, SOCK_STREAM, 0)) < 0)
return (-1);
/*
* Initialize the address buffer...
*/
memset(&addr, 0, sizeof(addr));
addr.addr.sa_family = family;
/*
* Try to bind the socket to a reserved port...
*/
while (*port > 511)
{
/*
* Set the port number...
*/
_httpAddrSetPort(&addr, *port);
/*
* Try binding the port to the socket; return if all is OK...
*/
if (!bind(fd, (struct sockaddr *)&addr, sizeof(addr)))
return (fd);
/*
* Stop if we have any error other than "address already in use"...
*/
if (errno != EADDRINUSE)
{
# ifdef WIN32
closesocket(fd);
# else
close(fd);
# endif /* WIN32 */
return (-1);
}
/*
* Try the next port...
*/
(*port)--;
}
/*
* Wasn't able to bind to a reserved port, so close the socket and return
* -1...
*/
# ifdef WIN32
closesocket(fd);
# else
close(fd);
# endif /* WIN32 */
return (-1);
}
#endif /* !HAVE_RRESVPORT_AF */
/*
* 'sigterm_handler()' - Handle 'terminate' signals that stop the backend.
*/
@@ -1331,5 +1316,5 @@ sigterm_handler(int sig) /* I - Signal */
/*
* End of "$Id$".
* End of "$Id: lpd.c 13138 2016-03-15 14:59:54Z msweet $".
*/
+33 -51
Ver Arquivo
@@ -1,23 +1,18 @@
/*
* "$Id$"
* "$Id: network.c 13138 2016-03-15 14:59:54Z 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>
/*
@@ -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;
@@ -139,13 +130,13 @@ backendNetworkSideCB(
for (dataptr = data + strlen(data) + 1;
count > 0 && dataptr < (data + sizeof(data) - 1);
count --, dataptr += strlen(dataptr))
strlcpy(dataptr, snmp_value, sizeof(data) - (dataptr - data));
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 = dataptr - data;
datalen = (int)(dataptr - data);
break;
}
@@ -168,7 +159,7 @@ backendNetworkSideCB(
{
if (_cupsSNMPRead(snmp_fd, &packet, 1.0))
{
int i; /* Looping var */
size_t i; /* Looping var */
if (!_cupsSNMPOIDToString(packet.object_name, data, sizeof(data)))
@@ -183,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;
@@ -220,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';
@@ -268,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)
{
@@ -305,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;
@@ -322,5 +304,5 @@ backendNetworkSideCB(
/*
* End of "$Id$".
* End of "$Id: network.c 13138 2016-03-15 14:59:54Z 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
+15 -26
Ver Arquivo
@@ -1,25 +1,18 @@
/*
* "$Id$"
* "$Id: runloop.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Common run loop APIs for CUPS backends.
* Common run loop APIs for CUPS backends.
*
* Copyright 2007-2012 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>
/*
@@ -113,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...
@@ -293,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)
{
@@ -350,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...
@@ -539,5 +528,5 @@ backendWaitLoop(
/*
* End of "$Id$".
* End of "$Id: runloop.c 11984 2014-07-02 13:16:59Z msweet $".
*/
+59 -33
Ver Arquivo
@@ -1,24 +1,17 @@
/*
* "$Id$"
* "$Id: snmp-supplies.c 13138 2016-03-15 14:59:54Z msweet $"
*
* SNMP supplies functions for CUPS.
* SNMP supplies functions for CUPS.
*
* Copyright 2008-2012 by Apple Inc.
* Copyright 2008-2015 by Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* "LICENSE" which should have been included with this file. If this
* file is missing or damaged, see the license at "http://www.cups.org/".
* 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.
*/
/*
@@ -26,6 +19,7 @@
*/
#include "backend-private.h"
#include <cups/ppd-private.h>
#include <cups/array.h>
@@ -62,6 +56,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 */
@@ -148,6 +143,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 */
@@ -257,6 +259,9 @@ backendSNMPSupplies(
else
percent = 50;
if (supplies[i].sclass == CUPS_TC_receptacleThatIsFilled)
percent = 100 - percent;
if (percent <= 5)
{
switch (supplies[i].type)
@@ -293,6 +298,7 @@ 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 :
@@ -303,6 +309,7 @@ backendSNMPSupplies(
else
new_supply_state |= CUPS_WASTE_ALMOST_FULL;
break;
#endif /* 0 */
case CUPS_TC_cleanerUnit :
case CUPS_TC_fuserCleaningPad :
if (percent <= 1)
@@ -318,9 +325,9 @@ backendSNMPSupplies(
if ((supplies[i].max_capacity > 0 || (quirks & CUPS_SNMP_CAPACITY)) &&
supplies[i].level >= 0)
snprintf(ptr, sizeof(value) - (ptr - value), "%d", percent);
snprintf(ptr, sizeof(value) - (size_t)(ptr - value), "%d", percent);
else
strlcpy(ptr, "-1", sizeof(value) - (ptr - value));
strlcpy(ptr, "-1", sizeof(value) - (size_t)(ptr - value));
}
fprintf(stderr, "ATTR: marker-levels=%s\n", value);
@@ -561,20 +568,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;
@@ -664,12 +671,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);
}
@@ -697,7 +704,7 @@ backend_init_supplies(
if (i)
*ptr++ = ',';
strlcpy(ptr, supplies[i].color, sizeof(value) - (ptr - value));
strlcpy(ptr, supplies[i].color, sizeof(value) - (size_t)(ptr - value));
}
fprintf(stderr, "ATTR: marker-colors=%s\n", value);
@@ -745,9 +752,9 @@ backend_init_supplies(
type = supplies[i].type;
if (type < CUPS_TC_other || type > CUPS_TC_covers)
strlcpy(ptr, "unknown", sizeof(value) - (ptr - value));
strlcpy(ptr, "unknown", sizeof(value) - (size_t)(ptr - value));
else
strlcpy(ptr, types[type - CUPS_TC_other], sizeof(value) - (ptr - value));
strlcpy(ptr, types[type - CUPS_TC_other], sizeof(value) - (size_t)(ptr - value));
}
fprintf(stderr, "ATTR: marker-types=%s\n", value);
@@ -969,6 +976,25 @@ backend_walk_cb(cups_snmp_t *packet, /* I - SNMP packet */
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))
{
/*
@@ -1032,9 +1058,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;
@@ -1045,13 +1071,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)
{
@@ -1068,10 +1094,10 @@ utf16_to_utf8(
*ptr = '\0';
cupsUTF32ToUTF8(dst, temp, dstsize);
cupsUTF32ToUTF8(dst, temp, (int)dstsize);
}
/*
* End of "$Id$".
* End of "$Id: snmp-supplies.c 13138 2016-03-15 14:59:54Z msweet $".
*/
+20 -47
Ver Arquivo
@@ -1,44 +1,18 @@
/*
* "$Id$"
* "$Id: snmp.c 11984 2014-07-02 13:16:59Z msweet $"
*
* SNMP discovery backend for CUPS.
* SNMP discovery backend for CUPS.
*
* Copyright 2007-2012 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.
*/
/*
@@ -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;
}
@@ -1233,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 */
@@ -1335,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));
@@ -1346,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);
@@ -1391,5 +1364,5 @@ update_cache(snmp_cache_t *device, /* I - Device */
/*
* End of "$Id$".
* End of "$Id: snmp.c 11984 2014-07-02 13:16:59Z msweet $".
*/
+20 -23
Ver Arquivo
@@ -1,23 +1,18 @@
/*
* "$Id$"
* "$Id: socket.c 11984 2014-07-02 13:16:59Z msweet $"
*
* AppSocket backend for CUPS.
* AppSocket backend for CUPS.
*
* Copyright 2007-2012 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);
/*
@@ -250,8 +245,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
*/
snmp_enabled = !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, "contimeout"))
{
@@ -385,7 +380,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
break;
}
sleep(delay);
sleep((unsigned)delay);
if (delay < 30)
delay += 5;
@@ -415,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)
{
@@ -434,6 +429,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
_cupsLangPrintFilter(stderr, "INFO", _("Print file sent."));
}
fputs("STATE: +cups-waiting-for-job-completed\n", stderr);
if (waiteof)
{
/*
@@ -479,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 */
{
@@ -509,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);
@@ -520,5 +517,5 @@ wait_bc(int device_fd, /* I - Socket */
/*
* End of "$Id$".
* End of "$Id: socket.c 11984 2014-07-02 13:16:59Z 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 $".
*/
+20 -24
Ver Arquivo
@@ -1,25 +1,18 @@
/*
* "$Id$"
* "$Id: testbackend.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Backend test program for CUPS.
* Backend test program for CUPS.
*
* Copyright 2007-2012 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.
*/
/*
@@ -97,7 +90,7 @@ main(int argc, /* I - Number of command-line args */
if (getcwd(libpath, sizeof(libpath)) &&
(ptr = strrchr(libpath, '/')) != NULL && !strcmp(ptr, "/backend"))
{
strlcpy(ptr, "/cups", sizeof(libpath) - (ptr - libpath));
strlcpy(ptr, "/cups", sizeof(libpath) - (size_t)(ptr - libpath));
if (!access(libpath, 0))
{
#ifdef __APPLE__
@@ -311,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...
@@ -339,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);
}
@@ -414,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);
@@ -668,14 +661,17 @@ walk_cb(const char *oid, /* I - OID */
void *context) /* I - Context (unused) */
{
char temp[80];
if (datalen > (sizeof(temp) - 1))
(void)context;
if ((size_t)datalen > (sizeof(temp) - 1))
{
memcpy(temp, data, sizeof(temp) - 1);
temp[sizeof(temp) - 1] = '\0';
}
else
{
memcpy(temp, data, datalen);
memcpy(temp, data, (size_t)datalen);
temp[datalen] = '\0';
}
@@ -684,5 +680,5 @@ walk_cb(const char *oid, /* I - OID */
/*
* End of "$Id$".
* End of "$Id: testbackend.c 11984 2014-07-02 13:16:59Z 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 $".
*/
+668 -469
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+283 -243
Ver Arquivo
@@ -1,33 +1,15 @@
/*
* "$Id$"
* "$Id: usb-libusb.c 13138 2016-03-15 14:59:54Z msweet $"
*
* LIBUSB interface code for CUPS.
* LIBUSB interface code for CUPS.
*
* Copyright 2007-2013 by Apple Inc.
* Copyright 2007-2015 by Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* list_devices() - List the available printers.
* print_device() - Print a file to a USB device.
* close_device() - Close the connection to the USB printer.
* find_device() - Find or enumerate USB printers.
* get_device_id() - Get the IEEE-1284 device ID for the printer.
* list_cb() - List USB printers for discovery.
* make_device_uri() - Create a device URI for a USB printer.
* open_device() - Open a connection to the USB printer.
* print_cb() - Find a USB printer for printing.
* printer_class_soft_reset()' - Do the soft reset request specific to
* printers
* quirks() - Get the known quirks of a given printer model
* read_thread() - Thread to read the backchannel data on.
* sidechannel_thread() - Handle side-channel requests.
* soft_reset() - Send a soft reset to the device.
* 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/".
*/
/*
@@ -36,6 +18,8 @@
#include <libusb.h>
#include <cups/cups-private.h>
#include <cups/ppd-private.h>
#include <cups/dir.h>
#include <pthread.h>
#include <sys/select.h>
#include <sys/types.h>
@@ -70,15 +54,15 @@ typedef struct usb_printer_s /**** USB Printer Data ****/
read_endp, /* Read endpoint */
protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */
usblp_attached, /* "usblp" kernel module attached? */
reset_after_job; /* Set to 1 by print_device() */
unsigned int quirks; /* Quirks flags */
reset_after_job;/* Set to 1 by print_device() */
unsigned quirks; /* Quirks flags */
struct libusb_device_handle *handle; /* Open handle to device */
} usb_printer_t;
typedef int (*usb_cb_t)(usb_printer_t *, const char *, const char *,
const void *);
typedef struct usb_globals_s
typedef struct usb_globals_s /* Global USB printer information */
{
usb_printer_t *printer; /* Printer */
@@ -105,143 +89,42 @@ typedef struct usb_globals_s
} usb_globals_t;
/*
* Quirks: various printer quirks are handled by this table & its flags.
* Quirks: various printer quirks are handled by this structure and its flags.
*
* This is copied from the usblp kernel module. So we can easily copy and paste
* new quirks from the module.
* The quirks table used to be compiled into the backend but is now loaded from
* one or more files in the /usr/share/cups/usb directory.
*/
struct quirk_printer_struct {
int vendorId;
int productId;
unsigned int quirks;
};
#define USBLP_QUIRK_BIDIR 0x1 /* reports bidir but requires
unidirectional mode (no INs/reads) */
#define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */
#define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific
Class or SubClass */
#define USBLP_QUIRK_BLACKLIST 0x8 /* these printers do not conform to the USB print spec */
#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset
for clean-up */
#define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach
#define USB_QUIRK_BLACKLIST 0x0001 /* Does not conform to the spec */
#define USB_QUIRK_NO_REATTACH 0x0002 /* After printing we cannot re-attach
the usblp kernel module */
#define USB_QUIRK_SOFT_RESET 0x0004 /* After printing do a soft reset
for clean-up */
#define USB_QUIRK_UNIDIR 0x0008 /* Requires unidirectional mode */
#define USB_QUIRK_USB_INIT 0x0010 /* Needs vendor USB init string */
#define USB_QUIRK_VENDOR_CLASS 0x0020 /* Descriptor uses vendor-specific
Class or SubClass */
#define USB_QUIRK_DELAY_CLOSE 0x0040 /* Delay close */
#define USB_QUIRK_WHITELIST 0x0000 /* no quirks */
typedef struct usb_quirk_s /* USB "quirk" information */
{
int vendor_id, /* Affected vendor ID */
product_id; /* Affected product ID or 0 for all */
unsigned quirks; /* Quirks bitfield */
} usb_quirk_t;
static const struct quirk_printer_struct quirk_printers[] = {
{ 0x03f0, 0x0004, USBLP_QUIRK_BIDIR }, /* HP DeskJet 895C */
{ 0x03f0, 0x0104, USBLP_QUIRK_BIDIR }, /* HP DeskJet 880C */
{ 0x03f0, 0x0204, USBLP_QUIRK_BIDIR }, /* HP DeskJet 815C */
{ 0x03f0, 0x0304, USBLP_QUIRK_BIDIR }, /* HP DeskJet 810C/812C */
{ 0x03f0, 0x0404, USBLP_QUIRK_BIDIR }, /* HP DeskJet 830C */
{ 0x03f0, 0x0504, USBLP_QUIRK_BIDIR }, /* HP DeskJet 885C */
{ 0x03f0, 0x0604, USBLP_QUIRK_BIDIR }, /* HP DeskJet 840C */
{ 0x03f0, 0x0804, USBLP_QUIRK_BIDIR }, /* HP DeskJet 816C */
{ 0x03f0, 0x1104, USBLP_QUIRK_BIDIR }, /* HP Deskjet 959C */
{ 0x0409, 0xefbe, USBLP_QUIRK_BIDIR }, /* NEC Picty900 (HP OEM) */
{ 0x0409, 0xbef4, USBLP_QUIRK_BIDIR }, /* NEC Picty760 (HP OEM) */
{ 0x0409, 0xf0be, USBLP_QUIRK_BIDIR }, /* NEC Picty920 (HP OEM) */
{ 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */
{ 0x043d, 0x00f3, USBLP_QUIRK_NO_REATTACH }, /* Lexmark International,
Inc. (e250d), https://bugs.launchpad.net/bugs/1084164 */
{ 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820,
by zut <kernel@zut.de> */
{ 0x04a9, 0x1095, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP6000D
Printer, https://bugs.launchpad.net/bugs/1160638 */
{ 0x04a9, 0x10a2, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4200
Printer, http://www.cups.org/str.php?L4155 */
{ 0x04a9, 0x10b6, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4300
Printer, https://bugs.launchpad.net/bugs/1032385 */
{ 0x04a9, 0x1721, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP210
https://bugzilla.redhat.com/show_bug.cgi?id=847923#c53 */
{ 0x04a9, 0x170c, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP500
Printer, https://bugs.launchpad.net/bugs/1032456 */
{ 0x04a9, 0x1717, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP510
Printer, https://bugs.launchpad.net/bugs/1050009 */
{ 0x04a9, 0x173d, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP550
Printer, http://www.cups.org/str.php?L4155 */
{ 0x04a9, 0x173e, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP560
Printer, http://www.cups.org/str.php?L4155 */
{ 0x04a9, 0x26a3, USBLP_QUIRK_NO_REATTACH }, /* Canon, Inc. MF4150
Printer, https://bugs.launchpad.net/bugs/1160638 */
{ 0x04f9, 0x001a, USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
HL-1430 Laser Printer,
https://bugs.launchpad.net/bugs/1038695 */
{ 0x04f9, 0x000d, USBLP_QUIRK_BIDIR |
USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
HL-1440 Laser Printer,
https://bugs.launchpad.net/bugs/1000253 */
{ 0x04f9, 0x000e, USBLP_QUIRK_BIDIR |
USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
HL-1450 Laser Printer,
https://bugs.launchpad.net/bugs/1000253 */
{ 0x06bc, 0x000b, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp.
Okipage 14ex Printer,
https://bugs.launchpad.net/bugs/872483 */
{ 0x06bc, 0x01c7, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp. B410d,
https://bugs.launchpad.net/bugs/872483 */
{ 0x04b8, 0x0001, USBLP_QUIRK_BIDIR |
USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 740 / Photo 750,
http://bugs.debian.org/697970 */
{ 0x04b8, 0x0005, USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 670,
https://bugs.launchpad.net/bugs/872483 */
{ 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
Printer M129C */
{ 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
USBLP_QUIRK_NO_REATTACH |
USBLP_QUIRK_RESET },
/* Prolific Technology, Inc. PL2305 Parallel Port
(USB -> Parallel adapter), https://bugs.launchpad.net/bugs/987485 */
{ 0x0924, 0x3ce9, USBLP_QUIRK_NO_REATTACH }, /* Xerox Phaser 3124
https://bugzilla.redhat.com/show_bug.cgi?id=867392 */
{ 0x0924, 0x4293, USBLP_QUIRK_NO_REATTACH }, /* Xerox WorkCentre 3210
https://bugs.launchpad.net/bugs/1102470 */
{ 0x1a86, 0x7584, USBLP_QUIRK_NO_REATTACH }, /* QinHeng Electronics
CH340S (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/1000253 */
{ 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices,
https://bugs.launchpad.net/bugs/1032456 */
{ 0x0a5f, 0x0000, USBLP_QUIRK_BIDIR }, /* All Zebra devices,
https://bugs.launchpad.net/bugs/1001028 */
/* Canon */
{ 0x04a9, 0x304a, USBLP_QUIRK_BLACKLIST }, /* Canon CP-10 */
{ 0x04a9, 0x3063, USBLP_QUIRK_BLACKLIST }, /* Canon CP-100 */
{ 0x04a9, 0x307c, USBLP_QUIRK_BLACKLIST }, /* Canon CP-200 */
{ 0x04a9, 0x307d, USBLP_QUIRK_BLACKLIST }, /* Canon CP-300 */
{ 0x04a9, 0x30bd, USBLP_QUIRK_BLACKLIST }, /* Canon CP-220 */
{ 0x04a9, 0x30be, USBLP_QUIRK_BLACKLIST }, /* Canon CP-330 */
{ 0x04a9, 0x30f6, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP400 */
{ 0x04a9, 0x310b, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP600 */
{ 0x04a9, 0x3127, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP710 */
{ 0x04a9, 0x3128, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP510 */
{ 0x04a9, 0x3141, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES1 */
{ 0x04a9, 0x3142, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP730 */
{ 0x04a9, 0x3143, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP720 */
{ 0x04a9, 0x3170, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP750 */
{ 0x04a9, 0x3171, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP740 */
{ 0x04a9, 0x3185, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES2 */
{ 0x04a9, 0x3186, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES20 */
{ 0x04a9, 0x31aa, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP770 */
{ 0x04a9, 0x31ab, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP760 */
{ 0x04a9, 0x31b0, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES30 */
{ 0x04a9, 0x31dd, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP780 */
{ 0x04a9, 0x31ee, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES40 */
{ 0x04a9, 0x3214, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP800 */
{ 0x04a9, 0x3255, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP900 */
{ 0x04a9, 0x3256, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP810 */
{ 0x04a9, 0x30F5, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP500 */
{ 0x04a9, 0x31AF, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES3 */
{ 0x04a9, 0x31DD, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP780 */
/* MISSING PIDs: CP520, CP530, CP790 */
{ 0, 0 }
};
/*
* Globals...
*/
cups_array_t *all_quirks; /* Array of printer quirks */
usb_globals_t g = { 0 }; /* Globals */
libusb_device **list; /* List of connected USB devices */
libusb_device **all_list; /* List of connected USB devices */
/*
@@ -249,22 +132,24 @@ libusb_device **list; /* List of connected USB devices */
*/
static int close_device(usb_printer_t *printer);
static int compare_quirks(usb_quirk_t *a, usb_quirk_t *b);
static usb_printer_t *find_device(usb_cb_t cb, const void *data);
static unsigned find_quirks(int vendor_id, int product_id);
static int get_device_id(usb_printer_t *printer, char *buffer,
size_t bufsize);
static int list_cb(usb_printer_t *printer, const char *device_uri,
const char *device_id, const void *data);
static void load_quirks(void);
static char *make_device_uri(usb_printer_t *printer,
const char *device_id,
char *uri, size_t uri_size);
static int open_device(usb_printer_t *printer, int verbose);
static int print_cb(usb_printer_t *printer, const char *device_uri,
const char *device_id, const void *data);
static int printer_class_soft_reset(usb_printer_t *printer);
static unsigned int quirks(int vendor, int product);
static void *read_thread(void *reference);
static void *sidechannel_thread(void *reference);
static void soft_reset(void);
static int soft_reset_printer(usb_printer_t *printer);
/*
@@ -274,6 +159,8 @@ static void soft_reset(void);
void
list_devices(void)
{
load_quirks();
fputs("DEBUG: list_devices\n", stderr);
find_device(list_cb, NULL);
}
@@ -316,6 +203,8 @@ print_device(const char *uri, /* I - Device URI */
const char *val; /* Option value */
load_quirks();
/*
* See if the side-channel descriptor is valid...
*/
@@ -341,9 +230,9 @@ print_device(const char *uri, /* I - Device URI */
/*
* Some devices need a reset after finishing a job, these devices are
* marked with the USBLP_QUIRK_RESET quirk.
* marked with the USB_QUIRK_SOFT_RESET quirk.
*/
g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0);
g.printer->reset_after_job = (g.printer->quirks & USB_QUIRK_SOFT_RESET ? 1 : 0);
/*
* If we are printing data from a print driver on stdin, ignore SIGTERM
@@ -589,7 +478,7 @@ print_device(const char *uri, /* I - Device URI */
iostatus = libusb_bulk_transfer(g.printer->handle,
g.printer->write_endp,
print_buffer, g.print_bytes,
&bytes, 60000);
&bytes, 0);
/*
* Ignore timeout errors, but retain the number of bytes written to
* avoid sending duplicate data...
@@ -612,7 +501,7 @@ print_device(const char *uri, /* I - Device URI */
iostatus = libusb_bulk_transfer(g.printer->handle,
g.printer->write_endp,
print_buffer, g.print_bytes,
&bytes, 60000);
&bytes, 0);
}
/*
@@ -627,7 +516,7 @@ print_device(const char *uri, /* I - Device URI */
iostatus = libusb_bulk_transfer(g.printer->handle,
g.printer->write_endp,
print_buffer, g.print_bytes,
&bytes, 60000);
&bytes, 0);
}
if (iostatus)
@@ -754,13 +643,16 @@ print_device(const char *uri, /* I - Device URI */
* Close the connection and input file and general clean up...
*/
if (g.printer->quirks & USB_QUIRK_DELAY_CLOSE)
sleep(1);
close_device(g.printer);
/*
* Clean up ....
*/
libusb_free_device_list(list, 1);
libusb_free_device_list(all_list, 1);
libusb_exit(NULL);
return (status);
@@ -879,6 +771,23 @@ close_device(usb_printer_t *printer) /* I - Printer */
}
/*
* 'compare_quirks()' - Compare two quirks entries.
*/
static int /* O - Result of comparison */
compare_quirks(usb_quirk_t *a, /* I - First quirk entry */
usb_quirk_t *b) /* I - Second quirk entry */
{
int result; /* Result of comparison */
if ((result = b->vendor_id - a->vendor_id) == 0)
result = b->product_id - a->product_id;
return (result);
}
/*
* 'find_device()' - Find or enumerate USB printers.
*/
@@ -923,7 +832,7 @@ find_device(usb_cb_t cb, /* I - Callback function */
if (err)
{
fprintf(stderr, "DEBUG: Unable to initialize USB access via libusb, "
"libusb error %i\n", err);
"libusb error %i\n", (int)err);
return (NULL);
}
@@ -951,13 +860,13 @@ find_device(usb_cb_t cb, /* I - Callback function */
!devdesc.idProduct)
continue;
printer.quirks = quirks(devdesc.idVendor, devdesc.idProduct);
printer.quirks = find_quirks(devdesc.idVendor, devdesc.idProduct);
/*
* Ignore blacklisted printers...
*/
if (printer.quirks & USBLP_QUIRK_BLACKLIST)
if (printer.quirks & USB_QUIRK_BLACKLIST)
continue;
for (conf = 0; conf < devdesc.bNumConfigurations; conf ++)
@@ -986,18 +895,18 @@ find_device(usb_cb_t cb, /* I - Callback function */
if (((altptr->bInterfaceClass != LIBUSB_CLASS_PRINTER ||
altptr->bInterfaceSubClass != 1) &&
((printer.quirks & USBLP_QUIRK_BAD_CLASS) == 0)) ||
((printer.quirks & USB_QUIRK_VENDOR_CLASS) == 0)) ||
(altptr->bInterfaceProtocol != 1 && /* Unidirectional */
altptr->bInterfaceProtocol != 2) || /* Bidirectional */
altptr->bInterfaceProtocol < protocol)
continue;
if (printer.quirks & USBLP_QUIRK_BAD_CLASS)
if (printer.quirks & USB_QUIRK_VENDOR_CLASS)
fprintf(stderr, "DEBUG: Printer does not report class 7 and/or "
"subclass 1 but works as a printer anyway\n");
read_endp = -1;
write_endp = -1;
read_endp = 0xff;
write_endp = 0xff;
for (endp = 0, endpptr = altptr->endpoint;
endp < altptr->bNumEndpoints;
@@ -1011,7 +920,7 @@ find_device(usb_cb_t cb, /* I - Callback function */
write_endp = endp;
}
if (write_endp >= 0)
if (write_endp != 0xff)
{
/*
* Save the best match so far...
@@ -1049,7 +958,7 @@ find_device(usb_cb_t cb, /* I - Callback function */
{
fprintf(stderr, "DEBUG: Device protocol: %d\n",
printer.protocol);
if (printer.quirks & USBLP_QUIRK_BIDIR)
if (printer.quirks & USB_QUIRK_UNIDIR)
{
printer.read_endp = -1;
fprintf(stderr, "DEBUG: Printer reports bi-di support "
@@ -1069,7 +978,7 @@ find_device(usb_cb_t cb, /* I - Callback function */
altsetting[printer.altset].
endpoint[printer.write_endp].
bEndpointAddress;
if (printer.quirks & USBLP_QUIRK_NO_REATTACH)
if (printer.quirks & USB_QUIRK_NO_REATTACH)
{
printer.usblp_attached = 0;
fprintf(stderr, "DEBUG: Printer does not like usblp "
@@ -1104,6 +1013,35 @@ find_device(usb_cb_t cb, /* I - Callback function */
}
/*
* 'find_quirks()' - Find the quirks for the given printer, if any.
*
* First looks for an exact match, then looks for the vendor ID wildcard match.
*/
static unsigned /* O - Quirks flags */
find_quirks(int vendor_id, /* I - Vendor ID */
int product_id) /* I - Product ID */
{
usb_quirk_t key, /* Search key */
*match; /* Matching quirk entry */
key.vendor_id = vendor_id;
key.product_id = product_id;
if ((match = cupsArrayFind(all_quirks, &key)) != NULL)
return (match->quirks);
key.product_id = 0;
if ((match = cupsArrayFind(all_quirks, &key)) != NULL)
return (match->quirks);
return (USB_QUIRK_WHITELIST);
}
/*
* 'get_device_id()' - Get the IEEE-1284 device ID for the printer.
*/
@@ -1132,8 +1070,7 @@ get_device_id(usb_printer_t *printer, /* I - Printer */
* bytes. The 1284 spec says the length is stored MSB first...
*/
length = (((unsigned)buffer[0] & 255) << 8) |
((unsigned)buffer[1] & 255);
length = (int)((((unsigned)buffer[0] & 255) << 8) | ((unsigned)buffer[1] & 255));
/*
* Check to see if the length is larger than our buffer or less than 14 bytes
@@ -1144,8 +1081,7 @@ get_device_id(usb_printer_t *printer, /* I - Printer */
*/
if (length > bufsize || length < 14)
length = (((unsigned)buffer[1] & 255) << 8) |
((unsigned)buffer[0] & 255);
length = (int)((((unsigned)buffer[1] & 255) << 8) | ((unsigned)buffer[0] & 255));
if (length > bufsize)
length = bufsize;
@@ -1167,7 +1103,7 @@ get_device_id(usb_printer_t *printer, /* I - Printer */
* nul-terminate.
*/
memmove(buffer, buffer + 2, length);
memmove(buffer, buffer + 2, (size_t)length);
buffer[length] = '\0';
return (0);
@@ -1209,6 +1145,107 @@ list_cb(usb_printer_t *printer, /* I - Printer */
}
/*
* 'load_quirks()' - Load all quirks files in the /usr/share/cups/usb directory.
*/
static void
load_quirks(void)
{
const char *datadir; /* CUPS_DATADIR environment variable */
char filename[1024], /* Filename */
line[1024]; /* Line from file */
cups_dir_t *dir; /* Directory */
cups_dentry_t *dent; /* Directory entry */
cups_file_t *fp; /* Quirks file */
usb_quirk_t *quirk; /* New quirk */
all_quirks = cupsArrayNew((cups_array_func_t)compare_quirks, NULL);
if ((datadir = getenv("CUPS_DATADIR")) == NULL)
datadir = CUPS_DATADIR;
snprintf(filename, sizeof(filename), "%s/usb", datadir);
if ((dir = cupsDirOpen(filename)) == NULL)
{
perror(filename);
return;
}
fprintf(stderr, "DEBUG: Loading USB quirks from \"%s\".\n", filename);
while ((dent = cupsDirRead(dir)) != NULL)
{
if (!S_ISREG(dent->fileinfo.st_mode))
continue;
snprintf(filename, sizeof(filename), "%s/usb/%s", datadir, dent->filename);
if ((fp = cupsFileOpen(filename, "r")) == NULL)
{
perror(filename);
continue;
}
while (cupsFileGets(fp, line, sizeof(line)))
{
/*
* Skip blank and comment lines...
*/
if (line[0] == '#' || !line[0])
continue;
/*
* Add a quirk...
*/
if ((quirk = calloc(1, sizeof(usb_quirk_t))) == NULL)
{
perror("DEBUG: Unable to allocate memory for quirk");
break;
}
if (sscanf(line, "%x%x", &quirk->vendor_id, &quirk->product_id) < 1)
{
fprintf(stderr, "DEBUG: Bad line: %s\n", line);
free(quirk);
continue;
}
if (strstr(line, " blacklist"))
quirk->quirks |= USB_QUIRK_BLACKLIST;
if (strstr(line, " delay-close"))
quirk->quirks |= USB_QUIRK_DELAY_CLOSE;
if (strstr(line, " no-reattach"))
quirk->quirks |= USB_QUIRK_NO_REATTACH;
if (strstr(line, " soft-reset"))
quirk->quirks |= USB_QUIRK_SOFT_RESET;
if (strstr(line, " unidir"))
quirk->quirks |= USB_QUIRK_UNIDIR;
if (strstr(line, " usb-init"))
quirk->quirks |= USB_QUIRK_USB_INIT;
if (strstr(line, " vendor-class"))
quirk->quirks |= USB_QUIRK_VENDOR_CLASS;
cupsArrayAdd(all_quirks, quirk);
}
cupsFileClose(fp);
}
fprintf(stderr, "DEBUG: Loaded %d quirks.\n", cupsArrayCount(all_quirks));
cupsDirClose(dir);
}
/*
* 'make_device_uri()' - Create a device URI for a USB printer.
*/
@@ -1422,9 +1459,14 @@ open_device(usb_printer_t *printer, /* I - Printer */
else
{
printer->usblp_attached = 0;
fprintf(stderr, "DEBUG: Failed to check whether %04x:%04x has the \"usblp\" kernel module attached\n",
devdesc.idVendor, devdesc.idProduct);
goto error;
if (errcode != LIBUSB_ERROR_NOT_SUPPORTED)
{
fprintf(stderr,
"DEBUG: Failed to check whether %04x:%04x has the \"usblp\" "
"kernel module attached\n", devdesc.idVendor, devdesc.idProduct);
goto error;
}
}
/*
@@ -1488,6 +1530,16 @@ open_device(usb_printer_t *printer, /* I - Printer */
goto error;
}
else if ((errcode = libusb_detach_kernel_driver(printer->handle, printer->iface)) < 0)
{
fprintf(stderr,
"DEBUG: Failed to detach \"usblp\" module from %04x:%04x\n",
devdesc.idVendor, devdesc.idProduct);
goto error;
}
sleep (1);
}
/*
@@ -1635,65 +1687,6 @@ print_cb(usb_printer_t *printer, /* I - Printer */
}
/*
* 'printer_class_soft_reset()' - Do the soft reset request specific to printers
*
* This soft reset is specific to the printer device class and is much less
* invasive than the general USB reset libusb_reset_device(). Especially it
* does never happen that the USB addressing and configuration changes. What
* is actually done is that all buffers get flushed and the bulk IN and OUT
* pipes get reset to their default states. This clears all stall conditions.
* See http://cholla.mmto.org/computers/linux/usb/usbprint11.pdf
*/
static int /* O - 0 on success, < 0 on error */
printer_class_soft_reset(usb_printer_t *printer) /* I - Printer */
{
struct libusb_config_descriptor *confptr = NULL;
/* Pointer to current configuration */
int interface,
errcode;
if (libusb_get_config_descriptor(printer->device, printer->conf, &confptr)
< 0)
interface = printer->iface;
else
interface = confptr->interface[printer->iface].
altsetting[printer->altset].bInterfaceNumber;
libusb_free_config_descriptor(confptr);
if ((errcode = libusb_control_transfer(printer->handle,
LIBUSB_REQUEST_TYPE_CLASS |
LIBUSB_ENDPOINT_OUT |
LIBUSB_RECIPIENT_OTHER,
2, 0, interface, NULL, 0, 5000)) < 0)
errcode = libusb_control_transfer(printer->handle,
LIBUSB_REQUEST_TYPE_CLASS |
LIBUSB_ENDPOINT_OUT |
LIBUSB_RECIPIENT_INTERFACE,
2, 0, interface, NULL, 0, 5000);
return errcode;
}
/*
* 'quirks()' - Get the known quirks of a given printer model
*/
static unsigned int quirks(int vendor, int product)
{
int i;
for (i = 0; quirk_printers[i].vendorId; i++)
{
if (vendor == quirk_printers[i].vendorId &&
(quirk_printers[i].productId == 0x0000 ||
product == quirk_printers[i].productId))
return quirk_printers[i].quirks;
}
return 0;
}
/*
* 'read_thread()' - Thread to read the backchannel data on.
*/
@@ -1742,7 +1735,7 @@ static void *read_thread(void *reference)
{
fprintf(stderr, "DEBUG: Read %d bytes of back-channel data...\n",
(int)rbytes);
cupsBackChannelWrite((const char *)readbuffer, rbytes, 1.0);
cupsBackChannelWrite((const char *)readbuffer, (size_t)rbytes, 1.0);
}
else if (readstatus == LIBUSB_ERROR_TIMEOUT)
fputs("DEBUG: Got USB transaction timeout during read.\n", stderr);
@@ -1917,13 +1910,15 @@ sidechannel_thread(void *reference)
* 'soft_reset()' - Send a soft reset to the device.
*/
static void soft_reset(void)
static void
soft_reset(void)
{
fd_set input_set; /* Input set for select() */
struct timeval tv; /* Time value */
char buffer[2048]; /* Buffer */
struct timespec cond_timeout; /* pthread condition timeout */
/*
* Send an abort once a second until the I/O lock is released by the main
* thread...
@@ -1968,7 +1963,7 @@ static void soft_reset(void)
* Send the reset...
*/
printer_class_soft_reset(g.printer);
soft_reset_printer(g.printer);
/*
* Release the I/O lock...
@@ -1982,6 +1977,51 @@ static void soft_reset(void)
/*
* End of "$Id$".
* 'soft_reset_printer()' - Do the soft reset request specific to printers
*
* This soft reset is specific to the printer device class and is much less
* invasive than the general USB reset libusb_reset_device(). Especially it
* does never happen that the USB addressing and configuration changes. What
* is actually done is that all buffers get flushed and the bulk IN and OUT
* pipes get reset to their default states. This clears all stall conditions.
* See http://cholla.mmto.org/computers/linux/usb/usbprint11.pdf
*/
static int /* O - 0 on success, < 0 on error */
soft_reset_printer(
usb_printer_t *printer) /* I - Printer */
{
struct libusb_config_descriptor *confptr = NULL;
/* Pointer to current configuration */
int interface, /* Interface to reset */
errcode; /* Error code */
if (libusb_get_config_descriptor(printer->device, printer->conf,
&confptr) < 0)
interface = printer->iface;
else
interface = confptr->interface[printer->iface].
altsetting[printer->altset].bInterfaceNumber;
libusb_free_config_descriptor(confptr);
if ((errcode = libusb_control_transfer(printer->handle,
LIBUSB_REQUEST_TYPE_CLASS |
LIBUSB_ENDPOINT_OUT |
LIBUSB_RECIPIENT_OTHER,
2, 0, interface, NULL, 0, 5000)) < 0)
errcode = libusb_control_transfer(printer->handle,
LIBUSB_REQUEST_TYPE_CLASS |
LIBUSB_ENDPOINT_OUT |
LIBUSB_RECIPIENT_INTERFACE,
2, 0, interface, NULL, 0, 5000);
return (errcode);
}
/*
* End of "$Id: usb-libusb.c 13138 2016-03-15 14:59:54Z msweet $".
*/
+13 -22
Ver Arquivo
@@ -1,27 +1,20 @@
/*
* "$Id$"
* "$Id: usb-unix.c 13138 2016-03-15 14:59:54Z 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-2012 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.
*/
/*
@@ -153,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 ****/
@@ -285,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 */
@@ -612,5 +603,5 @@ side_cb(int print_fd, /* I - Print file */
/*
* End of "$Id$".
* End of "$Id: usb-unix.c 13138 2016-03-15 14:59:54Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: usb.c 10996 2013-05-29 11:51:34Z msweet $"
*
* USB port backend for CUPS.
*
@@ -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 $".
*/
+20 -20
Ver Arquivo
@@ -1,25 +1,25 @@
lpc.o: lpc.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-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/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/ipp-private.h \
../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-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/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/ipp-private.h \
../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-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/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/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
../cups/http-private.h ../cups/md5-private.h \
../cups/language-private.h ../cups/transcode.h ../cups/language.h \
../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \
../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \
../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \
../cups/thread-private.h
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id$"
# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Berkeley commands makefile for CUPS.
#
@@ -164,5 +164,5 @@ include Dependencies
#
# End of "$Id$".
# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
+13 -21
Ver Arquivo
@@ -1,24 +1,16 @@
/*
* "$Id$"
* "$Id: lpc.c 11984 2014-07-02 13:16:59Z msweet $"
*
* "lpc" command for CUPS.
* "lpc" command for CUPS.
*
* Copyright 2007-2012 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);
@@ -446,5 +438,5 @@ show_status(http_t *http, /* I - HTTP connection to server */
/*
* End of "$Id$".
* End of "$Id: lpc.c 11984 2014-07-02 13:16:59Z msweet $".
*/
+11 -49
Ver Arquivo
@@ -1,27 +1,16 @@
/*
* "$Id$"
* "$Id: lpq.c 11984 2014-07-02 13:16:59Z msweet $"
*
* "lpq" command for CUPS.
* "lpq" command for CUPS.
*
* Copyright 2007-2013 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/".
*/
/*
@@ -194,7 +183,6 @@ main(int argc, /* I - Number of command-line arguments */
httpClose(http);
usage();
break;
}
}
else if (isdigit(argv[i][0] & 255))
@@ -262,7 +250,7 @@ main(int argc, /* I - Number of command-line arguments */
if (i && interval)
{
fflush(stdout);
sleep(interval);
sleep((unsigned)interval);
}
else
break;
@@ -323,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 */
@@ -448,9 +433,6 @@ show_jobs(const char *command, /* I - Command name */
jobid = 0;
jobsize = 0;
#ifdef __osf__
jobpriority = 50;
#endif /* __osf__ */
jobstate = IPP_JOB_PENDING;
jobname = "unknown";
jobuser = "unknown";
@@ -467,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;
@@ -510,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 ++;
@@ -560,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;
@@ -679,5 +641,5 @@ usage(void)
/*
* End of "$Id$".
* End of "$Id: lpq.c 11984 2014-07-02 13:16:59Z msweet $".
*/
+11 -15
Ver Arquivo
@@ -1,20 +1,16 @@
/*
* "$Id$"
* "$Id: lpr.c 11984 2014-07-02 13:16:59Z msweet $"
*
* "lpr" command for CUPS.
* "lpr" command for CUPS.
*
* Copyright 2007-2013 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/".
*/
/*
@@ -406,7 +402,7 @@ 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)
{
@@ -436,5 +432,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
* End of "$Id$".
* End of "$Id: lpr.c 11984 2014-07-02 13:16:59Z 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 $".
*/
+22 -21
Ver Arquivo
@@ -1,73 +1,74 @@
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 help-index.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 help-index.h ../cups/debug-private.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 help-index.h ../cups/debug-private.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 help-index.h ../cups/debug-private.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 help-index.h ../cups/debug-private.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 help-index.h ../cups/debug-private.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 help-index.h ../cups/debug-private.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
../cups/http-private.h ../cups/md5-private.h ../cups/ppd-private.h \
../cups/ppd.h ../cups/raster.h ../cups/pwg-private.h \
../cups/adminutil.h
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 help-index.h ../cups/debug-private.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 help-index.h ../cups/debug-private.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 help-index.h ../cups/debug-private.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.h ../cups/cups.h ../cups/file.h \
../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
../cups/language.h help-index.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 help-index.h ../cups/debug-private.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 help-index.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 help-index.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 help-index.h
websearch.o: websearch.c cgi.h ../cups/cups.h ../cups/file.h \
../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
../cups/language.h help-index.h
../cups/language.h ../cups/pwg.h help-index.h
+16 -43
Ver Arquivo
@@ -1,16 +1,16 @@
#
# "$Id$"
# "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $"
#
# CGI makefile for CUPS.
# CGI makefile for CUPS.
#
# Copyright 2007-2012 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
#
@@ -144,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
@@ -177,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)
@@ -211,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`
@@ -237,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
#
@@ -361,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...
#
@@ -380,5 +353,5 @@ include Dependencies
#
# End of "$Id$".
# End of "$Id: Makefile 11984 2014-07-02 13:16:59Z msweet $".
#
+123 -64
Ver Arquivo
@@ -1,37 +1,16 @@
/*
* "$Id$"
* "$Id: admin.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Administration CGI for CUPS.
* Administration CGI for CUPS.
*
* Copyright 2007-2012 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 */
@@ -854,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 */
@@ -1172,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 */
@@ -1194,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);
@@ -1211,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
@@ -1348,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));
/*
@@ -1380,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"));
@@ -1404,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/"));
@@ -1881,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')
@@ -1917,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");
@@ -2006,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);
}
@@ -2025,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;
@@ -2035,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')
{
@@ -2048,7 +2034,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
*bufptr++ = 't';
}
else if (ch >= ' ')
*bufptr++ = ch;
*bufptr++ = (char)ch;
}
*bufptr = '\0';
@@ -3882,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...
@@ -4096,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 = " ";
@@ -4110,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 :
@@ -4120,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 :
@@ -4138,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 :
@@ -4218,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 13138 2016-03-15 14:59:54Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: cgi-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private CGI definitions for CUPS.
*
@@ -32,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 $".
*/
+15 -23
Ver Arquivo
@@ -1,23 +1,16 @@
/*
* "$Id$"
* "$Id: classes.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Class status CGI for CUPS.
* Class status CGI for CUPS.
*
* Copyright 2007-2012 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"))
@@ -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();
@@ -554,5 +546,5 @@ show_class(http_t *http, /* I - Connection to server */
/*
* End of "$Id$".
* End of "$Id: classes.c 11984 2014-07-02 13:16:59Z msweet $".
*/
+18 -36
Ver Arquivo
@@ -1,34 +1,16 @@
/*
* "$Id$"
* "$Id: help-index.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Online help index routines for CUPS.
* Online help index routines for CUPS.
*
* Copyright 2007-2012 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/".
*/
/*
@@ -346,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 ++;
@@ -902,7 +884,7 @@ help_load_file(
DEBUG_printf(("2help_load_file(hi=%p, filename=\"%s\", relative=\"%s\", "
"mtime=%ld)", hi, filename, relative, mtime));
"mtime=%ld)", hi, filename, relative, (long)mtime));
if ((fp = cupsFileOpen(filename, "r")) == NULL)
return (-1);
@@ -1019,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)
{
@@ -1179,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 --;
@@ -1206,7 +1188,7 @@ help_load_file(
cupsFileClose(fp);
if (node)
node->length = offset - node->offset;
node->length = (size_t)(offset - node->offset);
return (0);
}
@@ -1238,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;
@@ -1324,5 +1306,5 @@ help_sort_words(help_word_t *w1, /* I - Second word */
/*
* End of "$Id$".
* End of "$Id: help-index.c 13138 2016-03-15 14:59:54Z 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 $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: help.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Online help CGI for CUPS.
*
@@ -393,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 $".
*/
+30 -69
Ver Arquivo
@@ -1,31 +1,16 @@
/*
* "$Id$"
* "$Id: ipp-var.c 13138 2016-03-15 14:59:54Z msweet $"
*
* CGI <-> IPP variable routines for CUPS.
* CGI <-> IPP variable routines for CUPS.
*
* Copyright 2007-2012 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,7 +108,7 @@ cgiGetAttributes(ipp_t *request, /* I - IPP request */
if (ch == '_')
*nameptr++ = '-';
else
*nameptr++ = ch;
*nameptr++ = (char)ch;
}
*nameptr = '\0';
@@ -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 */
@@ -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,36 +1169,28 @@ 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 ?
@@ -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 :
@@ -1589,5 +1550,5 @@ cgiText(const char *message) /* I - Message */
/*
* End of "$Id$".
* End of "$Id: ipp-var.c 13138 2016-03-15 14:59:54Z msweet $".
*/
+11 -17
Ver Arquivo
@@ -1,21 +1,16 @@
/*
* "$Id$"
* "$Id: jobs.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Job status CGI for CUPS.
* Job status CGI for CUPS.
*
* Copyright 2007-2012 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 */
@@ -210,5 +204,5 @@ do_job_op(http_t *http, /* I - HTTP connection */
/*
* End of "$Id$".
* End of "$Id: jobs.c 11984 2014-07-02 13:16:59Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: makedocset.c 3833 2012-05-23 22:51:18Z msweet $"
*
* Xcode documentation set generator.
*
@@ -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 $".
*/
+15 -23
Ver Arquivo
@@ -1,23 +1,16 @@
/*
* "$Id$"
* "$Id: printers.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Printer status CGI for CUPS.
* Printer status CGI for CUPS.
*
* Copyright 2007-2012 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")));
@@ -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();
@@ -574,5 +566,5 @@ show_printer(http_t *http, /* I - Connection to server */
/*
* End of "$Id$".
* End of "$Id: printers.c 11984 2014-07-02 13:16:59Z msweet $".
*/
+14 -20
Ver Arquivo
@@ -1,22 +1,16 @@
/*
* "$Id$"
* "$Id: search.c 11984 2014-07-02 13:16:59Z msweet $"
*
* Search routines for CUPS.
* Search routines for CUPS.
*
* Copyright 2007-2012 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);
@@ -377,5 +371,5 @@ cgiFreeSearch(void *search) /* I - Search context */
/*
* End of "$Id$".
* End of "$Id: search.c 11984 2014-07-02 13:16:59Z msweet $".
*/
+21 -64
Ver Arquivo
@@ -1,27 +1,16 @@
/*
* "$Id$"
* "$Id: template.c 13138 2016-03-15 14:59:54Z 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 13138 2016-03-15 14:59:54Z msweet $".
*/
+11 -17
Ver Arquivo
@@ -1,21 +1,16 @@
/*
* "$Id$"
* "$Id: testcgi.c 11984 2014-07-02 13:16:59Z 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 11984 2014-07-02 13:16:59Z 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 $".
*/
+65 -75
Ver Arquivo
@@ -1,49 +1,20 @@
/*
* "$Id$"
* "$Id: var.c 13138 2016-03-15 14:59:54Z 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*/
@@ -417,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;
@@ -466,9 +437,9 @@ cgiSetCookie(const char *name, /* I - Name */
printf(" expires=%s;", httpGetDateString2(expires, date, sizeof(date)));
}
if (secure)
puts(" secure;");
puts(" httponly; secure;");
else
putchar('\n');
puts(" httponly;");
}
@@ -495,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;
@@ -581,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;
@@ -592,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);
@@ -632,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));
}
@@ -655,6 +626,8 @@ cgi_initialize_cookies(void)
while (*cookie)
{
int skip = 0; /* Skip this cookie? */
/*
* Skip leading whitespace...
*/
@@ -670,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;
@@ -688,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';
@@ -716,7 +706,7 @@ cgi_initialize_cookies(void)
* "$"...
*/
if (name[0] != '$')
if (name[0] != '$' && !skip)
num_cookies = cupsAddOption(name, value, num_cookies, &cookies);
}
}
@@ -769,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));
@@ -835,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;
}
}
@@ -860,7 +850,7 @@ cgi_initialize_multipart(
*/
if (ptr > line)
write(fd, line, ptr - line);
write(fd, line, (size_t)(ptr - line));
close(fd);
}
@@ -877,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;
@@ -979,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...");
@@ -1001,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)
@@ -1011,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)
{
@@ -1126,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';
@@ -1264,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
@@ -1307,5 +1297,5 @@ cgi_unlink_file(void)
/*
* End of "$Id$".
* End of "$Id: var.c 13138 2016-03-15 14:59:54Z 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$".
*/
+4 -4
Ver Arquivo
@@ -1,9 +1,9 @@
#
# "$Id$"
# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# Configuration file makefile for CUPS.
#
# Copyright 2007-2012 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
@@ -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 13138 2016-03-15 14:59:54Z msweet $".
#
+7 -12
Ver Arquivo
@@ -1,19 +1,21 @@
#
# "$Id$"
#
# Sample file/directory/user/group configuration file for the CUPS scheduler.
# 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@
@@ -73,11 +75,8 @@ PageLog @CUPS_LOGDIR@/page_log
# Location of helper programs...
#ServerBin @CUPS_SERVERBIN@
# SSL/TLS certificate for the scheduler...
#ServerCertificate @CUPS_SERVERCERT@
# SSL/TLS private key for the scheduler...
#ServerKey @CUPS_SERVERKEY@
# SSL/TLS keychain for the scheduler...
#ServerKeychain @CUPS_SERVERKEYCHAIN@
# Location of other configuration files...
#ServerRoot @CUPS_SERVERROOT@
@@ -92,7 +91,3 @@ PageLog @CUPS_LOGDIR@/page_log
# scheduler startup and cannot be one of the standard (public) temporary
# directory locations for security reasons...
#TempDir @CUPS_REQUESTS@/tmp
#
# End of "$Id$".
#
+9 -7
Ver Arquivo
@@ -1,13 +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@
@CUPS_PAGE_LOG_FORMAT@
# Only listen for connections from the local machine.
Listen localhost:@DEFAULT_IPP_PORT@
@@ -40,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...
@@ -128,7 +134,3 @@ WebInterface @CUPS_WEBIF@
Order deny,allow
</Limit>
</Policy>
#
# End of "$Id$".
#
+2 -2
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
@@ -59,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 $".
#
+23 -15
Ver Arquivo
@@ -1,20 +1,20 @@
#
# "$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(4,PwgRaster<00>) 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>@) \
+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$".
#
+50 -35
Ver Arquivo
@@ -1,30 +1,38 @@
dnl
dnl "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $"
dnl "$Id: cups-common.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Common configuration stuff for CUPS.
dnl Common configuration stuff for CUPS.
dnl
dnl Copyright 2007-2013 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.7rc1"
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="AC_PACKAGE_VERSION"
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:=}"
@@ -89,7 +97,7 @@ 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))
@@ -134,11 +142,10 @@ 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,
@@ -147,6 +154,9 @@ 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)...
@@ -202,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;
@@ -225,18 +238,24 @@ 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$PKGCONFIG" != x; then
if test x$enable_libusb = xyes -o $uname != Darwin; 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
@@ -300,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, [ --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)
@@ -326,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
@@ -353,7 +372,6 @@ 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)
@@ -363,9 +381,6 @@ case $uname in
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))
@@ -459,5 +474,5 @@ esac
AC_SUBST(BUILDDIRS)
dnl
dnl End of "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $".
dnl End of "$Id: cups-common.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
+58 -103
Ver Arquivo
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $"
dnl "$Id: cups-compiler.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Compiler stuff for CUPS.
dnl Compiler stuff for CUPS.
dnl
dnl Copyright 2007-2013 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
@@ -103,14 +103,14 @@ 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(,,
@@ -130,20 +130,25 @@ if test -n "$GCC"; then
# exploits that depend on a fixed address for common functions.
#
# Not available to LSB binaries...
AC_MSG_CHECKING(if GCC supports -fPIE)
AC_MSG_CHECKING(whether compiler supports -fPIE)
OLDCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fPIE"
AC_TRY_COMPILE(,,
[case "$CC" in
*clang)
case "$uname" in
Darwin*)
CFLAGS="$CFLAGS -fPIE -Wl,-pie"
AC_TRY_COMPILE(,,[
PIEFLAGS="-fPIE -Wl,-pie"
;;
*)
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
;;
*)
CFLAGS="$CFLAGS -fPIE -pie"
AC_TRY_COMPILE(,,[
PIEFLAGS="-fPIE -pie"
;;
esac
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
;;
esac
CFLAGS="$OLDCFLAGS"
fi
@@ -151,18 +156,36 @@ if test -n "$GCC"; 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 -Werror $OPTIM"
else
AC_MSG_CHECKING(if GCC 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"
OPTIM="-Werror $OPTIM"
fi
fi
@@ -180,47 +203,13 @@ if test -n "$GCC"; then
# 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"
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
;;
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
@@ -231,20 +220,6 @@ else
fi
fi
if test $PICFLAG = 1; then
OPTIM="-KPIC $OPTIM"
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
@@ -254,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."
;;
@@ -263,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 7871 2008-08-27 21:12:43Z mike $".
dnl End of "$Id: cups-compiler.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
+14 -5
Ver Arquivo
@@ -1,9 +1,9 @@
dnl
dnl "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $"
dnl "$Id: cups-defaults.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Default cupsd configuration settings for CUPS.
dnl
dnl Copyright 2007-2012 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
@@ -78,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
@@ -400,5 +409,5 @@ AC_SUBST(CUPS_WEBIF)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)
dnl
dnl End of "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $".
dnl End of "$Id: cups-defaults.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
+10 -132
Ver Arquivo
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $"
dnl "$Id: cups-directories.m4 11984 2014-07-02 13:16:59Z msweet $"
dnl
dnl Directory stuff for CUPS.
dnl Directory stuff for CUPS.
dnl
dnl Copyright 2007-2013 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(/)
@@ -107,11 +107,6 @@ if test "$libdir" = "\${exec_prefix}/lib"; then
libdir="$exec_prefix/lib64"
fi
;;
HP-UX*)
if test -d /usr/lib/hpux32; then
libdir="$exec_prefix/lib/hpux32"
fi
;;
esac
fi
@@ -126,119 +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"
;;
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="")
@@ -355,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"
@@ -427,5 +305,5 @@ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")
AC_SUBST(CUPS_STATEDIR)
dnl
dnl End of "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $".
dnl End of "$Id: cups-directories.m4 11984 2014-07-02 13:16:59Z msweet $".
dnl
+4 -4
Ver Arquivo
@@ -1,9 +1,9 @@
dnl
dnl "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $"
dnl "$Id: cups-dnssd.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
dnl
dnl Copyright 2007-2012 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
@@ -26,7 +26,7 @@ DNSSD_BACKEND=""
IPPFIND_BIN=""
IPPFIND_MAN=""
if test "x$PKGCONFIG" != x -a x$enable_avahi != 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)
@@ -82,5 +82,5 @@ AC_SUBST(IPPFIND_BIN)
AC_SUBST(IPPFIND_MAN)
dnl
dnl End of "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $".
dnl End of "$Id: cups-dnssd.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
+7 -36
Ver Arquivo
@@ -1,9 +1,9 @@
dnl
dnl "$Id$"
dnl "$Id: cups-gssapi.m4 11984 2014-07-02 13:16:59Z msweet $"
dnl
dnl GSSAPI/Kerberos library detection for CUPS.
dnl
dnl Copyright 2007-2012 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,7 +22,7 @@ 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)
@@ -71,38 +71,9 @@ if test x$enable_gssapi != xno; then
if test "x$LIBGSSAPI" != x; then
AC_CHECK_HEADER(krb5.h, AC_DEFINE(HAVE_KRB5_H))
if test -d /System/Library/Frameworks/GSS.framework; then
gssdir="/System/Library/Frameworks/GSS.framework"
AC_MSG_CHECKING(for GSS/gssapi.h presence)
if test -f $gssdir/Headers/gssapi.h; then
AC_DEFINE(HAVE_GSS_GSSAPI_H)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING(for GSS/gssapi_generic.h presence)
if test -f $gssdir/Headers/gssapi_generic.h; then
AC_DEFINE(HAVE_GSSAPI_GENERIC_H)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING(for GSS/gssapi_spi.h presence)
if test -f $gssdir/PrivateHeaders/gssapi_spi.h; then
AC_MSG_RESULT(yes)
AC_MSG_CHECKING(for GSS/gssapi_spi.h usability)
if test -s $gssdir/PrivateHeaders/gssapi_spi.h; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GSS_GSSAPI_SPI_H)
else
AC_MSG_RESULT(no)
fi
else
AC_MSG_RESULT(no)
if test $uversion -ge 110 -a $uversion -lt 120; then
# Broken public headers in 10.7.x...
AC_MSG_ERROR(Run 'sudo mkdir -p $gssdir/PrivateHeaders' and 'sudo touch $gssdir/PrivateHeaders/gssapi_spi.h' to build CUPS.)
fi
fi
AC_CHECK_HEADER(GSS/gssapi.h, AC_DEFINE(HAVE_GSS_GSSAPI_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))
@@ -158,5 +129,5 @@ AC_SUBST(CUPS_DEFAULT_GSSSERVICENAME)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
dnl
dnl End of "$Id$".
dnl End of "$Id: cups-gssapi.m4 11984 2014-07-02 13:16:59Z msweet $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-largefile.m4 6649 2007-07-11 21:46:42Z 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 6649 2007-07-11 21:46:42Z 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 6649 2007-07-11 21:46:42Z 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 6649 2007-07-11 21:46:42Z mike $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-libtool.m4 6649 2007-07-11 21:46:42Z 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 6649 2007-07-11 21:46:42Z mike $".
dnl End of "$Id: cups-libtool.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
+14 -14
Ver Arquivo
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z 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-2012 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,8 +22,8 @@ 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"
@@ -45,8 +45,8 @@ AC_SUBST(PMANDIR)
dnl Setup manpage extensions...
case "$uname" in
SunOS* | HP-UX*)
# Solaris and HP-UX
SunOS*)
# Solaris
MAN1EXT=1
MAN5EXT=5
MAN7EXT=7
@@ -78,5 +78,5 @@ AC_SUBST(MAN8EXT)
AC_SUBST(MAN8DIR)
dnl
dnl End of "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z 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 7918 2008-09-08 22:03:01Z mike $"
dnl "$Id: cups-network.m4 13138 2016-03-15 14:59:54Z 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 7918 2008-09-08 22:03:01Z mike $".
dnl End of "$Id: cups-network.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-opsys.m4 6649 2007-07-11 21:46:42Z mike $"
dnl "$Id: cups-opsys.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Operating system stuff for CUPS.
dnl
@@ -35,5 +35,5 @@ case "$uname" in
esac
dnl
dnl "$Id: cups-opsys.m4 6649 2007-07-11 21:46:42Z mike $"
dnl "$Id: cups-opsys.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
+9 -14
Ver Arquivo
@@ -1,26 +1,21 @@
dnl
dnl "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $"
dnl "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $"
dnl
dnl PAM stuff for CUPS.
dnl
dnl Copyright 2007-2012 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=""
@@ -98,5 +93,5 @@ AC_SUBST(PAMMOD)
AC_SUBST(PAMMODAUTH)
dnl
dnl End of "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $".
dnl End of "$Id: cups-pam.m4 11342 2013-10-18 20:36:01Z msweet $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id$"
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$".
dnl End of "$Id: cups-poll.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $"
dnl "$Id: cups-scripting.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl Scripting configuration stuff for CUPS.
dnl
@@ -85,5 +85,5 @@ if test "x$CUPS_PYTHON" != x; then
fi
dnl
dnl End of "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $".
dnl End of "$Id: cups-scripting.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
+15 -91
Ver Arquivo
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z 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-2012 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
@@ -34,51 +34,7 @@ if test x$enable_shared != xno; then
DSOXX="\$(CXX)"
DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
;;
UNIX_S*)
LIBCUPS="lib$cupsbase.so.2"
LIBCUPSCGI="libcupscgi.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"
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"
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"
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*)
Linux | GNU | *BSD*)
LIBCUPS="lib$cupsbase.so.2"
LIBCUPSCGI="libcupscgi.so.1"
LIBCUPSIMAGE="libcupsimage.so.2"
@@ -98,17 +54,6 @@ 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"
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."
@@ -151,19 +96,11 @@ if test x$enable_shared = xno; then
EXTLINKCUPS="-lcups"
EXTLINKCUPSIMAGE="-lcupsimage"
else
if test $uname = AIX; then
LINKCUPS="-l${cupsbase}_s"
LINKCUPSIMAGE="-lcupsimage_s"
LINKCUPS="-l${cupsbase}"
LINKCUPSIMAGE="-lcupsimage"
EXTLINKCUPS="-lcups_s"
EXTLINKCUPSIMAGE="-lcupsimage_s"
else
LINKCUPS="-l${cupsbase}"
LINKCUPSIMAGE="-lcupsimage"
EXTLINKCUPS="-lcups"
EXTLINKCUPSIMAGE="-lcupsimage"
fi
EXTLINKCUPS="-lcups"
EXTLINKCUPSIMAGE="-lcupsimage"
fi
AC_SUBST(EXTLINKCUPS)
@@ -186,19 +123,6 @@ if test "$DSO" != ":"; then
# 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"
;;
*)
DSOFLAGS="+s +b $libdir $DSOFLAGS"
;;
esac
LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
;;
SunOS*)
# Solaris...
if test $exec_prefix != /usr; then
@@ -234,5 +158,5 @@ AC_SUBST(IMGLIBS)
AC_SUBST(EXPORT_LDFLAGS)
dnl
dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
dnl End of "$Id: cups-sharedlibs.m4 11342 2013-10-18 20:36:01Z msweet $".
dnl
+28 -77
Ver Arquivo
@@ -1,34 +1,26 @@
dnl
dnl "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $"
dnl "$Id: cups-ssl.m4 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl OpenSSL/GNUTLS stuff for CUPS.
dnl TLS stuff for CUPS.
dnl
dnl Copyright 2007-2012 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_SERVERCERT=""
CUPS_SERVERKEY=""
CUPS_SERVERKEYCHAIN=""
if test x$enable_ssl != xno; then
dnl Look for CDSA...
@@ -38,7 +30,7 @@ if test x$enable_ssl != xno; then
have_ssl=1
AC_DEFINE(HAVE_SSL)
AC_DEFINE(HAVE_CDSASSL)
CUPS_SERVERCERT="/Library/Keychains/System.keychain"
CUPS_SERVERKEYCHAIN="/Library/Keychains/System.keychain"
dnl Check for the various security headers...
AC_CHECK_HEADER(Security/SecureTransportPriv.h,
@@ -59,14 +51,19 @@ if test x$enable_ssl != xno; then
AC_CHECK_HEADER(Security/SecIdentitySearchPriv.h,
AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H))
AC_DEFINE(HAVE_CSSMERRORSTRING)])
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`
@@ -82,59 +79,14 @@ if test x$enable_ssl != xno; then
fi
if test $have_ssl = 1; then
CUPS_SERVERCERT="ssl/server.crt"
CUPS_SERVERKEY="ssl/server.key"
CUPS_SERVERKEYCHAIN="ssl"
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
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
if test "x${SSLLIBS}" != "x"; then
CUPS_SERVERCERT="ssl/server.crt"
CUPS_SERVERKEY="ssl/server.key"
LIBS="$SAVELIBS $SSLLIBS"
AC_CHECK_FUNCS(SSL_set_tlsext_host_name)
fi
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
@@ -143,12 +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_SERVERCERT)
AC_SUBST(CUPS_SERVERKEY)
AC_SUBST(CUPS_SERVERKEYCHAIN)
AC_SUBST(IPPALIASES)
AC_SUBST(SSLFLAGS)
AC_SUBST(SSLLIBS)
@@ -157,5 +108,5 @@ EXPORT_SSLLIBS="$SSLLIBS"
AC_SUBST(EXPORT_SSLLIBS)
dnl
dnl End of "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $".
dnl End of "$Id: cups-ssl.m4 13138 2016-03-15 14:59:54Z msweet $".
dnl
+192
Ver Arquivo
@@ -0,0 +1,192 @@
dnl
dnl "$Id: cups-startup.m4 13138 2016-03-15 14:59:54Z 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 13138 2016-03-15 14:59:54Z msweet $".
dnl
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-threads.m4 6649 2007-07-11 21:46:42Z 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 6649 2007-07-11 21:46:42Z mike $".
dnl End of "$Id: cups-threads.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
+73 -39
Ver Arquivo
@@ -1,16 +1,16 @@
/*
* "$Id$"
* "$Id: config.h.in 13138 2016-03-15 14:59:54Z msweet $"
*
* Configuration file for CUPS.
* Configuration file for CUPS.
*
* Copyright 2007-2013 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_
@@ -93,7 +93,7 @@
* Default MaxCopies value...
*/
#define CUPS_DEFAULT_MAX_COPIES 100
#define CUPS_DEFAULT_MAX_COPIES 9999
/*
@@ -131,6 +131,13 @@
#define CUPS_STATEDIR "/var/run/cups"
/*
* Do we have posix_spawn?
*/
#undef HAVE_POSIX_SPAWN
/*
* Do we have ZLIB?
*/
@@ -143,10 +150,7 @@
* 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
@@ -238,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?
*/
@@ -290,15 +308,22 @@
#undef HAVE_CDSASSL
#undef HAVE_GNUTLS
#undef HAVE_LIBSSL
#undef HAVE_SSPISSL
#undef HAVE_SSL
/*
* Do we have the SSL_set_tlsext_host_name function?
* Do we have the gnutls_transport_set_pull_timeout_function function?
*/
#undef HAVE_SSL_SET_TLSEXT_HOST_NAME
#undef HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION
/*
* Do we have the gnutls_priority_set_direct function?
*/
#undef HAVE_GNUTLS_PRIORITY_SET_DIRECT
/*
@@ -323,6 +348,27 @@
#undef HAVE_CSSMERRORSTRING
/*
* Do we have the SecGenerateSelfSignedCertificate function?
*/
#undef HAVE_SECGENERATESELFSIGNEDCERTIFICATE
/*
* Do we have the SecKeychainOpen function?
*/
#undef HAVE_SECKEYCHAINOPEN
/*
* Do we have (a working) SSLSetEnabledCiphers function?
*/
#undef HAVE_SSLSETENABLEDCIPHERS
/*
* Do we have libpaper?
*/
@@ -428,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?
*/
@@ -448,6 +487,14 @@
#undef HAVE_LAUNCH_H
#undef HAVE_LAUNCHD
#undef HAVE_LAUNCH_ACTIVATE_SOCKET
/*
* Do we have systemd support?
*/
#undef HAVE_SYSTEMD
/*
@@ -522,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
/*
@@ -611,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)
@@ -624,13 +665,6 @@
#endif /* HAVE_ARC4RANDOM */
/*
* Do we have vproc_transaction_begin/end?
*/
#undef HAVE_VPROC_TRANSACTION_BEGIN
/*
* Do we have libusb?
*/
@@ -706,5 +740,5 @@ static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
#endif /* !_CUPS_CONFIG_H_ */
/*
* End of "$Id$".
* End of "$Id: config.h.in 13138 2016-03-15 14:59:54Z msweet $".
*/
externo Arquivo executável
+11565
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+20 -17
Ver Arquivo
@@ -1,19 +1,23 @@
dnl
dnl "$Id$"
dnl "$Id: configure.ac 13138 2016-03-15 14:59:54Z msweet $"
dnl
dnl Configuration script for CUPS.
dnl Configuration script for CUPS.
dnl
dnl Copyright 2007-2012 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.2svn], [https://www.cups.org/str.php], [cups], [https://www.cups.org/])
sinclude(config-scripts/cups-opsys.m4)
sinclude(config-scripts/cups-common.m4)
@@ -32,7 +36,7 @@ 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-scripting.m4)
@@ -66,14 +70,9 @@ AC_OUTPUT(Makedefs
conf/pam.std
conf/snmp.conf
cups-config
data/testprint
desktop/cups.desktop
doc/help/ref-cups-files-conf.html
doc/help/ref-cupsd-conf.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
@@ -85,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)
@@ -92,5 +95,5 @@ AC_OUTPUT(Makedefs
chmod +x cups-config
dnl
dnl End of "$Id$".
dnl End of "$Id: configure.ac 13138 2016-03-15 14:59:54Z msweet $".
dnl
+2 -2
Ver Arquivo
@@ -1,6 +1,6 @@
#! /bin/sh
#
# "$Id$"
# "$Id: cups-config.in 10996 2013-05-29 11:51:34Z msweet $"
#
# CUPS configuration utility.
#
@@ -142,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 $".
#
+257 -206
Ver Arquivo
@@ -1,260 +1,311 @@
adminutil.o: adminutil.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h adminutil.h
array.o: array.c string-private.h ../config.h debug-private.h \
../cups/versioning.h array-private.h ../cups/array.h
attr.o: attr.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h ppd.h raster.h \
adminutil.h
array.o: array.c ../cups/cups.h file.h versioning.h ipp.h http.h array.h \
language.h pwg.h string-private.h ../config.h debug-private.h \
array-private.h
auth.o: auth.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
backchannel.o: backchannel.c cups.h file.h versioning.h ipp.h http.h \
array.h language.h
array.h language.h pwg.h
backend.o: backend.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h backend.h
conflicts.o: conflicts.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
custom.o: custom.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h backend.h ppd.h raster.h
debug.o: debug.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
dest.o: dest.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
dest-job.o: dest-job.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
dest-localization.o: dest-localization.c cups-private.h string-private.h \
../config.h debug-private.h ../cups/versioning.h ipp-private.h \
../cups/ipp.h http.h array.h http-private.h md5-private.h \
language-private.h ../cups/transcode.h language.h pwg-private.h \
../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
../config.h debug-private.h ../cups/versioning.h array-private.h \
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
../cups/language.h md5-private.h language-private.h \
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
thread-private.h
dest-options.o: dest-options.c cups-private.h string-private.h \
../config.h debug-private.h ../cups/versioning.h ipp-private.h \
../cups/ipp.h http.h array.h http-private.h md5-private.h \
language-private.h ../cups/transcode.h language.h pwg-private.h \
../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
../config.h debug-private.h ../cups/versioning.h array-private.h \
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
../cups/language.h md5-private.h language-private.h \
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
thread-private.h
dir.o: dir.c string-private.h ../config.h debug-private.h \
../cups/versioning.h dir.h
emit.o: emit.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
encode.o: encode.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
file.o: file.c file-private.h cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
getdevices.o: getdevices.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
getifaddrs.o: getifaddrs.c http-private.h ../config.h ../cups/http.h \
versioning.h array.h md5-private.h ipp-private.h ../cups/ipp.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
getifaddrs.o: getifaddrs.c http-private.h ../config.h ../cups/language.h \
array.h versioning.h ../cups/http.h md5-private.h ipp-private.h \
../cups/ipp.h
getputfile.o: getputfile.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
globals.o: globals.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
hash.o: hash.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
http.o: http.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
http-addr.o: http-addr.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
http-addrlist.o: http-addrlist.c cups-private.h string-private.h \
../config.h debug-private.h ../cups/versioning.h ipp-private.h \
../cups/ipp.h http.h array.h http-private.h md5-private.h \
language-private.h ../cups/transcode.h language.h pwg-private.h \
../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
../config.h debug-private.h ../cups/versioning.h array-private.h \
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
../cups/language.h md5-private.h language-private.h \
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
thread-private.h
http-support.o: http-support.c cups-private.h string-private.h \
../config.h debug-private.h ../cups/versioning.h ipp-private.h \
../cups/ipp.h http.h array.h http-private.h md5-private.h \
language-private.h ../cups/transcode.h language.h pwg-private.h \
../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
../config.h debug-private.h ../cups/versioning.h array-private.h \
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
../cups/language.h md5-private.h language-private.h \
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
thread-private.h
ipp.o: ipp.c cups-private.h string-private.h ../config.h debug-private.h \
../cups/versioning.h ipp-private.h ../cups/ipp.h http.h array.h \
http-private.h md5-private.h language-private.h ../cups/transcode.h \
language.h pwg-private.h ../cups/cups.h file.h ppd-private.h \
../cups/ppd.h thread-private.h
../cups/versioning.h array-private.h ../cups/array.h ipp-private.h \
../cups/ipp.h http.h http-private.h ../cups/language.h md5-private.h \
language-private.h ../cups/transcode.h pwg-private.h ../cups/cups.h \
file.h pwg.h thread-private.h
ipp-support.o: ipp-support.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
langprintf.o: langprintf.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
language.o: language.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
localize.o: localize.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
mark.o: mark.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
md5.o: md5.c md5-private.h string-private.h ../config.h
md5passwd.o: md5passwd.c http-private.h ../config.h ../cups/http.h \
versioning.h array.h md5-private.h ipp-private.h ../cups/ipp.h \
string-private.h
md5passwd.o: md5passwd.c http-private.h ../config.h ../cups/language.h \
array.h versioning.h ../cups/http.h md5-private.h ipp-private.h \
../cups/ipp.h string-private.h
notify.o: notify.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
options.o: options.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
page.o: page.c string-private.h ../config.h debug-private.h \
../cups/versioning.h ppd.h cups.h file.h ipp.h http.h array.h \
language.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
ppd.o: ppd.c cups-private.h string-private.h ../config.h debug-private.h \
../cups/versioning.h ipp-private.h ../cups/ipp.h http.h array.h \
http-private.h md5-private.h language-private.h ../cups/transcode.h \
language.h pwg-private.h ../cups/cups.h file.h ppd-private.h \
../cups/ppd.h thread-private.h
../cups/versioning.h array-private.h ../cups/array.h ipp-private.h \
../cups/ipp.h http.h http-private.h ../cups/language.h md5-private.h \
language-private.h ../cups/transcode.h pwg-private.h ../cups/cups.h \
file.h pwg.h thread-private.h ppd-private.h ../cups/ppd.h raster.h
ppd-attr.o: ppd-attr.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
../cups/ppd.h raster.h
ppd-cache.o: ppd-cache.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
../cups/ppd.h raster.h
ppd-conflicts.o: ppd-conflicts.c cups-private.h string-private.h \
../config.h debug-private.h ../cups/versioning.h array-private.h \
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
../cups/language.h md5-private.h language-private.h \
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
thread-private.h ppd-private.h ../cups/ppd.h raster.h
ppd-custom.o: ppd-custom.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
../cups/ppd.h raster.h
ppd-emit.o: ppd-emit.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h ppd.h raster.h
ppd-localize.o: ppd-localize.c cups-private.h string-private.h \
../config.h debug-private.h ../cups/versioning.h array-private.h \
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
../cups/language.h md5-private.h language-private.h \
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
thread-private.h ppd-private.h ../cups/ppd.h raster.h
ppd-mark.o: ppd-mark.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
../cups/ppd.h raster.h
ppd-page.o: ppd-page.c string-private.h ../config.h debug-private.h \
../cups/versioning.h ppd.h cups.h file.h ipp.h http.h array.h \
language.h pwg.h raster.h
ppd-util.o: ppd-util.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
../cups/ppd.h raster.h
pwg-media.o: pwg-media.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
request.o: request.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
sidechannel.o: sidechannel.c sidechannel.h versioning.h cups-private.h \
string-private.h ../config.h debug-private.h ipp-private.h \
../cups/ipp.h http.h array.h http-private.h md5-private.h \
language-private.h ../cups/transcode.h language.h pwg-private.h \
../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
string-private.h ../config.h debug-private.h array-private.h \
../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \
../cups/language.h md5-private.h language-private.h \
../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \
thread-private.h
snmp.o: snmp.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h snmp-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h snmp-private.h
snprintf.o: snprintf.c string-private.h ../config.h
string.o: string.c string-private.h ../config.h debug-private.h \
../cups/versioning.h thread-private.h array.h
string.o: string.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
tempfile.o: tempfile.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
thread.o: thread.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
tls.o: tls.c cups-private.h string-private.h ../config.h debug-private.h \
../cups/versioning.h array-private.h ../cups/array.h ipp-private.h \
../cups/ipp.h http.h http-private.h ../cups/language.h md5-private.h \
language-private.h ../cups/transcode.h pwg-private.h ../cups/cups.h \
file.h pwg.h thread-private.h tls-darwin.c
transcode.o: transcode.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
usersys.o: usersys.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
util.o: util.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
testadmin.o: testadmin.c adminutil.h cups.h file.h versioning.h ipp.h \
http.h array.h language.h string-private.h ../config.h
http.h array.h language.h pwg.h string-private.h ../config.h
testarray.o: testarray.c string-private.h ../config.h debug-private.h \
../cups/versioning.h array.h dir.h
../cups/versioning.h array-private.h ../cups/array.h dir.h
testcache.o: testcache.c ppd-private.h ../cups/cups.h file.h versioning.h \
ipp.h http.h array.h language.h pwg.h ../cups/ppd.h raster.h \
pwg-private.h file-private.h cups-private.h string-private.h \
../config.h debug-private.h array-private.h ipp-private.h \
http-private.h md5-private.h language-private.h ../cups/transcode.h \
thread-private.h
testconflicts.o: testconflicts.c cups.h file.h versioning.h ipp.h http.h \
array.h language.h ppd.h string-private.h ../config.h
array.h language.h pwg.h ppd.h raster.h string-private.h ../config.h
testcups.o: testcups.c string-private.h ../config.h cups.h file.h \
versioning.h ipp.h http.h array.h language.h ppd.h
versioning.h ipp.h http.h array.h language.h pwg.h ppd.h raster.h
testdest.o: testdest.c cups.h file.h versioning.h ipp.h http.h array.h \
language.h pwg.h
testfile.o: testfile.c string-private.h ../config.h debug-private.h \
../cups/versioning.h file.h
testhttp.o: testhttp.c string-private.h ../config.h http-private.h \
../cups/http.h versioning.h array.h md5-private.h ipp-private.h \
../cups/ipp.h
testhttp.o: testhttp.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
testi18n.o: testi18n.c string-private.h ../config.h language-private.h \
../cups/transcode.h language.h array.h versioning.h
testipp.o: testipp.c file.h versioning.h string-private.h ../config.h \
ipp-private.h ../cups/ipp.h http.h array.h
testoptions.o: testoptions.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
testlang.o: testlang.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
../cups/ppd.h raster.h
testppd.o: testppd.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \
../cups/ppd.h raster.h
testpwg.o: testpwg.c ppd-private.h ../cups/cups.h file.h versioning.h \
ipp.h http.h array.h language.h ../cups/ppd.h pwg-private.h \
file-private.h cups-private.h string-private.h ../config.h \
debug-private.h ipp-private.h http-private.h md5-private.h \
language-private.h ../cups/transcode.h thread-private.h
ipp.h http.h array.h language.h pwg.h ../cups/ppd.h raster.h \
pwg-private.h file-private.h cups-private.h string-private.h \
../config.h debug-private.h array-private.h ipp-private.h \
http-private.h md5-private.h language-private.h ../cups/transcode.h \
thread-private.h
testsnmp.o: testsnmp.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
http.h array.h http-private.h md5-private.h language-private.h \
../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
ppd-private.h ../cups/ppd.h thread-private.h snmp-private.h
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h snmp-private.h
tlscheck.o: tlscheck.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
+103 -47
Ver Arquivo
@@ -1,18 +1,18 @@
#
# "$Id$"
# "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $"
#
# API library Makefile for CUPS.
# API library Makefile for CUPS.
#
# Copyright 2007-2013 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products, all rights reserved.
# Copyright 2007-2015 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
@@ -32,42 +32,45 @@ OPTIONS = -D_CUPS_NO_DEPRECATED=1 -D_PPD_DEPRECATED=""
LIBOBJS = \
adminutil.o \
array.o \
attr.o \
auth.o \
backchannel.o \
backend.o \
conflicts.o \
custom.o \
debug.o \
dest.o \
dest-job.o \
dest-localization.o \
dest-options.o \
dir.o \
emit.o \
encode.o \
file.o \
getdevices.o \
getifaddrs.o \
getputfile.o \
globals.o \
hash.o \
http.o \
http-addr.o \
http-addrlist.o \
http-support.o \
huffman.o \
ipp.o \
ipp-support.o \
langprintf.o \
language.o \
localize.o \
mark.o \
md5.o \
md5passwd.o \
notify.o \
options.o \
page.o \
ppd.o \
ppd-attr.o \
ppd-cache.o \
ppd-conflicts.o \
ppd-custom.o \
ppd-emit.o \
ppd-localize.o \
ppd-mark.o \
ppd-page.o \
ppd-util.o \
pwg-media.o \
request.o \
sidechannel.o \
@@ -76,23 +79,28 @@ LIBOBJS = \
string.o \
tempfile.o \
thread.o \
tls.o \
transcode.o \
usersys.o \
util.o
TESTOBJS = \
testadmin.o \
testarray.o \
testcache.o \
testconflicts.o \
testcups.o \
testdest.o \
testfile.o \
testhttp.o \
testhuffman.o \
testi18n.o \
testipp.o \
testoptions.o \
testlang.o \
testppd.o \
testpwg.o \
testsnmp.o
testsnmp.o \
tlscheck.o
OBJS = \
$(LIBOBJS) \
$(TESTOBJS)
@@ -125,6 +133,7 @@ HEADERSPRIV = \
debug-private.h \
file-private.h \
http-private.h \
huffman-private.h \
ipp-private.h \
language-private.h \
md5-private.h \
@@ -147,17 +156,21 @@ LIBTARGETS = \
UNITTARGETS = \
testadmin \
testarray \
testcache \
testconflicts \
testcups \
testdest \
testfile \
testhttp \
testhuffman \
testi18n \
testipp \
testlang \
testoptions \
testppd \
testpwg \
testsnmp
testsnmp \
tlscheck
TARGETS = \
$(LIBTARGETS)
@@ -190,7 +203,7 @@ unittests: $(UNITTARGETS)
clean:
$(RM) $(OBJS) $(TARGETS) $(UNITTARGETS)
$(RM) libcups.so libcups.sl libcups.dylib
$(RM) libcups.so libcups.dylib
#
@@ -257,7 +270,7 @@ 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
@@ -286,9 +299,6 @@ 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)
@@ -299,10 +309,10 @@ uninstall:
#
# 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)
@@ -316,13 +326,14 @@ libcups.so.2 libcups.sl.2: $(LIBOBJS)
libcups.2.dylib: $(LIBOBJS) $(LIBCUPSORDER)
echo Creating export list for $@...
nm $(LIBOBJS) 2>/dev/null | grep "T _" | awk '{print $$3}' | \
grep -v -e '^(_cupsConnect|_cupsCharset|_cupsEncodingName|_cupsSetDefaults|_cupsSetHTTPError|_cupsUserDefault|_httpWait)$$' | \
nm -gm $(LIBOBJS) 2>/dev/null | grep "__text" | grep -v weak | \
awk '{print $$NF}' | \
grep -v -E -e '^(_cupsConnect|_cupsCharset|_cupsEncodingName|_cupsSetDefaults|_cupsSetHTTPError|_cupsUserDefault)$$' | \
sort >t.exp
echo Linking $@...
$(DSO) $(ARCHFLAGS) $(DSOFLAGS) -o $@ \
-install_name $(libdir)/$@ \
-current_version 2.10.0 \
-current_version 2.12.0 \
-compatibility_version 2.0.0 \
-exported_symbols_list t.exp \
$(LIBOBJS) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
@@ -331,19 +342,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)
$(RM) $@
$(AR) $(ARFLAGS) $@ libcups_s.o
#
# libcups.la
#
@@ -351,7 +349,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:10 $(LIBGSSAPI) $(SSLLIBS) \
-rpath $(LIBDIR) -version-info 2:12 $(LIBGSSAPI) $(SSLLIBS) \
$(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
@@ -366,6 +364,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)
#
@@ -388,6 +403,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)
#
@@ -408,6 +433,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)
#
@@ -432,6 +467,18 @@ testhttp: testhttp.o $(LIBCUPSSTATIC)
./testhttp
#
# testhuffman (dependency on static CUPS library is intentional)
#
testhuffman: testhuffman.o $(LIBCUPSSTATIC)
echo Linking $@...
$(CC) $(ARCHFLAGS) $(LDFLAGS) -o $@ testhuffman.o $(LIBCUPSSTATIC) \
$(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
echo Running HTTP/2 Huffman tests...
./testhuffman
#
# testipp (dependency on static CUPS library is intentional)
#
@@ -514,6 +561,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...
#
@@ -551,9 +608,7 @@ apihelp:
mxmldoc --section "Programming" --title "PPD API (DEPRECATED)" \
--css ../doc/cups-printable.css \
--header api-ppd.header --intro api-ppd.shtml \
api-ppd.xml \
ppd.h attr.c conflicts.c custom.c emit.c localize.c mark.c page.c \
ppd.c >../doc/help/api-ppd.html
api-ppd.xml ppd.h ppd-*.c >../doc/help/api-ppd.html
mxmldoc --tokens help/api-ppd.html api-ppd.xml >../doc/help/api-ppd.tokens
$(RM) api-ppd.xml
mxmldoc --section "Programming" --title "HTTP and IPP APIs" \
@@ -636,8 +691,9 @@ sloc:
#
include Dependencies
tls.o: tls-darwin.c tls-gnutls.c tls-sspi.c
#
# End of "$Id$".
# End of "$Id: Makefile 13138 2016-03-15 14:59:54Z msweet $".
#
+60 -27
Ver Arquivo
@@ -1,29 +1,18 @@
/*
* "$Id$"
* "$Id: adminutil.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Administration utility API definitions for CUPS.
* Administration utility API definitions for CUPS.
*
* Copyright 2007-2013 by Apple Inc.
* Copyright 2001-2007 by Easy Software Products.
* Copyright 2007-2015 by Apple Inc.
* Copyright 2001-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* 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.
*
* Contents:
*
* cupsAdminCreateWindowsPPD() - Create the Windows PPD file for a printer.
* cupsAdminExportSamba() - Export a printer to Samba.
* cupsAdminGetServerSettings() - Get settings from the server.
* cupsAdminSetServerSettings() - Set settings on the server.
* do_samba_command() - Do a SAMBA command.
* get_cupsd_conf() - Get the current cupsd.conf file.
* invalidate_cupsd_cache() - Invalidate the cached cupsd.conf settings.
* write_option() - Write a CUPS option to a PPD file.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -31,6 +20,7 @@
*/
#include "cups-private.h"
#include "ppd.h"
#include "adminutil.h"
#include <fcntl.h>
#include <sys/stat.h>
@@ -52,7 +42,7 @@ static int do_samba_command(const char *command,
FILE *logfile);
static http_status_t get_cupsd_conf(http_t *http, _cups_globals_t *cg,
time_t last_update, char *name,
int namelen, int *remote);
size_t namelen, int *remote);
static void invalidate_cupsd_cache(_cups_globals_t *cg);
static void write_option(cups_file_t *dstfp, int order,
const char *name, const char *text,
@@ -319,7 +309,7 @@ cupsAdminCreateWindowsPPD(
}
}
snprintf(ptr + 1, sizeof(line) - (ptr - line + 1),
snprintf(ptr + 1, sizeof(line) - (size_t)(ptr - line + 1),
"%%cupsJobTicket: %s=%s\n\"\n*End", option, choice);
cupsFilePrintf(dstfp, "*%% Changed for CUPS Windows Driver...\n%s\n",
@@ -1186,6 +1176,7 @@ cupsAdminSetServerSettings(
in_cancel_job, /* In a cancel-job section? */
in_admin_location, /* In the /admin location? */
in_conf_location, /* In the /admin/conf location? */
in_log_location, /* In the /admin/log location? */
in_root_location; /* In the / location? */
const char *val; /* Setting value */
int share_printers, /* Share local printers */
@@ -1199,6 +1190,7 @@ cupsAdminSetServerSettings(
wrote_loglevel, /* Wrote the LogLevel line? */
wrote_admin_location, /* Wrote the /admin location? */
wrote_conf_location, /* Wrote the /admin/conf location? */
wrote_log_location, /* Wrote the /admin/log location? */
wrote_root_location; /* Wrote the / location? */
int indent; /* Indentation */
int cupsd_num_settings; /* New number of settings */
@@ -1412,12 +1404,14 @@ cupsAdminSetServerSettings(
in_conf_location = 0;
in_default_policy = 0;
in_location = 0;
in_log_location = 0;
in_policy = 0;
in_root_location = 0;
linenum = 0;
wrote_admin_location = 0;
wrote_browsing = 0;
wrote_conf_location = 0;
wrote_log_location = 0;
wrote_loglevel = 0;
wrote_policy = 0;
wrote_port_listen = 0;
@@ -1561,8 +1555,10 @@ cupsAdminSetServerSettings(
indent += 2;
if (!strcmp(value, "/admin"))
in_admin_location = 1;
if (!strcmp(value, "/admin/conf"))
else if (!strcmp(value, "/admin/conf"))
in_conf_location = 1;
else if (!strcmp(value, "/admin/log"))
in_log_location = 1;
else if (!strcmp(value, "/"))
in_root_location = 1;
@@ -1604,6 +1600,23 @@ cupsAdminSetServerSettings(
cupsFilePrintf(temp, " Allow %s\n",
remote_any > 0 ? "all" : "@LOCAL");
}
else if (in_log_location && remote_admin >= 0)
{
wrote_log_location = 1;
if (remote_admin)
cupsFilePuts(temp, " # Allow remote access to the log "
"files...\n");
else
cupsFilePuts(temp, " # Restrict access to the log "
"files...\n");
cupsFilePuts(temp, " Order allow,deny\n");
if (remote_admin)
cupsFilePrintf(temp, " Allow %s\n",
remote_any > 0 ? "all" : "@LOCAL");
}
else if (in_root_location &&
(remote_admin >= 0 || remote_any > 0 || share_printers >= 0))
{
@@ -1630,6 +1643,7 @@ cupsAdminSetServerSettings(
in_admin_location = 0;
in_conf_location = 0;
in_log_location = 0;
in_root_location = 0;
cupsFilePuts(temp, "</Location>\n");
@@ -1878,6 +1892,25 @@ cupsAdminSetServerSettings(
cupsFilePuts(temp, "</Location>\n");
}
if (!wrote_log_location && remote_admin >= 0)
{
if (remote_admin)
cupsFilePuts(temp,
"# Allow remote access to the log files...\n");
else
cupsFilePuts(temp, "# Restrict access to the log files...\n");
cupsFilePuts(temp, "<Location /admin/log>\n"
" AuthType Default\n"
" Require user @SYSTEM\n"
" Order allow,deny\n");
if (remote_admin)
cupsFilePrintf(temp, " Allow %s\n", remote_any > 0 ? "all" : "@LOCAL");
cupsFilePuts(temp, "</Location>\n");
}
if (!wrote_policy && user_cancel_any >= 0)
{
cupsFilePuts(temp, "<Policy default>\n"
@@ -2120,7 +2153,7 @@ get_cupsd_conf(
_cups_globals_t *cg, /* I - Global data */
time_t last_update, /* I - Last update time for file */
char *name, /* I - Filename buffer */
int namesize, /* I - Size of filename buffer */
size_t namesize, /* I - Size of filename buffer */
int *remote) /* O - Remote file? */
{
int fd; /* Temporary file descriptor */
@@ -2176,7 +2209,7 @@ get_cupsd_conf(
* Read cupsd.conf via a HTTP GET request...
*/
if ((fd = cupsTempFd(name, namesize)) < 0)
if ((fd = cupsTempFd(name, (int)namesize)) < 0)
{
*name = '\0';
@@ -2337,5 +2370,5 @@ write_option(cups_file_t *dstfp, /* I - PPD file */
/*
* End of "$Id$".
* End of "$Id: adminutil.c 13138 2016-03-15 14:59:54Z msweet $".
*/
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: adminutil.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Administration utility API definitions for CUPS.
*
@@ -77,5 +77,5 @@ extern int cupsAdminSetServerSettings(http_t *http,
#endif /* !_CUPS_ADMINUTIL_H_ */
/*
* End of "$Id$".
* End of "$Id: adminutil.h 10996 2013-05-29 11:51:34Z msweet $".
*/
+1 -1
Ver Arquivo
@@ -3,7 +3,7 @@
Filter and backend programming header 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
+121 -10
Ver Arquivo
@@ -3,7 +3,7 @@
Filter and backend programming introduction for CUPS.
Copyright 2007-2013 by Apple Inc.
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
@@ -81,7 +81,7 @@ directory to write to.</p>
<p>In addition, some operating systems provide additional security mechanisms
that further limit file system access, even for backends running as root. On
OS X, for example, no backend may write to a user's home directory.</p>
OS X, for example, no backend may write to a user's home directory. See the <a href="#SANDBOXING">Sandboxing on OS X</a> section for more information.</p>
</blockquote>
<h3><a name="SIGNALS">Canceled Jobs and Signal Handling</a></h3>
@@ -237,7 +237,7 @@ prefix strings:</p>
<code>marker-types</code>, <code>printer-alert</code>, and
<code>printer-alert-description</code> printer attributes. Standard
<code>marker-types</code> values are listed in <a href='#TABLE1'>Table
1</a>.</dd>
1</a>. String values need special handling - see <a href="#ATTR_STRINGS">Reporting Attribute String Values</a> below.</dd>
<dt>CRIT: message</dt>
<dd>Sets the printer-state-message attribute and adds the specified
@@ -320,11 +320,11 @@ the "DEBUG:" prefix string.</p>
<td>Fuser unit</td>
</tr>
<tr>
<td>fuserCleaningPad</td>
<td>fuser-cleaning-pad</td>
<td>Fuser cleaning pad</td>
</tr>
<tr>
<td>fuserOil</td>
<td>fuser-oil</td>
<td>Fuser oil</td>
</tr>
<tr>
@@ -336,7 +336,7 @@ the "DEBUG:" prefix string.</p>
<td>Photo conductor</td>
</tr>
<tr>
<td>solidWax</td>
<td>solid-wax</td>
<td>Wax supply</td>
</tr>
<tr>
@@ -348,19 +348,19 @@ the "DEBUG:" prefix string.</p>
<td>Toner supply</td>
</tr>
<tr>
<td>transferUnit</td>
<td>transfer-unit</td>
<td>Transfer unit</td>
</tr>
<tr>
<td>wasteInk</td>
<td>waste-ink</td>
<td>Waste ink tank</td>
</tr>
<tr>
<td>wasteToner</td>
<td>waste-toner</td>
<td>Waste toner tank</td>
</tr>
<tr>
<td>wasteWax</td>
<td>waste-wax</td>
<td>Waste wax tank</td>
</tr>
</tbody>
@@ -440,6 +440,95 @@ the "DEBUG:" prefix string.</p>
</tbody>
</table></div>
<h4><a name="ATTR_STRINGS">Reporting Attribute String Values</a></h4>
<p>When reporting string values using "ATTR:" messages, a filter or backend must take special care to appropriately quote those values. The scheduler uses the CUPS option parsing code for attributes, so the general syntax is:</p>
<pre class="example">
name=simple
name=simple,simple,...
name='complex value'
name="complex value"
name='"complex value"','"complex value"',...
</pre>
<p>Simple values are strings that do not contain spaces, quotes, backslashes, or the comma and can be placed verbatim in the "ATTR:" message, for example:</p>
<pre class="example">
int levels[4] = { 40, 50, 60, 70 }; /* CMYK */
fputs("ATTR: marker-colors=#00FFFF,#FF00FF,#FFFF00,#000000\n", stderr);
fputs("ATTR: marker-high-levels=100,100,100,100\n", stderr);
fprintf(stderr, "ATTR: marker-levels=%d,%d,%d,%d\n", levels[0], levels[1],
levels[2], levels[3], levels[4]);
fputs("ATTR: marker-low-levels=5,5,5,5\n", stderr);
fputs("ATTR: marker-types=toner,toner,toner,toner\n", stderr);
</pre>
<p>Complex values that contains spaces, quotes, backslashes, or the comma must be quoted. For a single value a single set of quotes is sufficient:</p>
<pre class="example">
fputs("ATTR: marker-message='Levels shown are approximate.'\n", stderr);
</pre>
<p>When multiple values are reported, each value must be enclosed by a set of single and double quotes:</p>
<pre class="example">
fputs("ATTR: marker-names='\"Cyan Toner\"','\"Magenta Toner\"',"
"'\"Yellow Toner\"','\"Black Toner\"'\n", stderr);
</pre>
<p>The IPP backend includes a <var>quote_string</var> function that may be used to properly quote a complex value in an "ATTR:" message:</p>
<pre class="example">
static const char * /* O - Quoted string */
quote_string(const char *s, /* I - String */
char *q, /* I - Quoted string buffer */
size_t qsize) /* I - Size of quoted string buffer */
{
char *qptr, /* Pointer into string buffer */
*qend; /* End of string buffer */
qptr = q;
qend = q + qsize - 5;
if (qend &lt; q)
{
*q = '\0';
return (q);
}
*qptr++ = '\'';
*qptr++ = '\"';
while (*s && qptr &lt; qend)
{
if (*s == '\\' || *s == '\"' || *s == '\'')
{
if (qptr &lt; (qend - 4))
{
*qptr++ = '\\';
*qptr++ = '\\';
*qptr++ = '\\';
}
else
break;
}
*qptr++ = *s++;
}
*qptr++ = '\"';
*qptr++ = '\'';
*qptr = '\0';
return (q);
}
</pre>
<h4><a name="MANAGING_STATE">Managing Printer State in a Filter</a></h4>
<p>Filters are responsible for managing the state keywords they set using
@@ -763,3 +852,25 @@ void *my_data;
<a href="#cupsSideChannelSNMPWalk">cupsSNMPSideChannelWalk</a>(".1.3.6.1.2.1.43", 5.0, my_callback, my_data);
</pre>
<h2><a name="SANDBOXING">Sandboxing on OS X</a></h2>
<p>Starting with OS X 10.6, filters and backends are run inside a security "sandbox" which further limits (beyond the normal UNIX user/group permissions) what a filter or backend can do. This helps to both secure the printing system from malicious software and enforce the functional separation of components in the CUPS filter chain. What follows is a list of actions that are explicitly allowed for all filters and backends:</p>
<ol>
<li>Reading of files: pursuant to normal UNIX file permissions, filters and backends can read files for the current job from the <var>/private/var/spool/cups</var> directory and other files on mounted filesystems <em>except</em> for user home directories under <var>/Users</var>.</li>
<li>Writing of files: pursuant to normal UNIX file permissions, filters and backends can read/write files to the cache directory specified by the <code>CUPS_CACHEDIR</code> environment variable, to the state directory specified by the <code>CUPS_STATEDIR</code> environment variable, to the temporary directory specified by the <code>TMPDIR</code> environment variable, and under the <var>/private/var/db</var>, <var>/private/var/folders</var>, <var>/private/var/lib</var>, <var>/private/var/mysql</var>, <var>/private/var/run</var>, <var>/private/var/spool</var> (except <var>/private/var/spool/cups</var>), <var>/Library/Application&nbsp;Support</var>, <var>/Library/Caches</var>, <var>/Library/Logs</var>, <var>/Library/Preferences</var>, <var>/Library/WebServer</var>, and <var>/Users/Shared</var> directories.</li>
<li>Execution of programs: pursuant to normal UNIX file permissions, filters and backends can execute any program not located under the <var>/Users</var> directory. Child processes inherit the sandbox and are subject to the same restrictions as the parent.</li>
<li>Bluetooth and USB: backends can access Bluetooth and USB printers through IOKit. <em>Filters cannot access Bluetooth and USB printers directly.</em></li>
<li>Network: filters and backends can access UNIX domain sockets under the <var>/private/tmp</var>, <var>/private/var/run</var>, and <var>/private/var/tmp</var> directories. Backends can also create IPv4 and IPv6 TCP (outgoing) and UDP (incoming and outgoing) socket, and bind to local source ports. <em>Filters cannot directly create IPv4 and IPv6 TCP or UDP sockets.</em></li>
<li>Notifications: filters and backends can send notifications via the Darwin <code>notify_post()</code> API.</li>
</ol>
<blockquote><b>Note:</b> The sandbox profile used in CUPS 2.0 still allows some actions that are not listed above - these privileges will be removed over time until the profile matches the list above.</blockquote>
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
/*
* "$Id$"
* "$Id: array-private.h 3933 2012-10-01 03:01:10Z msweet $"
*
* Private array definitions for CUPS.
*
@@ -48,5 +48,5 @@ extern cups_array_t *_cupsArrayNewStrings(const char *s, char delim)
#endif /* !_CUPS_ARRAY_PRIVATE_H_ */
/*
* End of "$Id$".
* End of "$Id: array-private.h 3933 2012-10-01 03:01:10Z msweet $".
*/
+30 -62
Ver Arquivo
@@ -1,56 +1,25 @@
/*
* "$Id$"
* "$Id: array.c 13138 2016-03-15 14:59:54Z msweet $"
*
* Sorted array routines for CUPS.
* Sorted array routines for CUPS.
*
* Copyright 2007-2012 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/".
* 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.
*
* Contents:
*
* cupsArrayAdd() - Add an element to the array.
* _cupsArrayAddStrings() - Add zero or more comma-delimited strings to an
* array.
* cupsArrayClear() - Clear the array.
* cupsArrayCount() - Get the number of elements in the array.
* cupsArrayCurrent() - Return the current element in the array.
* cupsArrayDelete() - Free all memory used by the array.
* cupsArrayDup() - Duplicate the array.
* cupsArrayFind() - Find an element in the array.
* cupsArrayFirst() - Get the first element in the array.
* cupsArrayGetIndex() - Get the index of the current element.
* cupsArrayGetInsert() - Get the index of the last inserted element.
* cupsArrayIndex() - Get the N-th element in the array.
* cupsArrayInsert() - Insert an element in the array.
* cupsArrayLast() - Get the last element in the array.
* cupsArrayNew() - Create a new array.
* cupsArrayNew2() - Create a new array with hash.
* cupsArrayNew3() - Create a new array with hash and/or free function.
* _cupsArrayNewStrings() - Create a new array of comma-delimited strings.
* cupsArrayNext() - Get the next element in the array.
* cupsArrayPrev() - Get the previous element in the array.
* cupsArrayRemove() - Remove an element from the array.
* cupsArrayRestore() - Reset the current element to the last @link
* cupsArraySave@.
* cupsArraySave() - Mark the current element for a later @link
* cupsArrayRestore@.
* cupsArrayUserData() - Return the user data for an array.
* cups_array_add() - Insert or append an element to the array.
* cups_array_find() - Find an element in the array.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
* Include necessary headers...
*/
#include <cups/cups.h>
#include "string-private.h"
#include "debug-private.h"
#include "array-private.h"
@@ -423,7 +392,7 @@ cupsArrayDup(cups_array_t *a) /* I - Array */
* Allocate memory for the elements...
*/
da->elements = malloc(a->num_elements * sizeof(void *));
da->elements = malloc((size_t)a->num_elements * sizeof(void *));
if (!da->elements)
{
free(da);
@@ -451,7 +420,7 @@ cupsArrayDup(cups_array_t *a) /* I - Array */
* Just copy raw pointers...
*/
memcpy(da->elements, a->elements, a->num_elements * sizeof(void *));
memcpy(da->elements, a->elements, (size_t)a->num_elements * sizeof(void *));
}
da->num_elements = a->num_elements;
@@ -794,7 +763,7 @@ cupsArrayNew3(cups_array_func_t f, /* I - Comparison function or @code NULL@ fo
{
a->hashfunc = h;
a->hashsize = hsize;
a->hash = malloc(hsize * sizeof(int));
a->hash = malloc((size_t)hsize * sizeof(int));
if (!a->hash)
{
@@ -802,7 +771,7 @@ cupsArrayNew3(cups_array_func_t f, /* I - Comparison function or @code NULL@ fo
return (NULL);
}
memset(a->hash, -1, hsize * sizeof(int));
memset(a->hash, -1, (size_t)hsize * sizeof(int));
}
a->copyfunc = cf;
@@ -918,9 +887,9 @@ int /* O - 1 on success, 0 on failure */
cupsArrayRemove(cups_array_t *a, /* I - Array */
void *e) /* I - Element */
{
int i, /* Looping var */
current, /* Current element */
diff; /* Difference */
ssize_t i, /* Looping var */
current; /* Current element */
int diff; /* Difference */
/*
@@ -952,7 +921,7 @@ cupsArrayRemove(cups_array_t *a, /* I - Array */
if (current < a->num_elements)
memmove(a->elements + current, a->elements + current + 1,
(a->num_elements - current) * sizeof(void *));
(size_t)(a->num_elements - current) * sizeof(void *));
if (current <= a->current)
a->current --;
@@ -1053,9 +1022,9 @@ cups_array_add(cups_array_t *a, /* I - Array */
void *e, /* I - Element to add */
int insert) /* I - 1 = insert, 0 = append */
{
int i, /* Looping var */
current, /* Current element */
diff; /* Comparison with current element */
int i, /* Looping var */
current; /* Current element */
int diff; /* Comparison with current element */
DEBUG_printf(("7cups_array_add(a=%p, e=%p, insert=%d)", a, e, insert));
@@ -1079,7 +1048,7 @@ cups_array_add(cups_array_t *a, /* I - Array */
if (a->alloc_elements == 0)
{
count = 16;
temp = malloc(count * sizeof(void *));
temp = malloc((size_t)count * sizeof(void *));
}
else
{
@@ -1088,10 +1057,10 @@ cups_array_add(cups_array_t *a, /* I - Array */
else
count = a->alloc_elements + 1024;
temp = realloc(a->elements, count * sizeof(void *));
temp = realloc(a->elements, (size_t)count * sizeof(void *));
}
DEBUG_printf(("9cups_array_add: count=%d", count));
DEBUG_printf(("9cups_array_add: count=" CUPS_LLFMT, CUPS_LLCAST count));
if (!temp)
{
@@ -1181,7 +1150,7 @@ cups_array_add(cups_array_t *a, /* I - Array */
*/
memmove(a->elements + current + 1, a->elements + current,
(a->num_elements - current) * sizeof(void *));
(size_t)(a->num_elements - current) * sizeof(void *));
if (a->current >= current)
a->current ++;
@@ -1190,11 +1159,11 @@ cups_array_add(cups_array_t *a, /* I - Array */
if (a->saved[i] >= current)
a->saved[i] ++;
DEBUG_printf(("9cups_array_add: insert element at index %d...", current));
DEBUG_printf(("9cups_array_add: insert element at index " CUPS_LLFMT, CUPS_LLCAST current));
}
#ifdef DEBUG
else
DEBUG_printf(("9cups_array_add: append element at %d...", current));
DEBUG_printf(("9cups_array_add: append element at " CUPS_LLFMT, CUPS_LLCAST current));
#endif /* DEBUG */
if (a->copyfunc)
@@ -1213,8 +1182,7 @@ cups_array_add(cups_array_t *a, /* I - Array */
#ifdef DEBUG
for (current = 0; current < a->num_elements; current ++)
DEBUG_printf(("9cups_array_add: a->elements[%d]=%p", current,
a->elements[current]));
DEBUG_printf(("9cups_array_add: a->elements[" CUPS_LLFMT "]=%p", CUPS_LLCAST current, a->elements[current]));
#endif /* DEBUG */
DEBUG_puts("9cups_array_add: returning 1");
@@ -1362,5 +1330,5 @@ cups_array_find(cups_array_t *a, /* I - Array */
/*
* End of "$Id$".
* End of "$Id: array.c 13138 2016-03-15 14:59:54Z msweet $".
*/

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