Comparar commits

...

107 Commits

Autor SHA1 Mensagem Data
Michael Sweet 6dae042496 Remove source directory. 2016-06-14 13:52:14 -04:00
Michael Sweet 3cf02fdb08 Use "vN.N.N" for the tag name starting in 2.2. 2016-06-14 13:49:47 -04:00
Michael Sweet 1b87331da5 Push the created tag. 2016-06-14 13:48:33 -04:00
Michael Sweet 42e3781598 Fix typos. 2016-06-14 13:42:19 -04:00
Michael Sweet eda95e0fab New makesrcdist script. 2016-06-14 13:31:01 -04:00
Michael Sweet e9c38c480b Changelog. 2016-06-08 14:54:20 -04:00
Michael R Sweet b9370705d8 Merge pull request #4836 from bigon/dnssd
Fix malformed device-id for printers found by dnssd
2016-06-08 14:49:35 -04:00
Laurent Bigonville 14a71491b6 Fix malformed device-id for printers found by dnssd
Add missing semicolon between printer model and command

Closes: #4835
2016-06-08 08:59:33 +02:00
Michael Sweet 63c5db7d32 Fix EPM packaging file. 2016-06-02 12:08:37 -04:00
Michael Sweet 3539b9d3bb Bump version. 2016-05-31 14:05:53 -04:00
Michael Sweet 83d8789dc6 Exit with keep-alive instead of doing a in-place restart when on-demand
launching is in use (Issue #4760)
2016-05-31 13:42:28 -04:00
Michael Sweet 329cfeb013 Fix compiler warning. 2016-05-30 19:47:39 -04:00
Michael Sweet ad7daa2593 Update private threading API. 2016-05-30 19:45:17 -04:00
Michael Sweet 34facc5ce0 Fix compiler warnings. 2016-05-30 19:41:07 -04:00
Michael Sweet 29cb7da9b9 Merge branch 'master' of https://github.com/apple/cups 2016-05-30 19:11:42 -04:00
Michael Sweet 3bd2e63087 Fix typo in cupsctl man page (PR #4829) 2016-05-30 19:10:06 -04:00
Michael R Sweet eee24e7df5 Update configure script. 2016-05-27 16:49:59 -04:00
Michael Sweet d58c26292f Update copyrights on all man pages. 2016-05-26 08:57:11 -04:00
Michael R Sweet b9574f5a28 Merge pull request #4818 from jschwender/master
add some missing translation
2016-05-26 07:21:50 -04:00
Michael R Sweet 681399ba79 Merge pull request #4822 from zdohnal/lpinfo-username
Update lpinfo.man - removed -U username
2016-05-26 07:20:29 -04:00
Michael Sweet bdbfacc73e Support POSIX option processing (Issue #4813) 2016-05-25 19:33:42 -04:00
Michael Sweet 9e6d7a0f87 Improve performance of web interface with large numbers of jobs (Issue #3819)
Also re-work web interface to not allow the order to be changed (since that
will negatively impact performance) but instead add first/last buttons to the
pager.
2016-05-25 17:33:36 -04:00
Michael Sweet dffa3c7438 Add new administrative APis help. 2016-05-25 11:55:27 -04:00
Michael Sweet 34016d2a5d httpAddrConnect2 could get into an infinite loop for socket errors. 2016-05-23 22:13:54 -04:00
Michael R Sweet 0eff12fa6b Fix compile errors. 2016-05-18 11:54:04 -07:00
Michael Sweet 08d56b1fb9 Implement TrustOnFirstUse option and CRLs (GNU TLS) to allow for printing only
to trusted printers/servers (<rdar://problem/25711658>)

This change also makes the default value of AllowExpiredCerts NO instead of YES.

Finally, add support for loading most client.conf options (NOT ServerName or
User) from /Library/Printers/org.cups.PrintingPrefs.plist on OS X.
2016-05-18 14:42:37 -04:00
Michael Sweet 71d227bf28 The scheduler now advertises PWG Raster attributes for IPP Everywhere clients
(Issue #4428)
2016-05-16 19:54:35 -04:00
Michael Sweet 75c86da7a7 The scheduler now logs informational messages for jobs at LogLevel "info"
(Issue #4815)
2016-05-16 09:39:10 -04:00
Michael Sweet 6eb98aee93 The scheduler now uses the getgrouplist function when available (Issue #4611) 2016-05-13 12:11:52 -04:00
Michael Sweet 92de7dd269 Drop old IPP Everywhere self-certification project from VC++ directory.
Update README for Windows.
2016-05-13 10:47:40 -04:00
Michael Sweet 11b24fee62 Fix time_at_xxx substitutions in jobs template (Issue #4041) 2016-05-11 15:24:45 -04:00
Michael Sweet a6fd57bc66 Rename "job-actual-printer-uri" to "job-printer-uri-actual". 2016-05-11 15:05:40 -04:00
Michael Sweet 8d7608ec3a Add reference to IANA registry for printer-state-reasons values. 2016-05-11 14:47:04 -04:00
Michael Sweet c6e4e71234 Fix printing of multiple files to raw queues (Issue #4782) 2016-05-11 11:25:37 -04:00
Michael Sweet e0f489cd21 Fix Hold-New-Jobs implementation (Issue #4767) 2016-05-11 10:35:53 -04:00
Michael Sweet 1e56f93b01 Add quotes around DYLD_INSERT_LIBRARIES value. 2016-05-11 10:34:08 -04:00
Michael Sweet 423e6ddbf3 Update man pages. 2016-05-11 10:33:53 -04:00
zdohnal ce6198ad7c Update lpinfo.man - removed -U username 2016-05-09 13:48:56 +02:00
Michael Sweet 40df01c1b5 Add common options to lp/lpr man pages (Issue #4794) 2016-05-02 18:58:42 -04:00
Michael Sweet 91f7a0f3d9 Changelog. 2016-05-02 18:02:31 -04:00
Michael Sweet abc9d50f97 Add Brazilian Portuguese localization (Issue #4796) 2016-05-02 18:01:42 -04:00
Michael Sweet ef8c0810a4 Update localization files. 2016-05-02 17:27:01 -04:00
Michael Sweet 30ea77599b Deal with duplicate finishing-template values due to templates for different
media sizes.
2016-05-02 17:07:54 -04:00
Michael Sweet c08865231f Add support for finishings and finishings-col.finishing-template. 2016-05-02 17:03:56 -04:00
Michael Sweet 6fb588e01a Stagger connect calls by 100ms to avoid "confusing" printers and/or the network
stack.

Add a socket-static target for testing.
2016-05-02 13:03:47 -04:00
jschwender 4fcc17293b Update choose-device.tmpl 2016-04-29 19:10:11 +02:00
jschwender c7e7d55529 Update modify-printer.tmpl 2016-04-29 19:08:55 +02:00
jschwender 091b6ecbda Update choose-device.tmpl 2016-04-29 19:04:39 +02:00
Michael R Sweet d928965bc2 Merge pull request #4814 from jschwender/master
updated, more complete german translation
2016-04-24 11:19:04 -04:00
jschwender 88d45155d6 version was hardcoded 2016-04-23 11:29:15 +02:00
root 7744ab5957 updated, more complete german translation 2016-04-22 14:15:35 +02:00
Michael R Sweet f7b064491c Merge pull request #4792 from OdyX/fix-spelling-error-in-ipp-var
Fix spelling error in 'returning'
2016-04-21 16:39:20 -04:00
Michael R Sweet 52df502b7d Merge pull request #4807 from OdyX/fix-spanish-gerunds
Fix spanish gerunds in index.html
2016-04-21 16:38:49 -04:00
Michael R Sweet 5558a2e267 PR #4808: Fix builds without Avahi or mDNSResponder. 2016-04-21 16:21:54 -04:00
Michael Sweet de8c34f8bd Check for newer Security framework header version to avoid compiler error. 2016-04-19 15:22:33 -04:00
Santiago Vila 8457264a12 Fix spanish gerunds in index.html
Bug-Debian: https://bugs.debian.org/821788
2016-04-19 19:23:09 +02:00
Michael Sweet 6b4bf984e5 Add remaining binaries that are built by the makefiles.
Fix compiler warning.
2016-04-15 11:35:57 -04:00
Michael Sweet 68c4690a3b Add more targets covering the CGIs and filters.
Fix some build warnings.
2016-04-15 10:31:13 -04:00
Michael R Sweet e00dad7cd7 Merge branch 'master' of https://github.com/apple/cups 2016-04-15 07:15:56 -04:00
Michael R Sweet c82a6251a5 Save work on adding all unit tests to Xcode project. 2016-04-15 07:14:51 -04:00
Michael Sweet b052deedae Fix some localization issues with Norwegian. 2016-04-14 12:09:35 -04:00
Michael Sweet e7a78c92a6 Move cupsGetDevices to adminutil.h since it isn't a regular application API. 2016-04-14 08:44:22 -04:00
Michael R Sweet 2274d26beb Fix some bugs in the new server-side TLS support code. 2016-04-13 16:55:07 -04:00
Michael Sweet 68a36223d0 Switch USB implementation to handle iterating with multiple interfaces. 2016-04-13 12:45:44 -04:00
Michael Sweet c6a37af863 Ignore all .git* files too. 2016-04-13 12:30:24 -04:00
Michael Sweet 2c913ee0fc Omit extra files from archives. 2016-04-13 12:28:09 -04:00
Michael Sweet 2434317389 Drop SVN stuff from version. 2016-04-13 11:43:34 -04:00
Michael Sweet d825017aa0 Drop API help for CGI, MIME, and PPD compiler libraries.
Don't uninstall public headers, these are all now private headers.
2016-04-12 07:00:21 -04:00
Michael Sweet 27453efb87 Move CGI, PPD compiler, and MIME heades to the private headers directory. 2016-04-12 06:52:27 -04:00
Michael Sweet e1f8967599 Remove unused files or files that are being developed in a separate repository. 2016-04-12 06:45:12 -04:00
Michael R Sweet 709a49805d Ignore GNU gettext backup (.bck) files. 2016-04-11 20:31:03 -04:00
Michael R Sweet 7abd22c180 Update localization files. 2016-04-11 20:30:36 -04:00
Michael R Sweet 258bf33c02 Ignore Xcode docset "tokens" files. 2016-04-11 20:29:32 -04:00
Michael R Sweet 503b54c930 Remove all of the Subversion keywords from various source files. 2016-04-11 20:28:30 -04:00
Michael R Sweet e34d1ec4b9 Work around undocumented side-effect of SecItemAdd... 2016-04-11 18:36:42 -04:00
Michael R Sweet fc4bbb58d6 Update cert code to not require a keychain. Default keychain works on all platforms... 2016-04-11 18:35:25 -04:00
Michael R Sweet 558883c6dd Add missing prototypes/definitions and do a first pass at fixing up the self-signed cert code. 2016-04-11 17:37:14 -04:00
Michael R Sweet b0c14d0a51 Merge branch 'master' of https://github.com/apple/cups 2016-04-11 17:16:32 -04:00
Michael R Sweet 1a7059a095 Created certificate should be RSA, not ECDSA. 2016-04-11 17:16:17 -04:00
Michael Sweet a395099703 Fix localization of some media sizes (Issue #4800) 2016-04-08 17:11:40 -04:00
Michael R Sweet fcea7df43c Add debug info on failed keychain open. 2016-04-07 15:11:42 -04:00
Michael R Sweet bb94e24caf Cleanup cups-lpd - remove unused arguments. 2016-04-07 15:06:58 -04:00
Michael R Sweet 879ee463ea Fix default TMPDIR path. 2016-04-07 15:05:35 -04:00
Michael Sweet f358533bb9 Merge branch 'master' of https://github.com/apple/cups 2016-04-06 14:04:44 -04:00
Michael Sweet b73a566ce7 Save changes. 2016-04-06 14:04:35 -04:00
Michael R Sweet 515c3db932 Do not compress print jobs by default except for certain raster formats. 2016-04-04 15:13:08 -04:00
Michael Sweet 9688061e94 Add iOS target, config.h tweaks, and dest.c tweaks for builds. 2016-03-31 22:55:51 -04:00
Michael R Sweet 233715a8d3 The scheduler did not handle out-of-disk situations gracefully (Issue #4742) 2016-03-29 10:05:12 -04:00
Michael R Sweet f80e6f383c Documentation changes (Issue #4781) 2016-03-29 09:59:55 -04:00
Didier Raboud 138d4f6d54 Fix spelling error in 'returning' 2016-03-25 10:48:06 +01:00
Michael R Sweet 5eb7439254 The LPD mini-daemon now detects invalid UTF-8 sequences in job, document, and
user names (Issue #4748)
2016-03-24 18:55:20 -04:00
Michael R Sweet 21f92a3cfd Silence compiler warning. 2016-03-24 18:53:53 -04:00
Michael R Sweet 508de6790c The debug strings table for mime type operations was out of sync with the
enumeration (PR #4787)
2016-03-24 17:59:09 -04:00
Michael R Sweet f73476aed9 Drop unused definitions. 2016-03-24 17:55:28 -04:00
Michael R Sweet 1a00f9bf9e The ipptool program did not correctly report uriScheme values in plist output
(Issue #4785)
2016-03-24 17:50:56 -04:00
Michael R Sweet 2c9bf31eaf The ipptool program truncated values at 8k (Issue #4786) 2016-03-24 17:45:11 -04:00
Michael R Sweet 09534eb005 Ignore patches subdirectory. 2016-03-24 17:35:38 -04:00
Michael R Sweet b89522333d Add USB quirk rule for Lexmark C540n (Issue #4778) 2016-03-24 17:29:58 -04:00
Michael R Sweet 5925ce336b Add USB quirk rule for Xerox WorkCentre 3220 (Issue #4789) 2016-03-24 17:26:54 -04:00
Michael R Sweet 961a8a3730 The cups-lpd mini-daemon incorrectly included the document-name attribute when
creating a job.  It should only be included when sending a job (Issue #4790)
2016-03-24 17:18:56 -04:00
Michael Sweet 807315e64e Changes to eliminate warnings from new Clang. 2016-03-23 18:52:56 -04:00
Michael R Sweet 6ef28fe572 Merge pull request #4788 from leoarnold/mailmap
Add a mailmap for correct work attribution
2016-03-17 19:26:30 -04:00
Leo Arnold 110be0221b Add a mailmap for correct work attribution
This MailMap will ensure correct GitHub attribution for Michael R Sweet
2016-03-17 23:26:27 +01:00
Michael Sweet 8cd7e4da2b Fix markdown for some of the examples... 2016-03-17 15:45:31 -04:00
Michael Sweet d8ace9c1a6 Update CONTRIBUTING file to use markdown syntax.
Add that Github pull requests can be used to submit changes as well.
2016-03-17 15:42:38 -04:00
Michael Sweet 9d7291518c Remove obsolete files and ignore Xcode files. 2016-03-17 15:24:36 -04:00
Michael Sweet c7a9698e0b Ignore all generated files. 2016-03-15 12:20:40 -04:00
626 arquivos alterados com 26838 adições e 51576 exclusões
+3
Ver Arquivo
@@ -0,0 +1,3 @@
.git* export-ignore
.mailmap export-ignore
tools export-ignore
+14 -7
Ver Arquivo
@@ -1,16 +1,19 @@
autom4te.cache
config.h
config.log
config.status
cups-config
Makedefs
*.a
*.bck
*.cgi
*.dylib
*.gz
*.o
*.so
*.so.*
*.tokens
.buildrev
autom4te.cache
config.h
config.log
config.status
cups-config
Makedefs
backend/dnssd
backend/http
backend/ipp
@@ -83,6 +86,7 @@ notifier/mailto
notifier/rss
notifier/testnotify
packaging/cups.list
patches
ppdc/genstrings
ppdc/ppd/
ppdc/ppd2/
@@ -139,4 +143,7 @@ test/ippfind
test/ippfind-static
test/ippserver
test/ipptool
test/ipptool-static
test/ipptool-static
xcode/CUPS.xcodeproj/project.xcworkspace/
xcode/CUPS.xcodeproj/xcuserdata/
+11
Ver Arquivo
@@ -0,0 +1,11 @@
# Prevent git from showing duplicate names with commands like "git shortlog"
# See the manpage of git-shortlog for details.
# The syntax is:
# Name that should be used <email that should be used> Bad name <bad email>
#
# You can skip Bad name if it is the same as the one that should be used, and is unique.
#
# This file is up-to-date if the command git log --format="%aN <%aE>" | sort -u
# gives no duplicates.
Michael R Sweet <michaelrsweet@gmail.com> msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Michael R Sweet <michaelrsweet@gmail.com> Michael Sweet <msweet@msweet-imac.local>
+51 -40
Ver Arquivo
@@ -3,28 +3,39 @@ CHANGES-2.1.txt
CHANGES IN CUPS V2.1.4
- Documentation update (STR #4772)
- Fixed reporting of 1284 Device IDs (Issue #3835, PR #3836)
- Fixed printing of multiple files to raw queues (Issue #4782)
- The scheduler did not implement the Hold-New-Jobs opertion correctly
(Issue #4767)
- The ipptool program truncated values at 8k (Issue #4786)
- The ipptool program did not correctly report uriScheme values in plist
output (Issue #4785)
- The cups-lpd mini-daemon incorrectly included the document-name
attribute when creating a job. It should only be included when
sending a job (Issue #4790)
- USB quirk updates (Issue #4778, Issue #4789)
- Documentation update (Issue #4772)
CHANGES IN CUPS V2.1.3
- The default password function did not work on some platforms
(STR #4750)
(Issue #4750)
- The scheduler should not exit under memory pressure
(<rdar://problem/23255001>)
- The EPL2 and ZPL sample drivers did not properly support the CutMedia
option.
- Pending subscriptions would prevent the scheduler from idle exiting
(STR #4754)
(Issue #4754)
- Fixed some issues in ipptool for skipped tests
(<rdar://problem/24137160>)
- The "lp -H resume" command did not reset the "job-state-reasons"
attribute value (STR #4752)
attribute value (Issue #4752)
- cupsEncodeOptions2 incorrectly handled escaped values
(<rdar://problem/19736672>)
- The scheduler did not allow access to resource files (icons, etc.)
when the web interface was disabled (STR #4755)
- Localization fix (STR #4756)
when the web interface was disabled (Issue #4755)
- Localization fix (Issue #4756)
CHANGES IN CUPS V2.1.2
@@ -46,56 +57,56 @@ CHANGES IN CUPS V2.1.1
<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)
- The cupsGetPPD* functions did not work with IPP printers (Issue #4725)
- Some older HP LaserJet printers need a delayed close when printing
using the libusb-based USB backend (STR #4549)
using the libusb-based USB backend (Issue #4549)
- The libusb-based USB backend did not unload the kernel usblp module
if it was preventing the backend from accessing the printer
(STR #4707)
(Issue #4707)
- Current Primera printers were incorrectly reported as Fargo printers
(STR #4708)
(Issue #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)
- Scheduler logging change (Issue #4728)
- Added USB quirk for Canon MP530 (Issue #4730)
- The scheduler did not deliver job notifications for jobs submitted to
classes (STR #4733)
classes (Issue #4733)
- Changing the printer-is-shared value for a remote queue did not
produce an error (STR #4738)
produce an error (Issue #4738)
- The IPP backend incorrectly included the job-password attribute in
Validate-Job requests (<rdar://problem/23531939>)
- Updated localizations (STR #4709)
- Updated localizations (Issue #4709)
CHANGES IN CUPS V2.1.0
- Fixed more scheduler crash bugs in the new logging code (STR #4687,
STR #4690)
- Fixed more scheduler crash bugs in the new logging code (Issue #4687,
Issue #4690)
- The scheduler did not use the ConfigFilePerm setting when copying PPD
files or interface scripts attached to a request (STR #4703)
files or interface scripts attached to a request (Issue #4703)
- Now support new Chinese locale IDs and their correct fallback locales
(<rdar://problem/22086642>, <rdar://problem/22130168>)
- "make check" incorrectly reported an expectation of 18 warning
messages when 8 were expected (STR #4684)
- The new PDF file type rule did not work (STR #4692)
messages when 8 were expected (Issue #4684)
- The new PDF file type rule did not work (Issue #4692)
- The scheduler did not update the jobs.cache file when job files were
expired (STR #4706)
- Fixed some configure script issues (STR #4694, STR #4695, STR #4698)
- Documentation updates (STR #4691, STR #4693)
expired (Issue #4706)
- Fixed some configure script issues (Issue #4694, Issue #4695, Issue #4698)
- Documentation updates (Issue #4691, Issue #4693)
CHANGES IN CUPS V2.1rc1
- Added support for 3D printers (basic types only, no built-in filters)
based on PWG white paper.
- Fixed bugs in the new journald support (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)
- Fixed bugs in the new journald support (Issue #4655, Issue #4658,
Issue #4661)
- Fixed domain socket support on Linux (Issue #4679)
- Fixed signal handlers in the dnssd and usb backends (Issue #4671)
- <Limit All> in <Policy> sections now applies to all operations when
used by itself (STR #4659)
- Configure script changes for systemd support (STR #4669)
- Updated autoconf sources to use newer form of AC_INIT (STR #4664)
used by itself (Issue #4659)
- Configure script changes for systemd support (Issue #4669)
- Updated autoconf sources to use newer form of AC_INIT (Issue #4664)
CHANGES IN CUPS V2.1b1
@@ -110,30 +121,30 @@ CHANGES IN CUPS V2.1b1
- 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)
supply their own (Issue #4518)
- Added support for EXPECT-ALL directive in ipptool test files
(STR #4469)
(Issue #4469)
- Added support for WITH-VALUE-FROM predicate in ipptool test files
(STR #4470)
(Issue #4470)
- The scheduler no longer listens on the loopback interface unless the
web interface or printer sharing are enabled
(<rdar://problem/9136448>)
- Added a PPD generator for IPP Everywhere printers (STR #4258)
- Added a PPD generator for IPP Everywhere printers (Issue #4258)
- Now install "default" versions of more configuration files
(<rdar://problem/19024491>)
- The cupstestppd program did not handle "maxsize(nnn)" entries in
cupsFilter/cupsFilter2 values (<rdar://problem/18974858>)
- The scheduler now checks the return value of rename() calls
(STR #4589)
(Issue #4589)
- The scheduler now validates ErrorPolicy values in config files
(STR #4591)
- Long cookies caused the web interface to stop working (STR #4619)
(Issue #4591)
- Long cookies caused the web interface to stop working (Issue #4619)
- Added SSLOptions values to allow Diffie-Hellman key exchange and
disable TLS/1.0 support.
- Updated the scheduler to support more IPP Everywhere attributes
(STR #4630)
(Issue #4630)
- The scheduler now supports advanced ASL and journald logging when
"syslog" output is configured (STR #4474)
"syslog" output is configured (Issue #4474)
- The scheduler now supports logging to stderr when running in the
foreground (STR #4505)
foreground (Issue #4505)
-168
Ver Arquivo
@@ -1,168 +0,0 @@
CHANGES-IPPTOOL.txt - 2015-05-15
--------------------------------
This file provides a list of changes to the ipptool binary distribution posted
on CUPS.org.
2014-05-15
- Added support for simultaneous XML and test output from ipptool.
- Added support for PAUSE directive in ipptool test files.
2013-07-15
- New ippfind tool now included with ipptool.
- Added support for automatically extending the timeout when all of the
request data has not yet been written (all platforms but Windows
which does not support it...)
- Fixed several ipptool test files that used old STATUS names.
2013-04-18
- Fixed some HTTP issues with authentication and compression.
- The IPP/1.1 test file did not allow for sufficient retries when
printing.
- The IPP/1.1 test file did not allow for empty printer-name values.
- The IPP Everywhere test file contained numerous errors.
- The color.jpg test file used a progressive mode instead of the
baseline JPEG mode.
- The IPP/1.1 test file referenced "color.jpeg" instead of "color.jpg".
2013-01-31
- Added support for DEFINE-MATCH and DEFINE-NO-MATCH as STATUS
predicates.
- Added support for WITH-VALUE and resolution values.
- Added support for SKIP-IF-MISSING (skip test if file is missing)
- Added support for octetString values.
- Added support for document compression in Print-Job and Send-Document
requests.
- Fixed REPEAT-MATCH for STATUS and EXPECT - was incorrectly erroring
out.
- Fixed a bug where bad IPP responses would cause ipptool to crash.
2012-02-28
- Changed behavior of WITH-VALUES "/regex/" to not require all values to
match.
- Added WITH-ALL-VALUES directive for EXPECT predicates that require all
values to match.
- Updated test files to use WITH-ALL-VALUES where necessary.
- Updated test files to use new ABNF for media names from PWG Media
Names 2.0.
2012-02-06
- Fixed the packaging of ipptool on Windows (removed unnecessary DLLs)
- Fixed an crash in ipptool when mixing DISPLAY with -I and a failed
request.
- Added a Print-Job test file.
- Added a "setdebug" batch file for Windows
- Added support for a CUPS_DISABLE_ASYNC_CONNECT environment variable.
2012-01-10
- Fixed an issue with the IPP/1.1 test file where the "waiting for job
completion" test did not work.
- The attribute groups out of order error was not shown for the
operation-attributes-tag group.
2011-12-02
- Fixed a truncated XML output bug that would happen for certain errors.
- Fixed the order-of-groups tests.
- Fixed "WITH-VALUE >N" for rangeOfInteger attributes.
- The Windows installer was missing the get-printer-attributes.test
file.
- The Linux binaries are now compiled for all LSB 4.x-compliant Linux
distributions.
- The Linux binaries no longer support SSL or TLS.
2011-10-05
- Fixed a crasher bug that showed up on Windows.
- The IPP/1.1 test would hang if the initial Print-Job test failed.
- Fixed a typo in the IPP/2.0 test.
2011-10-03
- Using OF-TYPE with the "no-value" or "unknown" out-of-band value tags
now works without special WITH-VALUE strings.
- ipptool now shows an error when an attribute appears more than once
within the same attribute group.
- ipptool did not display attributes as specified by the DISPLAY
directive when a test error failed.
- Fixed one spot where DEFINE-VALUE was still treated as an error when
the EXPECT test failed.
- uriScheme values were not displayed properly.
- Updated the IPP/1.1 tests to properly validate support for
job-hold-until-default and job-hold-until-supported when the Hold-Job
operation is supported.
- Updated the IPP/1.1 tests to properly check for the various standard
media sizes for the printing tests.
- Updated the IPP/1.1 tests to accept "no-value" for media-default an
orientation-requested-default.
- Updated the IPP/1.1 tests to accept "unknown" for job-state.
- Updated the IPP/1.1 tests to not perform the bogus URI printing tests
unless the "document-uri" variable is defined.
- Updated the IPP/2.0 tests to properly validate media-col
"media-xxx-supported" attributes.
- Updated the IPP/2.2 tests to properly validate media-ready and
media-col-ready.
2011-09-28
- Test output now includes a summary and overall score at the end.
- The MATCH-VALUE predicate now correctly deals with a failed EXPECT
condition.
- The IPP/1.1 test suite now looks for legacy media names and uses them
if the corresponding PWG standard names are not present.
- The IPP/1.1 test suite now tests the Print-Job+Release-Job when the
printer supports the job-hold-until attribute, Hold-Job operation, and
Release-Job operation.
2011-09-21
- Fixes for HTTP chunking, timeout, and encryption issues reported by
various users.
- Greatly improved IPP tests with added IPP/2.2 tests.
- New test documents - 1-page and 4-page mixed A4/Letter PDF/PS and a
couple JPEGs.
- New REPEAT directives to programmatically repeat tests as needed.
2011-08-16
- The Windows version no longer requires Visual Studio to be installed.
- The Windows version now supports SSL.
- Added "ipps" URI support.
- Added a new "-T" option.
- Added support for fractional seconds for the -i option and DELAY
directive.
- Added support for authentication.
- Added DEFINE-MATCH, DEFINE-NO-MATCH, DEFINE-VALUE, IF-NOT-DEFINED,
IGNORE-ERRORS, SKIP-IF-DEFINED, SKIP-IF-NOT-DEFINED,
SKIP-PREVIOUS-ERROR directives.
- WITH-VALUE now supports variable expansion.
- Updated the IPP/1.1 conformance test to skip the "my-jobs different
user" test if the printer URI contains a username.
- Updated the IPP conformance tests to validate media, media-default,
and media-supported values.
- No longer error out if a Printer returns a different version number in
the response when the request contains the version 0.0.
2010-10-16
- Initial release of standalone binary.
+24 -1
Ver Arquivo
@@ -1,8 +1,27 @@
CHANGES.txt - 2.2b1 - 2016-03-10
CHANGES.txt - 2.2b1 - 2016-06-02
--------------------------------
CHANGES IN CUPS V2.2b1
- All CUPS commands now support POSIX options (Issue #4813)
- The scheduler now restarts faster (Issue #4760)
- Improved performance of web interface with large numbers of jobs
(Issue #3819)
- Encrypted printing can now be limited to only trusted printers and
servers (<rdar://problem/25711658>)
- The scheduler now advertises PWG Raster attributes for IPP Everywhere
clients (Issue #4428)
- The scheduler now logs informational messages for jobs at LogLevel
"info" (Issue #4815)
- The scheduler now uses the getgrouplist function when available
(Issue #4611)
- The IPP backend no longer enables compression by default except for
certain raster formats that generally benefit from it
(<rdar://problem/25166952>)
- The scheduler did not handle out-of-disk situations gracefully
(Issue #4742)
- The LPD mini-daemon now detects invalid UTF-8 sequences in job,
document, and user names (Issue #4748)
- The IPP backend now continues on to the next job when the remote
server/printer puts the job on hold (<rdar://problem/24858548>)
- The scheduler did not cancel multi-document jobs immediately
@@ -20,3 +39,7 @@ CHANGES IN CUPS V2.2b1
(<rdar://problem/23135640>)
- Added a new cupsHashData API and support for hashed job passwords
(<rdar://problem/20221502>)
- Localization fixes (<rdar://problem/25292403>,
<rdar://problem/25461517>, Issue #4041, Issue #4796)
- Documentation changes (Issue #4624, Issue #4781)
- Packaging fixes (PR #4832)
+96 -97
Ver Arquivo
@@ -1,5 +1,4 @@
CONTRIBUTING.txt - 2016/01/28
-----------------------------
# Contributing to CUPS
CUPS is developed by Apple Inc. and distributed as open source software under a
combination of GNU GPL2 and GNU LGPL2 licenses with exceptions to allow
@@ -12,10 +11,11 @@ Apple using the Apple Contributor Agreement:
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.
should be provided as-is or in an archive. Github pull requests can also be
used to submit changes.
HOW TO CONTACT THE DEVELOPERS
## 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
@@ -24,7 +24,7 @@ CUPS usage questions and new software announcements while the "cups-devel"
mailing list provides a forum for CUPS developers and monitoring new bugs.
INTERFACES
## INTERFACES
CUPS interfaces, including the C APIs and command-line arguments, environment
variables, configuration files, and output format, are stable across patch
@@ -47,7 +47,7 @@ published C API to access data stored in a file to avoid compatibility problems
in the future.
BUILD SYSTEM
## 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
@@ -62,7 +62,7 @@ specific extensions, and GNU libtool is not portable or reliable enough for
CUPS.
VERSION NUMBERING
## 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
@@ -71,13 +71,13 @@ 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.
> 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:
@@ -113,14 +113,14 @@ minor version numbers followed by the release candidate number:
2.2rc1
CODING GUIDELINES
## 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
### 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
@@ -128,10 +128,10 @@ 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.
> 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:
@@ -154,7 +154,7 @@ the following additional comment appears after the contact information:
* This file is subject to the Apple OS-Developed Software exception.
HEADER FILES
### 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
@@ -170,7 +170,7 @@ Typically a private API header file will include the corresponding public API
header file.
COMMENTS
### COMMENTS
All source code utilizes block comments within functions to describe the
operations being performed by a group of statements; avoid putting a comment
@@ -201,27 +201,26 @@ comments ("// comment"):
} while (i == (sizeof(array) / sizeof(array[0])));
INDENTATION
### 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);
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
@@ -240,28 +239,28 @@ spaces after each "case" and "default" case:
}
SPACING
### 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
### RETURN VALUES
Parenthesis surround values returned from a function:
return (CUPS_STATE_IDLE);
FUNCTIONS
### 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.
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.
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
@@ -295,16 +294,16 @@ text in the function description comment:
function name with an underscore)
VARIABLES
### 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
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
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.
@@ -315,26 +314,26 @@ comment block describing the variable:
static int that_variable; /* The current state of that */
TYPES
### 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.
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.
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
### 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.
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.
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:
@@ -346,12 +345,12 @@ is documented similar to the variable naming policy above:
};
CONSTANTS
### CONSTANTS
All constant names are uppercase with underscores between words, e.g.,
"CUPS_THIS_CONSTANT", "CUPS_THAT_CONSTANT", etc. Constants begin with an
"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",
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
@@ -366,14 +365,14 @@ Comment blocks immediately follow each constant:
} cups_tray_t;
MAKEFILE GUIDELINES
## 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
### 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
@@ -381,7 +380,7 @@ 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
### MAKEFILE DOCUMENTATION
Each makefile starts with the standard CUPS header containing the description
of the file, and CUPS copyright and license notice:
@@ -399,7 +398,7 @@ of the file, and CUPS copyright and license notice:
#
PORTABLE MAKEFILE CONSTRUCTION
### 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
@@ -410,22 +409,22 @@ is a list of assumptions we follow when constructing makefiles:
the target, e.g.:
target:
<tab> target commands
TAB target commands
- Dependencies; we assume that the make program supports recursive dependencies
on targets, e.g.:
target: foo bar
<tab> target commands
TAB target commands
foo: bla
<tab> foo commands
TAB foo commands
bar:
<tab> bar commands
TAB bar commands
bla:
<tab> bla commands
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:
@@ -449,7 +448,7 @@ is a list of assumptions we follow when constructing makefiles:
.SUFFIXES: .c .o
.c.o:
<tab> $(CC) $(CFLAGS) -o $@ -c $<
TAB $(CC) $(CFLAGS) -o $@ -c $<
- Include Files; we assume that the make program supports the include
directive, e.g.:
@@ -470,7 +469,7 @@ is a list of assumptions we follow when constructing makefiles:
- Shell; we assume a POSIX-compatible shell is present on the build system.
STANDARD VARIABLES
### STANDARD VARIABLES
The following variables are defined in the "Makedefs" file generated by the
autoconf software:
@@ -523,7 +522,7 @@ autoconf software:
- srcdir; the source directory.
STANDARD TARGETS
### STANDARD TARGETS
The following standard targets are defined in each makefile:
@@ -548,58 +547,58 @@ The following standard targets are defined in each makefile:
(also see "INSTALL/UNINSTALL SUPPORT").
OBJECT FILES
### OBJECT FILES
Object files (the result of compiling a C or C++ source file) have the
extension ".o".
PROGRAMS
### 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)
TAB echo Linking $@...
TAB $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
STATIC LIBRARIES
### 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) $@
TAB echo Creating $@...
TAB $(RM) $@
TAB $(AR) $(ARFLAGS) $@ $(OBJECTS)
TAB $(RANLIB) $@
SHARED LIBRARIES
### 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
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
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
### DEPENDENCIES
Static dependencies are expressed in each makefile following the target, for
example:
@@ -612,21 +611,21 @@ generate them. Automatic dependencies are stored in a file named
target rule is used to create the automatic dependencies:
depend:
<tab> $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
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
### 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
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.
+1 -1
Ver Arquivo
@@ -1,4 +1,4 @@
INSTALL - CUPS v2.2b1 - 2015-09-14
INSTALL - CUPS v2.2b1 - 2016-05-31
----------------------------------
This file describes how to compile and install CUPS from source code. For more
-232
Ver Arquivo
@@ -1,232 +0,0 @@
IPPTOOL.txt - 2013-07-15
------------------------
See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
INTRODUCTION
CUPS includes two user programs for IPP printers. The first is called
ipptool and can be used to send arbitrary IPP requests to a CUPS server or
IPP printer. This tool started life as part of the CUPS automated test
suite and has grown to support complex conformance tests and a simple way
to query printer, job, and subscription attributes.
The second program called ippfind that can be used to find IPP printers
that have registered themselves using Bonjour (DNS-SD, mDNS, and Zeroconf)
and run commands such as ipptool.
READING THE DOCUMENTATION
Full documentation on the ipptool command can be found in the
"man-ipptool.html" and "man-ipptoolfile.html" files; the latter describes
the test file format supported by ipptool.
Full documentation on the ippfind command can be found in the
"man-ippfind.html" file.
IPPFIND BASIC USAGE
The ippfind command can be used to discover IPP printers on your network.
For example, the following command prints the printer URI of registered IPP
printers:
ippfind
To find all color IPP printers, run:
ippfind --txt-color T
And to run the IPP Everywhere conformance test file on every registered IPP
printer, run the following command:
ippfind _ipp._tcp,_print --exec ipptool -t '{}' ipp-everywhere.test \;
IPPTOOL BASIC USAGE
The ipptool command requires a printer URI and one or more "test" files that
describe the operations, attributes to display, and expected status and
attribute values. Several standard files are included with CUPS, for example
to show a list of pending print jobs on a CUPS printer called "myprinter"
you'd run:
ipptool ipp://localhost/printers/myprinter get-jobs.test
which would produce something like this:
job-id job-state job-name job-originating-user-name
------ ------------ ------------ -------------------------
72 pending testfile.pdf msweet
73 pending testfile.ps msweet
74 pending-held testfile.jpg msweet
75 pending-held testfile.txt msweet
To get output suitable for import into a spreadsheet, use the "-c" (CSV)
option:
ipptool -c ipp://localhost/printers/myprinter get-jobs.test
which will produce something like this:
job-id,job-state,job-name,job-originating-user-name
72,pending,testfile.pdf,msweet
73,pending,testfile.ps,msweet
74,pending-held,testfile.jpg,msweet
75,pending-held,testfile.txt,msweet
STANDARD TEST FILES
The following standard test files are included with ipptool:
create-printer-subscription.test Creates a printer subscription for
state change notifications
get-completed-jobs.test Shows a list of completed jobs
get-jobs.test Shows a list of pending jobs
get-notifications.test Shows events for an ippget
subscription.
get-printer-attributes.test Shows printer attributes
get-subscriptions.test Shows a list of subscriptions
ipp-1.1.test IPP/1.1 conformance test suite
ipp-2.0.test IPP/2.0 conformance test suite
ipp-2.1.test IPP/2.1 conformance test suite
ipp-2.2.test IPP/2.2 conformance test suite
ipp-everywhere.test IPP Everywhere conformance test
suite
print-job.test Prints a file
print-job-deflate.test Prints a file, compressing with
deflate.
print-job-gzip.test Prints a file, compressing with gzip
validate-job.test Validates attributes for a job
submission.
CONFORMANCE TESTS
We provide basic IPP conformance tests for IPP/1.1, IPP/2.0, IPP/2.1,
IPP/2.2, and IPP Everywhere. For a given printer URI, the following
commands perform tests at each level:
ipptool -tf filename [options] -I printer-uri ipp-1.1.test
ipptool -tf filename [options] -I -V 2.0 printer-uri ipp-2.0.test
ipptool -tf filename [options] -I -V 2.1 printer-uri ipp-2.1.test
ipptool -tf filename [options] -I -V 2.2 printer-uri ipp-2.2.test
The filename must use a format supported by the printer; ipptool will guess
the MIME media type using the extension, otherwise application/octet stream
will be used. The following standard test files are included:
color.jpg
document-a4.pdf
document-a4.ps
document-letter.pdf
document-letter.ps
gray.jpg
onepage-a4.pdf
onepage-a4.ps
onepage-letter.pdf
onepage-letter.ps
testfile.jpg
testfile.pcl
testfile.pdf
testfile.ps
testfile.txt
Useful options include the following:
-4 Connect using IPv4
-6 Connect using IPv6
-C Send chunked requests (default)
-d name=val Define a variable
-E Test IPP with HTTP Upgrade to TLS
-L Send requests using the Content-Length header (HTTP/1.0)
-S Test IPP over HTTPS (default for ipps: URIs)
-T seconds Set a timeout for responses in seconds
-v Be verbose, showing all attributes sent and received
-X Produce XML (Apple plist) output
The printer-uri must be a URI supported by the printer using the "ipp" or
"ipps" scheme, for example:
ipp://192.168.0.1/ipp
ipps://192.168.0.1/ipp/print
Print-by-reference (URL) printing can be tested by defining the document-uri
variable as a URL, for example:
ipptool -tf filename -d document-uri=url -I printer-uri ipp-1.1.test
The standard test files are available on cups.org under the "test"
directory, for example:
ipptool -tf document-a4.pdf \
-d document-uri=http://www.cups.org/test/document-a4.pdf \
ipp://192.168.0.1/ipp -I -V 2.0 ipp-2.0.test
The "document" test files contain 4 pages each. Doing the IPP conformance
tests will will produce up to 90 pages on various media, depending on the
printer.
IPP EVERYWHERE TESTING
The IPP Everywhere tests use sample PWG raster files available from:
ftp://ftp.pwg.org/pub/pwg/ipp/examples
Extract the corresponding ZIP archives into the current directory before
running the ipp-everywhere.test file. The test file will attempt to print
each PWG Raster file that is supported by the printer being tested - up to
372 pages including the 90 pages produced by the regular IPP test suite.
GETTING SUPPORT AND OTHER RESOURCES
If you have problems, READ THE DOCUMENTATION FIRST! We also provide
discussion forums which are available at:
http://www.cups.org/
REPORTING BUGS
If you believe you have discovered a bug in ippfind or ipptool, please fill
out the bug form at:
http://www.cups.org/str.php
Be sure to identify the version of CUPS and ippfind/ipptool (if you
downloaded the standalone version) you are using, the printer (if any) and
firmware version, and include any files that apply.
If you downloaded the standalone version of ippfind/ipptool, please also
re-run the command with debug logging enabled. Run the following commands
on Windows to enable debug logging:
setdebug.bat
For Linux and Mac OS X use:
CUPS_DEBUG_LOG=ipptool.log; export CUPS_DEBUG_LOG
CUPS_DEBUG_LEVEL=6; export CUPS_DEBUG_LEVEL
Then when you run the ippfind or ipptool command a new "ipptool.log" file
will be created with detailed information - attach this file to the bug you
file as well.
LEGAL STUFF
CUPS is Copyright 2007-2013 by Apple Inc. CUPS and the CUPS logo are
trademarks of Apple Inc.
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
CUPS is provided under the terms of version 2 of the GNU General Public
License and GNU Library General Public License. This program is distributed
in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the "doc/help/license.html" or "LICENSE.txt" files for more information.
-7
Ver Arquivo
@@ -1,6 +1,4 @@
#
# "$Id$"
#
# Common makefile definitions for CUPS.
#
# Copyright 2007-2014 by Apple Inc.
@@ -261,8 +259,3 @@ USBQUIRKS = @USBQUIRKS@
echo -n Compressing $<...
$(RM) $@
gzip -v9 <$< >$@
#
# End of "$Id$"
#
+2 -15
Ver Arquivo
@@ -1,9 +1,7 @@
#
# "$Id$"
#
# Top-level Makefile for CUPS.
#
# Copyright 2007-2014 by Apple Inc.
# 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
@@ -268,17 +266,11 @@ debugcheck: all unittests
#
apihelp:
for dir in cgi-bin cups filter ppdc scheduler; do\
for dir in cups filter; do\
echo Generating API help in $$dir... ;\
(cd $$dir; $(MAKE) $(MFLAGS) apihelp) || exit 1;\
done
framedhelp:
for dir in cgi-bin cups filter ppdc scheduler; do\
echo Generating framed API help in $$dir... ;\
(cd $$dir; $(MAKE) $(MFLAGS) framedhelp) || exit 1;\
done
#
# Create an Xcode docset using Mini-XML's mxmldoc (http://www.msweet.org/)...
@@ -348,8 +340,3 @@ dist: all
#
.NOTPARALLEL:
#
# End of "$Id$".
#
+2 -2
Ver Arquivo
@@ -1,4 +1,4 @@
README - CUPS v2.2b1 - 2015-09-14
README - CUPS v2.2b1 - 2016-05-31
---------------------------------
Looking for compile instructions? Read the file "INSTALL.txt" instead...
@@ -140,7 +140,7 @@ PRINTING FILES
LEGAL STUFF
CUPS is Copyright 2007-2015 by Apple Inc. CUPS and the CUPS logo are
CUPS is Copyright 2007-2016 by Apple Inc. CUPS and the CUPS logo are
trademarks of Apple Inc.
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
+16 -17
Ver Arquivo
@@ -1,18 +1,16 @@
#
# "$Id$"
# Backend makefile for CUPS.
#
# Backend makefile for CUPS.
# Copyright 2007-2016 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/".
#
# This file is subject to the Apple OS-Developed Software exception.
# This file is subject to the Apple OS-Developed Software exception.
#
include ../Makedefs
@@ -88,7 +86,7 @@ unittests: $(UNITTESTS)
#
clean:
$(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns
$(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns socket-static
#
@@ -295,6 +293,12 @@ socket: socket.o ../cups/$(LIBCUPS) libbackend.a
echo Linking $@...
$(CC) $(LDFLAGS) -o socket socket.o libbackend.a $(LIBS)
socket-static: socket.o ../cups/$(LIBCUPSSTATIC) libbackend.a
echo Linking $@...
$(CC) $(LDFLAGS) -o socket-static socket.o libbackend.a \
../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
$(COMMONLIBS) $(LIBZ)
#
# usb
@@ -312,8 +316,3 @@ usb.o: usb.c usb-darwin.c usb-libusb.c usb-unix.c
#
include Dependencies
#
# End of "$Id$".
#
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Backend support definitions for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
@@ -331,8 +329,3 @@ extern int backendWaitLoop(int snmp_fd, http_addr_t *addr,
}
# endif /* __cplusplus */
#endif /* !_CUPS_BACKEND_PRIVATE_H_ */
/*
* End of "$Id$".
*/
+3 -10
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* DNS-SD discovery backend for CUPS.
*
* Copyright 2008-2015 by Apple Inc.
@@ -1190,9 +1188,9 @@ query_callback(
snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;",
make_and_model, model);
else if (!_cups_strncasecmp(model, "designjet ", 10))
snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s", model + 10);
snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s;", model + 10);
else if (!_cups_strncasecmp(model, "stylus ", 7))
snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s", model + 7);
snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s;", model + 7);
else if ((ptr = strchr(model, ' ')) != NULL)
{
/*
@@ -1202,7 +1200,7 @@ query_callback(
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",
snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;",
make_and_model, ptr + 1);
}
}
@@ -1315,8 +1313,3 @@ unquote(char *dst, /* I - Destination buffer */
*dst = '\0';
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* IEEE-1284 support functions for CUPS.
*
* Copyright 2007-2015 by Apple Inc.
@@ -473,8 +471,3 @@ backendGetMakeModel(
return (0);
}
/*
* End of "$Id$".
*/
+5 -19
Ver Arquivo
@@ -1096,7 +1096,7 @@ main(int argc, /* I - Number of command-line args */
"compression value \"%s\".\n", compression);
compression = NULL;
}
else if (!compression)
else if (!compression && (!strcmp(final_content_type, "image/pwg-raster") || !strcmp(final_content_type, "image/urf")))
{
if (ippContainsString(compression_sup, "gzip"))
compression = "gzip";
@@ -1357,24 +1357,10 @@ main(int argc, /* I - Number of command-line args */
if (format_sup != NULL)
{
for (i = 0; i < format_sup->num_values; i ++)
if (!_cups_strcasecmp(final_content_type,
format_sup->values[i].string.text))
{
document_format = final_content_type;
break;
}
if (!document_format)
{
for (i = 0; i < format_sup->num_values; i ++)
if (!_cups_strcasecmp("application/octet-stream",
format_sup->values[i].string.text))
{
document_format = "application/octet-stream";
break;
}
}
if (ippContainsString(format_sup, final_content_type))
document_format = final_content_type;
else if (ippContainsString(format_sup, "application/octet-stream"))
document_format = "application/octet-stream";
}
fprintf(stderr, "DEBUG: final_content_type=\"%s\", document_format=\"%s\"\n",
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Line Printer Daemon backend for CUPS.
*
* Copyright 2007-2016 by Apple Inc.
@@ -1313,8 +1311,3 @@ sigterm_handler(int sig) /* I - Signal */
abort_job = 1;
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Common backend network APIs for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
@@ -301,8 +299,3 @@ backendNetworkSideCB(
return (cupsSideChannelWrite(command, status, data, datalen, 1.0));
}
/*
* End of "$Id$".
*/
+35 -29
Ver Arquivo
@@ -52,67 +52,67 @@
# NEC Picty800 (HP OEM)
0x0409 0xf1be unidir
# Lexmark International, Inc. (e250d), https://bugs.launchpad.net/bugs/1084164
# 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
# 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
# Canon, Inc. PIXMA iP4200 Printer (Issue #4155)
0x04a9 0x10a2 unidir
# Canon, Inc. PIXMA iP4300 Printer, https://bugs.launchpad.net/bugs/1032385
# 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
# 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
# Canon, Inc. MP500 Printer (https://bugs.launchpad.net/bugs/1032456)
0x04a9 0x170c unidir
# Canon, Inc. MP510 Printer, https://bugs.launchpad.net/bugs/1050009
# Canon, Inc. MP510 Printer (https://bugs.launchpad.net/bugs/1050009)
0x04a9 0x1717 unidir
# Canon, Inc. MP550 Printer, http://www.cups.org/str.php?L4155
# Canon, Inc. MP550 Printer (Issue #4155)
0x04a9 0x173d unidir
# Canon, Inc. MP560 Printer, http://www.cups.org/str.php?L4155
# Canon, Inc. MP560 Printer (Issue #4155)
0x04a9 0x173e unidir
# Canon, Inc. MF4150 Printer, https://bugs.launchpad.net/bugs/1160638
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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
@@ -121,13 +121,13 @@
# 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
# 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
# All Samsung devices (https://bugs.launchpad.net/bugs/1032456)
0x04e8 soft-reset
# All Zebra devices, https://bugs.launchpad.net/bugs/1001028
# All Zebra devices (https://bugs.launchpad.net/bugs/1001028)
0x0a5f unidir
# Canon CP-10
@@ -217,27 +217,33 @@
# Lexmark E238 (<rdar://problem/14493054>)
0x043d 0x00d7 no-reattach
# Lexmark E238 (STR #4448)
# Lexmark E238 (Issue #4448)
0x043d 0x009a no-reattach
# Canon MX310 (STR #4482)
# Canon MX310 (Issue #4482)
0x04a9 0x1728 unidir
# Canon MX320 (STR #4482)
# Canon MX320 (Issue #4482)
0x04A9 0x1736 unidir
# All Intermec devices (STR #4553)
# All Intermec devices (Issue #4553)
0x067e no-reattach
# HP LaserJet 1150 (STR #4549)
# HP LaserJet 1150 (Issue #4549)
0x03f0 0x0f17 delay-close
# HP LaserJet 1300 (STR #4549)
# HP LaserJet 1300 (Issue #4549)
0x03f0 0x1017 delay-close
0x03f0 0x1117 delay-close
# HP LaserJet 1320 (STR #4549)
# HP LaserJet 1320 (Issue #4549)
0x03f0 0x1d17 delay-close
# Canon, Inc. MP530 Printer
0x04a9 0x1712 unidir
# Xerox WorkCentre 3220 (https://bugs.launchpad.net/bugs/1406203, Issue #4789)
0x0924 0x4294 no-reattach
# Lexmark C540n (Issue #4778)
0x043d 0x0139 no-reattach
+8 -14
Ver Arquivo
@@ -1,18 +1,16 @@
#!/bin/sh
#
# "$Id$"
# Psuedo-backend for CUPS testing purposes.
#
# Psuedo-backend for CUPS testing purposes.
# Copyright 2011 by Apple Inc.
#
# Copyright 2011 by Apple Inc.
# These coded instructions, statements, and computer programs are the
# property of Apple Inc. and are protected by Federal copyright
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
# 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.
#
if test $# = 0; then
@@ -24,7 +22,3 @@ fi
cat $6 >/dev/null
sleep 5
exit 0
#
# End of "$Id$".
#
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Common run loop APIs for CUPS backends.
*
* Copyright 2007-2014 by Apple Inc.
@@ -525,8 +523,3 @@ backendWaitLoop(
return (1);
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* SNMP supplies functions for CUPS.
*
* Copyright 2008-2015 by Apple Inc.
@@ -1096,8 +1094,3 @@ utf16_to_utf8(
cupsUTF32ToUTF8(dst, temp, (int)dstsize);
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* SNMP discovery backend for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
@@ -1361,8 +1359,3 @@ update_cache(snmp_cache_t *device, /* I - Device */
list_device(device);
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* AppSocket backend for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
@@ -514,8 +512,3 @@ wait_bc(int device_fd, /* I - Socket */
else
return (-1);
}
/*
* End of "$Id$".
*/
+9 -20
Ver Arquivo
@@ -1,22 +1,16 @@
/*
* "$Id$"
* IEEE-1284 support functions test program for CUPS.
*
* IEEE-1284 support functions test program for CUPS.
* Copyright 2007-2010 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products, all rights reserved.
*
* Copyright 2007-2010 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products, all rights reserved.
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* "LICENSE" which should have been included with this file. If this
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* 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() - Test the device-ID functions.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -77,8 +71,3 @@ main(int argc, /* I - Number of command-line args */
return (0);
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Backend test program for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
@@ -677,8 +675,3 @@ walk_cb(const char *oid, /* I - OID */
printf("CUPS_SC_CMD_SNMP_WALK %s, %d bytes (%s)\n", oid, datalen, temp);
}
/*
* End of "$Id$".
*/
+8 -19
Ver Arquivo
@@ -1,21 +1,15 @@
/*
* "$Id$"
* SNMP supplies test program for CUPS.
*
* SNMP supplies test program for CUPS.
* Copyright 2008-2011 by Apple Inc.
*
* Copyright 2008-2011 by Apple Inc.
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* "LICENSE" which should have been included with this file. If this
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* 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() - Show the supplies state of a printer.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -76,8 +70,3 @@ main(int argc, /* I - Number of command-line args */
sleep(5);
}
}
/*
* End of "$Id$".
*/
+185 -224
Ver Arquivo
@@ -1,7 +1,5 @@
/*
* "$Id$"
*
* Copyright 2005-2015 Apple Inc. All rights reserved.
* Copyright 2005-2016 Apple Inc. All rights reserved.
*
* IMPORTANT: This Apple software is supplied to you by Apple Computer,
* Inc. ("Apple") in consideration of your agreement to the following
@@ -204,7 +202,7 @@ typedef struct classdriver_s /**** g.classdriver context ****/
} classdriver_t;
typedef Boolean (*iterator_callback_t)(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting);
typedef Boolean (*iterator_callback_t)(io_service_t obj, printer_interface_t printerIntf, void *refcon);
typedef struct iterator_reference_s /**** Iterator reference data */
{
@@ -233,6 +231,7 @@ typedef struct globals_s
UInt32 location;
UInt8 interfaceNum;
UInt8 alternateSetting;
UInt8 interfaceProtocol;
CFRunLoopTimerRef status_timer;
@@ -266,8 +265,8 @@ int Iterating = 0; /* Are we iterating the bus? */
* Local functions...
*/
static Boolean find_device_cb(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting);
static Boolean list_device_cb(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting);
static Boolean list_device_cb(io_service_t obj, printer_interface_t printerIntf, void *refcon);
static Boolean find_device_cb(io_service_t obj, printer_interface_t printerIntf, void *refcon);
static CFStringRef cfstr_create_trim(const char *cstr);
static CFStringRef copy_value_for_key(CFStringRef deviceID, CFStringRef *keys);
@@ -303,7 +302,7 @@ static void parse_pserror (char *sockBuffer, int len);
#endif /* PARSE_PS_ERRORS */
static printer_interface_t usb_printer_interface_interface(io_service_t usbClass);
static IOUSBDeviceInterface **usb_device_interface_for_device(io_service_t usbDevice);
static CFStringRef copy_printer_interface_deviceid(printer_interface_t printer, UInt8 alternateSetting);
static CFStringRef copy_printer_interface_indexed_description(printer_interface_t printer, UInt8 index, UInt16 language);
static CFStringRef deviceIDCopyManufacturer(CFStringRef deviceID);
@@ -420,10 +419,17 @@ print_device(const char *uri, /* I - Device URI */
g.printer_obj = 0x0;
g.classdriver = 0x0;
}
fprintf(stderr, "DEBUG: Looking for '%s %s'\n", hostname, resource);
iterate_printers(find_device_cb, NULL);
do
{
iterate_printers(find_device_cb, NULL);
if (g.printer_obj != 0x0)
break;
_cupsLangPrintFilter(stderr, "INFO", _("Waiting for printer to become available."));
sleep(5);
} while (true);
fputs("DEBUG: Opening connection\n", stderr);
@@ -1118,257 +1124,234 @@ sidechannel_thread(void *reference)
/*
* 'iterate_printers()' - Iterate over all the printers.
*/
static void iterate_printers(iterator_callback_t callBack, void *userdata)
{
Iterating = 1;
Iterating = 1;
mach_port_t masterPort = 0x0;
kern_return_t kr = IOMasterPort (bootstrap_port, &masterPort);
iterator_reference_t reference = { callBack, userdata, true };
if (kr == kIOReturnSuccess && masterPort != 0x0)
IONotificationPortRef addNotification = IONotificationPortCreate(kIOMasterPortDefault);
int printingClass = kUSBPrintingClass;
int printingSubclass = kUSBPrintingSubclass;
CFNumberRef interfaceClass = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &printingClass);
CFNumberRef interfaceSubClass = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &printingSubclass);
CFMutableDictionaryRef usbPrinterMatchDictionary = IOServiceMatching(kIOUSBInterfaceClassName);
CFDictionaryAddValue(usbPrinterMatchDictionary, CFSTR("bInterfaceClass"), interfaceClass);
CFDictionaryAddValue(usbPrinterMatchDictionary, CFSTR("bInterfaceSubClass"), interfaceSubClass);
CFRelease(interfaceClass);
CFRelease(interfaceSubClass);
io_iterator_t add_iterator = IO_OBJECT_NULL;
IOServiceAddMatchingNotification(addNotification, kIOMatchedNotification,
usbPrinterMatchDictionary, &device_added, &reference, &add_iterator);
if (add_iterator != IO_OBJECT_NULL)
{
device_added (&reference, add_iterator);
if (reference.keepRunning)
{
iterator_reference_t reference = { callBack, userdata, true };
IONotificationPortRef addNotification = IONotificationPortCreate(masterPort);
io_iterator_t addIterator = IO_OBJECT_NULL;
kr = IOServiceAddMatchingNotification(addNotification, kIOFirstMatchNotification, IOServiceMatching(kIOUSBDeviceClassName),
&device_added, &reference, &addIterator);
if (kr == kIOReturnSuccess && addIterator != IO_OBJECT_NULL)
{
device_added(&reference, addIterator);
if (reference.keepRunning)
{
CFRunLoopAddSource(CFRunLoopGetCurrent(), IONotificationPortGetRunLoopSource(addNotification), kCFRunLoopDefaultMode);
CFRunLoopRun();
}
IOObjectRelease(addIterator);
}
mach_port_deallocate(mach_task_self(), masterPort);
CFRunLoopAddSource(CFRunLoopGetCurrent(), IONotificationPortGetRunLoopSource(addNotification), kCFRunLoopDefaultMode);
CFRunLoopRun();
}
Iterating = 0;
IOObjectRelease(add_iterator);
}
Iterating = 0;
}
/*
* 'device_added()' - Device added notifier.
*/
#define IsPrintingInterface(c,s,p) ((c) == kUSBPrintingInterfaceClass && (s) == kUSBPrintingSubclass && (p) != kUSBPrintingProtocolIPP)
static void device_added(void *userdata, io_iterator_t iterator)
{
iterator_reference_t *reference = userdata;
io_service_t device;
iterator_reference_t *reference = userdata;
io_service_t intf;
while (reference->keepRunning && (device = IOIteratorNext(iterator)) != 0x0)
while (reference->keepRunning && (intf = IOIteratorNext(iterator)) != 0x0)
{
printer_interface_t printerIntf = usb_printer_interface_interface(intf);
if (printerIntf != NULL)
{
UInt32 locationID = 0;
IOUSBDeviceInterface **devIntf = NULL;
io_iterator_t intfIterator = IO_OBJECT_NULL;
io_object_t intf = IO_OBJECT_NULL;
UInt8 intfClass = 0, intfSubClass = 0;
devIntf = usb_device_interface_for_device(device);
if (devIntf == NULL)
goto device_added_done;
UInt16 vendorUniqueID;
if ((*devIntf)->GetDeviceVendor(devIntf, &vendorUniqueID) != kIOReturnSuccess || vendorUniqueID == kAppleVendorID || vendorUniqueID == 0x0A5C)
goto device_added_done;
if ((*devIntf)->GetLocationID(devIntf, &locationID) != kIOReturnSuccess)
goto device_added_done;
IOUSBFindInterfaceRequest req = { kIOUSBFindInterfaceDontCare, kIOUSBFindInterfaceDontCare, kIOUSBFindInterfaceDontCare, kIOUSBFindInterfaceDontCare };
if ((*devIntf)->CreateInterfaceIterator(devIntf, &req, &intfIterator) != kIOReturnSuccess)
goto device_added_done;
while (reference->keepRunning && (intf = IOIteratorNext(intfIterator)))
{
printer_interface_t printerIntf = usb_printer_interface_interface(intf);
if (printerIntf != NULL)
{
UInt8 intfClass = 0, intfSubclass = 0, intfProtocol = 0, intfNumber = 0;
(*printerIntf)->GetInterfaceClass(printerIntf, &intfClass);
(*printerIntf)->GetInterfaceSubClass(printerIntf, &intfSubclass);
(*printerIntf)->GetInterfaceProtocol(printerIntf, &intfProtocol);
(*printerIntf)->GetInterfaceNumber(printerIntf, &intfNumber);
if (IsPrintingInterface(intfClass, intfSubclass, intfProtocol))
{
CFStringRef deviceIDString = copy_printer_interface_deviceid(printerIntf, 0);
if (deviceIDString != NULL)
{
reference->keepRunning = reference->callback(userdata, intf, deviceIDString, locationID, intfNumber, 0);
CFRelease(deviceIDString);
}
}
IOUSBInterfaceDescriptor *intfDesc = NULL;
while (reference->keepRunning && (intfDesc = (IOUSBInterfaceDescriptor *)(*printerIntf)->FindNextAssociatedDescriptor(printerIntf, intfDesc, kUSBInterfaceDesc)))
{
intfClass = intfDesc->bInterfaceClass;
intfSubclass = intfDesc->bInterfaceSubClass;
intfProtocol = intfDesc->bInterfaceProtocol;
if ((IsPrintingInterface(intfClass, intfSubclass, intfProtocol)))
{
CFStringRef deviceIDString = copy_printer_interface_deviceid(printerIntf, intfDesc->bAlternateSetting);
if (deviceIDString != NULL)
{
reference->keepRunning = reference->callback(userdata, intf, deviceIDString, locationID, intfNumber, intfDesc->bAlternateSetting);
CFRelease(deviceIDString);
}
}
}
(*printerIntf)->Release(printerIntf);
}
IOObjectRelease(intf);
}
device_added_done:
if (devIntf != NULL) (*devIntf)->Release(devIntf);
if (intfIterator != IO_OBJECT_NULL) IOObjectRelease(intfIterator);
IOObjectRelease(device);
(*printerIntf)->GetInterfaceClass(printerIntf, &intfClass);
(*printerIntf)->GetInterfaceSubClass(printerIntf, &intfSubClass);
if (intfClass == kUSBPrintingInterfaceClass && intfSubClass == kUSBPrintingSubclass)
reference->keepRunning = reference->callback(intf, printerIntf, userdata);
(*printerIntf)->Release(printerIntf);
}
IOObjectRelease(intf);
}
/* One last call to the call back now that we are not longer have printers left to iterate...
*/
if (reference->keepRunning && reference->callback)
reference->keepRunning = reference->callback(reference->userdata, IO_OBJECT_NULL, NULL, 0, 0, 0);
reference->keepRunning = reference->callback(IO_OBJECT_NULL, NULL, reference->userdata);
if (!reference->keepRunning)
CFRunLoopStop(CFRunLoopGetCurrent());
CFRunLoopStop(CFRunLoopGetCurrent());
}
/*
* 'list_device_cb()' - list_device iterator callback.
*/
static Boolean list_device_cb(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting)
static Boolean list_device_cb(io_service_t obj, printer_interface_t printerIntf, void *refcon)
{
(void)refcon;
(void)interfaceNum;
(void)alternateSetting;
(void)refcon;
if (obj != IO_OBJECT_NULL)
{
CFStringRef make = deviceIDCopyManufacturer(deviceIDString);
CFStringRef model = deviceIDCopyModel(deviceIDString);
CFStringRef serial = deviceIDCopySerialNumber(deviceIDString);
if (obj != IO_OBJECT_NULL)
{
CFStringRef deviceIDString = NULL;
CFStringRef make = NULL;
CFStringRef model = NULL;
CFStringRef serial = NULL;
UInt32 intfLocation;
char uristr[1024], makestr[1024], modelstr[1024], serialstr[1024];
char optionsstr[1024], idstr[1024], make_modelstr[1024];
deviceIDString = copy_printer_interface_deviceid(printerIntf, 0);
if (deviceIDString == NULL)
goto list_device_done;
CFStringGetCString(deviceIDString, idstr, sizeof(idstr), kCFStringEncodingUTF8);
backendGetMakeModel(idstr, make_modelstr, sizeof(make_modelstr));
make = deviceIDCopyManufacturer(deviceIDString);
model = deviceIDCopyModel(deviceIDString);
serial = deviceIDCopySerialNumber(deviceIDString);
modelstr[0] = '/';
char uristr[1024], makestr[1024], modelstr[1024], serialstr[1024];
char optionsstr[1024], idstr[1024], make_modelstr[1024];
if (make == NULL || !CFStringGetCString(make, makestr, sizeof(makestr), kCFStringEncodingUTF8))
strlcpy(makestr, "Unknown", sizeof(makestr));
CFStringGetCString(deviceIDString, idstr, sizeof(idstr), kCFStringEncodingUTF8);
backendGetMakeModel(idstr, make_modelstr, sizeof(make_modelstr));
if (model == NULL || !CFStringGetCString(model, &modelstr[1], sizeof(modelstr)-1, kCFStringEncodingUTF8))
strlcpy(modelstr + 1, "Printer", sizeof(modelstr) - 1);
modelstr[0] = '/';
optionsstr[0] = '\0';
if (serial != NULL && CFStringGetCString(serial, serialstr, sizeof(serialstr), kCFStringEncodingUTF8))
snprintf(optionsstr, sizeof(optionsstr), "?serial=%s", serialstr);
else if (deviceLocation != 0)
snprintf(optionsstr, sizeof(optionsstr), "?location=%x", (unsigned)deviceLocation);
if (make == NULL || !CFStringGetCString(make, makestr, sizeof(makestr), kCFStringEncodingUTF8))
strlcpy(makestr, "Unknown", sizeof(makestr));
httpAssembleURI(HTTP_URI_CODING_ALL, uristr, sizeof(uristr), "usb", NULL, makestr, 0, modelstr);
strlcat(uristr, optionsstr, sizeof(uristr));
if (model == NULL || !CFStringGetCString(model, &modelstr[1], sizeof(modelstr)-1, kCFStringEncodingUTF8))
strlcpy(modelstr + 1, "Printer", sizeof(modelstr) - 1);
cupsBackendReport("direct", uristr, make_modelstr, make_modelstr, idstr,
optionsstr[0] = '\0';
if (serial != NULL && CFStringGetCString(serial, serialstr, sizeof(serialstr), kCFStringEncodingUTF8))
snprintf(optionsstr, sizeof(optionsstr), "?serial=%s", serialstr);
else if ((*printerIntf)->GetLocationID(printerIntf, &intfLocation) == kIOReturnSuccess)
snprintf(optionsstr, sizeof(optionsstr), "?location=%x", (unsigned)intfLocation);
httpAssembleURI(HTTP_URI_CODING_ALL, uristr, sizeof(uristr), "usb", NULL, makestr, 0, modelstr);
strlcat(uristr, optionsstr, sizeof(uristr));
cupsBackendReport("direct", uristr, make_modelstr, make_modelstr, idstr,
NULL);
list_device_done:
if (make != NULL) CFRelease(make);
if (model != NULL) CFRelease(model);
if (serial != NULL) CFRelease(serial);
}
return obj != IO_OBJECT_NULL;
if (make != NULL) CFRelease(make);
if (model != NULL) CFRelease(model);
if (serial != NULL) CFRelease(serial);
}
return obj != IO_OBJECT_NULL;
}
/*
* 'find_device_cb()' - print_device iterator callback.
*/
static Boolean find_device_cb(void *refcon, io_service_t obj, CFStringRef deviceIDString, UInt32 deviceLocation, UInt8 interfaceNum, UInt8 alternateSetting)
static Boolean find_device_cb(io_service_t obj, printer_interface_t printerIntf, void *refcon)
{
Boolean keepLooking = true;
(void)refcon;
if (obj != IO_OBJECT_NULL)
Boolean keepLooking = true;
if (obj != IO_OBJECT_NULL)
{
CFStringRef deviceIDString = NULL;
CFStringRef make = NULL;
CFStringRef model = NULL;
CFStringRef serial = NULL;
deviceIDString = copy_printer_interface_deviceid(printerIntf, 0);
if (deviceIDString == NULL)
goto find_device_done;
make = deviceIDCopyManufacturer(deviceIDString);
model = deviceIDCopyModel(deviceIDString);
serial = deviceIDCopySerialNumber(deviceIDString);
if (make && CFStringCompare(make, g.make, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
{
CFStringRef make = deviceIDCopyManufacturer(deviceIDString);
CFStringRef model = deviceIDCopyModel(deviceIDString);
CFStringRef serial = deviceIDCopySerialNumber(deviceIDString);
if (model && CFStringCompare(model, g.model, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
{
UInt8 intfAltSetting = 0, intfNumber = 0, intfProtocol = 0;
UInt32 intfLocation = 0;
if (make && CFStringCompare(make, g.make, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
(*printerIntf)->GetInterfaceProtocol(printerIntf, &intfProtocol);
(*printerIntf)->GetAlternateSetting(printerIntf, &intfAltSetting);
(*printerIntf)->GetInterfaceNumber(printerIntf, &intfNumber);
(*printerIntf)->GetLocationID(printerIntf, &intfLocation);
if (g.serial != NULL && CFStringGetLength(g.serial) > 0)
{
if (model && CFStringCompare(model, g.model, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
if (serial != NULL && CFStringCompare(serial, g.serial, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
{
g.interfaceProtocol = intfProtocol;
g.location = intfLocation;
g.alternateSetting = intfAltSetting;
if (intfProtocol != kUSBPrintingProtocolIPP)
{
if (g.serial != NULL && CFStringGetLength(g.serial) > 0)
{
if (serial != NULL && CFStringCompare(serial, g.serial, kCFCompareCaseInsensitive) == kCFCompareEqualTo)
{
IOObjectRetain(obj);
g.printer_obj = obj;
g.location = deviceLocation;
g.alternateSetting = alternateSetting;
keepLooking = false;
}
}
else
{
if (g.printer_obj != 0)
IOObjectRelease(g.printer_obj);
g.alternateSetting = alternateSetting;
g.printer_obj = obj;
IOObjectRetain(obj);
if (g.location == 0 || g.location == deviceLocation)
keepLooking = false;
}
if ( !keepLooking )
g.interfaceNum = interfaceNum;
g.printer_obj = obj;
IOObjectRetain(obj);
}
keepLooking = (intfProtocol == kUSBPrintingProtocolIPP);
}
}
else
{
if (g.printer_obj != 0)
IOObjectRelease(g.printer_obj);
g.location = intfLocation;
g.alternateSetting = intfAltSetting;
g.interfaceProtocol = intfProtocol;
g.printer_obj = obj;
IOObjectRetain(obj);
if (g.location == 0 || g.location == intfLocation)
keepLooking = false;
}
if (make) CFRelease(make);
if (model) CFRelease(model);
if (serial) CFRelease(serial);
}
else
{
keepLooking = (g.printer_obj == 0);
if (obj == IO_OBJECT_NULL && keepLooking)
{
CFRunLoopTimerContext context = { 0, refcon, NULL, NULL, NULL };
CFRunLoopTimerRef timer = CFRunLoopTimerCreate(NULL, CFAbsoluteTimeGetCurrent() + 1.0, 10, 0x0, 0x0, status_timer_cb, &context);
if (timer != NULL)
{
CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer, kCFRunLoopDefaultMode);
g.status_timer = timer;
}
}
if (!keepLooking)
g.interfaceNum = intfNumber;
}
}
if (!keepLooking && g.status_timer != NULL)
find_device_done:
if (deviceIDString != NULL) CFRelease(deviceIDString);
if (make != NULL) CFRelease(make);
if (model != NULL) CFRelease(model);
if (serial != NULL) CFRelease(serial);
}
else
{
keepLooking = (g.printer_obj == 0 && g.interfaceProtocol != kUSBPrintingProtocolIPP);
if (obj == IO_OBJECT_NULL && keepLooking)
{
fputs("STATE: -offline-report\n", stderr);
_cupsLangPrintFilter(stderr, "INFO", _("The printer is now online."));
CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), g.status_timer, kCFRunLoopDefaultMode);
CFRelease(g.status_timer);
g.status_timer = NULL;
CFRunLoopTimerContext context = { 0, refcon, NULL, NULL, NULL };
CFRunLoopTimerRef timer = CFRunLoopTimerCreate(NULL, CFAbsoluteTimeGetCurrent() + 1.0, 10, 0x0, 0x0, status_timer_cb, &context);
if (timer != NULL)
{
CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer, kCFRunLoopDefaultMode);
g.status_timer = timer;
}
}
}
return keepLooking;
if (!keepLooking && g.status_timer != NULL)
{
fputs("STATE: -offline-report\n", stderr);
_cupsLangPrintFilter(stderr, "INFO", _("The printer is now online."));
CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), g.status_timer, kCFRunLoopDefaultMode);
CFRelease(g.status_timer);
g.status_timer = NULL;
}
return keepLooking;
}
static CFStringRef deviceIDCopySerialNumber(CFStringRef deviceID)
@@ -1568,23 +1551,6 @@ static printer_interface_t usb_printer_interface_interface(io_service_t usbClass
return intf;
}
static IOUSBDeviceInterface **usb_device_interface_for_device(io_service_t usbDevice)
{
IOUSBDeviceInterface ** intf = NULL;
IOCFPlugInInterface **plugin = NULL;
SInt32 score;
int kr = IOCreatePlugInInterfaceForService(usbDevice, kIOUSBDeviceUserClientTypeID, kIOCFPlugInInterfaceID, &plugin, &score);
if (kr == kIOReturnSuccess)
{
(*plugin)->QueryInterface(plugin, CFUUIDGetUUIDBytes(kIOUSBDeviceInterfaceID), (LPVOID *)&intf);
IODestroyPlugInInterface(plugin);
}
return intf;
}
static CFStringRef copy_printer_interface_deviceid(printer_interface_t printer, UInt8 alternateSetting)
{
// I have tried to make this function as neat as I can, but the possibility of needing to resend
@@ -2535,8 +2501,3 @@ log_usb_class_driver(int is_64bit) /* I - Is the USB class driver 64-bit? */
asl_free(aslm);
}
}
/*
* End of "$Id$".
*/
-8
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* LIBUSB interface code for CUPS.
*
* Copyright 2007-2015 by Apple Inc.
@@ -2019,9 +2017,3 @@ soft_reset_printer(
return (errcode);
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* USB port backend for CUPS.
*
* This file is included from "usb.c" when compiled on UNIX/Linux.
@@ -600,8 +598,3 @@ side_cb(int print_fd, /* I - Print file */
return (cupsSideChannelWrite(command, status, data, datalen, 1.0));
}
/*
* End of "$Id$".
*/
+9 -22
Ver Arquivo
@@ -1,24 +1,16 @@
/*
* "$Id$"
* USB printer backend for CUPS.
*
* USB port backend for CUPS.
* Copyright 2007-2012 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* Copyright 2007-2012 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* "LICENSE" which should have been included with this file. If this
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* 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:
*
* list_devices() - List all available USB devices to stdout.
* print_device() - Print a file to a USB device.
* main() - Send a file to the specified USB port.
* This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -257,8 +249,3 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
return (status);
}
/*
* End of "$Id$".
*/
+8 -15
Ver Arquivo
@@ -1,16 +1,14 @@
#
# "$Id$"
# Berkeley commands makefile for CUPS.
#
# Berkeley commands makefile for CUPS.
# Copyright 2007-2012 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products, all rights reserved.
#
# Copyright 2007-2012 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
# 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
@@ -161,8 +159,3 @@ lprm: lprm.o ../cups/$(LIBCUPS)
#
include Dependencies
#
# End of "$Id$".
#
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* "lpc" command for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
@@ -435,8 +433,3 @@ show_status(http_t *http, /* I - HTTP connection to server */
ippDelete(response);
}
}
/*
* End of "$Id$".
*/
+105 -101
Ver Arquivo
@@ -1,9 +1,7 @@
/*
* "$Id$"
*
* "lpq" command for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
* Copyright 2007-2016 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -41,7 +39,8 @@ main(int argc, /* I - Number of command-line arguments */
{
int i; /* Looping var */
http_t *http; /* Connection to server */
const char *dest, /* Desired printer */
const char *opt, /* Option pointer */
*dest, /* Desired printer */
*user, /* Desired user */
*val; /* Environment variable name */
char *instance; /* Printer instance */
@@ -67,128 +66,138 @@ main(int argc, /* I - Number of command-line arguments */
all = 0;
for (i = 1; i < argc; i ++)
{
if (argv[i][0] == '+')
{
interval = atoi(argv[i] + 1);
}
else if (argv[i][0] == '-')
{
switch (argv[i][1])
for (opt = argv[i] + 1; *opt; opt ++)
{
case 'E' : /* Encrypt */
switch (*opt)
{
case 'E' : /* Encrypt */
#ifdef HAVE_SSL
cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
if (http)
httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
if (http)
httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
#else
_cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
argv[0]);
_cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
#endif /* HAVE_SSL */
break;
break;
case 'U' : /* Username */
if (argv[i][2] != '\0')
cupsSetUser(argv[i] + 2);
else
{
i ++;
if (i >= argc)
case 'U' : /* Username */
if (opt[1] != '\0')
{
_cupsLangPrintf(stderr,
_("%s: Error - expected username after "
"\"-U\" option."), argv[0]);
return (1);
cupsSetUser(opt + 1);
opt += strlen(opt) - 1;
}
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
return (1);
}
cupsSetUser(argv[i]);
}
break;
case 'P' : /* Printer */
if (opt[1] != '\0')
{
dest = opt + 1;
opt += strlen(opt) - 1;
}
else
{
i ++;
if (i >= argc)
{
httpClose(http);
usage();
}
dest = argv[i];
}
cupsSetUser(argv[i]);
}
break;
if ((instance = strchr(dest, '/')) != NULL)
*instance++ = '\0';
case 'P' : /* Printer */
if (argv[i][2])
dest = argv[i] + 2;
else
{
i ++;
http = connect_server(argv[0], http);
if (i >= argc)
if ((named_dest = cupsGetNamedDest(http, dest, instance)) == NULL)
{
if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
_cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
else if (instance)
_cupsLangPrintf(stderr, _("%s: Error - unknown destination \"%s/%s\"."), argv[0], dest, instance);
else
_cupsLangPrintf(stderr, _("%s: Unknown destination \"%s\"."), argv[0], dest);
return (1);
}
cupsFreeDests(1, named_dest);
break;
case 'a' : /* All printers */
all = 1;
break;
case 'h' : /* Connect to host */
if (http)
{
httpClose(http);
usage();
http = NULL;
}
dest = argv[i];
}
if ((instance = strchr(dest, '/')) != NULL)
*instance++ = '\0';
http = connect_server(argv[0], http);
if ((named_dest = cupsGetNamedDest(http, dest, instance)) == NULL)
{
if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
_cupsLangPrintf(stderr,
_("%s: Error - add '/version=1.1' to server "
"name."), argv[0]);
else if (instance)
_cupsLangPrintf(stderr,
_("%s: Error - unknown destination \"%s/%s\"."),
argv[0], dest, instance);
else
_cupsLangPrintf(stderr, _("%s: Unknown destination \"%s\"."),
argv[0], dest);
return (1);
}
cupsFreeDests(1, named_dest);
break;
case 'a' : /* All printers */
all = 1;
break;
case 'h' : /* Connect to host */
if (http)
{
httpClose(http);
http = NULL;
}
if (argv[i][2] != '\0')
cupsSetServer(argv[i] + 2);
else
{
i ++;
if (i >= argc)
if (opt[1] != '\0')
{
_cupsLangPrintf(stderr,
_("%s: Error - expected hostname after "
"\"-h\" option."), argv[0]);
return (1);
}
cupsSetServer(opt + 1);
opt += strlen(opt) - 1;
}
else
cupsSetServer(argv[i]);
}
break;
{
i ++;
case 'l' : /* Long status */
longstatus = 1;
break;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-h\" option."), argv[0]);
return (1);
}
else
cupsSetServer(argv[i]);
}
break;
default :
httpClose(http);
case 'l' : /* Long status */
longstatus = 1;
break;
usage();
default :
httpClose(http);
usage();
}
}
}
else if (isdigit(argv[i][0] & 255))
{
id = atoi(argv[i]);
}
else
{
user = argv[i];
}
}
http = connect_server(argv[0], http);
@@ -638,8 +647,3 @@ usage(void)
"[-l] [+interval]"));
exit(1);
}
/*
* End of "$Id$".
*/
+213 -211
Ver Arquivo
@@ -1,9 +1,7 @@
/*
* "$Id$"
*
* "lpr" command for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
* Copyright 2007-2016 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -32,7 +30,8 @@ main(int argc, /* I - Number of command-line arguments */
int job_id; /* Job ID */
char ch; /* Option character */
char *printer, /* Destination printer or class */
*instance; /* Instance */
*instance, /* Instance */
*opt; /* Option pointer */
const char *title, /* Job title */
*val; /* Environment variable name */
int num_copies; /* Number of copies per file */
@@ -56,229 +55,235 @@ main(int argc, /* I - Number of command-line arguments */
title = NULL;
for (i = 1; i < argc; i ++)
{
if (argv[i][0] == '-')
{
switch (ch = argv[i][1])
for (opt = argv[i] + 1; *opt; opt ++)
{
case 'E' : /* Encrypt */
switch (ch = *opt)
{
case 'E' : /* Encrypt */
#ifdef HAVE_SSL
cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
#else
_cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
argv[0]);
_cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
#endif /* HAVE_SSL */
break;
break;
case 'U' : /* Username */
if (argv[i][2] != '\0')
cupsSetUser(argv[i] + 2);
else
{
i ++;
if (i >= argc)
case 'U' : /* Username */
if (opt[1] != '\0')
{
_cupsLangPrintf(stderr,
_("%s: Error - expected username after "
"\"-U\" option."), argv[0]);
return (1);
cupsSetUser(opt + 1);
opt += strlen(opt) - 1;
}
cupsSetUser(argv[i]);
}
break;
case 'H' : /* Connect to host */
if (argv[i][2] != '\0')
cupsSetServer(argv[i] + 2);
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr,
_("%s: Error - expected hostname after "
"\"-H\" option."), argv[0]);
return (1);
}
else
cupsSetServer(argv[i]);
}
break;
case '1' : /* TROFF font set 1 */
case '2' : /* TROFF font set 2 */
case '3' : /* TROFF font set 3 */
case '4' : /* TROFF font set 4 */
case 'i' : /* indent */
case 'w' : /* width */
if (argv[i][2] == '\0')
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr,
_("%s: Error - expected value after \"-%c\" "
"option."), argv[0], ch);
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
return (1);
}
cupsSetUser(argv[i]);
}
break;
case 'H' : /* Connect to host */
if (opt[1] != '\0')
{
cupsSetServer(opt + 1);
opt += strlen(opt) - 1;
}
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-H\" option."), argv[0]);
return (1);
}
else
cupsSetServer(argv[i]);
}
break;
case '1' : /* TROFF font set 1 */
case '2' : /* TROFF font set 2 */
case '3' : /* TROFF font set 3 */
case '4' : /* TROFF font set 4 */
case 'i' : /* indent */
case 'w' : /* width */
if (opt[1] != '\0')
{
opt += strlen(opt) - 1;
}
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr,
_("%s: Error - expected value after \"-%c\" "
"option."), argv[0], ch);
return (1);
}
}
case 'c' : /* CIFPLOT */
case 'd' : /* DVI */
case 'f' : /* FORTRAN */
case 'g' : /* plot */
case 'n' : /* Ditroff */
case 't' : /* Troff */
case 'v' : /* Raster image */
_cupsLangPrintf(stderr, _("%s: Warning - \"%c\" format modifier not supported - output may not be correct."), argv[0], ch);
break;
case 'o' : /* Option */
if (opt[1] != '\0')
{
num_options = cupsParseOptions(opt + 1, num_options, &options);
opt += strlen(opt) - 1;
}
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected option=value after \"-o\" option."), argv[0]);
return (1);
}
num_options = cupsParseOptions(argv[i], num_options, &options);
}
break;
case 'l' : /* Literal/raw */
num_options = cupsAddOption("raw", "true", num_options, &options);
break;
case 'p' : /* Prettyprint */
num_options = cupsAddOption("prettyprint", "true", num_options, &options);
break;
case 'h' : /* Suppress burst page */
num_options = cupsAddOption("job-sheets", "none", num_options, &options);
break;
case 's' : /* Don't use symlinks */
break;
case 'm' : /* Mail on completion */
{
char email[1024]; /* EMail address */
snprintf(email, sizeof(email), "mailto:%s@%s", cupsUser(), httpGetHostname(NULL, buffer, sizeof(buffer)));
num_options = cupsAddOption("notify-recipient-uri", email, num_options, &options);
}
break;
case 'q' : /* Queue file but don't print */
num_options = cupsAddOption("job-hold-until", "indefinite", num_options, &options);
break;
case 'r' : /* Remove file after printing */
deletefile = 1;
break;
case 'P' : /* Destination printer or class */
if (opt[1] != '\0')
{
printer = opt + 1;
opt += strlen(opt) - 1;
}
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected destination after \"-P\" option."), argv[0]);
return (1);
}
printer = argv[i];
}
if ((instance = strrchr(printer, '/')) != NULL)
*instance++ = '\0';
if ((dest = cupsGetNamedDest(NULL, printer, instance)) != NULL)
{
for (j = 0; j < dest->num_options; j ++)
if (cupsGetOption(dest->options[j].name, num_options,
options) == NULL)
num_options = cupsAddOption(dest->options[j].name,
dest->options[j].value,
num_options, &options);
}
else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
{
_cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
return (1);
}
}
break;
case 'c' : /* CIFPLOT */
case 'd' : /* DVI */
case 'f' : /* FORTRAN */
case 'g' : /* plot */
case 'n' : /* Ditroff */
case 't' : /* Troff */
case 'v' : /* Raster image */
_cupsLangPrintf(stderr,
_("%s: Warning - \"%c\" format modifier not "
"supported - output may not be correct."),
argv[0], ch);
break;
case 'o' : /* Option */
if (argv[i][2] != '\0')
num_options = cupsParseOptions(argv[i] + 2, num_options, &options);
else
{
i ++;
if (i >= argc)
case '#' : /* Number of copies */
if (opt[1] != '\0')
{
_cupsLangPrintf(stderr,
_("%s: Error - expected option=value after "
"\"-o\" option."), argv[0]);
num_copies = atoi(opt + 1);
opt += strlen(opt) - 1;
}
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected copies after \"-#\" option."), argv[0]);
return (1);
}
num_copies = atoi(argv[i]);
}
if (num_copies < 1)
{
_cupsLangPrintf(stderr, _("%s: Error - copies must be 1 or more."), argv[0]);
return (1);
}
num_options = cupsParseOptions(argv[i], num_options, &options);
}
break;
sprintf(buffer, "%d", num_copies);
num_options = cupsAddOption("copies", buffer, num_options, &options);
break;
case 'l' : /* Literal/raw */
num_options = cupsAddOption("raw", "true", num_options, &options);
break;
case 'p' : /* Prettyprint */
num_options = cupsAddOption("prettyprint", "true", num_options,
&options);
break;
case 'h' : /* Suppress burst page */
num_options = cupsAddOption("job-sheets", "none", num_options,
&options);
break;
case 's' : /* Don't use symlinks */
break;
case 'm' : /* Mail on completion */
{
char email[1024]; /* EMail address */
snprintf(email, sizeof(email), "mailto:%s@%s", cupsUser(),
httpGetHostname(NULL, buffer, sizeof(buffer)));
num_options = cupsAddOption("notify-recipient-uri", email,
num_options, &options);
}
break;
case 'q' : /* Queue file but don't print */
num_options = cupsAddOption("job-hold-until", "indefinite",
num_options, &options);
break;
case 'r' : /* Remove file after printing */
deletefile = 1;
break;
case 'P' : /* Destination printer or class */
if (argv[i][2] != '\0')
printer = argv[i] + 2;
else
{
i ++;
if (i >= argc)
case 'C' : /* Class */
case 'J' : /* Job name */
case 'T' : /* Title */
if (opt[1] != '\0')
{
_cupsLangPrintf(stderr,
_("%s: Error - expected destination after "
"\"-P\" option."), argv[0]);
return (1);
title = opt + 1;
opt += strlen(opt) - 1;
}
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected name after \"-%c\" option."), argv[0], ch);
return (1);
}
printer = argv[i];
}
title = argv[i];
}
break;
if ((instance = strrchr(printer, '/')) != NULL)
*instance++ = '\0';
if ((dest = cupsGetNamedDest(NULL, printer, instance)) != NULL)
{
for (j = 0; j < dest->num_options; j ++)
if (cupsGetOption(dest->options[j].name, num_options,
options) == NULL)
num_options = cupsAddOption(dest->options[j].name,
dest->options[j].value,
num_options, &options);
}
else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
{
_cupsLangPrintf(stderr,
_("%s: Error - add '/version=1.1' to server "
"name."), argv[0]);
default :
_cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), argv[0], *opt);
return (1);
}
break;
case '#' : /* Number of copies */
if (argv[i][2] != '\0')
num_copies = atoi(argv[i] + 2);
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr,
_("%s: Error - expected copies after "
"\"-#\" option."), argv[0]);
return (1);
}
num_copies = atoi(argv[i]);
}
sprintf(buffer, "%d", num_copies);
num_options = cupsAddOption("copies", buffer, num_options, &options);
break;
case 'C' : /* Class */
case 'J' : /* Job name */
case 'T' : /* Title */
if (argv[i][2] != '\0')
title = argv[i] + 2;
else
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr,
_("%s: Error - expected name after \"-%c\" "
"option."), argv[0], ch);
return (1);
}
title = argv[i];
}
break;
default :
_cupsLangPrintf(stderr,
_("%s: Error - unknown option \"%c\"."), argv[0],
argv[i][1]);
return (1);
}
}
}
else if (num_files < 1000)
@@ -307,9 +312,11 @@ main(int argc, /* I - Number of command-line arguments */
}
}
else
_cupsLangPrintf(stderr,
_("%s: Error - too many files - \"%s\"."), argv[0],
argv[i]);
{
_cupsLangPrintf(stderr, _("%s: Error - too many files - \"%s\"."), argv[0], argv[i]);
}
}
/*
* See if we have any files to print; if not, print from stdin...
*/
@@ -429,8 +436,3 @@ main(int argc, /* I - Number of command-line arguments */
return (0);
}
/*
* End of "$Id$".
*/
+84 -87
Ver Arquivo
@@ -1,20 +1,14 @@
/*
* "$Id$"
* "lprm" command for CUPS.
*
* "lprm" command for CUPS.
* Copyright 2007-2016 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* Copyright 2007-2010 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* main() - Parse options and cancel jobs.
* 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/".
*/
/*
@@ -35,7 +29,8 @@ main(int argc, /* I - Number of command-line arguments */
int i; /* Looping var */
int job_id; /* Job ID */
const char *name; /* Destination printer */
char *instance; /* Pointer to instance name */
char *instance, /* Pointer to instance name */
*opt; /* Option pointer */
cups_dest_t *dest, /* Destination */
*defdest; /* Default destination */
int did_cancel; /* Did we cancel something? */
@@ -56,90 +51,96 @@ main(int argc, /* I - Number of command-line arguments */
*/
for (i = 1; i < argc; i ++)
{
if (argv[i][0] == '-' && argv[i][1] != '\0')
switch (argv[i][1])
{
for (opt = argv[i] + 1; *opt; opt ++)
{
case 'E' : /* Encrypt */
switch (*opt)
{
case 'E' : /* Encrypt */
#ifdef HAVE_SSL
cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
#else
_cupsLangPrintf(stderr,
_("%s: Sorry, no encryption support."), argv[0]);
_cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
#endif /* HAVE_SSL */
break;
break;
case 'P' : /* Cancel jobs on a printer */
if (argv[i][2])
name = argv[i] + 2;
else
{
i ++;
name = argv[i];
}
if ((instance = strchr(name, '/')) != NULL)
*instance = '\0';
if ((dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, name,
NULL)) == NULL)
{
_cupsLangPrintf(stderr,
_("%s: Error - unknown destination \"%s\"."),
argv[0], name);
goto error;
}
cupsFreeDests(1, dest);
break;
case 'U' : /* Username */
if (argv[i][2] != '\0')
cupsSetUser(argv[i] + 2);
else
{
i ++;
if (i >= argc)
case 'P' : /* Cancel jobs on a printer */
if (opt[1] != '\0')
{
_cupsLangPrintf(stderr,
_("%s: Error - expected username after "
"\"-U\" option."), argv[0]);
goto error;
name = opt + 1;
opt += strlen(opt) - 1;
}
else
{
i ++;
name = argv[i];
}
cupsSetUser(argv[i]);
}
break;
case 'h' : /* Connect to host */
if (argv[i][2] != '\0')
cupsSetServer(argv[i] + 2);
else
{
i ++;
if ((instance = strchr(name, '/')) != NULL)
*instance = '\0';
if (i >= argc)
if ((dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, name, NULL)) == NULL)
{
_cupsLangPrintf(stderr,
_("%s: Error - expected hostname after "
"\"-h\" option."), argv[0]);
_cupsLangPrintf(stderr, _("%s: Error - unknown destination \"%s\"."), argv[0], name);
goto error;
}
}
cupsFreeDests(1, dest);
break;
case 'U' : /* Username */
if (opt[1] != '\0')
{
cupsSetUser(opt + 1);
opt += strlen(opt) - 1;
}
else
cupsSetServer(argv[i]);
}
{
i ++;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
goto error;
}
if (defdest)
cupsFreeDests(1, defdest);
cupsSetUser(argv[i]);
}
break;
defdest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, NULL, NULL);
name = defdest ? defdest->name : NULL;
break;
case 'h' : /* Connect to host */
if (opt[1] != '\0')
{
cupsSetServer(opt + 1);
opt += strlen(opt) - 1;
}
else
{
i ++;
default :
_cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."),
argv[0], argv[i][1]);
goto error;
if (i >= argc)
{
_cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-h\" option."), argv[0]);
goto error;
}
else
cupsSetServer(argv[i]);
}
if (defdest)
cupsFreeDests(1, defdest);
defdest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, NULL, NULL);
name = defdest ? defdest->name : NULL;
break;
default :
_cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), argv[0], *opt);
goto error;
}
}
}
else
{
/*
@@ -182,6 +183,7 @@ main(int argc, /* I - Number of command-line arguments */
did_cancel = 1;
}
}
/*
* If nothing has been canceled yet, cancel the current job on the specified
@@ -210,8 +212,3 @@ main(int argc, /* I - Number of command-line arguments */
return (1);
}
/*
* End of "$Id$".
*/
+13 -37
Ver Arquivo
@@ -1,9 +1,7 @@
#
# "$Id$"
#
# CGI makefile for CUPS.
#
# Copyright 2007-2014 by Apple Inc.
# Copyright 2007-2016 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products.
#
# These coded instructions, statements, and computer programs are the
@@ -128,10 +126,13 @@ install-exec:
#
install-headers:
echo Installing header files in $(INCLUDEDIR)/cups...
$(INSTALL_DIR) -m 755 $(INCLUDEDIR)/cups
$(INSTALL_DATA) cgi.h $(INCLUDEDIR)/cups
$(INSTALL_DATA) help-index.h $(INCLUDEDIR)/cups
if test "x$(privateinclude)" != x; then \
echo Installing private header files into $(PRIVATEINCLUDE)...; \
$(INSTALL_DIR) -m 755 $(PRIVATEINCLUDE); \
for file in cgi.h help-index.h; do \
$(INSTALL_DATA) $$file $(PRIVATEINCLUDE); \
done; \
fi
#
@@ -178,31 +179,11 @@ uninstall:
$(RM) $(LIBDIR)/libcupscgi.so
$(RM) $(LIBDIR)/libcupscgi.so.1
-$(RMDIR) $(LIBDIR)
$(RM) $(INCLUDEDIR)/cups/cgi.h
$(RM) $(INCLUDEDIR)/cups/help-index.h
-$(RMDIR) $(INCLUDEDIR)/cups
#
# Automatic API help files...
#
apihelp:
mxmldoc --section "Programming" \
--title "CGI API" \
--css ../doc/cups-printable.css \
--header api-cgi.header --intro api-cgi.shtml \
cgi.h help-index.h $(LIBOBJS:.o=.c) >../doc/help/api-cgi.html
mxmldoc --tokens help/api-cgi.html api-cgi.xml >../doc/help/api-cgi.tokens
$(RM) api-cgi.xml
framedhelp:
mxmldoc --framed api-cgi \
--section "Programming" \
--title "CGI API" \
--css ../doc/cups-printable.css \
--header api-cgi.header --intro api-cgi.shtml \
cgi.h help-index.h $(LIBOBJS:.o=.c)
-if test "x$(privateinclude)" != x; then \
$(RM) $(PRIVATEINCLUDE)/cgi.h; \
$(RM) $(PRIVATEINCLUDE)/help-index.h; \
$(RMDIR) $(PRIVATEINCLUDE); \
fi
#
@@ -350,8 +331,3 @@ testtemplate: testtemplate.o ../Makedefs libcupscgi.a ../cups/$(LIBCUPSSTATIC)
#
include Dependencies
#
# End of "$Id$".
#
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Administration CGI for CUPS.
*
* Copyright 2007-2015 by Apple Inc.
@@ -4274,8 +4272,3 @@ get_printer_ppd(const char *uri, /* I - Printer URI */
else
return (NULL);
}
/*
* End of "$Id$".
*/
-34
Ver Arquivo
@@ -1,34 +0,0 @@
<!--
"$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
CGI API header for CUPS.
Copyright 2009 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/".
-->
<h1 class='title'>CGI API</h1>
<div class='summary'><table summary='General Information'>
<thead>
<tr>
<th>Header</th>
<th>cups/cgi.h</th>
</tr>
</thead>
<tbody>
<tr>
<th>Library</th>
<td>-lcupscgi</td>
</tr>
<tr>
<th>See Also</th>
<td>Programming: <a href='api-overview.html' target='_top'>Introduction to CUPS Programming</a></td>
</tr>
</tbody>
</table></div>
-17
Ver Arquivo
@@ -1,17 +0,0 @@
<!--
"$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
CGI API introduction for CUPS.
Copyright 2009 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/".
-->
<h2 class='title'><a name='OVERVIEW'>Overview</a></h2>
<p>The CGI API provides Common Gateway Interface functions for CUPS.</p>
+8 -15
Ver Arquivo
@@ -1,16 +1,14 @@
/*
* "$Id$"
* Private CGI definitions for CUPS.
*
* Private CGI definitions for CUPS.
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* 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/".
*/
/*
@@ -29,8 +27,3 @@
*/
#define CUPS_PAGE_MAX 100 /* Maximum items per page */
/*
* End of "$Id$".
*/
+8 -14
Ver Arquivo
@@ -1,16 +1,14 @@
/*
* "$Id$"
* CGI support library definitions for CUPS.
*
* CGI support library definitions for CUPS.
* Copyright 2007-2010 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* Copyright 2007-2010 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* 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_CGI_H_
@@ -113,7 +111,3 @@ extern const char *cgiText(const char *message);
# endif /* __cplusplus */
#endif /* !_CUPS_CGI_H_ */
/*
* End of "$Id$".
*/
+12 -29
Ver Arquivo
@@ -1,9 +1,7 @@
/*
* "$Id$"
*
* Class status CGI for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
* Copyright 2007-2016 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -299,8 +297,7 @@ show_all_classes(http_t *http, /* I - Connection to server */
*response; /* IPP response */
cups_array_t *classes; /* Array of class objects */
ipp_attribute_t *pclass; /* Class object */
int ascending, /* Order of classes (0 = descending) */
first, /* First class to show */
int first, /* First class to show */
count; /* Number of classes */
const char *var; /* Form variable */
void *search; /* Search data */
@@ -372,25 +369,10 @@ show_all_classes(http_t *http, /* I - Connection to server */
sprintf(val, "%d", count);
cgiSetVariable("TOTAL", val);
if ((var = cgiGetVariable("ORDER")) != NULL && *var)
ascending = !_cups_strcasecmp(var, "asc");
else
ascending = 1;
if (ascending)
{
for (i = 0, pclass = (ipp_attribute_t *)cupsArrayIndex(classes, first);
i < CUPS_PAGE_MAX && pclass;
i ++, pclass = (ipp_attribute_t *)cupsArrayNext(classes))
cgiSetIPPObjectVars(pclass, NULL, i);
}
else
{
for (i = 0, pclass = (ipp_attribute_t *)cupsArrayIndex(classes, count - first - 1);
i < CUPS_PAGE_MAX && pclass;
i ++, pclass = (ipp_attribute_t *)cupsArrayPrev(classes))
cgiSetIPPObjectVars(pclass, NULL, i);
}
for (i = 0, pclass = (ipp_attribute_t *)cupsArrayIndex(classes, first);
i < CUPS_PAGE_MAX && pclass;
i ++, pclass = (ipp_attribute_t *)cupsArrayNext(classes))
cgiSetIPPObjectVars(pclass, NULL, i);
/*
* Save navigation URLs...
@@ -410,6 +392,12 @@ show_all_classes(http_t *http, /* I - Connection to server */
cgiSetVariable("NEXT", val);
}
if (count > CUPS_PAGE_MAX)
{
snprintf(val, sizeof(val), "%d", CUPS_PAGE_MAX * (count / CUPS_PAGE_MAX));
cgiSetVariable("LAST", val);
}
/*
* Then show everything...
*/
@@ -543,8 +531,3 @@ show_class(http_t *http, /* I - Connection to server */
cgiEndHTML();
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Online help index routines for CUPS.
*
* Copyright 2007-2015 by Apple Inc.
@@ -1303,8 +1301,3 @@ help_sort_words(help_word_t *w1, /* I - Second word */
return (_cups_strcasecmp(w1->text, w2->text));
}
/*
* End of "$Id$".
*/
+8 -14
Ver Arquivo
@@ -1,16 +1,14 @@
/*
* "$Id$"
* Online help index definitions for CUPS.
*
* Online help index definitions for CUPS.
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* 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_HELP_INDEX_H_
@@ -81,7 +79,3 @@ extern help_index_t *helpSearchIndex(help_index_t *hi, const char *query,
# endif /* __cplusplus */
#endif /* !_CUPS_HELP_INDEX_H_ */
/*
* End of "$Id$".
*/
+8 -19
Ver Arquivo
@@ -1,20 +1,14 @@
/*
* "$Id$"
* Online help CGI for CUPS.
*
* Online help CGI for CUPS.
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* main() - Main entry for CGI.
* 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/".
*/
/*
@@ -390,8 +384,3 @@ main(int argc, /* I - Number of command-line arguments */
return (0);
}
/*
* End of "$Id$".
*/
+8 -25
Ver Arquivo
@@ -1,26 +1,14 @@
/*
* "$Id$"
* HTML support functions for CUPS.
*
* HTML support functions for CUPS.
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* cgiEndHTML() - End a HTML page.
* cgiEndMultipart() - End the delivery of a multipart web page.
* cgiFormEncode() - Encode a string as a form variable.
* cgiStartHTML() - Start a HTML page.
* cgiStartMultipart() - Start a multipart delivery of a web page.
* cgiSupportsMultipart() - Does the browser support multi-part documents?
* cgi_null_passwd() - Return a NULL password for authentication.
* 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/".
*/
/*
@@ -232,8 +220,3 @@ cgi_null_passwd(const char *prompt) /* I - Prompt string (unused) */
return (NULL);
}
/*
* End of "$Id$".
*/
+25 -47
Ver Arquivo
@@ -1,9 +1,7 @@
/*
* "$Id$"
*
* CGI <-> IPP variable routines for CUPS.
*
* Copyright 2007-2015 by Apple Inc.
* Copyright 2007-2016 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -1325,7 +1323,7 @@ cgiSetIPPVars(ipp_t *response, /* I - Response data to be copied... */
attr = cgiSetIPPObjectVars(attr, prefix, element);
}
fprintf(stderr, "DEBUG2: Returing %d from cgiSetIPPVars()...\n", element);
fprintf(stderr, "DEBUG2: Returning %d from cgiSetIPPVars()...\n", element);
return (element);
}
@@ -1360,8 +1358,7 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
*response; /* IPP response */
cups_array_t *jobs; /* Array of job objects */
ipp_attribute_t *job; /* Job object */
int ascending, /* Order of jobs (0 = descending) */
first, /* First job to show */
int first, /* First job to show */
count; /* Number of jobs */
const char *var, /* Form variable */
*query, /* Query string */
@@ -1397,6 +1394,17 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
NULL, which_jobs);
if ((var = cgiGetVariable("FIRST")) != NULL)
{
if ((first = atoi(var)) < 0)
first = 0;
}
else
first = 0;
if (first > 0)
ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER, "first-index", first + 1);
cgiGetAttributes(request, "jobs.tmpl");
/*
@@ -1419,7 +1427,7 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
}
jobs = cgiGetIPPObjects(response, search);
count = cupsArrayCount(jobs);
count = cupsArrayCount(jobs) + first;
if (search)
cgiFreeSearch(search);
@@ -1428,25 +1436,6 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
* Figure out which jobs to display...
*/
if ((var = cgiGetVariable("FIRST")) != NULL)
first = atoi(var);
else
first = 0;
if (first >= count)
first = count - CUPS_PAGE_MAX;
first = (first / CUPS_PAGE_MAX) * CUPS_PAGE_MAX;
if (first < 0)
first = 0;
if ((var = cgiGetVariable("ORDER")) != NULL && *var)
ascending = !_cups_strcasecmp(var, "asc");
else
ascending = !which_jobs || !*which_jobs ||
!_cups_strcasecmp(which_jobs, "not-completed");
section = cgiGetVariable("SECTION");
cgiClearVariables();
@@ -1454,8 +1443,6 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
if (query)
cgiSetVariable("QUERY", query);
cgiSetVariable("ORDER", ascending ? "asc" : "dec");
cgiSetVariable("SECTION", section);
sprintf(val, "%d", count);
@@ -1464,20 +1451,10 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
if (which_jobs)
cgiSetVariable("WHICH_JOBS", which_jobs);
if (ascending)
{
for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, first);
i < CUPS_PAGE_MAX && job;
i ++, job = (ipp_attribute_t *)cupsArrayNext(jobs))
cgiSetIPPObjectVars(job, NULL, i);
}
else
{
for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, count - first - 1);
i < CUPS_PAGE_MAX && job;
i ++, job = (ipp_attribute_t *)cupsArrayPrev(jobs))
cgiSetIPPObjectVars(job, NULL, i);
}
for (i = 0, job = (ipp_attribute_t *)cupsArrayFirst(jobs);
i < CUPS_PAGE_MAX && job;
i ++, job = (ipp_attribute_t *)cupsArrayNext(jobs))
cgiSetIPPObjectVars(job, NULL, i);
/*
* Save navigation URLs...
@@ -1506,6 +1483,12 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
cgiSetVariable("NEXT", val);
}
if (count > CUPS_PAGE_MAX)
{
snprintf(val, sizeof(val), "%d", CUPS_PAGE_MAX * (count / CUPS_PAGE_MAX));
cgiSetVariable("LAST", val);
}
/*
* Then show everything...
*/
@@ -1547,8 +1530,3 @@ cgiText(const char *message) /* I - Message */
return (_cupsLangString(language, message));
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Job status CGI for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
@@ -201,8 +199,3 @@ do_job_op(http_t *http, /* I - HTTP connection */
cgiEndHTML();
}
/*
* End of "$Id$".
*/
+8 -25
Ver Arquivo
@@ -1,30 +1,18 @@
/*
* "$Id$"
* Xcode documentation set generator.
*
* Xcode documentation set generator.
* Copyright 2007-2012 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* Copyright 2007-2012 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* 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/".
*
* Usage:
*
* makedocset directory *.tokens
*
* Contents:
*
* main() - Test the help index code.
* compare_html() - Compare the titles of two HTML files.
* compare_sections() - Compare the names of two help sections.
* compare_sections_files() - Compare the number of files and section names.
* write_index() - Write an index file for the CUPS help.
* write_info() - Write the Info.plist file.
* write_nodes() - Write the Nodes.xml file.
*/
/*
@@ -479,8 +467,3 @@ write_nodes(const char *path, /* I - File to write */
cupsFileClose(fp);
}
/*
* End of "$Id$".
*/
+12 -29
Ver Arquivo
@@ -1,9 +1,7 @@
/*
* "$Id$"
*
* Printer status CGI for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
* Copyright 2007-2016 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -306,8 +304,7 @@ show_all_printers(http_t *http, /* I - Connection to server */
*response; /* IPP response */
cups_array_t *printers; /* Array of printer objects */
ipp_attribute_t *printer; /* Printer object */
int ascending, /* Order of printers (0 = descending) */
first, /* First printer to show */
int first, /* First printer to show */
count; /* Number of printers */
const char *var; /* Form variable */
void *search; /* Search data */
@@ -389,25 +386,10 @@ show_all_printers(http_t *http, /* I - Connection to server */
sprintf(val, "%d", count);
cgiSetVariable("TOTAL", val);
if ((var = cgiGetVariable("ORDER")) != NULL && *var)
ascending = !_cups_strcasecmp(var, "asc");
else
ascending = 1;
if (ascending)
{
for (i = 0, printer = (ipp_attribute_t *)cupsArrayIndex(printers, first);
i < CUPS_PAGE_MAX && printer;
i ++, printer = (ipp_attribute_t *)cupsArrayNext(printers))
cgiSetIPPObjectVars(printer, NULL, i);
}
else
{
for (i = 0, printer = (ipp_attribute_t *)cupsArrayIndex(printers, count - first - 1);
i < CUPS_PAGE_MAX && printer;
i ++, printer = (ipp_attribute_t *)cupsArrayPrev(printers))
cgiSetIPPObjectVars(printer, NULL, i);
}
for (i = 0, printer = (ipp_attribute_t *)cupsArrayIndex(printers, first);
i < CUPS_PAGE_MAX && printer;
i ++, printer = (ipp_attribute_t *)cupsArrayNext(printers))
cgiSetIPPObjectVars(printer, NULL, i);
/*
* Save navigation URLs...
@@ -427,6 +409,12 @@ show_all_printers(http_t *http, /* I - Connection to server */
cgiSetVariable("NEXT", val);
}
if (count > CUPS_PAGE_MAX)
{
snprintf(val, sizeof(val), "%d", CUPS_PAGE_MAX * (count / CUPS_PAGE_MAX));
cgiSetVariable("LAST", val);
}
/*
* Then show everything...
*/
@@ -563,8 +551,3 @@ show_printer(http_t *http, /* I - Connection to server */
cgiEndHTML();
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Search routines for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
@@ -368,8 +366,3 @@ cgiFreeSearch(void *search) /* I - Search context */
{
regfree((regex_t *)search);
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* CGI template function.
*
* Copyright 2007-2015 by Apple Inc.
@@ -683,8 +681,3 @@ cgi_puturi(const char *s, /* I - String to output */
s ++;
}
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* CGI test program for CUPS.
*
* Copyright 2007-2014 by Apple Inc.
@@ -62,8 +60,3 @@ main(void)
return (0);
}
/*
* End of "$Id$".
*/
+8 -20
Ver Arquivo
@@ -1,21 +1,14 @@
/*
* "$Id$"
* Help index test program for CUPS.
*
* Help index test program for CUPS.
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* 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/".
*/
/*
@@ -106,8 +99,3 @@ list_nodes(const char *title, /* I - Title string */
printf(" (%d words)\n", cupsArrayCount(node->words));
}
}
/*
* End of "$Id$".
*/
+8 -19
Ver Arquivo
@@ -1,20 +1,14 @@
/*
* "$Id$"
* CGI template test program for CUPS.
*
* CGI template test program for CUPS.
* Copyright 2007-2011 by Apple Inc.
* Copyright 2006 by Easy Software Products.
*
* Copyright 2007-2011 by Apple Inc.
* Copyright 2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
*
* Contents:
*
* main() - Test the template code.
* 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/".
*/
/*
@@ -96,8 +90,3 @@ main(int argc, /* I - Number of command-line arguments */
return (0);
}
/*
* End of "$Id$".
*/
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* CGI form variable and array functions for CUPS.
*
* Copyright 2007-2015 by Apple Inc.
@@ -1294,8 +1292,3 @@ cgi_unlink_file(void)
form_file = NULL;
}
}
/*
* End of "$Id$".
*/
+8 -15
Ver Arquivo
@@ -1,16 +1,14 @@
#
# "$Id$"
# Configuration file makefile for CUPS.
#
# Configuration file makefile for CUPS.
# Copyright 2007-2015 by Apple Inc.
# Copyright 1993-2006 by Easy Software Products.
#
# Copyright 2007-2015 by Apple Inc.
# Copyright 1993-2006 by Easy Software Products.
#
# These coded instructions, statements, and computer programs are the
# property of Apple Inc. and are protected by Federal copyright
# law. Distribution and use rights are outlined in the file "LICENSE.txt"
# which should have been included with this file. If this file is
# 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
@@ -136,8 +134,3 @@ uninstall:
$(RM) $(BUILDROOT)$(PAMDIR)/cups; \
$(RMDIR) $(BUILDROOT)$(PAMDIR); \
fi
#
# End of "$Id$".
#
+5 -22
Ver Arquivo
@@ -1,9 +1,7 @@
dnl
dnl "$Id$"
dnl
dnl Common configuration stuff for CUPS.
dnl
dnl Copyright 2007-2015 by Apple Inc.
dnl Copyright 2007-2016 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
@@ -18,21 +16,7 @@ AC_CONFIG_HEADER(config.h)
dnl Version number information...
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_REVISION=""
CUPS_BUILD="cups-$CUPS_VERSION"
AC_ARG_WITH(cups_build, [ --with-cups-build set "cups-config --build" string ],
@@ -215,6 +199,9 @@ AC_CHECK_FUNCS(waitpid wait3)
dnl Check for posix_spawn
AC_CHECK_FUNCS(posix_spawn)
dnl Check for getgrouplist
AC_CHECK_FUNCS(getgrouplist)
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;
@@ -472,7 +459,3 @@ case "$COMPONENTS" in
esac
AC_SUBST(BUILDDIRS)
dnl
dnl End of "$Id$".
dnl
-6
Ver Arquivo
@@ -1,6 +1,4 @@
dnl
dnl "$Id$"
dnl
dnl Compiler stuff for CUPS.
dnl
dnl Copyright 2007-2014 by Apple Inc.
@@ -244,7 +242,3 @@ case $uname in
OPTIM="$OPTIM -D_GNU_SOURCE"
;;
esac
dnl
dnl End of "$Id$".
dnl
+8 -14
Ver Arquivo
@@ -1,16 +1,14 @@
dnl
dnl "$Id$"
dnl Default cupsd configuration settings for CUPS.
dnl
dnl Default cupsd configuration settings for CUPS.
dnl Copyright 2007-2015 by Apple Inc.
dnl Copyright 2006-2007 by Easy Software Products, all rights reserved.
dnl
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
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 Default languages...
@@ -407,7 +405,3 @@ esac
AC_SUBST(CUPS_WEBIF)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)
dnl
dnl End of "$Id$".
dnl
-6
Ver Arquivo
@@ -1,6 +1,4 @@
dnl
dnl "$Id$"
dnl
dnl Directory stuff for CUPS.
dnl
dnl Copyright 2007-2014 by Apple Inc.
@@ -303,7 +301,3 @@ AC_ARG_WITH(rundir, [ --with-rundir set transient run-time state dire
esac])
AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")
AC_SUBST(CUPS_STATEDIR)
dnl
dnl End of "$Id$".
dnl
+7 -13
Ver Arquivo
@@ -1,15 +1,13 @@
dnl
dnl "$Id$"
dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
dnl
dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
dnl Copyright 2007-2015 by Apple Inc.
dnl
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
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(avahi, [ --disable-avahi disable DNS Service Discovery support using Avahi])
@@ -80,7 +78,3 @@ AC_SUBST(DNSSDLIBS)
AC_SUBST(DNSSD_BACKEND)
AC_SUBST(IPPFIND_BIN)
AC_SUBST(IPPFIND_MAN)
dnl
dnl End of "$Id$".
dnl
+10 -16
Ver Arquivo
@@ -1,19 +1,17 @@
dnl
dnl "$Id$"
dnl GSSAPI/Kerberos library detection for CUPS.
dnl
dnl GSSAPI/Kerberos library detection for CUPS.
dnl Copyright 2007-2013 by Apple Inc.
dnl Copyright 2006-2007 by Easy Software Products.
dnl
dnl Copyright 2007-2013 by Apple Inc.
dnl Copyright 2006-2007 by Easy Software Products.
dnl This file contains Kerberos support code, copyright 2006 by
dnl Jelmer Vernooij.
dnl
dnl This file contains Kerberos support code, copyright 2006 by
dnl Jelmer Vernooij.
dnl
dnl These coded instructions, statements, and computer programs are the
dnl property of Apple Inc. and are protected by Federal copyright
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
dnl which should have been included with this file. If this file is
dnl 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(gssapi, [ --disable-gssapi disable GSSAPI support])
@@ -127,7 +125,3 @@ fi
AC_SUBST(CUPS_DEFAULT_GSSSERVICENAME)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
dnl
dnl End of "$Id$".
dnl
+8 -14
Ver Arquivo
@@ -1,16 +1,14 @@
dnl
dnl "$Id$"
dnl Large file support stuff for CUPS.
dnl
dnl Large file support stuff for CUPS.
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
dnl property of Apple Inc. and are protected by Federal copyright
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl 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 Check for largefile support...
@@ -46,7 +44,3 @@ if test $ac_cv_c_long_long = yes; then
fi
AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL))
dnl
dnl End of "$Id$".
dnl
+8 -14
Ver Arquivo
@@ -1,16 +1,14 @@
dnl
dnl "$Id$"
dnl Libtool stuff for CUPS.
dnl
dnl Libtool stuff for CUPS.
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
dnl property of Apple Inc. and are protected by Federal copyright
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl 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(libtool_unsupported, [ --enable-libtool-unsupported
@@ -33,7 +31,3 @@ if test x$LIBTOOL != x; then
LINKCUPSIMAGE="../filter/\$(LIBCUPSIMAGE)"
DSO="\$(CC)"
fi
dnl
dnl End of "$Id$".
dnl
-6
Ver Arquivo
@@ -1,6 +1,4 @@
dnl
dnl "$Id$"
dnl
dnl Manpage stuff for CUPS.
dnl
dnl Copyright 2007-2013 by Apple Inc.
@@ -76,7 +74,3 @@ AC_SUBST(MAN5EXT)
AC_SUBST(MAN7EXT)
AC_SUBST(MAN8EXT)
AC_SUBST(MAN8DIR)
dnl
dnl End of "$Id$".
dnl
-6
Ver Arquivo
@@ -1,6 +1,4 @@
dnl
dnl "$Id$"
dnl
dnl Networking stuff for CUPS.
dnl
dnl Copyright 2007-2014 by Apple Inc.
@@ -70,7 +68,3 @@ fi
AC_SUBST(CUPS_DEFAULT_DOMAINSOCKET)
AC_SUBST(CUPS_LISTEN_DOMAINSOCKET)
dnl
dnl End of "$Id$".
dnl
+8 -14
Ver Arquivo
@@ -1,16 +1,14 @@
dnl
dnl "$Id$"
dnl Operating system stuff for CUPS.
dnl
dnl Operating system stuff for CUPS.
dnl Copyright 2007-2012 by Apple Inc.
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
dnl
dnl Copyright 2007-2012 by Apple Inc.
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
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 Get the operating system, version number, and architecture...
@@ -33,7 +31,3 @@ case "$uname" in
uname="Linux"
;;
esac
dnl
dnl "$Id$"
dnl
+1 -7
Ver Arquivo
@@ -1,7 +1,5 @@
dnl
dnl "$Id$"
dnl
dnl PAM stuff for CUPS.
dnl PAM stuff for CUPS.
dnl
dnl Copyright 2007-2013 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
@@ -91,7 +89,3 @@ AC_SUBST(PAMFILE)
AC_SUBST(PAMLIBS)
AC_SUBST(PAMMOD)
AC_SUBST(PAMMODAUTH)
dnl
dnl End of "$Id$".
dnl
+8 -14
Ver Arquivo
@@ -1,22 +1,16 @@
dnl
dnl "$Id$"
dnl Select/poll stuff for CUPS.
dnl
dnl Select/poll stuff for CUPS.
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 2006 by Easy Software Products, all rights reserved.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 2006 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
dnl property of Apple Inc. and are protected by Federal copyright
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl 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_FUNC(poll, AC_DEFINE(HAVE_POLL))
AC_CHECK_FUNC(epoll_create, AC_DEFINE(HAVE_EPOLL))
AC_CHECK_FUNC(kqueue, AC_DEFINE(HAVE_KQUEUE))
dnl
dnl End of "$Id$".
dnl
+8 -14
Ver Arquivo
@@ -1,16 +1,14 @@
dnl
dnl "$Id$"
dnl Scripting configuration stuff for CUPS.
dnl
dnl Scripting configuration stuff for CUPS.
dnl Copyright 2007-2010 by Apple Inc.
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
dnl
dnl Copyright 2007-2010 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 Do we have Java?
@@ -83,7 +81,3 @@ AC_DEFINE_UNQUOTED(CUPS_PYTHON, "$CUPS_PYTHON")
if test "x$CUPS_PYTHON" != x; then
AC_DEFINE(HAVE_PYTHON)
fi
dnl
dnl End of "$Id$".
dnl
-6
Ver Arquivo
@@ -1,6 +1,4 @@
dnl
dnl "$Id$"
dnl
dnl Shared library support for CUPS.
dnl
dnl Copyright 2007-2013 by Apple Inc.
@@ -156,7 +154,3 @@ fi
AC_SUBST(DSOLIBS)
AC_SUBST(IMGLIBS)
AC_SUBST(EXPORT_LDFLAGS)
dnl
dnl End of "$Id$".
dnl
-6
Ver Arquivo
@@ -1,6 +1,4 @@
dnl
dnl "$Id$"
dnl
dnl TLS stuff for CUPS.
dnl
dnl Copyright 2007-2015 by Apple Inc.
@@ -106,7 +104,3 @@ AC_SUBST(SSLLIBS)
EXPORT_SSLLIBS="$SSLLIBS"
AC_SUBST(EXPORT_SSLLIBS)
dnl
dnl End of "$Id$".
dnl
-7
Ver Arquivo
@@ -1,6 +1,4 @@
dnl
dnl "$Id$"
dnl
dnl Launch-on-demand/startup stuff for CUPS.
dnl
dnl Copyright 2007-2015 by Apple Inc.
@@ -185,8 +183,3 @@ if test "x$xinetd" = x; then
elif test "x$xinetd" != xno; then
XINETD="$xinetd"
fi
dnl
dnl End of "$Id$".
dnl
+8 -14
Ver Arquivo
@@ -1,16 +1,14 @@
dnl
dnl "$Id$"
dnl Threading stuff for CUPS.
dnl
dnl Threading stuff for CUPS.
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl Copyright 2007-2011 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
dnl property of Apple Inc. and are protected by Federal copyright
dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl 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(threads, [ --disable-threads disable multi-threading support])
@@ -48,7 +46,3 @@ if test "x$enable_threads" != xno; then
fi
AC_SUBST(PTHREAD_FLAGS)
dnl
dnl End of "$Id$".
dnl
+8 -25
Ver Arquivo
@@ -1,9 +1,7 @@
/*
* "$Id$"
*
* Configuration file for CUPS.
*
* Copyright 2007-2015 by Apple Inc.
* Copyright 2007-2016 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -511,24 +509,6 @@
#define CUPS_PYTHON "/usr/bin/python"
/*
* Location of the poppler/Xpdf pdftops program...
*/
#undef HAVE_PDFTOPS
#undef HAVE_PDFTOPS_WITH_ORIGPAGESIZES
#define CUPS_PDFTOPS "/usr/bin/pdftops"
/*
* Location of the Ghostscript gs program...
*/
#undef HAVE_GHOSTSCRIPT
#undef HAVE_GHOSTSCRIPT_PS2WRITE
#define CUPS_GHOSTSCRIPT "/usr/bin/gs"
/*
* Do we have CoreFoundation public and private headers?
*/
@@ -552,6 +532,13 @@
#undef HAVE_SCDYNAMICSTORECOPYCOMPUTERNAME
/*
* Do we have the getgrouplist() function?
*/
#undef HAVE_GETGROUPLIST
/*
* Do we have OS X 10.4's mbr_XXX functions?
*/
@@ -738,7 +725,3 @@ static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
#endif /* !HAVE_ABS && !abs */
#endif /* !_CUPS_CONFIG_H_ */
/*
* End of "$Id$".
*/
externo
+153 -168
Ver Arquivo
@@ -1,13 +1,11 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for CUPS 2.2svn.
# Generated by GNU Autoconf 2.69 for CUPS 2.2b1.
#
# Report bugs to <https://www.cups.org/str.php>.
# Report bugs to <https://github.com/apple/cups/issues>.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
# Foundation, Inc.
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -136,6 +134,31 @@ export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# Use a proper internal environment variable to ensure we don't fall
# into an infinite loop, continuously re-executing ourselves.
if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
_as_can_reexec=no; export _as_can_reexec;
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
as_fn_exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
@@ -169,7 +192,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else
exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1"
test x\$exitcode = x0 || exit 1
test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -214,21 +238,25 @@ IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then :
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
export CONFIG_SHELL
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
export CONFIG_SHELL
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
if test x$as_have_required = xno; then :
@@ -239,7 +267,7 @@ fi
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf@gnu.org and
$0: https://www.cups.org/str.php about your system,
$0: https://github.com/apple/cups/issues about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
@@ -331,6 +359,14 @@ $as_echo X"$as_dir" |
} # as_fn_mkdir_p
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -452,6 +488,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# If we had to re-execute with $CONFIG_SHELL, we're ensured to have
# already done that, so ensure we don't try to do so again and fall
# in an infinite loop. This has already happened in practice.
_as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
@@ -486,16 +526,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -p'.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -p'
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -507,28 +547,8 @@ else
as_mkdir_p=false
fi
if test -x / >/dev/null 2>&1; then
as_test_x='test -x'
else
if ls -dL / >/dev/null 2>&1; then
as_ls_L_option=L
else
as_ls_L_option=
fi
as_test_x='
eval sh -c '\''
if test -d "$1"; then
test -d "$1/.";
else
case $1 in #(
-*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
fi
as_executable_p=$as_test_x
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -560,9 +580,9 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='CUPS'
PACKAGE_TARNAME='cups'
PACKAGE_VERSION='2.2svn'
PACKAGE_STRING='CUPS 2.2svn'
PACKAGE_BUGREPORT='https://www.cups.org/str.php'
PACKAGE_VERSION='2.2b1'
PACKAGE_STRING='CUPS 2.2b1'
PACKAGE_BUGREPORT='https://github.com/apple/cups/issues'
PACKAGE_URL='https://www.cups.org/'
# Factoring default headers for most tests.
@@ -1360,8 +1380,6 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
$as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1447,7 +1465,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures CUPS 2.2svn to adapt to many kinds of systems.
\`configure' configures CUPS 2.2b1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1508,7 +1526,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of CUPS 2.2svn:";;
short | recursive ) echo "Configuration of CUPS 2.2b1:";;
esac
cat <<\_ACEOF
@@ -1623,7 +1641,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <https://www.cups.org/str.php>.
Report bugs to <https://github.com/apple/cups/issues>.
CUPS home page: <https://www.cups.org/>.
_ACEOF
ac_status=$?
@@ -1687,10 +1705,10 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
CUPS configure 2.2svn
generated by GNU Autoconf 2.68
CUPS configure 2.2b1
generated by GNU Autoconf 2.69
Copyright (C) 2010 Free Software Foundation, Inc.
Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1841,7 +1859,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
$as_test_x conftest$ac_exeext
test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -1972,9 +1990,9 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
( $as_echo "## ------------------------------------------- ##
## Report this to https://www.cups.org/str.php ##
## ------------------------------------------- ##"
( $as_echo "## --------------------------------------------------- ##
## Report this to https://github.com/apple/cups/issues ##
## --------------------------------------------------- ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
@@ -2151,8 +2169,8 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by CUPS $as_me 2.2svn, which was
generated by GNU Autoconf 2.68. Invocation command line was
It was created by CUPS $as_me 2.2b1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2522,26 +2540,11 @@ case "$uname" in
esac
ac_config_headers="$ac_config_headers config.h"
CUPS_VERSION="2.2svn"
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_VERSION="2.2b1"
CUPS_REVISION=""
CUPS_BUILD="cups-$CUPS_VERSION"
@@ -2586,7 +2589,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2634,7 +2637,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2678,7 +2681,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3122,8 +3125,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
struct stat;
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3373,7 +3375,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3417,7 +3419,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3619,7 +3621,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3659,7 +3661,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3712,7 +3714,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3752,7 +3754,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_CHMOD="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3792,7 +3794,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_GZIP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3832,7 +3834,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_LD="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3872,7 +3874,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3912,7 +3914,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3952,7 +3954,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3992,7 +3994,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_RMDIR="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4032,7 +4034,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4072,7 +4074,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_XDGOPEN="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4148,7 +4150,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4191,7 +4193,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4601,7 +4603,7 @@ do
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
@@ -4667,7 +4669,7 @@ do
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
as_fn_executable_p "$ac_path_EGREP" || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
@@ -5305,6 +5307,18 @@ fi
done
for ac_func in getgrouplist
do :
ac_fn_c_check_func "$LINENO" "getgrouplist" "ac_cv_func_getgrouplist"
if test "x$ac_cv_func_getgrouplist" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_GETGROUPLIST 1
_ACEOF
fi
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tm_gmtoff member in tm structure" >&5
$as_echo_n "checking for tm_gmtoff member in tm structure... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5938,7 +5952,6 @@ esac
if test "$prefix" = "NONE"; then
prefix="/"
fi
@@ -6333,7 +6346,6 @@ _ACEOF
if test "$mandir" = "\${datarootdir}/man" -a "$prefix" = "/"; then
# New GNU "standards" break previous ones, so make sure we use
# the right default location for the operating system...
@@ -6398,7 +6410,6 @@ esac
PICFLAG=1
DSOFLAGS="${DSOFLAGS:=}"
@@ -6547,7 +6558,6 @@ fi
# Check whether --enable-libtool_unsupported was given.
if test "${enable_libtool_unsupported+set}" = set; then :
enableval=$enable_libtool_unsupported; if test x$enable_libtool_unsupported != xno; then
@@ -6572,7 +6582,6 @@ if test x$LIBTOOL != x; then
fi
INSTALL_STRIP=""
OPTIM=""
@@ -6936,7 +6945,6 @@ esac
ac_fn_c_check_header_compile "$LINENO" "resolv.h" "ac_cv_header_resolv_h" "
#include <sys/socket.h>
#include <netinet/in.h>
@@ -7581,7 +7589,6 @@ fi
ac_fn_c_check_func "$LINENO" "poll" "ac_cv_func_poll"
if test "x$ac_cv_func_poll" = xyes; then :
$as_echo "#define HAVE_POLL 1" >>confdefs.h
@@ -7602,7 +7609,6 @@ fi
# Check whether --enable-gssapi was given.
if test "${enable_gssapi+set}" = set; then :
enableval=$enable_gssapi;
@@ -7632,7 +7638,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_KRB5CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7675,7 +7681,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ac_pt_KRB5CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8038,7 +8044,6 @@ _ACEOF
# Check whether --enable-threads was given.
if test "${enable_threads+set}" = set; then :
enableval=$enable_threads;
@@ -8101,7 +8106,6 @@ fi
# Check whether --enable-ssl was given.
if test "${enable_ssl+set}" = set; then :
enableval=$enable_ssl;
@@ -8229,7 +8233,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_LIBGNUTLSCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8272,7 +8276,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ac_pt_LIBGNUTLSCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8327,7 +8331,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_LIBGCRYPTCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8370,7 +8374,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ac_pt_LIBGCRYPTCONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8466,7 +8470,6 @@ EXPORT_SSLLIBS="$SSLLIBS"
# Check whether --enable-pam was given.
if test "${enable_pam+set}" = set; then :
enableval=$enable_pam;
@@ -8734,7 +8737,6 @@ fi
# Check whether --enable-largefile was given.
if test "${enable_largefile+set}" = set; then :
enableval=$enable_largefile;
@@ -8931,6 +8933,8 @@ _ACEOF
esac
rm -rf conftest*
fi
fi
@@ -8991,7 +8995,6 @@ fi
# Check whether --enable-avahi was given.
if test "${enable_avahi+set}" = set; then :
enableval=$enable_avahi;
@@ -9105,7 +9108,6 @@ fi
ONDEMANDFLAGS=""
ONDEMANDLIBS=""
@@ -9357,8 +9359,6 @@ elif test "x$xinetd" != xno; then
fi
LANGUAGES="`ls -1 locale/cups_*.po 2>/dev/null | sed -e '1,$s/locale\/cups_//' -e '1,$s/\.po//' | tr '\n' ' '`"
@@ -9922,7 +9922,6 @@ _ACEOF
# Check whether --with-java was given.
if test "${with_java+set}" = set; then :
withval=$with_java; CUPS_JAVA="$withval"
@@ -9950,7 +9949,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10013,7 +10012,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10076,7 +10075,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PHPCGI="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10117,7 +10116,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PHP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10185,7 +10184,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10221,7 +10220,6 @@ if test "x$CUPS_PYTHON" != x; then
fi
INSTALL_LANGUAGES=""
UNINSTALL_LANGUAGES=""
LANGFILES=""
@@ -10654,16 +10652,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -p'.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -p'
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -10723,28 +10721,16 @@ else
as_mkdir_p=false
fi
if test -x / >/dev/null 2>&1; then
as_test_x='test -x'
else
if ls -dL / >/dev/null 2>&1; then
as_ls_L_option=L
else
as_ls_L_option=
fi
as_test_x='
eval sh -c '\''
if test -d "$1"; then
test -d "$1/.";
else
case $1 in #(
-*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
fi
as_executable_p=$as_test_x
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -10765,8 +10751,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by CUPS $as_me 2.2svn, which was
generated by GNU Autoconf 2.68. Invocation command line was
This file was extended by CUPS $as_me 2.2b1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -10821,18 +10807,18 @@ $config_files
Configuration headers:
$config_headers
Report bugs to <https://www.cups.org/str.php>.
Report bugs to <https://github.com/apple/cups/issues>.
CUPS home page: <https://www.cups.org/>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
CUPS config.status 2.2svn
configured by $0, generated by GNU Autoconf 2.68,
CUPS config.status 2.2b1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc.
Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -10921,7 +10907,7 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
@@ -11562,4 +11548,3 @@ fi
chmod +x cups-config
+2 -8
Ver Arquivo
@@ -1,9 +1,7 @@
dnl
dnl "$Id$"
dnl
dnl Configuration script for CUPS.
dnl
dnl Copyright 2007-2015 by Apple Inc.
dnl Copyright 2007-2016 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
@@ -17,7 +15,7 @@ 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/])
AC_INIT([CUPS], [2.2b1], [https://github.com/apple/cups/issues], [cups], [https://www.cups.org/])
sinclude(config-scripts/cups-opsys.m4)
sinclude(config-scripts/cups-common.m4)
@@ -93,7 +91,3 @@ AC_OUTPUT(Makedefs
$LANGFILES)
chmod +x cups-config
dnl
dnl End of "$Id$".
dnl
+10 -16
Ver Arquivo
@@ -1,21 +1,19 @@
#! /bin/sh
#!/bin/sh
#
# "$Id$"
# CUPS configuration utility.
#
# CUPS configuration utility.
# Copyright 2007-2016 by Apple Inc.
# Copyright 2001-2006 by Easy Software Products, all rights reserved.
#
# Copyright 2007-2011 by Apple Inc.
# Copyright 2001-2006 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
# 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/".
#
VERSION="@CUPS_VERSION@"
APIVERSION="1.6"
APIVERSION="2.2"
BUILD="@CUPS_BUILD@"
prefix=@prefix@
@@ -140,7 +138,3 @@ while test $# -gt 0; do
shift
done
#
# End of "$Id$".
#
+1 -1
Ver Arquivo
@@ -62,7 +62,7 @@ getdevices.o: getdevices.c cups-private.h string-private.h ../config.h \
debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \
ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \
md5-private.h language-private.h ../cups/transcode.h pwg-private.h \
../cups/cups.h file.h pwg.h thread-private.h
../cups/cups.h file.h pwg.h thread-private.h adminutil.h
getifaddrs.o: getifaddrs.c http-private.h ../config.h ../cups/language.h \
array.h versioning.h ../cups/http.h md5-private.h ipp-private.h \
../cups/ipp.h
+8 -52
Ver Arquivo
@@ -1,9 +1,7 @@
#
# "$Id$"
#
# API library Makefile for CUPS.
#
# Copyright 2007-2015 by Apple Inc.
# Copyright 2007-2016 by Apple Inc.
# Copyright 1997-2006 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
@@ -566,6 +564,13 @@ apihelp:
--css ../doc/cups-printable.css \
--header api-overview.header --intro api-overview.shtml \
>../doc/help/api-overview.html
mxmldoc --section "Programming" --title "Administration APIs" \
--css ../doc/cups-printable.css \
--header api-admin.header --intro api-admin.shtml \
api-admin.xml \
adminutil.c adminutil.h getdevices.c >../doc/help/api-admin.html
mxmldoc --tokens help/api-admin.html api-admin.xml >../doc/help/api-admin.tokens
$(RM) api-admin.xml
mxmldoc --section "Programming" --title "Array API" \
--css ../doc/cups-printable.css \
--header api-array.header --intro api-array.shtml \
@@ -614,50 +619,6 @@ apihelp:
mxmldoc --tokens help/api-filter.html api-filter.xml >../doc/help/api-filter.tokens
$(RM) api-filter.xml
framedhelp:
echo Generating CUPS API help files...
mxmldoc --framed api-overview \
--section "Programming" \
--title "Introduction to CUPS Programming" \
--css ../doc/cups-printable.css \
--header api-overview.header --intro api-overview.shtml
mxmldoc --framed api-array \
--section "Programming" --title "Array API" \
--css ../doc/cups-printable.css \
--header api-array.header --intro api-array.shtml \
array.h array.c
mxmldoc --framed api-cups \
--section "Programming" --title "CUPS API" \
--css ../doc/cups-printable.css \
--header api-cups.header --intro api-cups.shtml \
cups.h adminutil.c dest*.c language.c notify.c \
options.c tempfile.c usersys.c \
util.c
mxmldoc --framed api-filedir \
--section "Programming" --title "File and Directory APIs" \
--css ../doc/cups-printable.css \
--header api-filedir.header --intro api-filedir.shtml \
file.h file.c dir.h dir.c
mxmldoc --framed api-ppd \
--section "Programming" --title "PPD API (DEPRECATED)" \
--css ../doc/cups-printable.css \
--header api-ppd.header --intro api-ppd.shtml \
ppd.h attr.c conflicts.c custom.c emit.c localize.c mark.c \
page.c ppd.c
mxmldoc --framed api-httpipp \
--section "Programming" --title "HTTP and IPP APIs" \
--css ../doc/cups-printable.css \
--header api-httpipp.header --intro api-httpipp.shtml \
http.h ipp.h auth.c getdevices.c getputfile.c encode.c \
http.c http-addr.c http-support.c ipp.c ipp-support.c \
md5passwd.c request.c
mxmldoc --framed api-filter \
--section "Programming" \
--title "Filter and Backend Programming" \
--css ../doc/cups-printable.css \
--header api-filter.header --intro api-filter.shtml \
backchannel.c backend.h backend.c sidechannel.c sidechannel.h
#
# Lines of code computation...
@@ -676,8 +637,3 @@ sloc:
include Dependencies
tls.o: tls-darwin.c tls-gnutls.c tls-sspi.c
#
# End of "$Id$".
#
-7
Ver Arquivo
@@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Administration utility API definitions for CUPS.
*
* Copyright 2007-2015 by Apple Inc.
@@ -2367,8 +2365,3 @@ write_option(cups_file_t *dstfp, /* I - PPD file */
cupsFilePrintf(dstfp, "*JCLCloseUI: *%s\n\n", name);
}
/*
* End of "$Id$".
*/
+28 -16
Ver Arquivo
@@ -1,18 +1,16 @@
/*
* "$Id$"
* Administration utility API definitions for CUPS.
*
* Administration utility API definitions for CUPS.
* Copyright 2007-2016 by Apple Inc.
* Copyright 2001-2007 by Easy Software Products.
*
* Copyright 2007-2012 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.
* This file is subject to the Apple OS-Developed Software exception.
*/
#ifndef _CUPS_ADMINUTIL_H_
@@ -42,11 +40,23 @@ extern "C" {
# define CUPS_SERVER_DEBUG_LOGGING "_debug_logging"
# define CUPS_SERVER_REMOTE_ADMIN "_remote_admin"
# define CUPS_SERVER_REMOTE_ANY "_remote_any"
/*# define CUPS_SERVER_REMOTE_PRINTERS "_remote_printers"*/
# define CUPS_SERVER_SHARE_PRINTERS "_share_printers"
# define CUPS_SERVER_USER_CANCEL_ANY "_user_cancel_any"
/*
* Types and structures...
*/
typedef void (*cups_device_cb_t)(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, void *user_data);
/* Device callback
* @since CUPS 1.4/OS X 10.6@ */
/*
* Functions...
*/
@@ -69,13 +79,15 @@ extern int cupsAdminSetServerSettings(http_t *http,
cups_option_t *settings)
_CUPS_API_1_3;
extern ipp_status_t cupsGetDevices(http_t *http, int timeout,
const char *include_schemes,
const char *exclude_schemes,
cups_device_cb_t callback,
void *user_data) _CUPS_API_1_4;
# ifdef __cplusplus
}
# endif /* __cplusplus */
#endif /* !_CUPS_ADMINUTIL_H_ */
/*
* End of "$Id$".
*/
@@ -1,9 +1,7 @@
<!--
"$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
Administrative API header for CUPS.
MIME API header for CUPS.
Copyright 2009 by Apple Inc.
Copyright 2016 by Apple Inc.
These coded instructions, statements, and computer programs are the
property of Apple Inc. and are protected by Federal copyright
@@ -12,23 +10,25 @@
file is missing or damaged, see the license at "http://www.cups.org/".
-->
<h1 class='title'>MIME API</h1>
<h1 class='title'>Administrative APIs</h1>
<div class='summary'><table summary='General Information'>
<thead>
<tr>
<th>Header</th>
<th>cups/mime.h</th>
<th>cups/adminutil.h</th>
</tr>
</thead>
<tbody>
<tr>
<th>Library</th>
<td>-lcupsmime</td>
<td>-lcups</td>
</tr>
<tr>
<th>See Also</th>
<td>Programming: <a href='api-overview.html' target='_top'>Introduction to CUPS Programming</a></td>
<td>Programming: <a href='api-overview.html' target='_top'>Introduction to CUPS Programming</a><br>
Programming: <a href='api-cups.html' target='_top'>CUPS API</a><br>
Programming: <a href='api-httpipp.html' target='_top'>HTTP and IPP APIs</a></td>
</tr>
</tbody>
</table></div>
+96
Ver Arquivo
@@ -0,0 +1,96 @@
<!--
Administrative API documentation for CUPS.
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/".
-->
<h2 class="title"><a name="OVERVIEW">Overview</a></h2>
<p>The administrative APIs provide convenience functions to perform certain administrative functions with the CUPS scheduler.</p>
<blockquote><b>Note:<b>
<p>Administrative functions normally require administrative privileges to execute and must not be used in ordinary user applications!</p>
</blockquote>
<h3><a name="SETTINGS">Scheduler Settings</a></h3>
<p>The <a href="#cupsAdminGetServerSettings"><code>cupsAdminGetServerSettings</code></a> and <a href="#cupsAdminSetServerSettings"><code>cupsAdminSetServerSettings</code></a> functions allow you to get and set simple directives and their values, respectively, in the <var>cupsd.conf</var> file for the CUPS scheduler. Settings are stored in CUPS option arrays which provide a simple list of string name/value pairs. While any simple <var>cupsd.conf</var> directive name can be specified, the following convenience names are also defined to control common complex directives:</p>
<ul>
<li><code>CUPS_SERVER_DEBUG_LOGGING</code></li>: For <code>cupsAdminGetServerSettings</code>, a value of "1" means that the <code>LogLevel</code> directive is set to <code>debug</code> or <code>debug2</code> while a value of "0" means it is set to any other value. For <code>cupsAdminSetServerSettings</code> a value of "1" sets the <code>LogLeveL</code> to <code>debug</code> while a value of "0" sets it to <code>warn</code>.</li>
<li><code>CUPS_SERVER_REMOTE_ADMIN</code></li>: A value of "1" specifies that administrative requests are accepted from remote addresses while "0" specifies that requests are only accepted from local addresses (loopback interface and domain sockets).</li>
<li><code>CUPS_SERVER_REMOTE_ANY</code></li>: A value of "1" specifies that requests are accepts from any address while "0" specifies that requests are only accepted from the local subnet (when sharing is enabled) or local addresses (loopback interface and domain sockets).</li>
<li><code>CUPS_SERVER_SHARE_PRINTERS</code></li>: A value of "1" specifies that printer sharing is enabled for selected printers and remote requests are accepted while a value of "0" specifies that printer sharing is disables and remote requests are not accepted.</li>
<li><code>CUPS_SERVER_USER_CANCEL_ANY</code></li>: A value of "1" specifies that the default security policy allows any user to cancel any print job, regardless of the owner. A value of "0" specifies that only administrative users can cancel other user's jobs.</li>
</ul>
<blockquote><b>Note:</b>
<p>Changing settings will restart the CUPS scheduler.</p>
<p>When printer sharing or the web interface are enabled, the scheduler's launch-on-demand functionality is effectively disabled. This can affect power usage, system performance, and the security profile of a system.</p>
</blockquote>
<p>The recommended way to make changes to the <var>cupsd.conf</var> is to first call <a href="#cupsAdminGetServerSettings"><code>cupsAdminGetServerSettings</code></a>, make any changes to the returned option array, and then call <a href="#cupsAdminSetServerSettings"><code>cupsAdminSetServerSettings</code></a> to save those settings. For example, to enable the web interface:</p>
<pre class="example">
#include &lt;cups/cups.h&gt;
#include &lt;cups/adminutil.h&gt;
void
enable_web_interface(void)
{
int num_settings = 0; /* Number of settings */
cups_option_t *settings = NULL; /* Settings */
if (!<a href="#cupsAdminGetServerSettings">cupsAdminGetServerSettings</a>(CUPS_HTTP_DEFAULT, &amp;num_settings, &amp;settings))
{
fprintf(stderr, "ERROR: Unable to get server settings: %s\n", cupsLastErrorString());
return;
}
num_settings = <a href="api-cups.html#cupsAddOption">cupsAddOption</a>("WebInterface", "Yes", num_settings, &amp;settings);
if (!<a href="#cupsAdminSetServerSettings">cupsAdminSetServerSettings</a>(CUPS_HTTP_DEFAULT, num_settings, settings))
{
fprintf(stderr, "ERROR: Unable to set server settings: %s\n", cupsLastErrorString());
}
<a href="api-cups.html#cupsFreeOptions">cupsFreeOptions</a>(num_settings, settings);
}
</pre>
<h3><a name="DEVICES">Devices</a></h3>
<p>Printers can be discovered through the CUPS scheduler using the <a href="#cupsGetDevices"><code>cupsGetDevices</code></a> API. Typically this API is used to locate printers to add the the system. Each device that is found will cause a supplied callback function to be executed. For example, to list the available printer devices that can be found within 30 seconds:</p>
<pre class="example">
#include &lt;cups/cups.h&gt;
#include &lt;cups/adminutil.h&gt;
void
get_devices_cb(
const char *device_class, /* I - Class */
const char *device_id, /* I - 1284 device ID */
const char *device_info, /* I - Description */
const char *device_make_and_model, /* I - Make and model */
const char *device_uri, /* I - Device URI */
const char *device_location, /* I - Location */
void *user_data) /* I - User data */
{
puts(device_uri);
}
void
show_devices(void)
{
<a href="#cupsGetDevices">cupsGetDevices</a>(CUPS_HTTP_DEFAULT, 30, NULL, NULL, get_devices_cb, NULL);
}
</pre>
-2
Ver Arquivo
@@ -1,6 +1,4 @@
<!--
"$Id: api-array.header 7266 2008-01-29 02:15:29Z mike $"
Array API header for CUPS.
Copyright 2008-2011 by Apple Inc.
-2
Ver Arquivo
@@ -1,6 +1,4 @@
<!--
"$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
Array API introduction for CUPS.
Copyright 2007-2011 by Apple Inc.
-2
Ver Arquivo
@@ -1,6 +1,4 @@
<!--
"$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
CUPS API header for CUPS.
Copyright 2008-2011 by Apple Inc.
-2
Ver Arquivo
@@ -1,6 +1,4 @@
<!--
"$Id: api-cups.shtml 7337 2008-02-22 04:44:04Z mike $"
API introduction for CUPS.
Copyright 2007-2013 by Apple Inc.
-2
Ver Arquivo
@@ -1,6 +1,4 @@
<!--
"$Id: api-filedir.header 7279 2008-01-31 01:50:44Z mike $"
File and Directory API header for CUPS.
Copyright 2008-2011 by Apple Inc.
-2
Ver Arquivo
@@ -1,6 +1,4 @@
<!--
"$Id: api-filedir.shtml 7279 2008-01-31 01:50:44Z mike $"
File and directory API introduction for CUPS.
Copyright 2007-2011 by Apple Inc.
+2 -3
Ver Arquivo
@@ -1,9 +1,7 @@
<!--
"$Id: api-filter.header 7616 2008-05-28 00:34:13Z mike $"
Filter and backend programming header for CUPS.
Copyright 2008-2014 by Apple Inc.
Copyright 2008-2016 by Apple Inc.
These coded instructions, statements, and computer programs are the
property of Apple Inc. and are protected by Federal copyright
@@ -19,6 +17,7 @@
<tr>
<th>Headers</th>
<th>cups/backend.h<br>
cups/ppd.h<br>
cups/sidechannel.h</th>
</tr>
</thead>
+2 -4
Ver Arquivo
@@ -1,9 +1,7 @@
<!--
"$Id: api-filter.shtml 7677 2008-06-19 23:22:19Z mike $"
Filter and backend programming introduction for CUPS.
Copyright 2007-2014 by Apple Inc.
Copyright 2007-2016 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
@@ -287,7 +285,7 @@ prefix strings:</p>
<dd>Sets or clears printer-state-reason keywords for the current queue.
Typically this is used to indicate persistent media, ink, toner, and
configuration conditions or errors on a printer.
<a href='#TABLE2'>Table 2</a> lists the standard state keywords -
<a href='#TABLE2'>Table 2</a> lists some of the standard "printer-state-reasons" keywords from the <a href="http://www.iana.org/assignments/ipp-registrations/ipp-registrations.xhtml#ipp-registrations-4">IANA IPP Registry</a> -
use vendor-prefixed ("com.example.foo") keywords for custom states. See
<a href="#MANAGING_STATE">Managing Printer State in a Filter</a> for more
information.
+5 -5
Ver Arquivo
@@ -1,9 +1,7 @@
<!--
"$Id: api-httpipp.header 7258 2008-01-28 00:15:05Z mike $"
HTTP and IPP API header for CUPS.
Copyright 2007-2011 by Apple Inc.
Copyright 2007-2016 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
@@ -18,8 +16,10 @@
<div class='summary'><table summary='General Information'>
<thead>
<tr>
<th>Header</th>
<th>cups/cups.h</th>
<th>Headers</th>
<th>cups/cups.h<br>
cups/http.h<br>
cups/ipp.h</th>
</tr>
</thead>
<tbody>
-2
Ver Arquivo
@@ -1,6 +1,4 @@
<!--
"$Id: api-httpipp.shtml 7684 2008-06-23 16:47:38Z mike $"
HTTP and IPP API introduction for CUPS.
Copyright 2007-2012 by Apple Inc.
+10 -9
Ver Arquivo
@@ -1,9 +1,7 @@
<!--
"$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
Introduction to CUPS programming header for CUPS.
Copyright 2008-2011 by Apple Inc.
Copyright 2008-2016 by Apple Inc.
These coded instructions, statements, and computer programs are the
property of Apple Inc. and are protected by Federal copyright
@@ -19,20 +17,22 @@
<tr>
<th>Headers</th>
<th>cups/cups.h<br>
cups/adminutil.h<br>
cups/array.h<br>
cups/backend.h<br>
cups/dir.h<br>
cups/file.h<br>
cups/http.h<br>
cups/ipp.h<br>
cups/language.h<br>
cups/ppd.h<br>
cups/raster.h<br>
cups/sidechannel.h</th>
cups/pwg.h<br>
cups/raster.h</th>
</tr>
</thead>
<tbody>
<tr>
<th>Libraries</th>
<td>-lcups<br>
-lcupsimage</td>
<td>-lcups</td>
</tr>
<tr>
<th>See Also</th>
@@ -40,11 +40,12 @@
Programming: <a href='postscript-driver.html' target='_top'>Developing PostScript Printer Drivers</a><br>
Programming: <a href='api-filter.html' target='_top'>Filter and Backend Programming</a><br>
Programming: <a href='ppd-compiler.html' target='_top'>Introduction to the PPD Compiler</a><br>
Programming: <a href='api-admin.html' target='_top'>Administrative APIs</a><br>
Programming: <a href='api-array.html' target='_top'>Array API</a><br>
Programming: <a href='api-cups.html' target='_top'>CUPS API</a><br>
Programming: <a href='api-filedir.html' target='_top'>File and Directory APIs</a><br>
Programming: <a href='api-httpipp.html' target='_top'>HTTP and IPP APIs</a><br>
Programming: <a href='api-ppd.html' target='_top'>PPD API</a><br>
Programming: <a href='api-ppd.html' target='_top'>PPD API (DEPRECATED)</a><br>
Programming: <a href='api-raster.html' target='_top'>Raster API</a><br>
References: <a href='ref-ppdcfile.html' target='_top'>PPD Compiler Driver Information File Reference</a><br>
Specifications: <a href='spec-ppd.html' target='_top'>CUPS PPD Extensions</a></td>
-2
Ver Arquivo
@@ -1,6 +1,4 @@
<!--
"$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
Introduction to CUPS programming content for CUPS.
Copyright 2008-2011 by Apple Inc.
-2
Ver Arquivo
@@ -1,6 +1,4 @@
<!--
"$Id: api-ppd.header 7616 2008-05-28 00:34:13Z mike $"
PPD API header for CUPS.
Copyright 2008-2012 by Apple Inc.

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