summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES-1.6.txt25
-rw-r--r--CHANGES-IPPTOOL.txt10
-rw-r--r--CHANGES.txt30
-rw-r--r--INSTALL.txt11
-rw-r--r--IPPTOOL.txt83
-rw-r--r--Makedefs.in6
-rw-r--r--Makefile12
-rw-r--r--README.txt20
-rw-r--r--backend/Makefile4
-rw-r--r--backend/backend-private.h4
-rw-r--r--backend/dnssd.c4
-rw-r--r--backend/ieee1284.c4
-rw-r--r--backend/ipp.c40
-rw-r--r--backend/lpd.c4
-rw-r--r--backend/network.c4
-rw-r--r--[-rwxr-xr-x]backend/pseudo0
-rw-r--r--backend/runloop.c4
-rw-r--r--backend/snmp-supplies.c4
-rw-r--r--backend/snmp.c4
-rw-r--r--backend/socket.c4
-rw-r--r--backend/test1284.c4
-rw-r--r--backend/testbackend.c18
-rw-r--r--backend/testsupplies.c4
-rw-r--r--backend/usb-darwin.c4
-rw-r--r--backend/usb-libusb.c20
-rw-r--r--backend/usb-unix.c4
-rw-r--r--backend/usb.c4
-rw-r--r--berkeley/Makefile4
-rw-r--r--berkeley/lpc.c4
-rw-r--r--berkeley/lpq.c51
-rw-r--r--berkeley/lpr.c24
-rw-r--r--berkeley/lprm.c4
-rw-r--r--cgi-bin/Makefile4
-rw-r--r--cgi-bin/admin.c4
-rw-r--r--cgi-bin/cgi-private.h4
-rw-r--r--cgi-bin/cgi.h4
-rw-r--r--cgi-bin/classes.c4
-rw-r--r--cgi-bin/help-index.c4
-rw-r--r--cgi-bin/help-index.h4
-rw-r--r--cgi-bin/help.c4
-rw-r--r--cgi-bin/html.c4
-rw-r--r--cgi-bin/ipp-var.c4
-rw-r--r--cgi-bin/jobs.c4
-rw-r--r--cgi-bin/makedocset.c4
-rw-r--r--cgi-bin/printers.c4
-rw-r--r--cgi-bin/search.c4
-rw-r--r--cgi-bin/template.c4
-rw-r--r--cgi-bin/testcgi.c4
-rw-r--r--cgi-bin/testhi.c4
-rw-r--r--cgi-bin/testtemplate.c4
-rw-r--r--cgi-bin/var.c4
-rw-r--r--cgi-bin/websearch.c4
-rw-r--r--conf/Makefile4
-rw-r--r--conf/cups-files.conf.in4
-rw-r--r--conf/cupsd.conf.in4
-rw-r--r--conf/mime.convs.in4
-rw-r--r--conf/mime.types4
-rw-r--r--conf/snmp.conf.in4
-rw-r--r--config-scripts/cups-common.m46
-rw-r--r--config-scripts/cups-compiler.m44
-rw-r--r--config-scripts/cups-defaults.m44
-rw-r--r--config-scripts/cups-directories.m44
-rw-r--r--config-scripts/cups-dnssd.m414
-rw-r--r--config-scripts/cups-gssapi.m44
-rw-r--r--config-scripts/cups-largefile.m44
-rw-r--r--config-scripts/cups-launchd.m44
-rw-r--r--config-scripts/cups-libtool.m44
-rw-r--r--config-scripts/cups-manpages.m44
-rw-r--r--config-scripts/cups-network.m44
-rw-r--r--config-scripts/cups-opsys.m44
-rw-r--r--config-scripts/cups-pam.m44
-rw-r--r--config-scripts/cups-poll.m44
-rw-r--r--config-scripts/cups-scripting.m44
-rw-r--r--config-scripts/cups-sharedlibs.m44
-rw-r--r--config-scripts/cups-ssl.m44
-rw-r--r--config-scripts/cups-threads.m44
-rw-r--r--config.h.in4
-rwxr-xr-xconfigure19
-rw-r--r--configure.in5
-rwxr-xr-xcups-config.in4
-rw-r--r--cups/Makefile4
-rw-r--r--cups/adminutil.c4
-rw-r--r--cups/adminutil.h4
-rw-r--r--cups/api-array.header2
-rw-r--r--cups/api-array.shtml2
-rw-r--r--cups/api-cups.header2
-rw-r--r--cups/api-cups.shtml10
-rw-r--r--cups/api-filedir.header2
-rw-r--r--cups/api-filedir.shtml2
-rw-r--r--cups/api-filter.header2
-rw-r--r--cups/api-filter.shtml8
-rw-r--r--cups/api-httpipp.header2
-rw-r--r--cups/api-httpipp.shtml2
-rw-r--r--cups/api-ppd.header2
-rw-r--r--cups/api-ppd.shtml2
-rw-r--r--cups/array-private.h4
-rw-r--r--cups/array.c4
-rw-r--r--cups/array.h4
-rw-r--r--cups/attr.c4
-rw-r--r--cups/auth.c4
-rw-r--r--cups/backchannel.c4
-rw-r--r--cups/backend.c4
-rw-r--r--cups/backend.h4
-rw-r--r--cups/conflicts.c4
-rw-r--r--cups/cups-private.h4
-rw-r--r--cups/cups.h9
-rw-r--r--cups/custom.c4
-rw-r--r--cups/debug-private.h4
-rw-r--r--cups/debug.c4
-rw-r--r--cups/dest-job.c4
-rw-r--r--cups/dest-localization.c4
-rw-r--r--cups/dest-options.c16
-rw-r--r--cups/dest.c51
-rw-r--r--cups/dir.c4
-rw-r--r--cups/dir.h4
-rw-r--r--cups/emit.c4
-rw-r--r--cups/encode.c6
-rw-r--r--cups/file-private.h4
-rw-r--r--cups/file.c4
-rw-r--r--cups/file.h4
-rw-r--r--cups/getdevices.c4
-rw-r--r--cups/getifaddrs.c4
-rw-r--r--cups/getputfile.c4
-rw-r--r--cups/globals.c5
-rw-r--r--cups/http-addr.c8
-rw-r--r--cups/http-addrlist.c8
-rw-r--r--cups/http-private.h4
-rw-r--r--cups/http-support.c101
-rw-r--r--cups/http.c33
-rw-r--r--cups/http.h25
-rw-r--r--cups/ipp-private.h4
-rw-r--r--cups/ipp-support.c104
-rw-r--r--cups/ipp.c38
-rw-r--r--cups/ipp.h49
-rw-r--r--cups/langprintf.c4
-rw-r--r--cups/language-private.h4
-rw-r--r--cups/language.c29
-rw-r--r--cups/language.h4
-rw-r--r--cups/localize.c4
-rw-r--r--cups/mark.c4
-rw-r--r--cups/md5-private.h4
-rw-r--r--cups/md5.c4
-rw-r--r--cups/md5passwd.c4
-rw-r--r--cups/notify.c4
-rw-r--r--cups/options.c4
-rw-r--r--cups/page.c4
-rw-r--r--cups/ppd-cache.c4
-rw-r--r--cups/ppd-private.h4
-rw-r--r--cups/ppd.c4
-rw-r--r--cups/ppd.h78
-rw-r--r--cups/pwg-media.c218
-rw-r--r--cups/pwg-private.h4
-rw-r--r--cups/pwg.h4
-rw-r--r--cups/raster-private.h4
-rw-r--r--cups/raster.h4
-rw-r--r--cups/request.c4
-rw-r--r--cups/sidechannel.c4
-rw-r--r--cups/sidechannel.h4
-rw-r--r--cups/snmp-private.h4
-rw-r--r--cups/snmp.c4
-rw-r--r--cups/snprintf.c4
-rw-r--r--cups/sspi.c4
-rw-r--r--cups/string-private.h20
-rw-r--r--cups/string.c4
-rw-r--r--cups/tempfile.c4
-rw-r--r--cups/test.ppd4
-rw-r--r--cups/test2.ppd4
-rw-r--r--cups/testadmin.c4
-rw-r--r--cups/testarray.c4
-rw-r--r--cups/testconflicts.c4
-rw-r--r--cups/testcups.c5
-rw-r--r--cups/testfile.c4
-rw-r--r--cups/testhttp.c144
-rw-r--r--cups/testi18n.c4
-rw-r--r--cups/testipp.c4
-rw-r--r--cups/testlang.c4
-rw-r--r--cups/testoptions.c4
-rw-r--r--cups/testppd.c7
-rw-r--r--cups/testpwg.c18
-rw-r--r--cups/testsnmp.c4
-rw-r--r--cups/thread-private.h4
-rw-r--r--cups/thread.c4
-rw-r--r--cups/transcode.c4
-rw-r--r--cups/transcode.h4
-rw-r--r--cups/usersys.c10
-rw-r--r--cups/util.c4
-rw-r--r--cups/versioning.h20
-rw-r--r--data/Makefile4
-rw-r--r--data/epson.h4
-rw-r--r--data/hp.h4
-rw-r--r--data/label.h4
-rw-r--r--desktop/Makefile4
-rw-r--r--doc/Makefile3
-rw-r--r--doc/help/api-array.html4
-rw-r--r--doc/help/api-cgi.html4
-rw-r--r--doc/help/api-cups.html40
-rw-r--r--doc/help/api-driver.html4
-rw-r--r--doc/help/api-filedir.html4
-rw-r--r--doc/help/api-filter.html10
-rw-r--r--doc/help/api-httpipp.html130
-rw-r--r--doc/help/api-mime.html4
-rw-r--r--doc/help/api-overview.html4
-rw-r--r--doc/help/api-ppd.html4
-rw-r--r--doc/help/api-ppdc.html4
-rw-r--r--doc/help/api-raster.html8
-rw-r--r--doc/help/man-client.conf.html9
-rw-r--r--doc/help/man-cups-deviced.html4
-rw-r--r--doc/help/man-cups-driverd.html6
-rw-r--r--doc/help/man-cups-snmp.html3
-rw-r--r--doc/help/man-cupsaddsmb.html35
-rw-r--r--doc/help/man-cupsd.conf.html2
-rw-r--r--doc/help/man-ippfind.html316
-rw-r--r--doc/help/man-ipptool.html20
-rw-r--r--doc/help/man-ipptoolfile.html58
-rw-r--r--doc/help/network.html20
-rw-r--r--doc/help/postscript-driver.html2
-rw-r--r--doc/help/ppd-compiler.html2
-rw-r--r--doc/help/raster-driver.html2
-rw-r--r--doc/help/ref-client-conf.html4
-rw-r--r--doc/help/ref-cups-files-conf.html.in47
-rw-r--r--doc/help/ref-cupsd-conf.html.in25
-rw-r--r--doc/help/ref-subscriptions-conf.html8
-rw-r--r--doc/help/security.html4
-rw-r--r--doc/help/spec-banner.html2
-rw-r--r--doc/help/spec-browsing.html0
-rw-r--r--doc/help/spec-command.html2
-rw-r--r--doc/help/spec-ipp.html2
-rw-r--r--doc/help/spec-postscript.html2
-rw-r--r--doc/help/spec-ppd.html18
-rw-r--r--doc/help/standard.html.in181
-rw-r--r--doc/help/whatsnew.html2
-rw-r--r--doc/images/color-wheel.pngbin13148 -> 16384 bytes
-rw-r--r--doc/images/generic.pngbin16913 -> 0 bytes
-rw-r--r--doc/swish-e.config16
-rw-r--r--examples/Makefile4
-rw-r--r--examples/ppdx.c4
-rw-r--r--examples/ppdx.h4
-rw-r--r--examples/testppdx.c4
-rw-r--r--examples/testppdx.ppd4
-rw-r--r--filter/Makefile4
-rw-r--r--filter/api-raster.header2
-rw-r--r--filter/api-raster.shtml2
-rw-r--r--filter/commandtops.c4
-rw-r--r--filter/common.c4
-rw-r--r--filter/common.h4
-rw-r--r--filter/error.c4
-rw-r--r--filter/gziptoany.c4
-rw-r--r--filter/interpret.c4
-rw-r--r--filter/postscript-driver.header2
-rw-r--r--filter/ppd-compiler.header2
-rw-r--r--filter/pstops.c4
-rw-r--r--filter/raster-driver.header2
-rw-r--r--filter/raster.c4
-rw-r--r--filter/rasterbench.c4
-rw-r--r--filter/rastertoepson.c4
-rw-r--r--filter/rastertohp.c4
-rw-r--r--filter/rastertolabel.c4
-rw-r--r--filter/rastertopwg.c4
-rw-r--r--filter/spec-ppd.header2
-rw-r--r--filter/spec-ppd.shtml16
-rw-r--r--filter/testraster.c4
-rwxr-xr-xinstall-sh2
-rw-r--r--locale/Makefile4
-rw-r--r--locale/checkpo.c4
-rw-r--r--locale/cups.pot1111
-rw-r--r--locale/cups.strings95
-rw-r--r--locale/cups_ca.po334
-rw-r--r--locale/cups_es.po334
-rw-r--r--locale/cups_fr.po323
-rw-r--r--locale/cups_ja.po334
-rw-r--r--locale/cups_ru.po323
-rw-r--r--locale/po2strings.c4
-rw-r--r--locale/strings2po.c4
-rw-r--r--locale/translate.c4
-rw-r--r--man/Makefile23
-rw-r--r--man/backend.man4
-rw-r--r--man/cancel.man4
-rw-r--r--man/classes.conf.man4
-rw-r--r--man/client.conf.man.in16
-rw-r--r--man/cups-config.man4
-rw-r--r--man/cups-deviced.man.in10
-rw-r--r--man/cups-driverd.man.in14
-rw-r--r--man/cups-files.conf.man.in8
-rw-r--r--man/cups-lpd.man.in10
-rw-r--r--man/cups-snmp.conf.man4
-rw-r--r--man/cups-snmp.man.in13
-rw-r--r--man/cupsaccept.man4
-rw-r--r--man/cupsaddsmb.man.in48
-rw-r--r--man/cupsctl.man4
-rw-r--r--man/cupsd.conf.man.in10
-rw-r--r--man/cupsd.man.in8
-rw-r--r--man/cupsenable.man4
-rw-r--r--man/cupsfilter.man4
-rw-r--r--man/cupstestdsc.man4
-rw-r--r--man/cupstestppd.man4
-rw-r--r--man/filter.man4
-rw-r--r--man/ippfind.man247
-rw-r--r--man/ipptool.man23
-rw-r--r--man/ipptoolfile.man48
-rw-r--r--man/lp.man4
-rw-r--r--man/lpadmin.man4
-rw-r--r--man/lpc.man4
-rw-r--r--man/lpinfo.man4
-rw-r--r--man/lpmove.man4
-rw-r--r--man/lpoptions.man.in10
-rw-r--r--man/lppasswd.man4
-rw-r--r--man/lpq.man4
-rw-r--r--man/lpr.man4
-rw-r--r--man/lprm.man4
-rw-r--r--man/lpstat.man4
-rw-r--r--man/mailto.conf.man4
-rw-r--r--man/mantohtml.c4
-rw-r--r--man/mime.convs.man4
-rw-r--r--man/mime.types.man4
-rw-r--r--man/notifier.man4
-rw-r--r--man/ppdc.man4
-rw-r--r--man/ppdcfile.man4
-rw-r--r--man/ppdhtml.man4
-rw-r--r--man/ppdi.man4
-rw-r--r--man/ppdmerge.man4
-rw-r--r--man/ppdpo.man4
-rw-r--r--man/printers.conf.man4
-rw-r--r--man/subscriptions.conf.man4
-rw-r--r--monitor/Makefile4
-rw-r--r--monitor/bcp.c4
-rw-r--r--monitor/tbcp.c4
-rw-r--r--notifier/Makefile4
-rw-r--r--notifier/dbus.c4
-rw-r--r--notifier/mailto.c4
-rw-r--r--notifier/rss.c4
-rw-r--r--notifier/testnotify.c4
-rw-r--r--packaging/cups.list.in4
-rw-r--r--packaging/cups.spec11
-rw-r--r--packaging/cups.spec.in7
-rw-r--r--ppdc/Makefile4
-rw-r--r--ppdc/foo.drv4
-rw-r--r--ppdc/genstrings.cxx4
-rw-r--r--ppdc/ppdc-array.cxx4
-rw-r--r--ppdc/ppdc-attr.cxx4
-rw-r--r--ppdc/ppdc-catalog.cxx4
-rw-r--r--ppdc/ppdc-choice.cxx4
-rw-r--r--ppdc/ppdc-constraint.cxx4
-rw-r--r--ppdc/ppdc-driver.cxx4
-rw-r--r--ppdc/ppdc-file.cxx4
-rw-r--r--ppdc/ppdc-filter.cxx4
-rw-r--r--ppdc/ppdc-font.cxx4
-rw-r--r--ppdc/ppdc-group.cxx4
-rw-r--r--ppdc/ppdc-import.cxx4
-rw-r--r--ppdc/ppdc-mediasize.cxx4
-rw-r--r--ppdc/ppdc-message.cxx4
-rw-r--r--ppdc/ppdc-option.cxx4
-rw-r--r--ppdc/ppdc-private.h4
-rw-r--r--ppdc/ppdc-profile.cxx4
-rw-r--r--ppdc/ppdc-shared.cxx4
-rw-r--r--ppdc/ppdc-source.cxx4
-rw-r--r--ppdc/ppdc-string.cxx4
-rw-r--r--ppdc/ppdc-variable.cxx4
-rw-r--r--ppdc/ppdc.cxx4
-rw-r--r--ppdc/ppdc.h4
-rw-r--r--ppdc/ppdhtml.cxx4
-rw-r--r--ppdc/ppdi.cxx4
-rw-r--r--ppdc/ppdmerge.cxx4
-rw-r--r--ppdc/ppdpo.cxx4
-rw-r--r--ppdc/sample.drv4
-rw-r--r--ppdc/testcatalog.cxx4
-rw-r--r--scheduler/Makefile4
-rw-r--r--scheduler/auth.c4
-rw-r--r--scheduler/auth.h4
-rw-r--r--scheduler/banners.c4
-rw-r--r--scheduler/banners.h4
-rw-r--r--scheduler/cert.c4
-rw-r--r--scheduler/cert.h4
-rw-r--r--scheduler/classes.c4
-rw-r--r--scheduler/classes.h4
-rw-r--r--scheduler/client.c74
-rw-r--r--scheduler/client.h4
-rw-r--r--scheduler/colorman.c4
-rw-r--r--scheduler/colorman.h4
-rw-r--r--scheduler/conf.c4
-rw-r--r--scheduler/conf.h4
-rw-r--r--scheduler/cups-deviced.c4
-rw-r--r--scheduler/cups-driverd.cxx4
-rw-r--r--scheduler/cups-exec.c4
-rw-r--r--scheduler/cups-lpd.c4
-rw-r--r--scheduler/cups.sh.in4
-rw-r--r--scheduler/cups.xml.in2
-rw-r--r--scheduler/cupsd.h4
-rw-r--r--scheduler/cupsfilter.c4
-rw-r--r--scheduler/dirsvc.c4
-rw-r--r--scheduler/dirsvc.h4
-rw-r--r--scheduler/env.c4
-rw-r--r--scheduler/file.c4
-rw-r--r--scheduler/filter.c4
-rw-r--r--scheduler/ipp.c37
-rw-r--r--scheduler/job.c15
-rw-r--r--scheduler/job.h4
-rw-r--r--scheduler/listen.c4
-rw-r--r--scheduler/log.c4
-rw-r--r--scheduler/main.c6
-rw-r--r--scheduler/mime-private.h4
-rw-r--r--scheduler/mime.c4
-rw-r--r--scheduler/mime.h4
-rw-r--r--scheduler/network.c4
-rw-r--r--scheduler/network.h4
-rw-r--r--scheduler/policy.c4
-rw-r--r--scheduler/policy.h4
-rw-r--r--scheduler/printers.c4
-rw-r--r--scheduler/printers.h4
-rw-r--r--scheduler/process.c4
-rw-r--r--scheduler/quotas.c4
-rw-r--r--scheduler/select.c9
-rw-r--r--scheduler/server.c4
-rw-r--r--scheduler/statbuf.c4
-rw-r--r--scheduler/statbuf.h4
-rw-r--r--scheduler/subscriptions.c4
-rw-r--r--scheduler/subscriptions.h4
-rw-r--r--scheduler/sysman.c53
-rw-r--r--scheduler/sysman.h4
-rw-r--r--scheduler/testlpd.c4
-rw-r--r--scheduler/testmime.c4
-rw-r--r--scheduler/testspeed.c50
-rw-r--r--scheduler/testsub.c4
-rw-r--r--scheduler/tls-darwin.c4
-rw-r--r--scheduler/tls-gnutls.c4
-rw-r--r--scheduler/tls-openssl.c4
-rw-r--r--scheduler/tls.c4
-rw-r--r--scheduler/type.c4
-rw-r--r--scheduler/util.c4
-rw-r--r--scheduler/util.h4
-rw-r--r--systemv/Makefile4
-rw-r--r--systemv/cancel.c4
-rw-r--r--systemv/cupsaccept.c4
-rw-r--r--systemv/cupsaddsmb.c4
-rw-r--r--systemv/cupsctl.c4
-rw-r--r--systemv/cupstestdsc.c4
-rw-r--r--systemv/cupstestppd.c4
-rw-r--r--systemv/lp.c43
-rw-r--r--systemv/lpadmin.c4
-rw-r--r--systemv/lpinfo.c4
-rw-r--r--systemv/lpmove.c4
-rw-r--r--systemv/lpoptions.c4
-rw-r--r--systemv/lppasswd.c4
-rw-r--r--systemv/lpstat.c243
-rw-r--r--templates/Makefile4
-rw-r--r--templates/ru/Makefile4
-rw-r--r--test/4.1-requests.test4
-rw-r--r--test/4.2-cups-printer-ops.test4
-rw-r--r--test/4.3-job-ops.test4
-rw-r--r--test/4.4-subscription-ops.test4
-rw-r--r--test/5.1-lpadmin.sh4
-rw-r--r--test/5.2-lpc.sh4
-rw-r--r--test/5.3-lpq.sh4
-rw-r--r--test/5.4-lpstat.sh4
-rw-r--r--test/5.5-lp.sh4
-rw-r--r--test/5.6-lpr.sh4
-rw-r--r--test/5.7-lprm.sh4
-rw-r--r--test/5.8-cancel.sh4
-rw-r--r--test/5.9-lpinfo.sh4
-rw-r--r--test/Dependencies31
-rw-r--r--test/Makefile23
-rw-r--r--test/cancel-current-job.test4
-rw-r--r--test/color.jpgbin180326 -> 90720 bytes
-rw-r--r--test/create-job-format.test8
-rw-r--r--test/create-job-sheets.test8
-rw-r--r--test/create-printer-subscription.test4
-rw-r--r--test/get-completed-jobs.test4
-rw-r--r--test/get-devices.test4
-rw-r--r--test/get-job-attributes.test4
-rw-r--r--test/get-job-attributes2.test4
-rw-r--r--test/get-jobs.test4
-rw-r--r--test/get-notifications.test4
-rw-r--r--test/get-ppds-drv-only.test4
-rw-r--r--test/get-ppds.test4
-rw-r--r--test/get-subscriptions.test4
-rw-r--r--test/ipp-1.1.test4
-rw-r--r--test/ipp-2.0.test4
-rw-r--r--test/ipp-2.1.test4
-rw-r--r--test/ipp-2.2.test4
-rw-r--r--test/ipp-everywhere.test4
-rw-r--r--test/ippdiscover.c829
-rw-r--r--test/ippfind.c2824
-rw-r--r--test/ippserver.c178
-rw-r--r--test/ipptool.c255
-rw-r--r--test/print-job-and-wait.test45
-rw-r--r--test/print-job-password.test31
-rwxr-xr-xtest/run-stp-tests.sh11
-rw-r--r--test/set-attrs-hold.test28
-rw-r--r--test/testfile.ps2
-rw-r--r--test/testhp.ppd4
-rw-r--r--test/testps.ppd4
-rwxr-xr-xtest/waitjobs.sh4
-rw-r--r--test/xmltotest.c4
-rw-r--r--vc2005/cups.sln78
-rw-r--r--vc2005/ipptool.vcproj199
-rw-r--r--vc2005/libcups2.vcproj1611
-rw-r--r--vc2005/libcupsimage2.vcproj395
-rw-r--r--vc2005/testfile.vcproj202
-rw-r--r--vc2005/testhttp.vcproj202
-rw-r--r--vcnet/config.h4
-rw-r--r--vcnet/cups.sln30
-rw-r--r--vcnet/ippfind.vcproj (renamed from vc2005/cupstestppd.vcproj)103
-rw-r--r--vcnet/ipptool-installer.vdproj172
-rw-r--r--vcnet/libcups2-installer.vdproj386
-rw-r--r--vcnet/libcups2.vcproj8
-rw-r--r--xcode/CUPS.xcodeproj/project.pbxproj5
-rw-r--r--xcode/config.h4
506 files changed, 9991 insertions, 5420 deletions
diff --git a/CHANGES-1.6.txt b/CHANGES-1.6.txt
index e5d08e7f..896baded 100644
--- a/CHANGES-1.6.txt
+++ b/CHANGES-1.6.txt
@@ -5,9 +5,32 @@ CHANGES IN CUPS V1.6.3
- The configure script now prefers Clang over GCC.
- Fixed a compile problem on AIX (STR #4307)
+ - The default IPP version did not always get set before creating a new
+ IPP request message (<rdar://problem/14401718>)
+ - The lp, lpq, lpr, and lpstat now display an error message advising the
+ use of the /version=1.1 ServerName option (<rdar://problem/14290628>)
+ - Added documentation about the /version=1.1 option to ServerName in
+ client.conf (<rdar://problem/14216262>)
+ - httpStatus(HTTP_ERROR) did not return a useful error message
+ (<rdar://problem/14217326>)
+ - The lp, lpq, lpr, and lpstat commands incorrectly ignored the default
+ printer set in the lpoptions file (<rdar://problem/14216472>)
+ - Fixed a URI encoding issue for hostnames containing the ` (backquote)
+ character (<rdar://problem/14243133>)
+ - Added support for RFC 6874's IPv6 link local address format in URIs
+ (<rdar://problem/13979453>)
+ - The USB backend could crash on libusb-based systems if USB was
+ disabled in the BIOS (<rdar://problem/13875729>)
+ - Fixed a rounding error in the PWG media size mapping code
+ (<rdar://problem/13493241>)
+ - Fixed several ipptool test files that used old STATUS names.
+ - Kerberos credentials could get truncated when printing to a shared
+ printer.
+ - Printing using "ipps" URIs was not encrypted.
- Insecure ICC profiles prevented installation of user profiles for a
printer on OS X.
- - Added more USB quirks for the libusb-based backend (STR #4311)
+ - Added more USB quirks for the libusb-based backend (STR #4311,
+ <rdar://problem/13736470>)
- The Russian web interface templates were broken (STR #4310)
- The scheduler no longer tries to do Kerberos authentication over the
loopback interface.
diff --git a/CHANGES-IPPTOOL.txt b/CHANGES-IPPTOOL.txt
index 6e61f18b..9c5de0eb 100644
--- a/CHANGES-IPPTOOL.txt
+++ b/CHANGES-IPPTOOL.txt
@@ -1,9 +1,17 @@
-CHANGES-IPPTOOL.txt - 2013-04-18
+CHANGES-IPPTOOL.txt - 2013-07-08
--------------------------------
This file provides a list of changes to the ipptool binary distribution posted
on cups.org.
+2013-07-08
+
+ - 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
diff --git a/CHANGES.txt b/CHANGES.txt
index 757e4bb9..25640ec5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,31 @@
-CHANGES.txt - 1.7b1 - 2013-04-18
---------------------------------
+CHANGES.txt - 1.7rc1 - 2013-07-10
+---------------------------------
+
+CHANGES IN CUPS V1.7rc1
+
+ - Printer xxx-default values were not reported by Get-Printer-Attributes
+ or lpoptions (<rdar://problem/14401795>)
+ - Fixed deprecation warnings for many functions on OS X so they are tied
+ to the deployment version when building (<rdar://problem/14210079>)
+ - Fixed a build issue on ARM-based Linux systems - unable to validate
+ va_list arguments.
+ - Added a new ippfind tool for finding IPP printers and other Bonjour
+ services (<rdar://problem/13876199>)
+ - Fixed some issues with conversion of PWG media size names to
+ hundredths of millimeters (<rdar://problem/14065748>)
+ - The IPP backend could crash on OS X when printing to a Kerberized
+ printer (<rdar://problem/14040186>)
+ - The ipptool program now automatically extends timeouts when the
+ output buffer is filled (<rdar://problem/14016099>)
+ - The ipptool program now supports the --help and --version options.
+ - The ipptool program did not continue past include file errors by
+ default (<rdar://problem/13875803>)
+ - The ipptool program now supports FILE-ID and TEST-ID directives and
+ includes their values in its XML output (<rdar://problem/13876038>)
+ - The ipptool program now supports WITH-HOSTNAME, WITH-RESOURCE, and
+ WITH-SCHEME expect predicates to compare the corresponding URI
+ components (<rdar://problem/13876091>)
+
CHANGES IN CUPS V1.7b1
diff --git a/INSTALL.txt b/INSTALL.txt
index 2ec6992c..96c014c0 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -1,5 +1,5 @@
-INSTALL - CUPS v1.7b1 - 2013-04-18
-----------------------------------
+INSTALL - CUPS v1.7rc1 - 2013-07-08
+-----------------------------------
This file describes how to compile and install CUPS from source code. For more
information on CUPS see the file called "README.txt". A complete change log can
@@ -147,7 +147,7 @@ INSTALLING THE SOFTWARE
The EPM software is available at:
- http://www.epmhome.org/
+ http://www.msweet.org/
CREATING BINARY DISTRIBUTIONS WITH EPM
@@ -197,10 +197,9 @@ GETTING DEBUG LOGGING FROM CUPS
REPORTING PROBLEMS
If you have problems, READ THE DOCUMENTATION FIRST! If the documentation
- does not solve your problems, please post a message on the "cups.general"
- forum at:
+ does not solve your problems, please post a message on the users forum at:
- http://www.cups.org/newsgroups.php
+ http://www.cups.org/
Include your operating system and version, compiler and version, and any
errors or problems you've run into. The "config.log" file and the output
diff --git a/IPPTOOL.txt b/IPPTOOL.txt
index 847ccdc2..a64950ca 100644
--- a/IPPTOOL.txt
+++ b/IPPTOOL.txt
@@ -1,4 +1,4 @@
-IPPTOOL.txt - 2013-04-18
+IPPTOOL.txt - 2013-07-08
------------------------
See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
@@ -6,14 +6,46 @@ See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
INTRODUCTION
- CUPS includes a user program called ipptool that can be used to send
- arbitrary IPP requests to a CUPS server or IPP printer. This tool started
- life as part of the CUPS automated test suite and has grown to support
- complex conformance tests and a simple way to query printer, job, and
- subscription attributes.
+ CUPS includes two user programs for IPP printers. The first is called
+ ipptool and can be used to send arbitrary IPP requests to a CUPS server or
+ IPP printer. This tool started life as part of the CUPS automated test
+ suite and has grown to support complex conformance tests and a simple way
+ to query printer, job, and subscription attributes.
+ The second program called ippfind that can be used to find IPP printers
+ that have registered themselves using Bonjour (DNS-SD, mDNS, and Zeroconf)
+ and run commands such as ipptool.
-BASIC USAGE
+
+READING THE DOCUMENTATION
+
+ Full documentation on the ipptool command can be found in the
+ "man-ipptool.html" and "man-ipptoolfile.html" files; the latter describes
+ the test file format supported by ipptool.
+
+ Full documentation on the ippfind command can be found in the
+ "man-ippfind.html" file.
+
+
+IPPFIND BASIC USAGE
+
+ The ippfind command can be used to discover IPP printers on your network.
+ For example, the following command prints the printer URI of registered IPP
+ printers:
+
+ ippfind
+
+ To find all color IPP printers, run:
+
+ ippfind --txt-color T
+
+ And to run the IPP Everywhere conformance test file on every registered IPP
+ printer, run the following command:
+
+ ippfind _ipp._tcp,_print --exec ipptool -t '{}' ipp-everywhere.test \;
+
+
+IPPTOOL BASIC USAGE
The ipptool command requires a printer URI and one or more "test" files that
describe the operations, attributes to display, and expected status and
@@ -57,7 +89,7 @@ STANDARD TEST FILES
get-notifications.test Shows events for an ippget
subscription.
get-printer-attributes.test Shows printer attributes
- get-subscription.test Shows a list of subscriptions
+ 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
@@ -151,37 +183,28 @@ IPP EVERYWHERE TESTING
372 pages including the 90 pages produced by the regular IPP test suite.
-READING THE DOCUMENTATION
-
- The command usage is described in the ipptest(1) man page, while the file
- format is described in the ipptestfile(5) man page. Both are provided in
- HTML format with the standalone releases of ipptool.
-
-
GETTING SUPPORT AND OTHER RESOURCES
- If you have problems, READ THE DOCUMENTATION FIRST! We also provide many
+ If you have problems, READ THE DOCUMENTATION FIRST! We also provide
discussion forums which are available at:
- http://www.cups.org/newsgroups.php
-
- See the CUPS web site at "http://www.cups.org/" for other resources.
+ http://www.cups.org/
REPORTING BUGS
- If you believe you have discovered a bug in ipptool, please fill out the
- bug form at:
+ 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 ipptool (if you downloaded the
- standalone version) you are using, the printer (if any) and firmware
- version, and include any files that apply.
+ 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 ipptool, please also re-run the
- test with debug logging enabled. Run the following commands on Windows to
- enable debug logging:
+ 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
@@ -190,9 +213,9 @@ REPORTING BUGS
CUPS_DEBUG_LOG=ipptool.log; export CUPS_DEBUG_LOG
CUPS_DEBUG_LEVEL=6; export CUPS_DEBUG_LEVEL
- Then when you run the ipptool command a new "ipptool.log" file will be
- created with detailed information - attach this file to the bug you file
- as well.
+ 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
diff --git a/Makedefs.in b/Makedefs.in
index 95ea1d48..5376a5fc 100644
--- a/Makedefs.in
+++ b/Makedefs.in
@@ -1,5 +1,5 @@
#
-# "$Id: Makedefs.in 10497 2012-05-22 23:58:31Z mike $"
+# "$Id: Makedefs.in 11010 2013-06-05 16:05:45Z msweet $"
#
# Common makefile definitions for CUPS.
#
@@ -138,6 +138,8 @@ DNSSD_BACKEND = @DNSSD_BACKEND@
DSOFLAGS = -L../cups @DSOFLAGS@
DSOLIBS = @DSOLIBS@ $(COMMONLIBS)
DNSSDLIBS = @DNSSDLIBS@
+IPPFIND_BIN = @IPPFIND_BIN@
+IPPFIND_MAN = @IPPFIND_MAN@
LAUNCHDLIBS = @LAUNCHDLIBS@
LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
-L../scheduler @LDARCHFLAGS@ \
@@ -258,5 +260,5 @@ DBUSDIR = @DBUSDIR@
#
-# End of "$Id: Makedefs.in 10497 2012-05-22 23:58:31Z mike $"
+# End of "$Id: Makedefs.in 11010 2013-06-05 16:05:45Z msweet $"
#
diff --git a/Makefile b/Makefile
index fb0a432e..649714cf 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
#
-# "$Id: Makefile 10632 2012-10-01 04:07:51Z mike $"
+# "$Id: Makefile 11107 2013-07-08 13:47:51Z msweet $"
#
# Top-level Makefile for CUPS.
#
-# Copyright 2007-2012 by Apple Inc.
+# Copyright 2007-2013 by Apple Inc.
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
@@ -242,7 +242,7 @@ debugcheck: all unittests
#
-# Create HTML documentation...
+# Create HTML documentation using Mini-XML's mxmldoc (http://www.msweet.org/)...
#
apihelp:
@@ -259,7 +259,7 @@ framedhelp:
#
-# Create an Xcode docset...
+# Create an Xcode docset using Mini-XML's mxmldoc (http://www.msweet.org/)...
#
docset: apihelp
@@ -295,7 +295,7 @@ sloc:
#
-# Make software distributions using EPM (http://www.epmhome.org/)...
+# Make software distributions using EPM (http://www.msweet.org/)...
#
EPMFLAGS = -v --output-dir dist $(EPMARCH)
@@ -329,5 +329,5 @@ dist: all
#
-# End of "$Id: Makefile 10632 2012-10-01 04:07:51Z mike $".
+# End of "$Id: Makefile 11107 2013-07-08 13:47:51Z msweet $".
#
diff --git a/README.txt b/README.txt
index 136d9ed6..4415bd05 100644
--- a/README.txt
+++ b/README.txt
@@ -1,13 +1,13 @@
-README - CUPS v1.7b1 - 2013-04-18
----------------------------------
-
-************************************************
-************************************************
-**** ****
-**** BETA SOFTWARE - USE AT YOUR OWN RISK ****
-**** ****
-************************************************
-************************************************
+README - CUPS v1.7rc1 - 2013-07-08
+----------------------------------
+
+*******************************************************
+*******************************************************
+**** ****
+**** PRE-RELEASE SOFTWARE - USE AT YOUR OWN RISK ****
+**** ****
+*******************************************************
+*******************************************************
Looking for compile instructions? Read the file "INSTALL.txt" instead...
diff --git a/backend/Makefile b/backend/Makefile
index d2f88140..0c8e55a9 100644
--- a/backend/Makefile
+++ b/backend/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10736 2012-12-07 21:45:35Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Backend makefile for CUPS.
#
@@ -296,5 +296,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10736 2012-12-07 21:45:35Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/backend/backend-private.h b/backend/backend-private.h
index fa829141..09e4bac4 100644
--- a/backend/backend-private.h
+++ b/backend/backend-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: backend-private.h 10329 2012-03-05 23:18:31Z mike $"
+ * "$Id: backend-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Backend support definitions for CUPS.
*
@@ -334,5 +334,5 @@ extern int backendWaitLoop(int snmp_fd, http_addr_t *addr,
/*
- * End of "$Id: backend-private.h 10329 2012-03-05 23:18:31Z mike $".
+ * End of "$Id: backend-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/backend/dnssd.c b/backend/dnssd.c
index b66ad1af..916b890b 100644
--- a/backend/dnssd.c
+++ b/backend/dnssd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dnssd.c 10748 2012-12-11 20:01:35Z mike $"
+ * "$Id: dnssd.c 4074 2012-12-12 20:54:21Z msweet $"
*
* DNS-SD discovery backend for CUPS.
*
@@ -1320,5 +1320,5 @@ unquote(char *dst, /* I - Destination buffer */
/*
- * End of "$Id: dnssd.c 10748 2012-12-11 20:01:35Z mike $".
+ * End of "$Id: dnssd.c 4074 2012-12-12 20:54:21Z msweet $".
*/
diff --git a/backend/ieee1284.c b/backend/ieee1284.c
index c95fbc7f..fc5ad1d0 100644
--- a/backend/ieee1284.c
+++ b/backend/ieee1284.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ieee1284.c 9828 2011-06-14 06:38:24Z mike $"
+ * "$Id: ieee1284.c 10996 2013-05-29 11:51:34Z msweet $"
*
* IEEE-1284 support functions for CUPS.
*
@@ -487,5 +487,5 @@ backendGetMakeModel(
/*
- * End of "$Id: ieee1284.c 9828 2011-06-14 06:38:24Z mike $".
+ * End of "$Id: ieee1284.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/backend/ipp.c b/backend/ipp.c
index e27700b5..92b9a79b 100644
--- a/backend/ipp.c
+++ b/backend/ipp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp.c 10929 2013-04-01 18:49:19Z mike $"
+ * "$Id: ipp.c 11089 2013-07-03 16:39:38Z msweet $"
*
* IPP backend for CUPS.
*
@@ -366,7 +366,8 @@ main(int argc, /* I - Number of command-line args */
* that way.
*/
- if (!getuid() && (value = getenv("AUTH_UID")) != NULL)
+ if (!getuid() && (value = getenv("AUTH_UID")) != NULL &&
+ !getenv("AUTH_PASSWORD"))
{
uid_t uid = (uid_t)atoi(value);
/* User ID */
@@ -431,7 +432,7 @@ main(int argc, /* I - Number of command-line args */
if (!port)
port = IPP_PORT; /* Default to port 631 */
- if (!strcmp(scheme, "https"))
+ if (!strcmp(scheme, "https") || !strcmp(scheme, "ipps"))
cupsSetEncryption(HTTP_ENCRYPT_ALWAYS);
else
cupsSetEncryption(HTTP_ENCRYPT_IF_REQUESTED);
@@ -2601,17 +2602,27 @@ new_request(
"job-password-encryption", NULL, keyword);
}
- if (pc->account_id &&
- (keyword = cupsGetOption("job-account-id", num_options,
- options)) != NULL)
- ippAddString(request, IPP_TAG_JOB, IPP_TAG_NAME, "job-account-id",
- NULL, keyword);
+ if (pc->account_id)
+ {
+ if ((keyword = cupsGetOption("job-account-id", num_options,
+ options)) == NULL)
+ keyword = cupsGetOption("job-billing", num_options, options);
- if (pc->accounting_user_id &&
- (keyword = cupsGetOption("job-accounting-user-id", num_options,
- options)) != NULL)
- ippAddString(request, IPP_TAG_JOB, IPP_TAG_NAME,
- "job-accounting-user-id", NULL, keyword);
+ if (keyword)
+ ippAddString(request, IPP_TAG_JOB, IPP_TAG_NAME, "job-account-id",
+ NULL, keyword);
+ }
+
+ if (pc->accounting_user_id)
+ {
+ if ((keyword = cupsGetOption("job-accounting-user-id", num_options,
+ options)) == NULL)
+ keyword = user;
+
+ if (keyword)
+ ippAddString(request, IPP_TAG_JOB, IPP_TAG_NAME,
+ "job-accounting-user-id", NULL, keyword);
+ }
for (mandatory = (char *)cupsArrayFirst(pc->mandatory);
mandatory;
@@ -3403,7 +3414,6 @@ run_as_user(char *argv[], /* I - Command-line arguments */
if (conn)
{
- xpc_connection_suspend(conn);
xpc_connection_cancel(conn);
xpc_release(conn);
}
@@ -3669,5 +3679,5 @@ update_reasons(ipp_attribute_t *attr, /* I - printer-state-reasons or NULL */
}
/*
- * End of "$Id: ipp.c 10929 2013-04-01 18:49:19Z mike $".
+ * End of "$Id: ipp.c 11089 2013-07-03 16:39:38Z msweet $".
*/
diff --git a/backend/lpd.c b/backend/lpd.c
index 6417ea48..6e4ab365 100644
--- a/backend/lpd.c
+++ b/backend/lpd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lpd.c 10672 2012-11-01 00:57:55Z mike $"
+ * "$Id: lpd.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Line Printer Daemon backend for CUPS.
*
@@ -1331,5 +1331,5 @@ sigterm_handler(int sig) /* I - Signal */
/*
- * End of "$Id: lpd.c 10672 2012-11-01 00:57:55Z mike $".
+ * End of "$Id: lpd.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/backend/network.c b/backend/network.c
index 387d5150..4227319c 100644
--- a/backend/network.c
+++ b/backend/network.c
@@ -1,5 +1,5 @@
/*
- * "$Id: network.c 10389 2012-03-28 21:57:29Z mike $"
+ * "$Id: network.c 3755 2012-03-30 05:59:14Z msweet $"
*
* Common backend network APIs for CUPS.
*
@@ -322,5 +322,5 @@ backendNetworkSideCB(
/*
- * End of "$Id: network.c 10389 2012-03-28 21:57:29Z mike $".
+ * End of "$Id: network.c 3755 2012-03-30 05:59:14Z msweet $".
*/
diff --git a/backend/pseudo b/backend/pseudo
index 3a82a522..3a82a522 100755..100644
--- a/backend/pseudo
+++ b/backend/pseudo
diff --git a/backend/runloop.c b/backend/runloop.c
index 90bb9558..74cdc512 100644
--- a/backend/runloop.c
+++ b/backend/runloop.c
@@ -1,5 +1,5 @@
/*
- * "$Id: runloop.c 10434 2012-04-23 21:47:41Z mike $"
+ * "$Id: runloop.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Common run loop APIs for CUPS backends.
*
@@ -539,5 +539,5 @@ backendWaitLoop(
/*
- * End of "$Id: runloop.c 10434 2012-04-23 21:47:41Z mike $".
+ * End of "$Id: runloop.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/backend/snmp-supplies.c b/backend/snmp-supplies.c
index 438db2d9..afe2fbf1 100644
--- a/backend/snmp-supplies.c
+++ b/backend/snmp-supplies.c
@@ -1,5 +1,5 @@
/*
- * "$Id: snmp-supplies.c 10734 2012-12-07 21:33:22Z mike $"
+ * "$Id: snmp-supplies.c 4074 2012-12-12 20:54:21Z msweet $"
*
* SNMP supplies functions for CUPS.
*
@@ -1073,5 +1073,5 @@ utf16_to_utf8(
/*
- * End of "$Id: snmp-supplies.c 10734 2012-12-07 21:33:22Z mike $".
+ * End of "$Id: snmp-supplies.c 4074 2012-12-12 20:54:21Z msweet $".
*/
diff --git a/backend/snmp.c b/backend/snmp.c
index 690f2fa5..a94e89c5 100644
--- a/backend/snmp.c
+++ b/backend/snmp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: snmp.c 10642 2012-10-09 03:01:31Z mike $"
+ * "$Id: snmp.c 10996 2013-05-29 11:51:34Z msweet $"
*
* SNMP discovery backend for CUPS.
*
@@ -1391,5 +1391,5 @@ update_cache(snmp_cache_t *device, /* I - Device */
/*
- * End of "$Id: snmp.c 10642 2012-10-09 03:01:31Z mike $".
+ * End of "$Id: snmp.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/backend/socket.c b/backend/socket.c
index e8c36177..8b7dc380 100644
--- a/backend/socket.c
+++ b/backend/socket.c
@@ -1,5 +1,5 @@
/*
- * "$Id: socket.c 10679 2012-11-06 16:33:50Z mike $"
+ * "$Id: socket.c 10996 2013-05-29 11:51:34Z msweet $"
*
* AppSocket backend for CUPS.
*
@@ -520,5 +520,5 @@ wait_bc(int device_fd, /* I - Socket */
/*
- * End of "$Id: socket.c 10679 2012-11-06 16:33:50Z mike $".
+ * End of "$Id: socket.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/backend/test1284.c b/backend/test1284.c
index 1080c195..3a32391b 100644
--- a/backend/test1284.c
+++ b/backend/test1284.c
@@ -1,5 +1,5 @@
/*
- * "$Id: test1284.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: test1284.c 10996 2013-05-29 11:51:34Z msweet $"
*
* IEEE-1284 support functions test program for CUPS.
*
@@ -80,5 +80,5 @@ main(int argc, /* I - Number of command-line args */
/*
- * End of "$Id: test1284.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: test1284.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/backend/testbackend.c b/backend/testbackend.c
index ad260701..aecfd9cd 100644
--- a/backend/testbackend.c
+++ b/backend/testbackend.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testbackend.c 10389 2012-03-28 21:57:29Z mike $"
+ * "$Id: testbackend.c 4297 2013-05-10 16:04:59Z msweet $"
*
* Backend test program for CUPS.
*
@@ -667,10 +667,22 @@ walk_cb(const char *oid, /* I - OID */
int datalen, /* I - Length of data */
void *context) /* I - Context (unused) */
{
- printf("CUPS_SC_CMD_SNMP_WALK %s, %d bytes (%s)\n", oid, datalen, data);
+ char temp[80];
+ if (datalen > (sizeof(temp) - 1))
+ {
+ memcpy(temp, data, sizeof(temp) - 1);
+ temp[sizeof(temp) - 1] = '\0';
+ }
+ else
+ {
+ memcpy(temp, data, datalen);
+ temp[datalen] = '\0';
+ }
+
+ printf("CUPS_SC_CMD_SNMP_WALK %s, %d bytes (%s)\n", oid, datalen, temp);
}
/*
- * End of "$Id: testbackend.c 10389 2012-03-28 21:57:29Z mike $".
+ * End of "$Id: testbackend.c 4297 2013-05-10 16:04:59Z msweet $".
*/
diff --git a/backend/testsupplies.c b/backend/testsupplies.c
index 827cdf6f..0a300bc9 100644
--- a/backend/testsupplies.c
+++ b/backend/testsupplies.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testsupplies.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: testsupplies.c 3247 2011-05-12 06:22:31Z msweet $"
*
* SNMP supplies test program for CUPS.
*
@@ -79,5 +79,5 @@ main(int argc, /* I - Number of command-line args */
/*
- * End of "$Id: testsupplies.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: testsupplies.c 3247 2011-05-12 06:22:31Z msweet $".
*/
diff --git a/backend/usb-darwin.c b/backend/usb-darwin.c
index ca855cc9..15f074e9 100644
--- a/backend/usb-darwin.c
+++ b/backend/usb-darwin.c
@@ -1,5 +1,5 @@
/*
-* "$Id: usb-darwin.c 10894 2013-03-11 14:01:31Z mike $"
+* "$Id: usb-darwin.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Copyright 2005-2013 Apple Inc. All rights reserved.
*
@@ -2339,5 +2339,5 @@ static void get_device_id(cups_sc_status_t *status,
/*
- * End of "$Id: usb-darwin.c 10894 2013-03-11 14:01:31Z mike $".
+ * End of "$Id: usb-darwin.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/backend/usb-libusb.c b/backend/usb-libusb.c
index 4cae3a0e..e25a9504 100644
--- a/backend/usb-libusb.c
+++ b/backend/usb-libusb.c
@@ -1,5 +1,5 @@
/*
- * "$Id: usb-libusb.c 10948 2013-04-18 14:18:34Z mike $"
+ * "$Id: usb-libusb.c 10977 2013-05-13 16:46:08Z msweet $"
*
* LIBUSB interface code for CUPS.
*
@@ -230,6 +230,7 @@ static const struct quirk_printer_struct quirk_printers[] = {
{ 0x04a9, 0x3256, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP810 */
{ 0x04a9, 0x30F5, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP500 */
{ 0x04a9, 0x31AF, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES3 */
+ { 0x04a9, 0x31DD, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP780 */
/* MISSING PIDs: CP520, CP530, CP790 */
{ 0, 0 }
};
@@ -898,7 +899,8 @@ find_device(usb_cb_t cb, /* I - Callback function */
/* Pointer to current alternate setting */
const struct libusb_endpoint_descriptor *endpptr = NULL;
/* Pointer to current endpoint */
- ssize_t numdevs, /* number of connected devices */
+ ssize_t err = 0, /* Error code */
+ numdevs, /* number of connected devices */
i = 0;
uint8_t conf, /* Current configuration */
iface, /* Current interface */
@@ -917,7 +919,14 @@ find_device(usb_cb_t cb, /* I - Callback function */
* Initialize libusb...
*/
- libusb_init(NULL);
+ err = libusb_init(NULL);
+ if (err)
+ {
+ fprintf(stderr, "DEBUG: Unable to initialize USB access via libusb, "
+ "libusb error %i\n", err);
+ return (NULL);
+ }
+
numdevs = libusb_get_device_list(NULL, &list);
fprintf(stderr, "DEBUG: libusb_get_device_list=%d\n", (int)numdevs);
@@ -1087,7 +1096,8 @@ find_device(usb_cb_t cb, /* I - Callback function */
* Clean up ....
*/
- libusb_free_device_list(list, 1);
+ if (numdevs >= 0)
+ libusb_free_device_list(list, 1);
libusb_exit(NULL);
return (NULL);
@@ -1972,6 +1982,6 @@ static void soft_reset(void)
/*
- * End of "$Id: usb-libusb.c 10948 2013-04-18 14:18:34Z mike $".
+ * End of "$Id: usb-libusb.c 10977 2013-05-13 16:46:08Z msweet $".
*/
diff --git a/backend/usb-unix.c b/backend/usb-unix.c
index fd02ee98..20338004 100644
--- a/backend/usb-unix.c
+++ b/backend/usb-unix.c
@@ -1,5 +1,5 @@
/*
- * "$Id: usb-unix.c 10632 2012-10-01 04:07:51Z mike $"
+ * "$Id: usb-unix.c 10996 2013-05-29 11:51:34Z msweet $"
*
* USB port backend for CUPS.
*
@@ -612,5 +612,5 @@ side_cb(int print_fd, /* I - Print file */
/*
- * End of "$Id: usb-unix.c 10632 2012-10-01 04:07:51Z mike $".
+ * End of "$Id: usb-unix.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/backend/usb.c b/backend/usb.c
index 1cacb82a..3ccbc009 100644
--- a/backend/usb.c
+++ b/backend/usb.c
@@ -1,5 +1,5 @@
/*
- * "$Id: usb.c 10264 2012-02-12 07:18:31Z mike $"
+ * "$Id: usb.c 10996 2013-05-29 11:51:34Z msweet $"
*
* USB port backend for CUPS.
*
@@ -260,5 +260,5 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
/*
- * End of "$Id: usb.c 10264 2012-02-12 07:18:31Z mike $".
+ * End of "$Id: usb.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/berkeley/Makefile b/berkeley/Makefile
index 05c0c137..6534f76c 100644
--- a/berkeley/Makefile
+++ b/berkeley/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Berkeley commands makefile for CUPS.
#
@@ -164,5 +164,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/berkeley/lpc.c b/berkeley/lpc.c
index 8ea68ed9..ffd76296 100644
--- a/berkeley/lpc.c
+++ b/berkeley/lpc.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lpc.c 10378 2012-03-23 21:38:25Z mike $"
+ * "$Id: lpc.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "lpc" command for CUPS.
*
@@ -446,5 +446,5 @@ show_status(http_t *http, /* I - HTTP connection to server */
/*
- * End of "$Id: lpc.c 10378 2012-03-23 21:38:25Z mike $".
+ * End of "$Id: lpc.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/berkeley/lpq.c b/berkeley/lpq.c
index 87f5e8e4..1cde7b07 100644
--- a/berkeley/lpq.c
+++ b/berkeley/lpq.c
@@ -1,9 +1,9 @@
/*
- * "$Id: lpq.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: lpq.c 11101 2013-07-08 11:20:33Z msweet $"
*
* "lpq" command for CUPS.
*
- * Copyright 2007-2012 by Apple Inc.
+ * Copyright 2007-2013 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -60,8 +60,7 @@ main(int argc, /* I - Number of command-line arguments */
all, /* All printers */
interval, /* Reporting interval */
longstatus; /* Show file details */
- int num_dests; /* Number of destinations */
- cups_dest_t *dests; /* Destinations */
+ cups_dest_t *named_dest; /* Named destination */
_cupsSetLocale(argv);
@@ -77,8 +76,6 @@ main(int argc, /* I - Number of command-line arguments */
interval = 0;
longstatus = 0;
all = 0;
- num_dests = 0;
- dests = NULL;
for (i = 1; i < argc; i ++)
if (argv[i][0] == '+')
@@ -127,7 +124,6 @@ main(int argc, /* I - Number of command-line arguments */
if (i >= argc)
{
httpClose(http);
- cupsFreeDests(num_dests, dests);
usage();
}
@@ -140,12 +136,14 @@ main(int argc, /* I - Number of command-line arguments */
http = connect_server(argv[0], http);
- if (num_dests == 0)
- num_dests = cupsGetDests2(http, &dests);
-
- if (cupsGetDest(dest, instance, num_dests, dests) == NULL)
+ if ((named_dest = cupsGetNamedDest(http, dest, instance)) == NULL)
{
- if (instance)
+ if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+ cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
+ _cupsLangPrintf(stderr,
+ _("%s: Error - add '/version=1.1' to server "
+ "name."), argv[0]);
+ else if (instance)
_cupsLangPrintf(stderr,
_("%s: Error - unknown destination \"%s/%s\"."),
argv[0], dest, instance);
@@ -155,6 +153,8 @@ main(int argc, /* I - Number of command-line arguments */
return (1);
}
+
+ cupsFreeDests(1, named_dest);
break;
case 'a' : /* All printers */
@@ -192,7 +192,6 @@ main(int argc, /* I - Number of command-line arguments */
default :
httpClose(http);
- cupsFreeDests(num_dests, dests);
usage();
break;
@@ -207,15 +206,17 @@ main(int argc, /* I - Number of command-line arguments */
if (dest == NULL && !all)
{
- if (num_dests == 0)
- num_dests = cupsGetDests2(http, &dests);
-
- for (i = 0; i < num_dests; i ++)
- if (dests[i].is_default)
- dest = dests[i].name;
-
- if (dest == NULL)
+ if ((named_dest = cupsGetNamedDest(http, NULL, NULL)) == NULL)
{
+ if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+ cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
+ {
+ _cupsLangPrintf(stderr,
+ _("%s: Error - add '/version=1.1' to server name."),
+ argv[0]);
+ return (1);
+ }
+
val = NULL;
if ((dest = getenv("LPDEST")) == NULL)
@@ -231,7 +232,7 @@ main(int argc, /* I - Number of command-line arguments */
else
val = "LPDEST";
- if (dest && !cupsGetDest(dest, NULL, num_dests, dests))
+ if (dest && val)
_cupsLangPrintf(stderr,
_("%s: Error - %s environment variable names "
"non-existent destination \"%s\"."), argv[0], val,
@@ -241,9 +242,10 @@ main(int argc, /* I - Number of command-line arguments */
_("%s: Error - no default destination available."),
argv[0]);
httpClose(http);
- cupsFreeDests(num_dests, dests);
return (1);
}
+
+ dest = named_dest->name;
}
/*
@@ -270,7 +272,6 @@ main(int argc, /* I - Number of command-line arguments */
* Close the connection to the server and return...
*/
- cupsFreeDests(num_dests, dests);
httpClose(http);
return (0);
@@ -678,5 +679,5 @@ usage(void)
/*
- * End of "$Id: lpq.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: lpq.c 11101 2013-07-08 11:20:33Z msweet $".
*/
diff --git a/berkeley/lpr.c b/berkeley/lpr.c
index 842e9dc9..a90818d3 100644
--- a/berkeley/lpr.c
+++ b/berkeley/lpr.c
@@ -1,9 +1,9 @@
/*
- * "$Id: lpr.c 10494 2012-05-21 22:39:01Z mike $"
+ * "$Id: lpr.c 11101 2013-07-08 11:20:33Z msweet $"
*
* "lpr" command for CUPS.
*
- * Copyright 2007-2012 by Apple Inc.
+ * Copyright 2007-2013 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -61,6 +61,7 @@ main(int argc, /* I - Number of command-line arguments */
for (i = 1; i < argc; i ++)
if (argv[i][0] == '-')
+ {
switch (ch = argv[i][1])
{
case 'E' : /* Encrypt */
@@ -226,6 +227,14 @@ main(int argc, /* I - Number of command-line arguments */
dest->options[j].value,
num_options, &options);
}
+ else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+ cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
+ {
+ _cupsLangPrintf(stderr,
+ _("%s: Error - add '/version=1.1' to server "
+ "name."), argv[0]);
+ return (1);
+ }
break;
case '#' : /* Number of copies */
@@ -275,6 +284,7 @@ main(int argc, /* I - Number of command-line arguments */
argv[i][1]);
return (1);
}
+ }
else if (num_files < 1000)
{
/*
@@ -320,6 +330,14 @@ main(int argc, /* I - Number of command-line arguments */
dest->options[j].value,
num_options, &options);
}
+ else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+ cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
+ {
+ _cupsLangPrintf(stderr,
+ _("%s: Error - add '/version=1.1' to server "
+ "name."), argv[0]);
+ return (1);
+ }
}
if (printer == NULL)
@@ -418,5 +436,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: lpr.c 10494 2012-05-21 22:39:01Z mike $".
+ * End of "$Id: lpr.c 11101 2013-07-08 11:20:33Z msweet $".
*/
diff --git a/berkeley/lprm.c b/berkeley/lprm.c
index 6d69a461..922bbbd4 100644
--- a/berkeley/lprm.c
+++ b/berkeley/lprm.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lprm.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: lprm.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "lprm" command for CUPS.
*
@@ -213,5 +213,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: lprm.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: lprm.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/Makefile b/cgi-bin/Makefile
index 8fcb4eed..64635a37 100644
--- a/cgi-bin/Makefile
+++ b/cgi-bin/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10768 2012-12-14 13:06:44Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# CGI makefile for CUPS.
#
@@ -380,5 +380,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10768 2012-12-14 13:06:44Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/cgi-bin/admin.c b/cgi-bin/admin.c
index fc15707e..f3a6fc54 100644
--- a/cgi-bin/admin.c
+++ b/cgi-bin/admin.c
@@ -1,5 +1,5 @@
/*
- * "$Id: admin.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: admin.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Administration CGI for CUPS.
*
@@ -4218,5 +4218,5 @@ get_points(double number, /* I - Original number */
/*
- * End of "$Id: admin.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: admin.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/cgi-private.h b/cgi-bin/cgi-private.h
index 3503ed12..c5d0eef2 100644
--- a/cgi-bin/cgi-private.h
+++ b/cgi-bin/cgi-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: cgi-private.h 10097 2011-11-02 05:35:38Z mike $"
+ * "$Id: cgi-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private CGI definitions for CUPS.
*
@@ -32,5 +32,5 @@
/*
- * End of "$Id: cgi-private.h 10097 2011-11-02 05:35:38Z mike $".
+ * End of "$Id: cgi-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/cgi.h b/cgi-bin/cgi.h
index c6562abe..37732b51 100644
--- a/cgi-bin/cgi.h
+++ b/cgi-bin/cgi.h
@@ -1,5 +1,5 @@
/*
- * "$Id: cgi.h 8976 2010-02-02 07:12:05Z mike $"
+ * "$Id: cgi.h 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI support library definitions for CUPS.
*
@@ -115,5 +115,5 @@ extern const char *cgiText(const char *message);
#endif /* !_CUPS_CGI_H_ */
/*
- * End of "$Id: cgi.h 8976 2010-02-02 07:12:05Z mike $".
+ * End of "$Id: cgi.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/classes.c b/cgi-bin/classes.c
index 2065fcbe..eb280df3 100644
--- a/cgi-bin/classes.c
+++ b/cgi-bin/classes.c
@@ -1,5 +1,5 @@
/*
- * "$Id: classes.c 10605 2012-09-15 18:47:19Z mike $"
+ * "$Id: classes.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Class status CGI for CUPS.
*
@@ -554,5 +554,5 @@ show_class(http_t *http, /* I - Connection to server */
/*
- * End of "$Id: classes.c 10605 2012-09-15 18:47:19Z mike $".
+ * End of "$Id: classes.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/help-index.c b/cgi-bin/help-index.c
index 59ef175b..997d22fa 100644
--- a/cgi-bin/help-index.c
+++ b/cgi-bin/help-index.c
@@ -1,5 +1,5 @@
/*
- * "$Id: help-index.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: help-index.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Online help index routines for CUPS.
*
@@ -1324,5 +1324,5 @@ help_sort_words(help_word_t *w1, /* I - Second word */
/*
- * End of "$Id: help-index.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: help-index.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/help-index.h b/cgi-bin/help-index.h
index 253b5871..3618d606 100644
--- a/cgi-bin/help-index.h
+++ b/cgi-bin/help-index.h
@@ -1,5 +1,5 @@
/*
- * "$Id: help-index.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: help-index.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Online help index definitions for CUPS.
*
@@ -83,5 +83,5 @@ extern help_index_t *helpSearchIndex(help_index_t *hi, const char *query,
#endif /* !_CUPS_HELP_INDEX_H_ */
/*
- * End of "$Id: help-index.h 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: help-index.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/help.c b/cgi-bin/help.c
index 215c98bc..75f70d9c 100644
--- a/cgi-bin/help.c
+++ b/cgi-bin/help.c
@@ -1,5 +1,5 @@
/*
- * "$Id$"
+ * "$Id: help.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Online help CGI for CUPS.
*
@@ -393,5 +393,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id$".
+ * End of "$Id: help.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/html.c b/cgi-bin/html.c
index 98932983..af58c88f 100644
--- a/cgi-bin/html.c
+++ b/cgi-bin/html.c
@@ -1,5 +1,5 @@
/*
- * "$Id: html.c 9449 2011-01-08 00:56:50Z mike $"
+ * "$Id: html.c 10996 2013-05-29 11:51:34Z msweet $"
*
* HTML support functions for CUPS.
*
@@ -235,5 +235,5 @@ cgi_null_passwd(const char *prompt) /* I - Prompt string (unused) */
/*
- * End of "$Id: html.c 9449 2011-01-08 00:56:50Z mike $".
+ * End of "$Id: html.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/ipp-var.c b/cgi-bin/ipp-var.c
index 937518a6..e2df6ef1 100644
--- a/cgi-bin/ipp-var.c
+++ b/cgi-bin/ipp-var.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp-var.c 10734 2012-12-07 21:33:22Z mike $"
+ * "$Id: ipp-var.c 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI <-> IPP variable routines for CUPS.
*
@@ -1589,5 +1589,5 @@ cgiText(const char *message) /* I - Message */
/*
- * End of "$Id: ipp-var.c 10734 2012-12-07 21:33:22Z mike $".
+ * End of "$Id: ipp-var.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/jobs.c b/cgi-bin/jobs.c
index 21f494f8..ccff8cf8 100644
--- a/cgi-bin/jobs.c
+++ b/cgi-bin/jobs.c
@@ -1,5 +1,5 @@
/*
- * "$Id: jobs.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: jobs.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Job status CGI for CUPS.
*
@@ -210,5 +210,5 @@ do_job_op(http_t *http, /* I - HTTP connection */
/*
- * End of "$Id: jobs.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: jobs.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/makedocset.c b/cgi-bin/makedocset.c
index 4868b879..6be2797b 100644
--- a/cgi-bin/makedocset.c
+++ b/cgi-bin/makedocset.c
@@ -1,5 +1,5 @@
/*
- * "$Id: makedocset.c 10507 2012-05-23 22:39:50Z mike $"
+ * "$Id: makedocset.c 3833 2012-05-23 22:51:18Z msweet $"
*
* Xcode documentation set generator.
*
@@ -482,5 +482,5 @@ write_nodes(const char *path, /* I - File to write */
/*
- * End of "$Id: makedocset.c 10507 2012-05-23 22:39:50Z mike $".
+ * End of "$Id: makedocset.c 3833 2012-05-23 22:51:18Z msweet $".
*/
diff --git a/cgi-bin/printers.c b/cgi-bin/printers.c
index 832e9de8..d690c457 100644
--- a/cgi-bin/printers.c
+++ b/cgi-bin/printers.c
@@ -1,5 +1,5 @@
/*
- * "$Id: printers.c 10605 2012-09-15 18:47:19Z mike $"
+ * "$Id: printers.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Printer status CGI for CUPS.
*
@@ -574,5 +574,5 @@ show_printer(http_t *http, /* I - Connection to server */
/*
- * End of "$Id: printers.c 10605 2012-09-15 18:47:19Z mike $".
+ * End of "$Id: printers.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/search.c b/cgi-bin/search.c
index 8f314151..ed67008a 100644
--- a/cgi-bin/search.c
+++ b/cgi-bin/search.c
@@ -1,5 +1,5 @@
/*
- * "$Id: search.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: search.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Search routines for CUPS.
*
@@ -377,5 +377,5 @@ cgiFreeSearch(void *search) /* I - Search context */
/*
- * End of "$Id: search.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: search.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/template.c b/cgi-bin/template.c
index 8fb8b3f5..0a71653f 100644
--- a/cgi-bin/template.c
+++ b/cgi-bin/template.c
@@ -1,5 +1,5 @@
/*
- * "$Id: template.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: template.c 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI template function.
*
@@ -729,5 +729,5 @@ cgi_puturi(const char *s, /* I - String to output */
/*
- * End of "$Id: template.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: template.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/testcgi.c b/cgi-bin/testcgi.c
index 0ed1269b..cbe80ed8 100644
--- a/cgi-bin/testcgi.c
+++ b/cgi-bin/testcgi.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testcgi.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: testcgi.c 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI test program for CUPS.
*
@@ -71,5 +71,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: testcgi.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: testcgi.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/testhi.c b/cgi-bin/testhi.c
index 93f1f632..9feed6bb 100644
--- a/cgi-bin/testhi.c
+++ b/cgi-bin/testhi.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testhi.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: testhi.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Help index test program for CUPS.
*
@@ -109,5 +109,5 @@ list_nodes(const char *title, /* I - Title string */
/*
- * End of "$Id: testhi.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: testhi.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/testtemplate.c b/cgi-bin/testtemplate.c
index 6ced30cc..c479b3a1 100644
--- a/cgi-bin/testtemplate.c
+++ b/cgi-bin/testtemplate.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testtemplate.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: testtemplate.c 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI template test program for CUPS.
*
@@ -99,5 +99,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: testtemplate.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: testtemplate.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/var.c b/cgi-bin/var.c
index 088f3254..382771d6 100644
--- a/cgi-bin/var.c
+++ b/cgi-bin/var.c
@@ -1,5 +1,5 @@
/*
- * "$Id: var.c 10346 2012-03-12 15:37:13Z mike $"
+ * "$Id: var.c 10996 2013-05-29 11:51:34Z msweet $"
*
* CGI form variable and array functions for CUPS.
*
@@ -1307,5 +1307,5 @@ cgi_unlink_file(void)
/*
- * End of "$Id: var.c 10346 2012-03-12 15:37:13Z mike $".
+ * End of "$Id: var.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cgi-bin/websearch.c b/cgi-bin/websearch.c
index f096ba2d..20d8d7e4 100644
--- a/cgi-bin/websearch.c
+++ b/cgi-bin/websearch.c
@@ -1,5 +1,5 @@
/*
- * "$Id: websearch.c 8668 2009-05-21 00:21:27Z mike $"
+ * "$Id: websearch.c 1531 2009-05-22 21:50:50Z msweet $"
*
* Web search program for www.cups.org.
*
@@ -112,5 +112,5 @@ list_nodes(help_index_t *hi, /* I - Help index */
/*
- * End of "$Id: websearch.c 8668 2009-05-21 00:21:27Z mike $".
+ * End of "$Id: websearch.c 1531 2009-05-22 21:50:50Z msweet $".
*/
diff --git a/conf/Makefile b/conf/Makefile
index c00b6970..f4d63f8d 100644
--- a/conf/Makefile
+++ b/conf/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Configuration file makefile for CUPS.
#
@@ -139,5 +139,5 @@ uninstall:
#
-# End of "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/conf/cups-files.conf.in b/conf/cups-files.conf.in
index 4ef8839a..965e8617 100644
--- a/conf/cups-files.conf.in
+++ b/conf/cups-files.conf.in
@@ -1,5 +1,5 @@
#
-# "$Id: cups-files.conf.in 10764 2012-12-13 20:36:08Z mike $"
+# "$Id: cups-files.conf.in 4120 2013-01-10 17:01:44Z msweet $"
#
# Sample file/directory/user/group configuration file for the CUPS scheduler.
# See "man cups-files.conf" for a complete description of this file.
@@ -94,5 +94,5 @@ PageLog @CUPS_LOGDIR@/page_log
#TempDir @CUPS_REQUESTS@/tmp
#
-# End of "$Id: cups-files.conf.in 10764 2012-12-13 20:36:08Z mike $".
+# End of "$Id: cups-files.conf.in 4120 2013-01-10 17:01:44Z msweet $".
#
diff --git a/conf/cupsd.conf.in b/conf/cupsd.conf.in
index 27f452f8..e671c16c 100644
--- a/conf/cupsd.conf.in
+++ b/conf/cupsd.conf.in
@@ -1,5 +1,5 @@
#
-# "$Id: cupsd.conf.in 10709 2012-11-26 18:25:58Z mike $"
+# "$Id: cupsd.conf.in 11025 2013-06-07 01:00:33Z msweet $"
#
# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
@@ -130,5 +130,5 @@ WebInterface @CUPS_WEBIF@
</Policy>
#
-# End of "$Id: cupsd.conf.in 10709 2012-11-26 18:25:58Z mike $".
+# End of "$Id: cupsd.conf.in 11025 2013-06-07 01:00:33Z msweet $".
#
diff --git a/conf/mime.convs.in b/conf/mime.convs.in
index ecd127a6..0685b192 100644
--- a/conf/mime.convs.in
+++ b/conf/mime.convs.in
@@ -1,5 +1,5 @@
#
-# "$Id: mime.convs.in 9926 2011-08-27 09:23:01Z mike $"
+# "$Id: mime.convs.in 11025 2013-06-07 01:00:33Z msweet $"
#
# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
# VERSIONS OF CUPS. Instead, create a "local.convs" file that
@@ -59,5 +59,5 @@ application/vnd.cups-raster image/pwg-raster 100 rastertopwg
@DEFAULT_RAW_PRINTING@application/octet-stream application/vnd.cups-raw 0 -
#
-# End of "$Id: mime.convs.in 9926 2011-08-27 09:23:01Z mike $".
+# End of "$Id: mime.convs.in 11025 2013-06-07 01:00:33Z msweet $".
#
diff --git a/conf/mime.types b/conf/mime.types
index 21ec3bd0..217d75be 100644
--- a/conf/mime.types
+++ b/conf/mime.types
@@ -1,5 +1,5 @@
#
-# "$Id: mime.types 9871 2011-08-06 06:34:46Z mike $"
+# "$Id: mime.types 7670 2008-06-17 22:42:08Z mike $"
#
# Base MIME types file for CUPS.
#
@@ -170,5 +170,5 @@ application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B)) \
application/octet-stream
#
-# End of "$Id: mime.types 9871 2011-08-06 06:34:46Z mike $".
+# End of "$Id: mime.types 7670 2008-06-17 22:42:08Z mike $".
#
diff --git a/conf/snmp.conf.in b/conf/snmp.conf.in
index 1e8dfbcb..3b4565f0 100644
--- a/conf/snmp.conf.in
+++ b/conf/snmp.conf.in
@@ -1,5 +1,5 @@
#
-# "$Id: snmp.conf.in 9045 2010-03-24 07:48:42Z mike $"
+# "$Id: snmp.conf.in 11025 2013-06-07 01:00:33Z msweet $"
#
# Sample SNMP configuration file for CUPS. See "man cups-snmp.conf" for a
# complete description of this file.
@@ -9,5 +9,5 @@
@CUPS_SNMP_COMMUNITY@
#
-# End of "$Id: snmp.conf.in 9045 2010-03-24 07:48:42Z mike $".
+# End of "$Id: snmp.conf.in 11025 2013-06-07 01:00:33Z msweet $".
#
diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4
index ae3889c1..c9de2c0f 100644
--- a/config-scripts/cups-common.m4
+++ b/config-scripts/cups-common.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-common.m4 10945 2013-04-09 19:44:01Z mike $"
+dnl "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $"
dnl
dnl Common configuration stuff for CUPS.
dnl
@@ -20,7 +20,7 @@ dnl Set the name of the config header file...
AC_CONFIG_HEADER(config.h)
dnl Version number information...
-CUPS_VERSION=1.7b1
+CUPS_VERSION=1.7rc1
CUPS_REVISION=
#if test -z "$CUPS_REVISION" -a -d .svn; then
# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
@@ -459,5 +459,5 @@ esac
AC_SUBST(BUILDDIRS)
dnl
-dnl End of "$Id: cups-common.m4 10945 2013-04-09 19:44:01Z mike $".
+dnl End of "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $".
dnl
diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4
index 6bf20611..2bf1442a 100644
--- a/config-scripts/cups-compiler.m4
+++ b/config-scripts/cups-compiler.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-compiler.m4 10853 2013-01-31 16:27:05Z mike $"
+dnl "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $"
dnl
dnl Compiler stuff for CUPS.
dnl
@@ -291,5 +291,5 @@ case $uname in
esac
dnl
-dnl End of "$Id: cups-compiler.m4 10853 2013-01-31 16:27:05Z mike $".
+dnl End of "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $".
dnl
diff --git a/config-scripts/cups-defaults.m4 b/config-scripts/cups-defaults.m4
index f00002c0..173cfeac 100644
--- a/config-scripts/cups-defaults.m4
+++ b/config-scripts/cups-defaults.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-defaults.m4 10709 2012-11-26 18:25:58Z mike $"
+dnl "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $"
dnl
dnl Default cupsd configuration settings for CUPS.
dnl
@@ -400,5 +400,5 @@ AC_SUBST(CUPS_WEBIF)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_WEBIF, $CUPS_DEFAULT_WEBIF)
dnl
-dnl End of "$Id: cups-defaults.m4 10709 2012-11-26 18:25:58Z mike $".
+dnl End of "$Id: cups-defaults.m4 7959 2008-09-17 19:30:58Z mike $".
dnl
diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
index 37b1a42f..eec3dec0 100644
--- a/config-scripts/cups-directories.m4
+++ b/config-scripts/cups-directories.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-directories.m4 10945 2013-04-09 19:44:01Z mike $"
+dnl "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $"
dnl
dnl Directory stuff for CUPS.
dnl
@@ -427,5 +427,5 @@ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR")
AC_SUBST(CUPS_STATEDIR)
dnl
-dnl End of "$Id: cups-directories.m4 10945 2013-04-09 19:44:01Z mike $".
+dnl End of "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $".
dnl
diff --git a/config-scripts/cups-dnssd.m4 b/config-scripts/cups-dnssd.m4
index b44938d4..02974ef8 100644
--- a/config-scripts/cups-dnssd.m4
+++ b/config-scripts/cups-dnssd.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-dnssd.m4 10471 2012-05-16 22:57:03Z mike $"
+dnl "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $"
dnl
dnl DNS Service Discovery (aka Bonjour) stuff for CUPS.
dnl
@@ -23,6 +23,8 @@ AC_ARG_WITH(dnssd-includes, [ --with-dnssd-includes set directory for DNS Ser
DNSSDLIBS=""
DNSSD_BACKEND=""
+IPPFIND_BIN=""
+IPPFIND_MAN=""
if test "x$PKGCONFIG" != x -a x$enable_avahi != xno; then
AC_MSG_CHECKING(for Avahi)
@@ -31,6 +33,8 @@ if test "x$PKGCONFIG" != x -a x$enable_avahi != xno; then
CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
DNSSD_BACKEND="dnssd"
+ IPPFIND_BIN="ippfind"
+ IPPFIND_MAN="ippfind.\$(MAN1EXT)"
AC_DEFINE(HAVE_AVAHI)
else
AC_MSG_RESULT(no)
@@ -45,6 +49,8 @@ if test "x$DNSSD_BACKEND" = x -a x$enable_dnssd != xno; then
AC_DEFINE(HAVE_DNSSD)
DNSSDLIBS="-framework CoreFoundation -framework SystemConfiguration"
DNSSD_BACKEND="dnssd"
+ IPPFIND_BIN="ippfind"
+ IPPFIND_MAN="ippfind.\$(MAN1EXT)"
;;
*)
# All others...
@@ -61,6 +67,8 @@ if test "x$DNSSD_BACKEND" = x -a x$enable_dnssd != xno; then
AC_DEFINE(HAVE_DNSSD)
DNSSDLIBS="-ldns_sd"
DNSSD_BACKEND="dnssd",
+ IPPFIND_BIN="ippfind"
+ IPPFIND_MAN="ippfind.\$(MAN1EXT)"
AC_MSG_RESULT(no))
LIBS="$SAVELIBS"
;;
@@ -70,7 +78,9 @@ fi
AC_SUBST(DNSSDLIBS)
AC_SUBST(DNSSD_BACKEND)
+AC_SUBST(IPPFIND_BIN)
+AC_SUBST(IPPFIND_MAN)
dnl
-dnl End of "$Id: cups-dnssd.m4 10471 2012-05-16 22:57:03Z mike $".
+dnl End of "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $".
dnl
diff --git a/config-scripts/cups-gssapi.m4 b/config-scripts/cups-gssapi.m4
index 85187adc..d378bbfa 100644
--- a/config-scripts/cups-gssapi.m4
+++ b/config-scripts/cups-gssapi.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-gssapi.m4 10784 2013-01-08 16:19:32Z mike $"
+dnl "$Id$"
dnl
dnl GSSAPI/Kerberos library detection for CUPS.
dnl
@@ -158,5 +158,5 @@ AC_SUBST(CUPS_DEFAULT_GSSSERVICENAME)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
dnl
-dnl End of "$Id: cups-gssapi.m4 10784 2013-01-08 16:19:32Z mike $".
+dnl End of "$Id$".
dnl
diff --git a/config-scripts/cups-largefile.m4 b/config-scripts/cups-largefile.m4
index c4eab9a8..8243de78 100644
--- a/config-scripts/cups-largefile.m4
+++ b/config-scripts/cups-largefile.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-largefile.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-largefile.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl Large file support stuff for CUPS.
dnl
@@ -48,5 +48,5 @@ fi
AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL))
dnl
-dnl End of "$Id: cups-largefile.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-largefile.m4 6649 2007-07-11 21:46:42Z mike $".
dnl
diff --git a/config-scripts/cups-launchd.m4 b/config-scripts/cups-launchd.m4
index 5da5e077..23a22951 100644
--- a/config-scripts/cups-launchd.m4
+++ b/config-scripts/cups-launchd.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-launchd.m4 8983 2010-02-13 02:20:23Z mike $"
+dnl "$Id: cups-launchd.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl launchd stuff for CUPS.
dnl
@@ -39,5 +39,5 @@ AC_SUBST(DEFAULT_LAUNCHD_CONF)
AC_SUBST(LAUNCHDLIBS)
dnl
-dnl End of "$Id: cups-launchd.m4 8983 2010-02-13 02:20:23Z mike $".
+dnl End of "$Id: cups-launchd.m4 6649 2007-07-11 21:46:42Z mike $".
dnl
diff --git a/config-scripts/cups-libtool.m4 b/config-scripts/cups-libtool.m4
index 5b95b399..d6026b24 100644
--- a/config-scripts/cups-libtool.m4
+++ b/config-scripts/cups-libtool.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-libtool.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-libtool.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl Libtool stuff for CUPS.
dnl
@@ -35,5 +35,5 @@ if test x$LIBTOOL != x; then
fi
dnl
-dnl End of "$Id: cups-libtool.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-libtool.m4 6649 2007-07-11 21:46:42Z mike $".
dnl
diff --git a/config-scripts/cups-manpages.m4 b/config-scripts/cups-manpages.m4
index 6881182c..16246838 100644
--- a/config-scripts/cups-manpages.m4
+++ b/config-scripts/cups-manpages.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-manpages.m4 10632 2012-10-01 04:07:51Z mike $"
+dnl "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl Manpage stuff for CUPS.
dnl
@@ -78,5 +78,5 @@ AC_SUBST(MAN8EXT)
AC_SUBST(MAN8DIR)
dnl
-dnl End of "$Id: cups-manpages.m4 10632 2012-10-01 04:07:51Z mike $".
+dnl End of "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z mike $".
dnl
diff --git a/config-scripts/cups-network.m4 b/config-scripts/cups-network.m4
index 9b591ed1..b97fb4a4 100644
--- a/config-scripts/cups-network.m4
+++ b/config-scripts/cups-network.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-network.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-network.m4 7918 2008-09-08 22:03:01Z mike $"
dnl
dnl Networking stuff for CUPS.
dnl
@@ -70,5 +70,5 @@ AC_CHECK_HEADERS(AppleTalk/at_proto.h,AC_DEFINE(HAVE_APPLETALK_AT_PROTO_H),,
[#include <netat/appletalk.h>])
dnl
-dnl End of "$Id: cups-network.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-network.m4 7918 2008-09-08 22:03:01Z mike $".
dnl
diff --git a/config-scripts/cups-opsys.m4 b/config-scripts/cups-opsys.m4
index b0eddcb1..acf5b51a 100644
--- a/config-scripts/cups-opsys.m4
+++ b/config-scripts/cups-opsys.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-opsys.m4 10735 2012-12-07 21:40:34Z mike $"
+dnl "$Id: cups-opsys.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl Operating system stuff for CUPS.
dnl
@@ -35,5 +35,5 @@ case "$uname" in
esac
dnl
-dnl "$Id: cups-opsys.m4 10735 2012-12-07 21:40:34Z mike $"
+dnl "$Id: cups-opsys.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
diff --git a/config-scripts/cups-pam.m4 b/config-scripts/cups-pam.m4
index f5d4d4da..72bf32fc 100644
--- a/config-scripts/cups-pam.m4
+++ b/config-scripts/cups-pam.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-pam.m4 10424 2012-04-23 17:26:57Z mike $"
+dnl "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $"
dnl
dnl PAM stuff for CUPS.
dnl
@@ -98,5 +98,5 @@ AC_SUBST(PAMMOD)
AC_SUBST(PAMMODAUTH)
dnl
-dnl End of "$Id: cups-pam.m4 10424 2012-04-23 17:26:57Z mike $".
+dnl End of "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $".
dnl
diff --git a/config-scripts/cups-poll.m4 b/config-scripts/cups-poll.m4
index 46d1af5b..901068c2 100644
--- a/config-scripts/cups-poll.m4
+++ b/config-scripts/cups-poll.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-poll.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id$"
dnl
dnl Select/poll stuff for CUPS.
dnl
@@ -18,5 +18,5 @@ AC_CHECK_FUNC(epoll_create, AC_DEFINE(HAVE_EPOLL))
AC_CHECK_FUNC(kqueue, AC_DEFINE(HAVE_KQUEUE))
dnl
-dnl End of "$Id: cups-poll.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id$".
dnl
diff --git a/config-scripts/cups-scripting.m4 b/config-scripts/cups-scripting.m4
index 75abd7e2..d4ed9885 100644
--- a/config-scripts/cups-scripting.m4
+++ b/config-scripts/cups-scripting.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-scripting.m4 9927 2011-08-27 09:28:30Z mike $"
+dnl "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $"
dnl
dnl Scripting configuration stuff for CUPS.
dnl
@@ -85,5 +85,5 @@ if test "x$CUPS_PYTHON" != x; then
fi
dnl
-dnl End of "$Id: cups-scripting.m4 9927 2011-08-27 09:28:30Z mike $".
+dnl End of "$Id: cups-scripting.m4 7915 2008-09-07 22:18:29Z mike $".
dnl
diff --git a/config-scripts/cups-sharedlibs.m4 b/config-scripts/cups-sharedlibs.m4
index d5eed534..ef2c7142 100644
--- a/config-scripts/cups-sharedlibs.m4
+++ b/config-scripts/cups-sharedlibs.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-sharedlibs.m4 10632 2012-10-01 04:07:51Z mike $"
+dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $"
dnl
dnl Shared library support for CUPS.
dnl
@@ -234,5 +234,5 @@ AC_SUBST(IMGLIBS)
AC_SUBST(EXPORT_LDFLAGS)
dnl
-dnl End of "$Id: cups-sharedlibs.m4 10632 2012-10-01 04:07:51Z mike $".
+dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
dnl
diff --git a/config-scripts/cups-ssl.m4 b/config-scripts/cups-ssl.m4
index cf8825e4..f3dc0595 100644
--- a/config-scripts/cups-ssl.m4
+++ b/config-scripts/cups-ssl.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-ssl.m4 10734 2012-12-07 21:33:22Z mike $"
+dnl "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $"
dnl
dnl OpenSSL/GNUTLS stuff for CUPS.
dnl
@@ -157,5 +157,5 @@ EXPORT_SSLLIBS="$SSLLIBS"
AC_SUBST(EXPORT_SSLLIBS)
dnl
-dnl End of "$Id: cups-ssl.m4 10734 2012-12-07 21:33:22Z mike $".
+dnl End of "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $".
dnl
diff --git a/config-scripts/cups-threads.m4 b/config-scripts/cups-threads.m4
index 0743e341..b95c79fa 100644
--- a/config-scripts/cups-threads.m4
+++ b/config-scripts/cups-threads.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-threads.m4 9771 2011-05-12 05:21:56Z mike $"
+dnl "$Id: cups-threads.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl Threading stuff for CUPS.
dnl
@@ -50,5 +50,5 @@ fi
AC_SUBST(PTHREAD_FLAGS)
dnl
-dnl End of "$Id: cups-threads.m4 9771 2011-05-12 05:21:56Z mike $".
+dnl End of "$Id: cups-threads.m4 6649 2007-07-11 21:46:42Z mike $".
dnl
diff --git a/config.h.in b/config.h.in
index 258113f6..48820228 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,5 +1,5 @@
/*
- * "$Id: config.h.in 10928 2013-04-01 16:51:23Z mike $"
+ * "$Id: config.h.in 10996 2013-05-29 11:51:34Z msweet $"
*
* Configuration file for CUPS.
*
@@ -706,5 +706,5 @@ static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
#endif /* !_CUPS_CONFIG_H_ */
/*
- * End of "$Id: config.h.in 10928 2013-04-01 16:51:23Z mike $".
+ * End of "$Id: config.h.in 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/configure b/configure
index a9dded03..c48f91ae 100755
--- a/configure
+++ b/configure
@@ -635,6 +635,8 @@ CUPS_BUNDLEDIR
LANGUAGES
LAUNCHDLIBS
DEFAULT_LAUNCHD_CONF
+IPPFIND_MAN
+IPPFIND_BIN
DNSSD_BACKEND
DNSSDLIBS
LARGEFILE
@@ -2514,7 +2516,7 @@ esac
ac_config_headers="$ac_config_headers config.h"
-CUPS_VERSION=1.7b1
+CUPS_VERSION=1.7rc1
CUPS_REVISION=
#if test -z "$CUPS_REVISION" -a -d .svn; then
# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
@@ -9075,6 +9077,8 @@ fi
DNSSDLIBS=""
DNSSD_BACKEND=""
+IPPFIND_BIN=""
+IPPFIND_MAN=""
if test "x$PKGCONFIG" != x -a x$enable_avahi != xno; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Avahi" >&5
@@ -9085,6 +9089,8 @@ $as_echo "yes" >&6; }
CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
DNSSD_BACKEND="dnssd"
+ IPPFIND_BIN="ippfind"
+ IPPFIND_MAN="ippfind.\$(MAN1EXT)"
$as_echo "#define HAVE_AVAHI 1" >>confdefs.h
else
@@ -9104,6 +9110,8 @@ if test "x$ac_cv_header_dns_sd_h" = xyes; then :
DNSSDLIBS="-framework CoreFoundation -framework SystemConfiguration"
DNSSD_BACKEND="dnssd"
+ IPPFIND_BIN="ippfind"
+ IPPFIND_MAN="ippfind.\$(MAN1EXT)"
;;
*)
# All others...
@@ -9134,7 +9142,9 @@ $as_echo "yes" >&6; }
DNSSDLIBS="-ldns_sd"
DNSSD_BACKEND="dnssd"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ IPPFIND_BIN="ippfind"
+ IPPFIND_MAN="ippfind.\$(MAN1EXT)"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -9153,6 +9163,8 @@ fi
+
+
# Check whether --enable-launchd was given.
if test "${enable_launchd+set}" = set; then :
enableval=$enable_launchd;
@@ -10068,7 +10080,7 @@ fi
-ac_config_files="$ac_config_files Makedefs conf/cups-files.conf conf/cupsd.conf conf/mime.convs conf/pam.std conf/snmp.conf cups-config data/testprint desktop/cups.desktop doc/help/ref-cups-files-conf.html doc/help/ref-cupsd-conf.html doc/help/standard.html doc/index.html man/client.conf.man man/cups-deviced.man man/cups-driverd.man man/cups-files.conf.man man/cups-lpd.man man/cups-snmp.man man/cupsaddsmb.man man/cupsd.conf.man man/cupsd.man man/lpoptions.man scheduler/cups-lpd.xinetd scheduler/cups.sh scheduler/cups.xml scheduler/org.cups.cups-lpd.plist templates/header.tmpl packaging/cups.list $LANGFILES"
+ac_config_files="$ac_config_files Makedefs conf/cups-files.conf conf/cupsd.conf conf/mime.convs conf/pam.std conf/snmp.conf cups-config data/testprint desktop/cups.desktop doc/help/ref-cups-files-conf.html doc/help/ref-cupsd-conf.html doc/index.html man/client.conf.man man/cups-deviced.man man/cups-driverd.man man/cups-files.conf.man man/cups-lpd.man man/cups-snmp.man man/cupsaddsmb.man man/cupsd.conf.man man/cupsd.man man/lpoptions.man scheduler/cups-lpd.xinetd scheduler/cups.sh scheduler/cups.xml scheduler/org.cups.cups-lpd.plist templates/header.tmpl packaging/cups.list $LANGFILES"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -10784,7 +10796,6 @@ do
"desktop/cups.desktop") CONFIG_FILES="$CONFIG_FILES desktop/cups.desktop" ;;
"doc/help/ref-cups-files-conf.html") CONFIG_FILES="$CONFIG_FILES doc/help/ref-cups-files-conf.html" ;;
"doc/help/ref-cupsd-conf.html") CONFIG_FILES="$CONFIG_FILES doc/help/ref-cupsd-conf.html" ;;
- "doc/help/standard.html") CONFIG_FILES="$CONFIG_FILES doc/help/standard.html" ;;
"doc/index.html") CONFIG_FILES="$CONFIG_FILES doc/index.html" ;;
"man/client.conf.man") CONFIG_FILES="$CONFIG_FILES man/client.conf.man" ;;
"man/cups-deviced.man") CONFIG_FILES="$CONFIG_FILES man/cups-deviced.man" ;;
diff --git a/configure.in b/configure.in
index ee9f9cfe..4a5d8043 100644
--- a/configure.in
+++ b/configure.in
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: configure.in 10751 2012-12-12 18:02:06Z mike $"
+dnl "$Id: configure.in 11109 2013-07-08 21:15:13Z msweet $"
dnl
dnl Configuration script for CUPS.
dnl
@@ -70,7 +70,6 @@ AC_OUTPUT(Makedefs
desktop/cups.desktop
doc/help/ref-cups-files-conf.html
doc/help/ref-cupsd-conf.html
- doc/help/standard.html
doc/index.html
man/client.conf.man
man/cups-deviced.man
@@ -93,5 +92,5 @@ AC_OUTPUT(Makedefs
chmod +x cups-config
dnl
-dnl End of "$Id: configure.in 10751 2012-12-12 18:02:06Z mike $".
+dnl End of "$Id: configure.in 11109 2013-07-08 21:15:13Z msweet $".
dnl
diff --git a/cups-config.in b/cups-config.in
index 7ba10447..07726c5f 100755
--- a/cups-config.in
+++ b/cups-config.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# "$Id: cups-config.in 9926 2011-08-27 09:23:01Z mike $"
+# "$Id: cups-config.in 10996 2013-05-29 11:51:34Z msweet $"
#
# CUPS configuration utility.
#
@@ -142,5 +142,5 @@ while test $# -gt 0; do
done
#
-# End of "$Id: cups-config.in 9926 2011-08-27 09:23:01Z mike $".
+# End of "$Id: cups-config.in 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/cups/Makefile b/cups/Makefile
index ae8ad846..e3647f3d 100644
--- a/cups/Makefile
+++ b/cups/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10934 2013-04-03 13:41:04Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# API library Makefile for CUPS.
#
@@ -639,5 +639,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10934 2013-04-03 13:41:04Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/cups/adminutil.c b/cups/adminutil.c
index 7495ae79..580511b8 100644
--- a/cups/adminutil.c
+++ b/cups/adminutil.c
@@ -1,5 +1,5 @@
/*
- * "$Id: adminutil.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: adminutil.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Administration utility API definitions for CUPS.
*
@@ -2337,5 +2337,5 @@ write_option(cups_file_t *dstfp, /* I - PPD file */
/*
- * End of "$Id: adminutil.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: adminutil.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/adminutil.h b/cups/adminutil.h
index ba6d4198..f03d2fac 100644
--- a/cups/adminutil.h
+++ b/cups/adminutil.h
@@ -1,5 +1,5 @@
/*
- * "$Id: adminutil.h 10585 2012-08-29 21:03:04Z mike $"
+ * "$Id: adminutil.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Administration utility API definitions for CUPS.
*
@@ -77,5 +77,5 @@ extern int cupsAdminSetServerSettings(http_t *http,
#endif /* !_CUPS_ADMINUTIL_H_ */
/*
- * End of "$Id: adminutil.h 10585 2012-08-29 21:03:04Z mike $".
+ * End of "$Id: adminutil.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/api-array.header b/cups/api-array.header
index 88e5341f..4d5acf0d 100644
--- a/cups/api-array.header
+++ b/cups/api-array.header
@@ -1,5 +1,5 @@
<!--
- "$Id: api-array.header 9771 2011-05-12 05:21:56Z mike $"
+ "$Id: api-array.header 7266 2008-01-29 02:15:29Z mike $"
Array API header for CUPS.
diff --git a/cups/api-array.shtml b/cups/api-array.shtml
index 7406a0d4..7246a7bd 100644
--- a/cups/api-array.shtml
+++ b/cups/api-array.shtml
@@ -1,5 +1,5 @@
<!--
- "$Id: api-array.shtml 9727 2011-04-28 21:20:12Z mike $"
+ "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
Array API introduction for CUPS.
diff --git a/cups/api-cups.header b/cups/api-cups.header
index 8e6d3c0b..ac781af4 100644
--- a/cups/api-cups.header
+++ b/cups/api-cups.header
@@ -1,5 +1,5 @@
<!--
- "$Id: api-cups.header 9771 2011-05-12 05:21:56Z mike $"
+ "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
CUPS API header for CUPS.
diff --git a/cups/api-cups.shtml b/cups/api-cups.shtml
index dcc4fe98..caa96b95 100644
--- a/cups/api-cups.shtml
+++ b/cups/api-cups.shtml
@@ -1,9 +1,9 @@
<!--
- "$Id: api-cups.shtml 9727 2011-04-28 21:20:12Z mike $"
+ "$Id: api-cups.shtml 7337 2008-02-22 04:44:04Z mike $"
API introduction for CUPS.
- Copyright 2007-2011 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
@@ -183,7 +183,7 @@ int num_options = 0;
<a href='#cups_option_t'>cups_option_t</a> *options = NULL;
<a href='#cups_dest_t'>cups_dest_t</a> *dest;
-for (i = 0; i < dest->num_options; i ++)
+for (i = 0; i &lt; dest->num_options; i ++)
num_options = <a href='#cupsAddOption'>cupsAddOption</a>(dest->options[i].name, dest->options[i].value,
num_options, &amp;options);
</pre>
@@ -235,7 +235,7 @@ job_id = <a href='#cupsPrintFiles'>cupsPrintFiles</a>(dest->name, 3, files, "Tes
<p>Finally, the <a href='#cupsCreateJob'><code>cupsCreateJob</code></a>
function creates a new job with no files in it. Files are added using the
-<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
+<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
<a href='api-httpipp.html#cupsWriteRequestData'><code>cupsWriteRequestData</code></a>,
and <a href='#cupsFinishDocument'><code>cupsFinishDocument</code></a> functions.
The following example creates a job with 10 text files for printing:</p>
@@ -299,7 +299,7 @@ int num_jobs;
<a href='#cups_job_t'>cups_job_t</a> *jobs;
int i;
ipp_jstate_t job_state = IPP_JOB_PENDING;
-
+
while (job_state &lt; IPP_JOB_STOPPED)
{
/* Get my jobs (1) with any state (-1) */
diff --git a/cups/api-filedir.header b/cups/api-filedir.header
index 63f62966..f9f52980 100644
--- a/cups/api-filedir.header
+++ b/cups/api-filedir.header
@@ -1,5 +1,5 @@
<!--
- "$Id: api-filedir.header 9771 2011-05-12 05:21:56Z mike $"
+ "$Id: api-filedir.header 7279 2008-01-31 01:50:44Z mike $"
File and Directory API header for CUPS.
diff --git a/cups/api-filedir.shtml b/cups/api-filedir.shtml
index 4a4a16ff..96bf0fac 100644
--- a/cups/api-filedir.shtml
+++ b/cups/api-filedir.shtml
@@ -1,5 +1,5 @@
<!--
- "$Id: api-filedir.shtml 9727 2011-04-28 21:20:12Z mike $"
+ "$Id: api-filedir.shtml 7279 2008-01-31 01:50:44Z mike $"
File and directory API introduction for CUPS.
diff --git a/cups/api-filter.header b/cups/api-filter.header
index 54e1d894..5b7ee181 100644
--- a/cups/api-filter.header
+++ b/cups/api-filter.header
@@ -1,5 +1,5 @@
<!--
- "$Id: api-filter.header 9771 2011-05-12 05:21:56Z mike $"
+ "$Id: api-filter.header 7616 2008-05-28 00:34:13Z mike $"
Filter and backend programming header for CUPS.
diff --git a/cups/api-filter.shtml b/cups/api-filter.shtml
index a8e52919..3f912ba8 100644
--- a/cups/api-filter.shtml
+++ b/cups/api-filter.shtml
@@ -1,9 +1,9 @@
<!--
- "$Id: api-filter.shtml 10424 2012-04-23 17:26:57Z mike $"
+ "$Id: api-filter.shtml 7677 2008-06-19 23:22:19Z mike $"
Filter and backend programming introduction for CUPS.
- Copyright 2007-2012 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
@@ -488,7 +488,7 @@ from localizing the vendor-prefixed keyword in the PPD file - otherwise both
the generic and vendor-specific keyword will be shown in the user
interface.</p>
-</blockquote></dd>
+</blockquote>
<h4><a name="REPORTING_SUPPLIES">Reporting Supply Levels</a></h4>
@@ -613,7 +613,7 @@ datalen = sizeof(data) - 1;
status = <a href="#cupsSideChannelDoRequest">cupsSideChannelDoRequest</a>(CUPS_SC_CMD_GET_DEVICE_ID, data, &amp;datalen, 1.0);
/* Use the returned value if OK was returned and the length is non-zero */
-if (status == CUPS_SC_STATUS_OK && datalen > 0)
+if (status == CUPS_SC_STATUS_OK &amp;&amp; datalen > 0)
data[datalen] = '\0';
else
data[0] = '\0';
diff --git a/cups/api-httpipp.header b/cups/api-httpipp.header
index 42dffb1e..5f245d75 100644
--- a/cups/api-httpipp.header
+++ b/cups/api-httpipp.header
@@ -1,5 +1,5 @@
<!--
- "$Id: api-httpipp.header 9771 2011-05-12 05:21:56Z mike $"
+ "$Id: api-httpipp.header 7258 2008-01-28 00:15:05Z mike $"
HTTP and IPP API header for CUPS.
diff --git a/cups/api-httpipp.shtml b/cups/api-httpipp.shtml
index a7217a5f..cd0fd53b 100644
--- a/cups/api-httpipp.shtml
+++ b/cups/api-httpipp.shtml
@@ -1,5 +1,5 @@
<!--
- "$Id: api-httpipp.shtml 10388 2012-03-26 21:15:41Z mike $"
+ "$Id: api-httpipp.shtml 7684 2008-06-23 16:47:38Z mike $"
HTTP and IPP API introduction for CUPS.
diff --git a/cups/api-ppd.header b/cups/api-ppd.header
index 62d0a2b3..ef0d0512 100644
--- a/cups/api-ppd.header
+++ b/cups/api-ppd.header
@@ -1,5 +1,5 @@
<!--
- "$Id: api-ppd.header 10424 2012-04-23 17:26:57Z mike $"
+ "$Id: api-ppd.header 7616 2008-05-28 00:34:13Z mike $"
PPD API header for CUPS.
diff --git a/cups/api-ppd.shtml b/cups/api-ppd.shtml
index 9b2a84f9..6319f23f 100644
--- a/cups/api-ppd.shtml
+++ b/cups/api-ppd.shtml
@@ -1,5 +1,5 @@
<!--
- "$Id: api-ppd.shtml 10424 2012-04-23 17:26:57Z mike $"
+ "$Id: api-ppd.shtml 7616 2008-05-28 00:34:13Z mike $"
PPD API introduction for CUPS.
diff --git a/cups/array-private.h b/cups/array-private.h
index 9fd148a9..74b0c9bf 100644
--- a/cups/array-private.h
+++ b/cups/array-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: array-private.h 10587 2012-08-30 20:22:22Z mike $"
+ * "$Id: array-private.h 3933 2012-10-01 03:01:10Z msweet $"
*
* Private array definitions for CUPS.
*
@@ -48,5 +48,5 @@ extern cups_array_t *_cupsArrayNewStrings(const char *s, char delim)
#endif /* !_CUPS_ARRAY_PRIVATE_H_ */
/*
- * End of "$Id: array-private.h 10587 2012-08-30 20:22:22Z mike $".
+ * End of "$Id: array-private.h 3933 2012-10-01 03:01:10Z msweet $".
*/
diff --git a/cups/array.c b/cups/array.c
index 8c2fce6b..29ae6d95 100644
--- a/cups/array.c
+++ b/cups/array.c
@@ -1,5 +1,5 @@
/*
- * "$Id: array.c 10659 2012-10-23 18:28:49Z mike $"
+ * "$Id: array.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Sorted array routines for CUPS.
*
@@ -1362,5 +1362,5 @@ cups_array_find(cups_array_t *a, /* I - Array */
/*
- * End of "$Id: array.c 10659 2012-10-23 18:28:49Z mike $".
+ * End of "$Id: array.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/array.h b/cups/array.h
index 30d9f1e5..7a5fc584 100644
--- a/cups/array.h
+++ b/cups/array.h
@@ -1,5 +1,5 @@
/*
- * "$Id: array.h 9348 2010-11-02 21:37:38Z mike $"
+ * "$Id: array.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Sorted array definitions for CUPS.
*
@@ -88,5 +88,5 @@ extern void *cupsArrayUserData(cups_array_t *a) _CUPS_API_1_2;
#endif /* !_CUPS_ARRAY_H_ */
/*
- * End of "$Id: array.h 9348 2010-11-02 21:37:38Z mike $".
+ * End of "$Id: array.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/attr.c b/cups/attr.c
index ebd41059..c3ab07b1 100644
--- a/cups/attr.c
+++ b/cups/attr.c
@@ -1,5 +1,5 @@
/*
- * "$Id: attr.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: attr.c 10996 2013-05-29 11:51:34Z msweet $"
*
* PPD model-specific attribute routines for CUPS.
*
@@ -331,5 +331,5 @@ _ppdNormalizeMakeAndModel(
/*
- * End of "$Id: attr.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: attr.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/auth.c b/cups/auth.c
index 595c7fcb..9d38b391 100644
--- a/cups/auth.c
+++ b/cups/auth.c
@@ -1,5 +1,5 @@
/*
- * "$Id: auth.c 10904 2013-03-13 16:16:07Z mike $"
+ * "$Id: auth.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Authentication functions for CUPS.
*
@@ -888,5 +888,5 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */
/*
- * End of "$Id: auth.c 10904 2013-03-13 16:16:07Z mike $".
+ * End of "$Id: auth.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/backchannel.c b/cups/backchannel.c
index d5b5f82a..66fa1ce4 100644
--- a/cups/backchannel.c
+++ b/cups/backchannel.c
@@ -1,5 +1,5 @@
/*
- * "$Id: backchannel.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: backchannel.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Backchannel functions for CUPS.
*
@@ -195,5 +195,5 @@ cups_setup(fd_set *set, /* I - Set for select() */
/*
- * End of "$Id: backchannel.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: backchannel.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/backend.c b/cups/backend.c
index 30e30da7..0789471e 100644
--- a/cups/backend.c
+++ b/cups/backend.c
@@ -1,5 +1,5 @@
/*
- * "$Id: backend.c 10607 2012-09-15 19:41:03Z mike $"
+ * "$Id: backend.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Backend functions for CUPS.
*
@@ -150,5 +150,5 @@ quote_string(const char *s) /* I - String to write */
/*
- * End of "$Id: backend.c 10607 2012-09-15 19:41:03Z mike $".
+ * End of "$Id: backend.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/backend.h b/cups/backend.h
index 09fca223..127c0279 100644
--- a/cups/backend.h
+++ b/cups/backend.h
@@ -1,5 +1,5 @@
/*
- * "$Id: backend.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: backend.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Backend definitions for CUPS.
*
@@ -74,5 +74,5 @@ extern void cupsBackendReport(const char *device_scheme,
#endif /* !_CUPS_BACKEND_H_ */
/*
- * End of "$Id: backend.h 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: backend.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/conflicts.c b/cups/conflicts.c
index b03d455d..2ec8b7eb 100644
--- a/cups/conflicts.c
+++ b/cups/conflicts.c
@@ -1,5 +1,5 @@
/*
- * "$Id: conflicts.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: conflicts.c 3933 2012-10-01 03:01:10Z msweet $"
*
* Option marking routines for CUPS.
*
@@ -1210,5 +1210,5 @@ ppd_test_constraints(
/*
- * End of "$Id: conflicts.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: conflicts.c 3933 2012-10-01 03:01:10Z msweet $".
*/
diff --git a/cups/cups-private.h b/cups/cups-private.h
index 8cc98848..9328cdad 100644
--- a/cups/cups-private.h
+++ b/cups/cups-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: cups-private.h 10909 2013-03-14 18:45:49Z mike $"
+ * "$Id: cups-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private definitions for CUPS.
*
@@ -281,5 +281,5 @@ extern char *_cupsUserDefault(char *name, size_t namesize);
#endif /* !_CUPS_CUPS_PRIVATE_H_ */
/*
- * End of "$Id: cups-private.h 10909 2013-03-14 18:45:49Z mike $".
+ * End of "$Id: cups-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/cups.h b/cups/cups.h
index 334dcc0c..81e2407d 100644
--- a/cups/cups.h
+++ b/cups/cups.h
@@ -1,5 +1,5 @@
/*
- * "$Id: cups.h 10909 2013-03-14 18:45:49Z mike $"
+ * "$Id: cups.h 11057 2013-06-25 14:30:18Z msweet $"
*
* API definitions for CUPS.
*
@@ -358,7 +358,8 @@ extern int cupsGetClasses(char ***classes) _CUPS_DEPRECATED_MSG("Use cupsGetDes
extern const char *cupsGetDefault(void);
extern int cupsGetJobs(cups_job_t **jobs, const char *name,
int myjobs, int whichjobs);
-extern const char *cupsGetPPD(const char *name);
+extern const char *cupsGetPPD(const char *name)
+ _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo instead.");
extern int cupsGetPrinters(char ***printers) _CUPS_DEPRECATED_MSG("Use cupsGetDests instead.");
extern ipp_status_t cupsLastError(void);
extern int cupsPrintFile(const char *name, const char *filename,
@@ -417,7 +418,7 @@ extern int cupsGetJobs2(http_t *http, cups_job_t **jobs,
const char *name, int myjobs,
int whichjobs) _CUPS_API_1_1_21;
extern const char *cupsGetPPD2(http_t *http, const char *name)
- _CUPS_API_1_1_21;
+ _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo instead.");
extern int cupsPrintFile2(http_t *http, const char *name,
const char *filename,
const char *title, int num_options,
@@ -626,5 +627,5 @@ extern const char *cupsUserAgent(void) _CUPS_API_1_7;
#endif /* !_CUPS_CUPS_H_ */
/*
- * End of "$Id: cups.h 10909 2013-03-14 18:45:49Z mike $".
+ * End of "$Id: cups.h 11057 2013-06-25 14:30:18Z msweet $".
*/
diff --git a/cups/custom.c b/cups/custom.c
index e61db475..28c1fed4 100644
--- a/cups/custom.c
+++ b/cups/custom.c
@@ -1,5 +1,5 @@
/*
- * "$Id: custom.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: custom.c 10996 2013-05-29 11:51:34Z msweet $"
*
* PPD custom option routines for CUPS.
*
@@ -118,5 +118,5 @@ ppdNextCustomParam(ppd_coption_t *opt) /* I - Custom option */
/*
- * End of "$Id: custom.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: custom.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/debug-private.h b/cups/debug-private.h
index 9c06372c..8968aebf 100644
--- a/cups/debug-private.h
+++ b/cups/debug-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: debug-private.h 10200 2012-01-27 23:09:26Z mike $"
+ * "$Id: debug-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private debugging macros for CUPS.
*
@@ -113,5 +113,5 @@ extern int _cups_gettimeofday(struct timeval *tv, void *tz);
#endif /* !_CUPS_DEBUG_PRIVATE_H_ */
/*
- * End of "$Id: debug-private.h 10200 2012-01-27 23:09:26Z mike $".
+ * End of "$Id: debug-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/debug.c b/cups/debug.c
index 91e9bfea..6df860cb 100644
--- a/cups/debug.c
+++ b/cups/debug.c
@@ -1,5 +1,5 @@
/*
- * "$Id: debug.c 10700 2012-11-15 21:01:21Z mike $"
+ * "$Id: debug.c 4027 2012-11-16 01:00:05Z msweet $"
*
* Debugging functions for CUPS.
*
@@ -650,5 +650,5 @@ _cups_debug_set(const char *logfile, /* I - Log file or NULL */
/*
- * End of "$Id: debug.c 10700 2012-11-15 21:01:21Z mike $".
+ * End of "$Id: debug.c 4027 2012-11-16 01:00:05Z msweet $".
*/
diff --git a/cups/dest-job.c b/cups/dest-job.c
index 7593381c..f346444c 100644
--- a/cups/dest-job.c
+++ b/cups/dest-job.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dest-job.c 10906 2013-03-14 03:27:15Z mike $"
+ * "$Id: dest-job.c 4274 2013-04-09 20:10:23Z msweet $"
*
* Destination job support for CUPS.
*
@@ -362,5 +362,5 @@ cupsStartDestDocument(
/*
- * End of "$Id: dest-job.c 10906 2013-03-14 03:27:15Z mike $".
+ * End of "$Id: dest-job.c 4274 2013-04-09 20:10:23Z msweet $".
*/
diff --git a/cups/dest-localization.c b/cups/dest-localization.c
index bbcbeff8..9c3cfae1 100644
--- a/cups/dest-localization.c
+++ b/cups/dest-localization.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dest-localization.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: dest-localization.c 4216 2013-03-11 13:57:36Z msweet $"
*
* Destination localization support for CUPS.
*
@@ -383,5 +383,5 @@ cups_scan_strings(char *buffer) /* I - Start of string */
/*
- * End of "$Id: dest-localization.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: dest-localization.c 4216 2013-03-11 13:57:36Z msweet $".
*/
diff --git a/cups/dest-options.c b/cups/dest-options.c
index 8012263a..ec3924ad 100644
--- a/cups/dest-options.c
+++ b/cups/dest-options.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dest-options.c 10909 2013-03-14 18:45:49Z mike $"
+ * "$Id: dest-options.c 11085 2013-07-03 13:53:05Z msweet $"
*
* Destination option/media support for CUPS.
*
@@ -713,7 +713,7 @@ cupsCopyDestInfo(
* @code ippGetResolution@, @code ippGetString@, and @code ippGetValueTag@
* functions to inspect the default value(s) as needed.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
ipp_attribute_t * /* O - Default attribute or @code NULL@ for none */
@@ -753,7 +753,7 @@ cupsFindDestDefault(
* @code ippGetResolution@, @code ippGetString@, and @code ippGetValueTag@
* functions to inspect the default value(s) as needed.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
ipp_attribute_t * /* O - Default attribute or @code NULL@ for none */
@@ -795,7 +795,7 @@ cupsFindDestReady(
* @code ippGetResolution@, @code ippGetString@, and @code ippGetValueTag@
* functions to inspect the default value(s) as needed.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
ipp_attribute_t * /* O - Default attribute or @code NULL@ for none */
@@ -874,7 +874,7 @@ cupsFreeDestInfo(cups_dinfo_t *dinfo) /* I - Destination information */
* example, passing @code CUPS_MEDIA_FLAGS_BORDERLESS@ will get the Nth
* borderless size supported by the printer.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 on success, 0 on failure */
@@ -1069,7 +1069,7 @@ cupsGetDestMediaBySize(
* counted. For example, passing @code CUPS_MEDIA_FLAGS_BORDERLESS@ will return
* the number of borderless sizes.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - Number of sizes */
@@ -1110,7 +1110,7 @@ cupsGetDestMediaCount(
* example, passing @code CUPS_MEDIA_FLAGS_BORDERLESS@ will return the default
* borderless size, typically US Letter or A4, but sometimes 4x6 photo media.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 on success, 0 on failure */
@@ -2267,5 +2267,5 @@ cups_update_ready(http_t *http, /* I - Connection to destination */
/*
- * End of "$Id: dest-options.c 10909 2013-03-14 18:45:49Z mike $".
+ * End of "$Id: dest-options.c 11085 2013-07-03 13:53:05Z msweet $".
*/
diff --git a/cups/dest.c b/cups/dest.c
index 2198042c..c7761886 100644
--- a/cups/dest.c
+++ b/cups/dest.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dest.c 10895 2013-03-11 16:19:48Z mike $"
+ * "$Id: dest.c 11101 2013-07-08 11:20:33Z msweet $"
*
* User-defined destination (and option) support for CUPS.
*
@@ -933,8 +933,8 @@ cupsEnumDests(
* Get the list of local printers and pass them to the callback function...
*/
- num_dests = _cupsGetDests(CUPS_HTTP_DEFAULT, IPP_OP_CUPS_GET_PRINTERS, NULL, &dests,
- type, mask);
+ num_dests = _cupsGetDests(CUPS_HTTP_DEFAULT, IPP_OP_CUPS_GET_PRINTERS, NULL,
+ &dests, type, mask);
for (i = num_dests, dest = dests;
i > 0 && (!cancel || !*cancel);
@@ -1344,9 +1344,9 @@ _cupsGetDestResource(
/*
* '_cupsGetDests()' - Get destinations from a server.
*
- * "op" is IPP_OP_CUPS_GET_PRINTERS to get a full list, IPP_OP_CUPS_GET_DEFAULT to get the
- * system-wide default printer, or IPP_OP_GET_PRINTER_ATTRIBUTES for a known
- * printer.
+ * "op" is IPP_OP_CUPS_GET_PRINTERS to get a full list, IPP_OP_CUPS_GET_DEFAULT
+ * to get the system-wide default printer, or IPP_OP_GET_PRINTER_ATTRIBUTES for
+ * a known printer.
*
* "name" is the name of an existing printer and is only used when "op" is
* IPP_OP_GET_PRINTER_ATTRIBUTES.
@@ -1661,7 +1661,6 @@ int /* O - Number of destinations */
cupsGetDests2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */
cups_dest_t **dests) /* O - Destinations */
{
- int i; /* Looping var */
int num_dests; /* Number of destinations */
cups_dest_t *dest; /* Destination pointer */
const char *home; /* HOME environment variable */
@@ -1784,21 +1783,16 @@ cupsGetDests2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_
* Have a default; see if it is real...
*/
- dest = cupsGetDest(dest->name, NULL, num_reals, reals);
- }
-
- /*
- * If dest is NULL, then no default (that exists) is set, so we
- * need to set a default if one exists...
- */
-
- if (!dest && *dests && defprinter)
- {
- for (i = 0; i < num_dests; i ++)
- (*dests)[i].is_default = 0;
+ if (!cupsGetDest(dest->name, NULL, num_reals, reals))
+ {
+ /*
+ * Remove the non-real printer from the list, since we don't want jobs
+ * going to an unexpected printer... (<rdar://problem/14216472>)
+ */
- if ((dest = cupsGetDest(name, instance, num_dests, *dests)) != NULL)
- dest->is_default = 1;
+ num_dests = cupsRemoveDest(dest->name, dest->instance, num_dests,
+ dests);
+ }
}
/*
@@ -1913,18 +1907,7 @@ cupsGetNamedDest(http_t *http, /* I - Connection to server or @code CUPS_HTT
*/
if (!_cupsGetDests(http, op, name, &dest, 0, 0))
- {
- if (op == IPP_OP_CUPS_GET_DEFAULT || (name && !set_as_default))
- return (NULL);
-
- /*
- * The default printer from environment variables or from a
- * configuration file does not exist. Find out the real default.
- */
-
- if (!_cupsGetDests(http, IPP_OP_CUPS_GET_DEFAULT, NULL, &dest, 0, 0))
- return (NULL);
- }
+ return (NULL);
if (instance)
dest->instance = _cupsStrAlloc(instance);
@@ -3908,5 +3891,5 @@ cups_make_string(
/*
- * End of "$Id: dest.c 10895 2013-03-11 16:19:48Z mike $".
+ * End of "$Id: dest.c 11101 2013-07-08 11:20:33Z msweet $".
*/
diff --git a/cups/dir.c b/cups/dir.c
index dab392b6..1bae123e 100644
--- a/cups/dir.c
+++ b/cups/dir.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dir.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: dir.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Directory routines for CUPS.
*
@@ -468,5 +468,5 @@ cupsDirRewind(cups_dir_t *dp) /* I - Directory pointer */
#endif /* WIN32 */
/*
- * End of "$Id: dir.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: dir.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/dir.h b/cups/dir.h
index a5f9692e..ad8278c4 100644
--- a/cups/dir.h
+++ b/cups/dir.h
@@ -1,5 +1,5 @@
/*
- * "$Id: dir.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: dir.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Public directory definitions for CUPS.
*
@@ -65,5 +65,5 @@ extern void cupsDirRewind(cups_dir_t *dp) _CUPS_API_1_2;
#endif /* !_CUPS_DIR_H_ */
/*
- * End of "$Id: dir.h 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: dir.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/emit.c b/cups/emit.c
index c9db6630..a9c35bb9 100644
--- a/cups/emit.c
+++ b/cups/emit.c
@@ -1,5 +1,5 @@
/*
- * "$Id: emit.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: emit.c 10996 2013-05-29 11:51:34Z msweet $"
*
* PPD code emission routines for CUPS.
*
@@ -1225,5 +1225,5 @@ ppd_handle_media(ppd_file_t *ppd) /* I - PPD file */
/*
- * End of "$Id: emit.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: emit.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/encode.c b/cups/encode.c
index 94aa30a0..32465526 100644
--- a/cups/encode.c
+++ b/cups/encode.c
@@ -1,5 +1,5 @@
/*
- * "$Id: encode.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: encode.c 11115 2013-07-10 14:35:53Z msweet $"
*
* Option encoding routines for CUPS.
*
@@ -534,7 +534,7 @@ cupsEncodeOptions2(
else
ops ++;
- if (*ops == IPP_OP_CUPS_NONE)
+ if (*ops == IPP_OP_CUPS_NONE && op != IPP_OP_CUPS_NONE)
{
DEBUG_printf(("2cupsEncodeOptions2: Skipping \"%s\".", option->name));
continue;
@@ -872,5 +872,5 @@ compare_ipp_options(_ipp_option_t *a, /* I - First option */
/*
- * End of "$Id: encode.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: encode.c 11115 2013-07-10 14:35:53Z msweet $".
*/
diff --git a/cups/file-private.h b/cups/file-private.h
index b69557e8..bb83c40c 100644
--- a/cups/file-private.h
+++ b/cups/file-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: file-private.h 9777 2011-05-13 23:04:16Z mike $"
+ * "$Id: file-private.h 3275 2011-05-20 07:26:13Z msweet $"
*
* Private file definitions for CUPS.
*
@@ -133,5 +133,5 @@ extern void _cupsFileCheckFilter(void *context,
#endif /* !_CUPS_FILE_PRIVATE_H_ */
/*
- * End of "$Id: file-private.h 9777 2011-05-13 23:04:16Z mike $".
+ * End of "$Id: file-private.h 3275 2011-05-20 07:26:13Z msweet $".
*/
diff --git a/cups/file.c b/cups/file.c
index 4d1a84ea..f4794efb 100644
--- a/cups/file.c
+++ b/cups/file.c
@@ -1,5 +1,5 @@
/*
- * "$Id: file.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: file.c 10996 2013-05-29 11:51:34Z msweet $"
*
* File functions for CUPS.
*
@@ -2710,5 +2710,5 @@ cups_write(cups_file_t *fp, /* I - CUPS file */
/*
- * End of "$Id: file.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: file.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/file.h b/cups/file.h
index ca2b987a..e7994b7d 100644
--- a/cups/file.h
+++ b/cups/file.h
@@ -1,5 +1,5 @@
/*
- * "$Id: file.h 9950 2011-09-01 23:02:24Z mike $"
+ * "$Id: file.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Public file definitions for CUPS.
*
@@ -112,5 +112,5 @@ extern ssize_t cupsFileWrite(cups_file_t *fp, const char *buf,
#endif /* !_CUPS_FILE_H_ */
/*
- * End of "$Id: file.h 9950 2011-09-01 23:02:24Z mike $".
+ * End of "$Id: file.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/getdevices.c b/cups/getdevices.c
index f431d19f..ea862a7e 100644
--- a/cups/getdevices.c
+++ b/cups/getdevices.c
@@ -1,5 +1,5 @@
/*
- * "$Id: getdevices.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: getdevices.c 4216 2013-03-11 13:57:36Z msweet $"
*
* cupsGetDevices implementation for CUPS.
*
@@ -280,5 +280,5 @@ cupsGetDevices(
/*
- * End of "$Id: getdevices.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: getdevices.c 4216 2013-03-11 13:57:36Z msweet $".
*/
diff --git a/cups/getifaddrs.c b/cups/getifaddrs.c
index 26c912ce..02903a79 100644
--- a/cups/getifaddrs.c
+++ b/cups/getifaddrs.c
@@ -1,5 +1,5 @@
/*
- * "$Id: getifaddrs.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: getifaddrs.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Network interface functions for CUPS.
*
@@ -262,5 +262,5 @@ _cups_freeifaddrs(struct ifaddrs *addrs)/* I - Interface list to free */
/*
- * End of "$Id: getifaddrs.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: getifaddrs.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/getputfile.c b/cups/getputfile.c
index 78212e87..22380de5 100644
--- a/cups/getputfile.c
+++ b/cups/getputfile.c
@@ -1,5 +1,5 @@
/*
- * "$Id: getputfile.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: getputfile.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Get/put file functions for CUPS.
*
@@ -498,5 +498,5 @@ cupsPutFile(http_t *http, /* I - Connection to server or @code CUPS_HTTP_DE
/*
- * End of "$Id: getputfile.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: getputfile.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/globals.c b/cups/globals.c
index 92a69792..9eb9c5a2 100644
--- a/cups/globals.c
+++ b/cups/globals.c
@@ -1,5 +1,5 @@
/*
- * "$Id: globals.c 10813 2013-01-14 22:05:00Z mike $"
+ * "$Id: globals.c 11113 2013-07-10 14:08:39Z msweet $"
*
* Global variable access routines for CUPS.
*
@@ -219,7 +219,6 @@ cups_globals_alloc(void)
cg->any_root = 1;
cg->expired_certs = 1;
cg->expired_root = 1;
- cg->server_version = 20;
#ifdef DEBUG
/*
@@ -393,5 +392,5 @@ cups_globals_init(void)
/*
- * End of "$Id: globals.c 10813 2013-01-14 22:05:00Z mike $".
+ * End of "$Id: globals.c 11113 2013-07-10 14:08:39Z msweet $".
*/
diff --git a/cups/http-addr.c b/cups/http-addr.c
index ac9fcfa6..76ef75fc 100644
--- a/cups/http-addr.c
+++ b/cups/http-addr.c
@@ -1,5 +1,5 @@
/*
- * "$Id: http-addr.c 10922 2013-03-20 18:14:10Z mike $"
+ * "$Id: http-addr.c 11085 2013-07-03 13:53:05Z msweet $"
*
* HTTP address routines for CUPS.
*
@@ -137,7 +137,7 @@ httpAddrLength(const http_addr_t *addr) /* I - Address */
* 'httpAddrListen()' - Create a listening socket bound to the specified
* address and port.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - Socket or -1 on error */
@@ -364,7 +364,7 @@ httpAddrLookup(
/*
* 'httpAddrPort()' - Get the port number associated with an address.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - Port number */
@@ -769,5 +769,5 @@ httpGetHostname(http_t *http, /* I - HTTP connection or NULL */
/*
- * End of "$Id: http-addr.c 10922 2013-03-20 18:14:10Z mike $".
+ * End of "$Id: http-addr.c 11085 2013-07-03 13:53:05Z msweet $".
*/
diff --git a/cups/http-addrlist.c b/cups/http-addrlist.c
index 688f1d06..2a11c5b4 100644
--- a/cups/http-addrlist.c
+++ b/cups/http-addrlist.c
@@ -1,5 +1,5 @@
/*
- * "$Id: http-addrlist.c 10932 2013-04-03 13:06:27Z mike $"
+ * "$Id: http-addrlist.c 11085 2013-07-03 13:53:05Z msweet $"
*
* HTTP address list routines for CUPS.
*
@@ -59,7 +59,7 @@ httpAddrConnect(
* 'httpAddrConnect2()' - Connect to any of the addresses in the list with a
* timeout and optional cancel.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
http_addrlist_t * /* O - Connected address or NULL on failure */
@@ -322,7 +322,7 @@ httpAddrConnect2(
/*
* 'httpAddrCopyList()' - Copy an address list.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
http_addrlist_t * /* O - New address list or @code NULL@ on error */
@@ -882,5 +882,5 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p
/*
- * End of "$Id: http-addrlist.c 10932 2013-04-03 13:06:27Z mike $".
+ * End of "$Id: http-addrlist.c 11085 2013-07-03 13:53:05Z msweet $".
*/
diff --git a/cups/http-private.h b/cups/http-private.h
index e851e2d9..0d689d9e 100644
--- a/cups/http-private.h
+++ b/cups/http-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: http-private.h 10893 2013-03-11 12:58:38Z mike $"
+ * "$Id: http-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private HTTP definitions for CUPS.
*
@@ -437,5 +437,5 @@ extern int _httpWait(http_t *http, int msec, int usessl);
#endif /* !_CUPS_HTTP_PRIVATE_H_ */
/*
- * End of "$Id: http-private.h 10893 2013-03-11 12:58:38Z mike $".
+ * End of "$Id: http-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/http-support.c b/cups/http-support.c
index 63be354f..f2d267f7 100644
--- a/cups/http-support.c
+++ b/cups/http-support.c
@@ -1,5 +1,5 @@
/*
- * "$Id: http-support.c 10922 2013-03-20 18:14:10Z mike $"
+ * "$Id: http-support.c 11085 2013-07-03 13:53:05Z msweet $"
*
* HTTP support routines for CUPS.
*
@@ -239,6 +239,9 @@ httpAssembleURI(
if (host)
{
+ const char *hostptr; /* Pointer into hostname */
+ int have_ipv6; /* Do we have an IPv6 address? */
+
if (username && *username)
{
/*
@@ -266,13 +269,23 @@ httpAssembleURI(
* too...
*/
- if (host[0] != '[' && strchr(host, ':') && !strstr(host, "._tcp"))
+ for (hostptr = host,
+ have_ipv6 = strchr(host, ':') && !strstr(host, "._tcp");
+ *hostptr && have_ipv6;
+ hostptr ++)
+ if (*hostptr != ':' && !isxdigit(*hostptr & 255))
+ {
+ have_ipv6 = *hostptr == '%';
+ break;
+ }
+
+ if (have_ipv6)
{
/*
* We have a raw IPv6 address...
*/
- if (strchr(host, '%'))
+ if (strchr(host, '%') && !(encoding & HTTP_URI_CODING_RFC6874))
{
/*
* We have a link-local address, add "[v1." prefix...
@@ -291,7 +304,7 @@ httpAssembleURI(
else
{
/*
- * We have a normal address, add "[" prefix...
+ * We have a normal (or RFC 6874 link-local) address, add "[" prefix...
*/
if (ptr < end)
@@ -307,8 +320,23 @@ httpAssembleURI(
while (ptr < end && *host)
{
if (*host == '%')
- {
- *ptr++ = '+'; /* Convert zone separator */
+ {
+ /*
+ * Convert/encode zone separator
+ */
+
+ if (encoding & HTTP_URI_CODING_RFC6874)
+ {
+ if (ptr >= (end - 2))
+ goto assemble_overflow;
+
+ *ptr++ = '%';
+ *ptr++ = '2';
+ *ptr++ = '5';
+ }
+ else
+ *ptr++ = '+';
+
host ++;
}
else
@@ -326,9 +354,12 @@ httpAssembleURI(
else
{
/*
- * Otherwise, just copy the host string...
+ * Otherwise, just copy the host string (the extra chars are not in the
+ * "reg-name" ABNF rule; anything <= SP or >= DEL plus % gets automatically
+ * percent-encoded.
*/
- ptr = http_copy_encode(ptr, host, end, "<>{}|^:/?#[]@\\\"", NULL,
+
+ ptr = http_copy_encode(ptr, host, end, "\"#/:<>?@[\\]^`{|}", NULL,
encoding & HTTP_URI_CODING_HOSTNAME);
if (!ptr)
@@ -475,7 +506,7 @@ httpAssembleURIf(
*
* The buffer needs to be at least 46 bytes in size.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
char * /* I - UUID string */
@@ -1097,8 +1128,25 @@ httpSeparateURI(
*/
uri ++;
- if (!strncmp(uri, "v1.", 3))
- uri += 3; /* Skip IPvN leader... */
+ if (*uri == 'v')
+ {
+ /*
+ * Skip IPvFuture ("vXXXX.") prefix...
+ */
+
+ uri ++;
+
+ while (isxdigit(*uri & 255))
+ uri ++;
+
+ if (*uri != '.')
+ {
+ *host = '\0';
+ return (HTTP_URI_STATUS_BAD_HOSTNAME);
+ }
+
+ uri ++;
+ }
uri = http_copy_decode(host, uri, hostlen, "]",
decoding & HTTP_URI_CODING_HOSTNAME);
@@ -1131,6 +1179,14 @@ httpSeparateURI(
*ptr = '%';
break;
}
+ else if (*ptr == '%')
+ {
+ /*
+ * Stop at zone separator (RFC 6874)
+ */
+
+ break;
+ }
else if (*ptr != ':' && *ptr != '.' && !isxdigit(*ptr & 255))
{
*host = '\0';
@@ -1146,12 +1202,13 @@ httpSeparateURI(
for (ptr = (char *)uri; *ptr; ptr ++)
if (strchr(":?/", *ptr))
break;
- else if (!strchr("abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "0123456789"
- "-._~"
- "%"
- "!$&'()*+,;=\\", *ptr))
+ else if (!strchr("abcdefghijklmnopqrstuvwxyz" /* unreserved */
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ" /* unreserved */
+ "0123456789" /* unreserved */
+ "-._~" /* unreserved */
+ "%" /* pct-encoded */
+ "!$&'()*+,;=" /* sub-delims */
+ "\\", *ptr)) /* SMB domain */
{
*host = '\0';
return (HTTP_URI_STATUS_BAD_HOSTNAME);
@@ -1244,8 +1301,9 @@ httpSeparateURI(
char *resptr = resource + strlen(resource);
- uri = http_copy_decode(resptr, uri, resourcelen - (int)(resptr - resource),
- NULL, decoding & HTTP_URI_CODING_QUERY);
+ uri = http_copy_decode(resptr, uri,
+ resourcelen - (int)(resptr - resource), NULL,
+ decoding & HTTP_URI_CODING_QUERY);
}
}
@@ -1282,6 +1340,9 @@ httpStatus(http_status_t status) /* I - HTTP status code */
switch (status)
{
+ case HTTP_STATUS_ERROR :
+ s = strerror(errno);
+ break;
case HTTP_STATUS_CONTINUE :
s = _("Continue");
break;
@@ -2319,5 +2380,5 @@ http_resolve_cb(
/*
- * End of "$Id: http-support.c 10922 2013-03-20 18:14:10Z mike $".
+ * End of "$Id: http-support.c 11085 2013-07-03 13:53:05Z msweet $".
*/
diff --git a/cups/http.c b/cups/http.c
index 36fe9c34..15206b7f 100644
--- a/cups/http.c
+++ b/cups/http.c
@@ -1,5 +1,5 @@
/*
- * "$Id: http.c 10941 2013-04-09 19:05:29Z mike $"
+ * "$Id: http.c 11085 2013-07-03 13:53:05Z msweet $"
*
* HTTP routines for CUPS.
*
@@ -278,7 +278,7 @@ static BIO_METHOD http_bio_methods =
* 'httpAcceptConnection()' - Accept a new HTTP client connection from the
* specified listening socket.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
http_t * /* O - HTTP connection or @code NULL@ */
@@ -582,7 +582,7 @@ httpConnect(const char *host, /* I - Host to connect to */
/*
* 'httpConnect2()' - Connect to a HTTP server.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
http_t * /* O - New HTTP connection */
@@ -959,19 +959,8 @@ httpFlushWrite(http_t *http) /* I - Connection to server */
if (http->data_encoding == HTTP_ENCODING_CHUNKED)
bytes = http_write_chunk(http, http->wbuffer, http->wused);
else
- {
bytes = http_write(http, http->wbuffer, http->wused);
- if (bytes > 0 && http->data_encoding == HTTP_ENCODING_LENGTH)
- {
- http->data_remaining -= bytes;
-
- if (http->data_remaining <= 0)
- {
- }
- }
- }
-
http->wused = 0;
DEBUG_printf(("1httpFlushWrite: Returning %d, errno=%d.", bytes, errno));
@@ -1086,7 +1075,7 @@ httpGetBlocking(http_t *http) /* I - Connection to server */
* client. The value returned can be use in subsequent requests (for clients)
* or in the response (for servers) in order to compress the content stream.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
const char * /* O - Content-Coding value or
@@ -1184,7 +1173,7 @@ httpGetCookie(http_t *http) /* I - HTTP connecion */
* Returns @code HTTP_STATUS_NONE@ if there is no Expect header, otherwise
* returns the expected HTTP status code, typically @code HTTP_STATUS_CONTINUE@.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
http_status_t /* O - Expect: status, if any */
@@ -1818,7 +1807,7 @@ httpOptions(http_t *http, /* I - Connection to server */
*
* For non-blocking connections the usual timeouts apply.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
ssize_t /* O - Number of bytes copied */
@@ -2483,7 +2472,7 @@ _httpReadGNUTLS(
/*
* 'httpReadRequest()' - Read a HTTP request from a connection.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
http_state_t /* O - New state of connection */
@@ -2904,7 +2893,7 @@ httpSetCookie(http_t *http, /* I - Connection */
* Currently only @code HTTP_FIELD_ACCEPT_ENCODING@, @code HTTP_FIELD_SERVER@,
* and @code HTTP_FIELD_USER_AGENT@ can be set.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
void
@@ -3741,6 +3730,8 @@ httpWrite2(http_t *http, /* I - Connection to server */
if (http->state == HTTP_STATE_POST_RECV)
http->state ++;
+ else if (http->state == HTTP_STATE_POST_SEND)
+ http->state = HTTP_STATE_WAITING;
else
http->state = HTTP_STATE_STATUS;
@@ -3833,7 +3824,7 @@ _httpWriteGNUTLS(
/*
* 'httpWriteResponse()' - Write a HTTP response to a client connection.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 0 on success, -1 on error */
@@ -6027,5 +6018,5 @@ http_write_ssl(http_t *http, /* I - Connection to server */
/*
- * End of "$Id: http.c 10941 2013-04-09 19:05:29Z mike $".
+ * End of "$Id: http.c 11085 2013-07-03 13:53:05Z msweet $".
*/
diff --git a/cups/http.h b/cups/http.h
index 682d28a7..f9c83a88 100644
--- a/cups/http.h
+++ b/cups/http.h
@@ -1,5 +1,5 @@
/*
- * "$Id: http.h 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: http.h 11085 2013-07-03 13:53:05Z msweet $"
*
* Hyper-Text Transport Protocol definitions for CUPS.
*
@@ -182,9 +182,9 @@ typedef enum http_field_e /**** HTTP field names ****/
HTTP_FIELD_UPGRADE, /* Upgrade field */
HTTP_FIELD_USER_AGENT, /* User-Agent field */
HTTP_FIELD_WWW_AUTHENTICATE, /* WWW-Authenticate field */
- HTTP_FIELD_ACCEPT_ENCODING, /* Accepting-Encoding field @since CUPS 1.7@ */
- HTTP_FIELD_ALLOW, /* Allow field @since CUPS 1.7@ */
- HTTP_FIELD_SERVER, /* Server field @since CUPS 1.7@ */
+ HTTP_FIELD_ACCEPT_ENCODING, /* Accepting-Encoding field @since CUPS 1.7/OS X 10.9@ */
+ HTTP_FIELD_ALLOW, /* Allow field @since CUPS 1.7/OS X 10.9@ */
+ HTTP_FIELD_SERVER, /* Server field @since CUPS 1.7/OS X 10.9@ */
HTTP_FIELD_MAX /* Maximum field index */
} http_field_t;
@@ -213,8 +213,8 @@ typedef enum http_state_e /**** HTTP state values; states
HTTP_STATE_TRACE, /* TRACE command, waiting for blank line */
HTTP_STATE_CONNECT, /* CONNECT command, waiting for blank line */
HTTP_STATE_STATUS, /* Command complete, sending status */
- HTTP_STATE_UNKNOWN_METHOD, /* Unknown request method, waiting for blank line @since CUPS 1.7@ */
- HTTP_STATE_UNKNOWN_VERSION /* Unknown request method, waiting for blank line @since CUPS 1.7@ */
+ HTTP_STATE_UNKNOWN_METHOD, /* Unknown request method, waiting for blank line @since CUPS 1.7/OS X 10.9@ */
+ HTTP_STATE_UNKNOWN_VERSION /* Unknown request method, waiting for blank line @since CUPS 1.7/OS X 10.9@ */
# ifndef _CUPS_NO_DEPRECATED
# define HTTP_WAITING HTTP_STATE_WAITING
@@ -237,7 +237,7 @@ typedef enum http_state_e /**** HTTP state values; states
typedef enum http_status_e /**** HTTP status codes ****/
{
HTTP_STATUS_ERROR = -1, /* An error response from httpXxxx() */
- HTTP_STATUS_NONE = 0, /* No Expect value @since CUPS 1.7@ */
+ HTTP_STATUS_NONE = 0, /* No Expect value @since CUPS 1.7/OS X 10.9@ */
HTTP_STATUS_CONTINUE = 100, /* Everything OK, keep going... */
HTTP_STATUS_SWITCHING_PROTOCOLS, /* HTTP upgrade to TLS/SSL */
@@ -383,7 +383,8 @@ typedef enum http_uri_coding_e /**** URI en/decode flags ****/
HTTP_URI_CODING_RESOURCE = 4, /* En/decode the resource portion */
HTTP_URI_CODING_MOST = 7, /* En/decode all but the query */
HTTP_URI_CODING_QUERY = 8, /* En/decode the query portion */
- HTTP_URI_CODING_ALL = 15 /* En/decode everything */
+ HTTP_URI_CODING_ALL = 15, /* En/decode everything */
+ HTTP_URI_CODING_RFC6874 = 16 /* Use RFC 6874 address format */
} http_uri_coding_t;
typedef enum http_version_e /**** HTTP version numbers ****/
@@ -448,10 +449,10 @@ extern int httpCheck(http_t *http);
extern void httpClearFields(http_t *http);
extern void httpClose(http_t *http);
extern http_t *httpConnect(const char *host, int port)
- _CUPS_DEPRECATED_MSG("Use httpConnect2 instead.");
+ _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
extern http_t *httpConnectEncrypt(const char *host, int port,
http_encryption_t encryption)
- _CUPS_DEPRECATED_MSG("Use httpConnect2 instead.");
+ _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
extern int httpDelete(http_t *http, const char *uri);
extern int httpEncryption(http_t *http, http_encryption_t e);
extern int httpError(http_t *http);
@@ -472,7 +473,7 @@ extern int httpPrintf(http_t *http, const char *format, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int httpPut(http_t *http, const char *uri);
extern int httpRead(http_t *http, char *buffer, int length) _CUPS_DEPRECATED_MSG("Use httpRead2 instead.");
-extern int httpReconnect(http_t *http) _CUPS_DEPRECATED_MSG("Use httpReconnect2 instead.");
+extern int httpReconnect(http_t *http) _CUPS_DEPRECATED_1_6_MSG("Use httpReconnect2 instead.");
extern void httpSeparate(const char *uri, char *method,
char *username, char *host, int *port,
char *resource) _CUPS_DEPRECATED_MSG("Use httpSeparateURI instead.");
@@ -622,5 +623,5 @@ extern http_state_t httpWriteResponse(http_t *http,
#endif /* !_CUPS_HTTP_H_ */
/*
- * End of "$Id: http.h 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: http.h 11085 2013-07-03 13:53:05Z msweet $".
*/
diff --git a/cups/ipp-private.h b/cups/ipp-private.h
index f9225d3d..210c2e79 100644
--- a/cups/ipp-private.h
+++ b/cups/ipp-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp-private.h 10663 2012-10-24 15:19:42Z mike $"
+ * "$Id: ipp-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private IPP definitions for CUPS.
*
@@ -77,5 +77,5 @@ extern _ipp_option_t *_ippFindOption(const char *name);
#endif /* !_CUPS_IPP_H_ */
/*
- * End of "$Id: ipp-private.h 10663 2012-10-24 15:19:42Z mike $".
+ * End of "$Id: ipp-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/ipp-support.c b/cups/ipp-support.c
index 4f7649b1..604d65b4 100644
--- a/cups/ipp-support.c
+++ b/cups/ipp-support.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp-support.c 10938 2013-04-04 15:54:25Z mike $"
+ * "$Id: ipp-support.c 11085 2013-07-03 13:53:05Z msweet $"
*
* Internet Printing Protocol support functions for CUPS.
*
@@ -204,7 +204,7 @@ static const char * const ipp_std_ops[] =
"Suspend-Current-Job",
"Resume-Job",
- /* 0x0030 - 0x003d */
+ /* 0x0030 - 0x003e */
"Promote-Job",
"Schedule-Job-After",
"0x0032",
@@ -218,7 +218,8 @@ static const char * const ipp_std_ops[] =
"Resubmit-Job",
"Close-Job",
"Identify-Printer",
- "Validate-Document"
+ "Validate-Document",
+ "Send-Hardcopy-Document"
},
* const ipp_cups_ops[] =
{
@@ -400,7 +401,44 @@ static const char * const ipp_document_states[] =
"trim-after-pages",
"trim-after-documents",
"trim-after-copies",
- "trim-after-job"
+ "trim-after-job",
+ "64",
+ "65",
+ "66",
+ "67",
+ "68",
+ "69",
+ "punch-top-left",
+ "punch-bottom-left",
+ "punch-top-right",
+ "punch-bottom-right",
+ "punch-dual-left",
+ "punch-dual-top",
+ "punch-dual-right",
+ "punch-dual-bottom",
+ "punch-triple-left",
+ "punch-triple-top",
+ "punch-triple-right",
+ "punch-triple-bottom",
+ "punch-quad-left",
+ "punch-quad-top",
+ "punch-quad-right",
+ "punch-quad-bottom",
+ "86",
+ "87",
+ "88",
+ "89",
+ "fold-accordian",
+ "fold-double-gate",
+ "fold-gate",
+ "fold-half",
+ "fold-half-z",
+ "fold-left-gate",
+ "fold-letter",
+ "fold-parallel",
+ "fold-poster",
+ "fold-right-gate",
+ "fold-z"
},
* const ipp_finishings_vendor[] =
{
@@ -479,39 +517,39 @@ static const char * const ipp_document_states[] =
"0x40000043",
"0x40000044",
"0x40000045",
- "punch-top-left",
- "punch-bottom-left",
- "punch-top-right",
- "punch-bottom-right",
- "punch-dual-left",
- "punch-dual-top",
- "punch-dual-right",
- "punch-dual-bottom",
- "punch-triple-left",
- "punch-triple-top",
+ "cups-punch-top-left",
+ "cups-punch-bottom-left",
+ "cups-punch-top-right",
+ "cups-punch-bottom-right",
+ "cups-punch-dual-left",
+ "cups-punch-dual-top",
+ "cups-punch-dual-right",
+ "cups-punch-dual-bottom",
+ "cups-punch-triple-left",
+ "cups-punch-triple-top",
/* 0x40000050 - 0x4000005F */
- "punch-triple-right",
- "punch-triple-bottom",
- "punch-quad-left",
- "punch-quad-top",
- "punch-quad-right",
- "punch-quad-bottom",
+ "cups-punch-triple-right",
+ "cups-punch-triple-bottom",
+ "cups-punch-quad-left",
+ "cups-punch-quad-top",
+ "cups-punch-quad-right",
+ "cups-punch-quad-bottom",
"0x40000056",
"0x40000057",
"0x40000058",
"0x40000059",
- "fold-accordian",
- "fold-double-gate",
- "fold-gate",
- "fold-half",
- "fold-half-z",
- "fold-left-gate",
+ "cups-fold-accordian",
+ "cups-fold-double-gate",
+ "cups-fold-gate",
+ "cups-fold-half",
+ "cups-fold-half-z",
+ "cups-fold-left-gate",
/* 0x40000060 - 0x40000064 */
- "fold-letter",
- "fold-parallel",
- "fold-poster",
- "fold-right-gate",
- "fold-z"
+ "cups-fold-letter",
+ "cups-fold-parallel",
+ "cups-fold-poster",
+ "cups-fold-right-gate",
+ "cups-fold-z"
},
* const ipp_job_collation_types[] =
{ /* job-collation-type enums */
@@ -800,7 +838,7 @@ ippAttributeString(
* "attribute-name")@ will return a non-NULL pointer. The array must be freed
* using the @code cupsArrayDelete@ function.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
cups_array_t * /* O - CUPS array or @code NULL@ if all */
@@ -2210,5 +2248,5 @@ ipp_col_string(ipp_t *col, /* I - Collection attribute */
/*
- * End of "$Id: ipp-support.c 10938 2013-04-04 15:54:25Z mike $".
+ * End of "$Id: ipp-support.c 11085 2013-07-03 13:53:05Z msweet $".
*/
diff --git a/cups/ipp.c b/cups/ipp.c
index af34a716..fe1ee2e7 100644
--- a/cups/ipp.c
+++ b/cups/ipp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp.c 10909 2013-03-14 18:45:49Z mike $"
+ * "$Id: ipp.c 11113 2013-07-10 14:08:39Z msweet $"
*
* Internet Printing Protocol functions for CUPS.
*
@@ -1131,7 +1131,7 @@ ippAddString(ipp_t *ipp, /* I - IPP message */
* needed. The formatted string is truncated as needed to the maximum length of
* the corresponding value type.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
ipp_attribute_t * /* O - New attribute */
@@ -1184,7 +1184,7 @@ ippAddStringf(ipp_t *ipp, /* I - IPP message */
* stdarg pointer @code ap@. The formatted string is truncated as needed to the
* maximum length of the corresponding value type.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
ipp_attribute_t * /* O - New attribute */
@@ -1210,7 +1210,7 @@ ippAddStringfv(ipp_t *ipp, /* I - IPP message */
group == IPP_TAG_END || group >= IPP_TAG_UNSUPPORTED_VALUE ||
(value_tag < IPP_TAG_TEXT && value_tag != IPP_TAG_TEXTLANG &&
value_tag != IPP_TAG_NAMELANG) || value_tag > IPP_TAG_MIMETYPE ||
- !format || !ap)
+ !format)
return (NULL);
if ((value_tag == IPP_TAG_TEXTLANG || value_tag == IPP_TAG_NAMELANG)
@@ -1466,7 +1466,7 @@ ippAddStrings(
* enum value, or the value falls within one of the rangeOfInteger values for
* the attribute.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 on a match, 0 on no match */
@@ -1517,7 +1517,7 @@ ippContainsInteger(
* Returns non-zero when the attribute contains a matching charset, keyword,
* language, mimeMediaType, name, text, URI, or URI scheme value.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 on a match, 0 on no match */
@@ -2390,7 +2390,7 @@ ippGetName(ipp_attribute_t *attr) /* I - IPP attribute */
* The @code element@ parameter specifies which value to get from 0 to
* @link ippGetCount(attr)@ - 1.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
void * /* O - Pointer to octetString data */
@@ -2741,6 +2741,9 @@ ippNew(void)
* Set default version - usually 2.0...
*/
+ if (cg->server_version == 0)
+ _cupsSetDefaults();
+
temp->request.any.version[0] = cg->server_version / 10;
temp->request.any.version[1] = cg->server_version % 10;
temp->use = 1;
@@ -2826,7 +2829,7 @@ ippNewRequest(ipp_op_t op) /* I - Operation code */
* "utf-8" and a value derived from the current locale are substituted,
* respectively.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
ipp_t * /* O - IPP response message */
@@ -4009,7 +4012,7 @@ ippSetName(ipp_t *ipp, /* I - IPP message */
* The @code element@ parameter specifies which value to set from 0 to
* @link ippGetCount(attr)@.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 on success, 0 on failure */
@@ -4382,7 +4385,7 @@ ippSetString(ipp_t *ipp, /* I - IPP message */
* needed. The formatted string is truncated as needed to the maximum length of
* the corresponding value type.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 on success, 0 on failure */
@@ -4420,7 +4423,7 @@ ippSetStringf(ipp_t *ipp, /* I - IPP message */
* needed. The formatted string is truncated as needed to the maximum length of
* the corresponding value type.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 on success, 0 on failure */
@@ -4449,7 +4452,7 @@ ippSetStringfv(ipp_t *ipp, /* I - IPP message */
if (!ipp || !attr || !*attr ||
(value_tag < IPP_TAG_TEXT && value_tag != IPP_TAG_TEXTLANG &&
value_tag != IPP_TAG_NAMELANG) || value_tag > IPP_TAG_MIMETYPE ||
- !format || !ap)
+ !format)
return (0);
/*
@@ -4810,7 +4813,7 @@ ippTimeToDate(time_t t) /* I - UNIX time value */
* value tag. 1 is returned if the attribute is valid, 0 otherwise. On
* failure, cupsLastErrorString() is set to a human-readable message.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 if valid, 0 otherwise */
@@ -5449,7 +5452,7 @@ ippValidateAttribute(
* attribute. Like @link ippValidateAttribute@, cupsLastErrorString() is set
* to a human-readable message on failure.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 if valid, 0 otherwise */
@@ -6348,10 +6351,11 @@ ippWriteIO(void *dst, /* I - Destination */
}
/*
- * If blocking is disabled, stop here...
+ * If blocking is disabled and we aren't at the end of the attribute
+ * list, stop here...
*/
- if (!blocking)
+ if (!blocking && ipp->current)
break;
}
@@ -7060,5 +7064,5 @@ ipp_write_file(int *fd, /* I - File descriptor */
/*
- * End of "$Id: ipp.c 10909 2013-03-14 18:45:49Z mike $".
+ * End of "$Id: ipp.c 11113 2013-07-10 14:08:39Z msweet $".
*/
diff --git a/cups/ipp.h b/cups/ipp.h
index 524448e7..c0225471 100644
--- a/cups/ipp.h
+++ b/cups/ipp.h
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp.h 10920 2013-03-20 12:09:48Z mike $"
+ * "$Id: ipp.h 11085 2013-07-03 13:53:05Z msweet $"
*
* Internet Printing Protocol definitions for CUPS.
*
@@ -123,8 +123,35 @@ typedef enum ipp_finishings_e /**** Finishings ****/
IPP_FINISHINGS_TRIM_AFTER_DOCUMENTS, /* Trim output after each document */
IPP_FINISHINGS_TRIM_AFTER_COPIES, /* Trim output after each copy */
IPP_FINISHINGS_TRIM_AFTER_JOB, /* Trim output after job */
-
- /* Proposed extensions for finishings */
+ IPP_FINISHINGS_PUNCH_TOP_LEFT = 70, /* Punch 1 hole top left */
+ IPP_FINISHINGS_PUNCH_BOTTOM_LEFT, /* Punch 1 hole bottom left */
+ IPP_FINISHINGS_PUNCH_TOP_RIGHT, /* Punch 1 hole top right */
+ IPP_FINISHINGS_PUNCH_BOTTOM_RIGHT, /* Punch 1 hole bottom right */
+ IPP_FINISHINGS_PUNCH_DUAL_LEFT, /* Punch 2 holes left side */
+ IPP_FINISHINGS_PUNCH_DUAL_TOP, /* Punch 2 holes top edge */
+ IPP_FINISHINGS_PUNCH_DUAL_RIGHT, /* Punch 2 holes right side */
+ IPP_FINISHINGS_PUNCH_DUAL_BOTTOM, /* Punch 2 holes bottom edge */
+ IPP_FINISHINGS_PUNCH_TRIPLE_LEFT, /* Punch 3 holes left side */
+ IPP_FINISHINGS_PUNCH_TRIPLE_TOP, /* Punch 3 holes top edge */
+ IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT, /* Punch 3 holes right side */
+ IPP_FINISHINGS_PUNCH_TRIPLE_BOTTOM, /* Punch 3 holes bottom edge */
+ IPP_FINISHINGS_PUNCH_QUAD_LEFT, /* Punch 4 holes left side */
+ IPP_FINISHINGS_PUNCH_QUAD_TOP, /* Punch 4 holes top edge */
+ IPP_FINISHINGS_PUNCH_QUAD_RIGHT, /* Punch 4 holes right side */
+ IPP_FINISHINGS_PUNCH_QUAD_BOTTOM, /* Punch 4 holes bottom edge */
+ IPP_FINISHINGS_FOLD_ACCORDIAN = 90, /* Accordian-fold the paper vertically into four sections */
+ IPP_FINISHINGS_FOLD_DOUBLE_GATE, /* Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically */
+ IPP_FINISHINGS_FOLD_GATE, /* Fold the top and bottom quarters of the paper towards the midline */
+ IPP_FINISHINGS_FOLD_HALF, /* Fold the paper in half vertically */
+ IPP_FINISHINGS_FOLD_HALF_Z, /* Fold the paper in half horizontally, then Z-fold the paper vertically */
+ IPP_FINISHINGS_FOLD_LEFT_GATE, /* Fold the top quarter of the paper towards the midline */
+ IPP_FINISHINGS_FOLD_LETTER, /* Fold the paper into three sections vertically; sometimes also known as a C fold*/
+ IPP_FINISHINGS_FOLD_PARALLEL, /* Fold the paper in half vertically two times, yielding four sections */
+ IPP_FINISHINGS_FOLD_POSTER, /* Fold the paper in half horizontally and vertically; sometimes also called a cross fold */
+ IPP_FINISHINGS_FOLD_RIGHT_GATE, /* Fold the bottom quarter of the paper towards the midline */
+ IPP_FINISHINGS_FOLD_Z, /* Fold the paper vertically into three sections, forming a Z */
+
+ /* CUPS extensions for finishings (pre-standard versions of values above) */
IPP_FINISHINGS_CUPS_PUNCH_TOP_LEFT = 0x40000046,
/* Punch 1 hole top left */
IPP_FINISHINGS_CUPS_PUNCH_BOTTOM_LEFT,/* Punch 1 hole bottom left */
@@ -262,8 +289,10 @@ typedef enum ipp_op_e /**** IPP operations ****/
IPP_OP_CANCEL_MY_JOBS, /* Cancel-My-Jobs */
IPP_OP_RESUBMIT_JOB, /* Resubmit-Job */
IPP_OP_CLOSE_JOB, /* Close-Job */
- IPP_OP_IDENTIFY_PRINTER, /* Identify-Printer (proposed IPP JPS3) */
- IPP_OP_VALIDATE_DOCUMENT, /* Validate-Document (proposed IPP JPS3) */
+ IPP_OP_IDENTIFY_PRINTER, /* Identify-Printer @private@ */
+ IPP_OP_VALIDATE_DOCUMENT, /* Validate-Document @private@ */
+ IPP_OP_SEND_HARDCOPY_DOCUMENT, /* Send-Hardcopy-Document @private@ */
+
IPP_OP_PRIVATE = 0x4000, /* Reserved @private@ */
IPP_OP_CUPS_GET_DEFAULT, /* Get the default printer */
IPP_OP_CUPS_GET_PRINTERS, /* Get a list of printers and/or classes */
@@ -475,12 +504,12 @@ typedef enum ipp_status_e /**** IPP status codes ****/
/* Proposed extensions for paid printing */
IPP_STATUS_ERROR_CUPS_ACCOUNT_INFO_NEEDED = 0x049C,
- /* cups-error-account-info-needed @since CUPS 1.7@ */
- IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED, /* cups-error-account-closed @since CUPS 1.7@ */
+ /* cups-error-account-info-needed @since CUPS 1.7/OS X 10.9@ */
+ IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED, /* cups-error-account-closed @since CUPS 1.7/OS X 10.9@ */
IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED,
- /* cups-error-account-limit-reached @since CUPS 1.7@ */
+ /* cups-error-account-limit-reached @since CUPS 1.7/OS X 10.9@ */
IPP_STATUS_ERROR_CUPS_ACCOUNT_AUTHORIZATION_FAILED,
- /* cups-error-account-authorization-failed @since CUPS 1.7@ */
+ /* cups-error-account-authorization-failed @since CUPS 1.7/OS X 10.9@ */
IPP_STATUS_ERROR_INTERNAL = 0x0500, /* server-error-internal-error */
IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED,
@@ -963,5 +992,5 @@ extern int ippValidateAttributes(ipp_t *ipp) _CUPS_API_1_7;
#endif /* !_CUPS_IPP_H_ */
/*
- * End of "$Id: ipp.h 10920 2013-03-20 12:09:48Z mike $".
+ * End of "$Id: ipp.h 11085 2013-07-03 13:53:05Z msweet $".
*/
diff --git a/cups/langprintf.c b/cups/langprintf.c
index ceb586ce..af641c91 100644
--- a/cups/langprintf.c
+++ b/cups/langprintf.c
@@ -1,5 +1,5 @@
/*
- * "$Id: langprintf.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: langprintf.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Localized printf/puts functions for CUPS.
*
@@ -348,5 +348,5 @@ _cupsSetLocale(char *argv[]) /* IO - Command-line arguments */
/*
- * End of "$Id: langprintf.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: langprintf.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/language-private.h b/cups/language-private.h
index 94d8252a..93cdf083 100644
--- a/cups/language-private.h
+++ b/cups/language-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: language-private.h 10506 2012-05-23 20:17:12Z mike $"
+ * "$Id: language-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private localization support for CUPS.
*
@@ -82,5 +82,5 @@ extern void _cupsSetLocale(char *argv[]);
#endif /* !_CUPS_LANGUAGE_PRIVATE_H_ */
/*
- * End of "$Id: language-private.h 10506 2012-05-23 20:17:12Z mike $".
+ * End of "$Id: language-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/language.c b/cups/language.c
index 2053d97b..1aa37f3c 100644
--- a/cups/language.c
+++ b/cups/language.c
@@ -1,5 +1,5 @@
/*
- * "$Id: language.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: language.c 10996 2013-05-29 11:51:34Z msweet $"
*
* I18N/language support for CUPS.
*
@@ -1184,24 +1184,40 @@ appleLangDefault(void)
{
if (getenv("SOFTWARE") != NULL && (lang = getenv("LANG")) != NULL)
{
+ DEBUG_printf(("3appleLangDefault: Using LANG=%s", lang));
strlcpy(cg->language, lang, sizeof(cg->language));
return (cg->language);
}
else if ((bundle = CFBundleGetMainBundle()) != NULL &&
(bundleList = CFBundleCopyBundleLocalizations(bundle)) != NULL)
{
+ DEBUG_puts("3appleLangDefault: Getting localizationList from bundle.");
+
localizationList =
CFBundleCopyPreferredLocalizationsFromArray(bundleList);
CFRelease(bundleList);
}
else
+ {
+ DEBUG_puts("3appleLangDefault: Getting localizationList from preferences.");
+
localizationList =
CFPreferencesCopyAppValue(CFSTR("AppleLanguages"),
kCFPreferencesCurrentApplication);
+ }
if (localizationList)
{
+
+#ifdef DEBUG
+ if (CFGetTypeID(localizationList) == CFArrayGetTypeID())
+ DEBUG_printf(("3appleLangDefault: Got localizationList, %d entries.",
+ (int)CFArrayGetCount(localizationList)));
+ else
+ DEBUG_puts("3appleLangDefault: Got localizationList but not an array.");
+#endif /* DEBUG */
+
if (CFGetTypeID(localizationList) == CFArrayGetTypeID() &&
CFArrayGetCount(localizationList) > 0)
{
@@ -1219,7 +1235,7 @@ appleLangDefault(void)
kCFStringEncodingASCII);
CFRelease(localeName);
- DEBUG_printf(("9appleLangDefault: cg->language=\"%s\"",
+ DEBUG_printf(("3appleLangDefault: cg->language=\"%s\"",
cg->language));
/*
@@ -1233,7 +1249,7 @@ appleLangDefault(void)
{
if (!strcmp(cg->language, apple_language_locale[i].language))
{
- DEBUG_printf(("9appleLangDefault: mapping \"%s\" to \"%s\"...",
+ DEBUG_printf(("3appleLangDefault: mapping \"%s\" to \"%s\"...",
cg->language, apple_language_locale[i].locale));
strlcpy(cg->language, apple_language_locale[i].locale,
sizeof(cg->language));
@@ -1251,6 +1267,8 @@ appleLangDefault(void)
if (!strchr(cg->language, '.'))
strlcat(cg->language, ".UTF-8", sizeof(cg->language));
}
+ else
+ DEBUG_puts("3appleLangDefault: Unable to get localeName.");
}
}
@@ -1262,7 +1280,10 @@ appleLangDefault(void)
*/
if (!cg->language[0])
+ {
+ DEBUG_puts("3appleLangDefault: Defaulting to en_US.");
strlcpy(cg->language, "en_US.UTF-8", sizeof(cg->language));
+ }
}
/*
@@ -1565,5 +1586,5 @@ cups_unquote(char *d, /* O - Unquoted string */
/*
- * End of "$Id: language.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: language.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/language.h b/cups/language.h
index 03c8eb5d..4fcf9e84 100644
--- a/cups/language.h
+++ b/cups/language.h
@@ -1,5 +1,5 @@
/*
- * "$Id: language.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: language.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Multi-language support for CUPS.
*
@@ -111,5 +111,5 @@ extern cups_lang_t *cupsLangGet(const char *language);
#endif /* !_CUPS_LANGUAGE_H_ */
/*
- * End of "$Id: language.h 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: language.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/localize.c b/cups/localize.c
index 65faa149..5a9b55f9 100644
--- a/cups/localize.c
+++ b/cups/localize.c
@@ -1,5 +1,5 @@
/*
- * "$Id: localize.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: localize.c 10996 2013-05-29 11:51:34Z msweet $"
*
* PPD localization routines for CUPS.
*
@@ -775,5 +775,5 @@ ppd_ll_CC(char *ll_CC, /* O - Country-specific locale name */
/*
- * End of "$Id: localize.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: localize.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/mark.c b/cups/mark.c
index ecbfe0b4..23a39970 100644
--- a/cups/mark.c
+++ b/cups/mark.c
@@ -1,5 +1,5 @@
/*
- * "$Id: mark.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: mark.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Option marking routines for CUPS.
*
@@ -1097,5 +1097,5 @@ ppd_mark_option(ppd_file_t *ppd, /* I - PPD file */
/*
- * End of "$Id: mark.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: mark.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/md5-private.h b/cups/md5-private.h
index 720ae34d..7b946426 100644
--- a/cups/md5-private.h
+++ b/cups/md5-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: md5-private.h 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: md5-private.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Private MD5 definitions for CUPS.
*
@@ -75,5 +75,5 @@ void _cupsMD5Finish(_cups_md5_state_t *pms, unsigned char digest[16]);
#endif /* !_CUPS_MD5_PRIVATE_H_ */
/*
- * End of "$Id: md5-private.h 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: md5-private.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/md5.c b/cups/md5.c
index f7c42ad2..6ed881dc 100644
--- a/cups/md5.c
+++ b/cups/md5.c
@@ -1,5 +1,5 @@
/*
- * "$Id: md5.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: md5.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Private MD5 implementation for CUPS.
*
@@ -342,5 +342,5 @@ _cupsMD5Finish(_cups_md5_state_t *pms, unsigned char digest[16])
/*
- * End of "$Id: md5.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: md5.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/md5passwd.c b/cups/md5passwd.c
index 8b538979..135282c5 100644
--- a/cups/md5passwd.c
+++ b/cups/md5passwd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: md5passwd.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: md5passwd.c 10996 2013-05-29 11:51:34Z msweet $"
*
* MD5 password support for CUPS.
*
@@ -138,5 +138,5 @@ httpMD5String(const unsigned char *sum, /* I - MD5 sum data */
/*
- * End of "$Id: md5passwd.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: md5passwd.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/notify.c b/cups/notify.c
index e12809a5..7e5cebb2 100644
--- a/cups/notify.c
+++ b/cups/notify.c
@@ -1,5 +1,5 @@
/*
- * "$Id: notify.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: notify.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Notification routines for CUPS.
*
@@ -198,5 +198,5 @@ cupsNotifyText(cups_lang_t *lang, /* I - Language data */
/*
- * End of "$Id: notify.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: notify.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/options.c b/cups/options.c
index 28f06e0f..d0250099 100644
--- a/cups/options.c
+++ b/cups/options.c
@@ -1,5 +1,5 @@
/*
- * "$Id: options.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: options.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Option routines for CUPS.
*
@@ -707,5 +707,5 @@ cups_find_option(
/*
- * End of "$Id: options.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: options.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/page.c b/cups/page.c
index 4ddd2fd3..7c496c68 100644
--- a/cups/page.c
+++ b/cups/page.c
@@ -1,5 +1,5 @@
/*
- * "$Id: page.c 10440 2012-04-30 18:33:39Z mike $"
+ * "$Id: page.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Page size functions for CUPS.
*
@@ -392,5 +392,5 @@ ppdPageLength(ppd_file_t *ppd, /* I - PPD file */
/*
- * End of "$Id: page.c 10440 2012-04-30 18:33:39Z mike $".
+ * End of "$Id: page.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c
index 360f5ee6..307d9e9b 100644
--- a/cups/ppd-cache.c
+++ b/cups/ppd-cache.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ppd-cache.c 10921 2013-03-20 14:16:55Z mike $"
+ * "$Id: ppd-cache.c 4274 2013-04-09 20:10:23Z msweet $"
*
* PPD cache implementation for CUPS.
*
@@ -2726,5 +2726,5 @@ pwg_unppdize_name(const char *ppd, /* I - PPD keyword */
/*
- * End of "$Id: ppd-cache.c 10921 2013-03-20 14:16:55Z mike $".
+ * End of "$Id: ppd-cache.c 4274 2013-04-09 20:10:23Z msweet $".
*/
diff --git a/cups/ppd-private.h b/cups/ppd-private.h
index a82576b3..4b8c4ba0 100644
--- a/cups/ppd-private.h
+++ b/cups/ppd-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: ppd-private.h 10895 2013-03-11 16:19:48Z mike $"
+ * "$Id: ppd-private.h 4274 2013-04-09 20:10:23Z msweet $"
*
* Private PPD definitions for CUPS.
*
@@ -221,5 +221,5 @@ extern const char *_pwgPageSizeForMedia(pwg_media_t *media,
#endif /* !_CUPS_PPD_PRIVATE_H_ */
/*
- * End of "$Id: ppd-private.h 10895 2013-03-11 16:19:48Z mike $".
+ * End of "$Id: ppd-private.h 4274 2013-04-09 20:10:23Z msweet $".
*/
diff --git a/cups/ppd.c b/cups/ppd.c
index 54e1c985..c172c3d7 100644
--- a/cups/ppd.c
+++ b/cups/ppd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ppd.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: ppd.c 10996 2013-05-29 11:51:34Z msweet $"
*
* PPD file routines for CUPS.
*
@@ -3394,5 +3394,5 @@ ppd_update_filters(ppd_file_t *ppd,/* I - PPD file */
/*
- * End of "$Id: ppd.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: ppd.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/ppd.h b/cups/ppd.h
index bb743fca..d234a59c 100644
--- a/cups/ppd.h
+++ b/cups/ppd.h
@@ -1,5 +1,5 @@
/*
- * "$Id: ppd.h 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: ppd.h 11056 2013-06-25 14:27:30Z msweet $"
*
* PostScript Printer Description definitions for CUPS.
*
@@ -7,7 +7,7 @@
* -D_PPD_DEPRECATED="" TO YOUR COMPILE OPTIONS. THIS HEADER AND THESE
* FUNCTIONS WILL BE REMOVED IN A FUTURE RELEASE OF CUPS.
*
- * Copyright 2007-2012 by Apple Inc.
+ * Copyright 2007-2013 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -56,19 +56,7 @@ extern "C" {
*/
# ifndef _PPD_DEPRECATED
-# if defined(__APPLE__)
-# if defined(MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
- /* Building for OS X 10.7 and earlier */
-# define _PPD_DEPRECATED
-# elif !defined(MAC_OS_X_VERSION_10_8)
- /* Building for OS X 10.7 and earlier */
-# define _PPD_DEPRECATED
-# else
-# define _PPD_DEPRECATED _CUPS_DEPRECATED
-# endif /* MAC_OS_X_VERSION_10_8 && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8 */
-# else
-# define _PPD_DEPRECATED _CUPS_DEPRECATED
-# endif /* __APPLE__ */
+# define _PPD_DEPRECATED _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.")
# endif /* !_PPD_DEPRECATED */
@@ -375,32 +363,39 @@ typedef struct ppd_file_s /**** PPD File ****/
*/
extern int cupsMarkOptions(ppd_file_t *ppd, int num_options,
- cups_option_t *options);
-extern void ppdClose(ppd_file_t *ppd);
+ cups_option_t *options) _PPD_DEPRECATED;
+extern void ppdClose(ppd_file_t *ppd) _PPD_DEPRECATED;
extern int ppdCollect(ppd_file_t *ppd, ppd_section_t section,
- ppd_choice_t ***choices);
-extern int ppdConflicts(ppd_file_t *ppd);
+ ppd_choice_t ***choices) _PPD_DEPRECATED;
+extern int ppdConflicts(ppd_file_t *ppd) _PPD_DEPRECATED;
extern int ppdEmit(ppd_file_t *ppd, FILE *fp,
- ppd_section_t section);
+ ppd_section_t section) _PPD_DEPRECATED;
extern int ppdEmitFd(ppd_file_t *ppd, int fd,
- ppd_section_t section);
+ ppd_section_t section) _PPD_DEPRECATED;
extern int ppdEmitJCL(ppd_file_t *ppd, FILE *fp, int job_id,
- const char *user, const char *title);
-extern ppd_choice_t *ppdFindChoice(ppd_option_t *o, const char *option);
+ const char *user, const char *title)
+ _PPD_DEPRECATED;
+extern ppd_choice_t *ppdFindChoice(ppd_option_t *o, const char *option)
+ _PPD_DEPRECATED;
extern ppd_choice_t *ppdFindMarkedChoice(ppd_file_t *ppd,
- const char *keyword);
-extern ppd_option_t *ppdFindOption(ppd_file_t *ppd, const char *keyword);
+ const char *keyword)
+ _PPD_DEPRECATED;
+extern ppd_option_t *ppdFindOption(ppd_file_t *ppd, const char *keyword)
+ _PPD_DEPRECATED;
extern int ppdIsMarked(ppd_file_t *ppd, const char *keyword,
- const char *option);
-extern void ppdMarkDefaults(ppd_file_t *ppd);
+ const char *option) _PPD_DEPRECATED;
+extern void ppdMarkDefaults(ppd_file_t *ppd) _PPD_DEPRECATED;
extern int ppdMarkOption(ppd_file_t *ppd, const char *keyword,
- const char *option);
-extern ppd_file_t *ppdOpen(FILE *fp);
-extern ppd_file_t *ppdOpenFd(int fd);
-extern ppd_file_t *ppdOpenFile(const char *filename);
-extern float ppdPageLength(ppd_file_t *ppd, const char *name);
-extern ppd_size_t *ppdPageSize(ppd_file_t *ppd, const char *name);
-extern float ppdPageWidth(ppd_file_t *ppd, const char *name);
+ const char *option) _PPD_DEPRECATED;
+extern ppd_file_t *ppdOpen(FILE *fp) _PPD_DEPRECATED;
+extern ppd_file_t *ppdOpenFd(int fd) _PPD_DEPRECATED;
+extern ppd_file_t *ppdOpenFile(const char *filename) _PPD_DEPRECATED;
+extern float ppdPageLength(ppd_file_t *ppd, const char *name)
+ _PPD_DEPRECATED;
+extern ppd_size_t *ppdPageSize(ppd_file_t *ppd, const char *name)
+ _PPD_DEPRECATED;
+extern float ppdPageWidth(ppd_file_t *ppd, const char *name)
+ _PPD_DEPRECATED;
/**** New in CUPS 1.1.19 ****/
extern const char *ppdErrorString(ppd_status_t status) _PPD_DEPRECATED;
@@ -420,14 +415,17 @@ extern int ppdCollect2(ppd_file_t *ppd, ppd_section_t section,
extern int ppdEmitAfterOrder(ppd_file_t *ppd, FILE *fp,
ppd_section_t section, int limit,
float min_order) _PPD_DEPRECATED;
-extern int ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp) _PPD_DEPRECATED;
+extern int ppdEmitJCLEnd(ppd_file_t *ppd, FILE *fp)
+ _PPD_DEPRECATED;
extern char *ppdEmitString(ppd_file_t *ppd, ppd_section_t section,
float min_order) _PPD_DEPRECATED;
extern ppd_coption_t *ppdFindCustomOption(ppd_file_t *ppd,
- const char *keyword) _PPD_DEPRECATED;
+ const char *keyword)
+ _PPD_DEPRECATED;
extern ppd_cparam_t *ppdFindCustomParam(ppd_coption_t *opt,
const char *name) _PPD_DEPRECATED;
-extern ppd_cparam_t *ppdFirstCustomParam(ppd_coption_t *opt) _PPD_DEPRECATED;
+extern ppd_cparam_t *ppdFirstCustomParam(ppd_coption_t *opt)
+ _PPD_DEPRECATED;
extern ppd_option_t *ppdFirstOption(ppd_file_t *ppd) _PPD_DEPRECATED;
extern ppd_cparam_t *ppdNextCustomParam(ppd_coption_t *opt) _PPD_DEPRECATED;
extern ppd_option_t *ppdNextOption(ppd_file_t *ppd) _PPD_DEPRECATED;
@@ -445,7 +443,7 @@ extern const char *ppdLocalizeIPPReason(ppd_file_t *ppd,
extern int cupsGetConflicts(ppd_file_t *ppd, const char *option,
const char *choice,
cups_option_t **options)
- _PPD_DEPRECATED;
+ _PPD_DEPRECATED;
extern int cupsResolveConflicts(ppd_file_t *ppd,
const char *option,
const char *choice,
@@ -455,7 +453,7 @@ extern int cupsResolveConflicts(ppd_file_t *ppd,
extern int ppdInstallableConflict(ppd_file_t *ppd,
const char *option,
const char *choice)
- _PPD_DEPRECATED;
+ _PPD_DEPRECATED;
extern ppd_attr_t *ppdLocalizeAttr(ppd_file_t *ppd, const char *keyword,
const char *spec) _PPD_DEPRECATED;
extern const char *ppdLocalizeMarkerName(ppd_file_t *ppd,
@@ -476,5 +474,5 @@ extern int ppdPageSizeLimits(ppd_file_t *ppd,
#endif /* !_CUPS_PPD_H_ */
/*
- * End of "$Id: ppd.h 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: ppd.h 11056 2013-06-25 14:27:30Z msweet $".
*/
diff --git a/cups/pwg-media.c b/cups/pwg-media.c
index 6358b37c..ffc7edb0 100644
--- a/cups/pwg-media.c
+++ b/cups/pwg-media.c
@@ -1,5 +1,5 @@
/*
- * "$Id: pwg-media.c 10895 2013-03-11 16:19:48Z mike $"
+ * "$Id: pwg-media.c 11085 2013-07-03 13:53:05Z msweet $"
*
* PWG media name API implementation for CUPS.
*
@@ -29,6 +29,7 @@
* pwg_compare_pwg() - Compare two sizes using the PWG names.
* pwg_format_inches() - Convert and format PWG units as inches.
* pwg_format_millimeters() - Convert and format PWG units as millimeters.
+ * pwg_scan_measurement() - Scan a measurement in inches or millimeters.
*/
/*
@@ -56,6 +57,8 @@ static int pwg_compare_pwg(pwg_media_t *a, pwg_media_t *b);
static int pwg_compare_ppd(pwg_media_t *a, pwg_media_t *b);
static char *pwg_format_inches(char *buf, size_t bufsize, int val);
static char *pwg_format_millimeters(char *buf, size_t bufsize, int val);
+static int pwg_scan_measurement(const char *buf, char **bufptr, int numer,
+ int denom);
/*
@@ -275,7 +278,7 @@ static pwg_media_t const cups_pwg_media[] =
* units string is @code NULL@, otherwise inches ("in") or millimeters ("mm")
* are used.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 on success, 0 on failure */
@@ -414,7 +417,7 @@ void _pwgGenerateSize(char *keyword, size_t keysize, const char *prefix,
* member attribute was specified in the "media-col" Job Template attribute,
* otherwise it is initialized to 0.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
int /* O - 1 if size was initialized, 0 otherwise */
@@ -589,7 +592,7 @@ int _pwgInitSize(pwg_size_t *size, ipp_t *job, int *margins_set)
* The "name" argument specifies the legacy ISO media size name, for example
* "iso-a4" or "na-letter".
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
pwg_media_t * /* O - Matching size or NULL */
@@ -651,7 +654,7 @@ pwg_media_t *_pwgMediaForLegacy(const char *legacy)
* thread. Custom names can be of the form "Custom.WIDTHxLENGTH[units]" or
* "WIDTHxLENGTH[units]".
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
pwg_media_t * /* O - Matching size or NULL */
@@ -706,72 +709,96 @@ pwgMediaForPPD(const char *ppd) /* I - PPD size name */
* [Custom.]WIDTHxLENGTHpt[.FullBleed] - Size in points [borderless]
*/
- double w, l, /* Width and length of page */
- factor; /* Unit scaling factor */
+ int w, l, /* Width and length of page */
+ numer, /* Unit scaling factor */
+ denom; /* ... */
char *ptr; /* Pointer into name */
- struct lconv *loc; /* Locale data */
+ const char *units; /* Pointer to units */
int custom; /* Custom page size? */
+
if (!_cups_strncasecmp(ppd, "Custom.", 7))
{
custom = 1;
- factor = 2540.0 / 72.0;
+ numer = 2540;
+ denom = 72;
ptr = (char *)ppd + 7;
}
else
{
custom = 0;
- factor = 2540.0;
+ numer = 2540;
+ denom = 1;
ptr = (char *)ppd;
}
- loc = localeconv();
- w = _cupsStrScand(ptr, &ptr, loc);
+ /*
+ * Find any units in the size...
+ */
- if (ptr && ptr > ppd && *ptr == 'x')
+ units = strchr(ptr, '.');
+ while (units && isdigit(units[1] & 255))
+ units = strchr(units + 1, '.');
+
+ if (units)
+ units -= 2;
+ else
+ units = ptr + strlen(ptr) - 2;
+
+ if (units > ptr)
{
- l = _cupsStrScand(ptr + 1, &ptr, loc);
-
- if (ptr &&
- (!*ptr ||
- !_cups_strcasecmp(ptr, "FullBleed") ||
- !_cups_strcasecmp(ptr, ".FullBleed") ||
- !_cups_strcasecmp(ptr, "cm") ||
- !_cups_strcasecmp(ptr, "cm.FullBleed") ||
- !_cups_strcasecmp(ptr, "ft") ||
- !_cups_strcasecmp(ptr, "ft.FullBleed") ||
- !_cups_strcasecmp(ptr, "in") ||
- !_cups_strcasecmp(ptr, "in.FullBleed") ||
- !_cups_strcasecmp(ptr, "m") ||
- !_cups_strcasecmp(ptr, "m.FullBleed") ||
- !_cups_strcasecmp(ptr, "mm") ||
- !_cups_strcasecmp(ptr, "mm.FullBleed") ||
- !_cups_strcasecmp(ptr, "pt") ||
- !_cups_strcasecmp(ptr, "pt.FullBleed")))
+ if (isdigit(*units & 255) || *units == '.')
+ units ++;
+
+ if (!_cups_strncasecmp(units, "cm", 2))
+ {
+ numer = 1000;
+ denom = 1;
+ }
+ else if (!_cups_strncasecmp(units, "ft", 2))
+ {
+ numer = 2540 * 12;
+ denom = 1;
+ }
+ else if (!_cups_strncasecmp(units, "in", 2))
+ {
+ numer = 2540;
+ denom = 1;
+ }
+ else if (!_cups_strncasecmp(units, "mm", 2))
+ {
+ numer = 100;
+ denom = 1;
+ }
+ else if (*units == 'm' || *units == 'M')
{
- size = &(cg->pwg_media);
-
- if (!_cups_strncasecmp(ptr, "cm", 2))
- factor = 1000.0;
- else if (!_cups_strncasecmp(ptr, "ft", 2))
- factor = 2540.0 * 12.0;
- else if (!_cups_strncasecmp(ptr, "in", 2))
- factor = 2540.0;
- else if (!_cups_strncasecmp(ptr, "mm", 2))
- factor = 100.0;
- else if (*ptr == 'm' || *ptr == 'M')
- factor = 100000.0;
- else if (!_cups_strncasecmp(ptr, "pt", 2))
- factor = 2540.0 / 72.0;
+ numer = 100000;
+ denom = 1;
+ }
+ else if (!_cups_strncasecmp(units, "pt", 2))
+ {
+ numer = 2540;
+ denom = 72;
+ }
+ }
+
+ w = pwg_scan_measurement(ptr, &ptr, numer, denom);
+
+ if (ptr && ptr > ppd && *ptr == 'x')
+ {
+ l = pwg_scan_measurement(ptr + 1, &ptr, numer, denom);
+ if (ptr)
+ {
/*
* Not a standard size; convert it to a PWG custom name of the form:
*
* [oe|om]_WIDTHxHEIGHTuu_WIDTHxHEIGHTuu
*/
- size->width = (int)(w * factor);
- size->length = (int)(l * factor);
+ size = &(cg->pwg_media);
+ size->width = w;
+ size->length = l;
size->pwg = cg->pwg_name;
pwgFormatSizeName(cg->pwg_name, sizeof(cg->pwg_name),
@@ -799,7 +826,7 @@ pwg_media_t *_pwgMediaForPPD(const char *ppd)
* thread-local storage and is overwritten by each call to the function in the
* thread.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
pwg_media_t * /* O - Matching size or NULL */
@@ -851,31 +878,29 @@ pwgMediaForPWG(const char *pwg) /* I - PWG size name */
* class_name_WWWxHHHmm
*/
- double w, l; /* Width and length of page */
- struct lconv *loc; /* Locale data */
+ int w, l; /* Width and length of page */
+ int numer; /* Scale factor for units */
+ const char *units = ptr + strlen(ptr) - 2;
+ /* Units from size */
ptr ++;
- loc = localeconv();
- w = _cupsStrScand(ptr, &ptr, loc);
+
+ if (units >= ptr && !strcmp(units, "in"))
+ numer = 2540;
+ else
+ numer = 100;
+
+ w = pwg_scan_measurement(ptr, &ptr, numer, 1);
if (ptr && *ptr == 'x')
{
- l = _cupsStrScand(ptr + 1, &ptr, loc);
+ l = pwg_scan_measurement(ptr + 1, &ptr, numer, 1);
- if (ptr && (!strcmp(ptr, "in") || !strcmp(ptr, "mm")))
+ if (ptr)
{
- size = &(cg->pwg_media);
-
- if (!strcmp(ptr, "mm"))
- {
- size->width = (int)(w * 100);
- size->length = (int)(l * 100);
- }
- else
- {
- size->width = (int)(w * 2540);
- size->length = (int)(l * 2540);
- }
+ size = &(cg->pwg_media);
+ size->width = w;
+ size->length = l;
strlcpy(cg->pwg_name, pwg, sizeof(cg->pwg_name));
size->pwg = cg->pwg_name;
@@ -901,7 +926,7 @@ pwg_media_t *_pwgMediaForPWG(const char *pwg)
* thread-local storage and is overwritten by each call to the function in the
* thread.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
pwg_media_t * /* O - PWG media name */
@@ -1092,5 +1117,62 @@ pwg_format_millimeters(char *buf, /* I - Buffer */
/*
- * End of "$Id: pwg-media.c 10895 2013-03-11 16:19:48Z mike $".
+ * 'pwg_scan_measurement()' - Scan a measurement in inches or millimeters.
+ *
+ * The "factor" argument specifies the scale factor for the units to convert to
+ * hundredths of millimeters. The returned value is NOT rounded but is an
+ * exact conversion of the fraction value (no floating point is used).
+ */
+
+static int /* O - Hundredths of millimeters */
+pwg_scan_measurement(
+ const char *buf, /* I - Number string */
+ char **bufptr, /* O - First byte after the number */
+ int numer, /* I - Numerator from units */
+ int denom) /* I - Denominator from units */
+{
+ int value = 0, /* Measurement value */
+ fractional = 0, /* Fractional value */
+ divisor = 1, /* Fractional divisor */
+ digits = 10 * numer * denom; /* Maximum fractional value to read */
+
+
+ /*
+ * Scan integer portion...
+ */
+
+ while (*buf >= '0' && *buf <= '9')
+ value = value * 10 + (*buf++) - '0';
+
+ if (*buf == '.')
+ {
+ /*
+ * Scan fractional portion...
+ */
+
+ buf ++;
+
+ while (divisor < digits && *buf >= '0' && *buf <= '9')
+ {
+ fractional = fractional * 10 + (*buf++) - '0';
+ divisor *= 10;
+ }
+
+ /*
+ * Skip trailing digits that won't contribute...
+ */
+
+ while (*buf >= '0' && *buf <= '9')
+ buf ++;
+ }
+
+ if (bufptr)
+ *bufptr = (char *)buf;
+
+ return (value * numer / denom + fractional * numer / denom / divisor);
+}
+
+
+/*
+ * End of "$Id: pwg-media.c 11085 2013-07-03 13:53:05Z msweet $".
*/
diff --git a/cups/pwg-private.h b/cups/pwg-private.h
index f139f5fc..64595e97 100644
--- a/cups/pwg-private.h
+++ b/cups/pwg-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: pwg-private.h 10895 2013-03-11 16:19:48Z mike $"
+ * "$Id: pwg-private.h 4274 2013-04-09 20:10:23Z msweet $"
*
* Private PWG media API definitions for CUPS.
*
@@ -73,5 +73,5 @@ extern pwg_media_t *_pwgMediaForSize(int width, int length)
#endif /* !_CUPS_PWG_PRIVATE_H_ */
/*
- * End of "$Id: pwg-private.h 10895 2013-03-11 16:19:48Z mike $".
+ * End of "$Id: pwg-private.h 4274 2013-04-09 20:10:23Z msweet $".
*/
diff --git a/cups/pwg.h b/cups/pwg.h
index 2826a867..43e0e1c8 100644
--- a/cups/pwg.h
+++ b/cups/pwg.h
@@ -1,5 +1,5 @@
/*
- * "$Id: pwg.h 10895 2013-03-11 16:19:48Z mike $"
+ * "$Id: pwg.h 4274 2013-04-09 20:10:23Z msweet $"
*
* PWG media API definitions for CUPS.
*
@@ -90,5 +90,5 @@ extern pwg_media_t *pwgMediaForSize(int width, int length) _CUPS_API_1_7;
#endif /* !_CUPS_PWG_H_ */
/*
- * End of "$Id: pwg.h 10895 2013-03-11 16:19:48Z mike $".
+ * End of "$Id: pwg.h 4274 2013-04-09 20:10:23Z msweet $".
*/
diff --git a/cups/raster-private.h b/cups/raster-private.h
index 07c01e1e..ebd5d721 100644
--- a/cups/raster-private.h
+++ b/cups/raster-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: raster-private.h 10404 2012-04-13 18:01:35Z mike $"
+ * "$Id: raster-private.h 3794 2012-04-23 22:44:16Z msweet $"
*
* Private image library definitions for CUPS.
*
@@ -62,5 +62,5 @@ extern void _cupsRasterClearError(void);
#endif /* !_CUPS_RASTER_PRIVATE_H_ */
/*
- * End of "$Id: raster-private.h 10404 2012-04-13 18:01:35Z mike $".
+ * End of "$Id: raster-private.h 3794 2012-04-23 22:44:16Z msweet $".
*/
diff --git a/cups/raster.h b/cups/raster.h
index a37608bb..dde34f24 100644
--- a/cups/raster.h
+++ b/cups/raster.h
@@ -1,5 +1,5 @@
/*
- * "$Id: raster.h 10693 2012-11-13 15:43:53Z mike $"
+ * "$Id: raster.h 4027 2012-11-16 01:00:05Z msweet $"
*
* Raster file definitions for CUPS.
*
@@ -401,5 +401,5 @@ extern cups_raster_t *cupsRasterOpenIO(cups_raster_iocb_t iocb, void *ctx,
#endif /* !_CUPS_RASTER_H_ */
/*
- * End of "$Id: raster.h 10693 2012-11-13 15:43:53Z mike $".
+ * End of "$Id: raster.h 4027 2012-11-16 01:00:05Z msweet $".
*/
diff --git a/cups/request.c b/cups/request.c
index b63adb06..6c384b7f 100644
--- a/cups/request.c
+++ b/cups/request.c
@@ -1,5 +1,5 @@
/*
- * "$Id: request.c 10942 2013-04-09 19:07:23Z mike $"
+ * "$Id: request.c 10996 2013-05-29 11:51:34Z msweet $"
*
* IPP utilities for CUPS.
*
@@ -1176,5 +1176,5 @@ _cupsSetHTTPError(http_status_t status) /* I - HTTP status code */
/*
- * End of "$Id: request.c 10942 2013-04-09 19:07:23Z mike $".
+ * End of "$Id: request.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/sidechannel.c b/cups/sidechannel.c
index 3efbc4f0..cad2a2b4 100644
--- a/cups/sidechannel.c
+++ b/cups/sidechannel.c
@@ -1,5 +1,5 @@
/*
- * "$Id: sidechannel.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: sidechannel.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Side-channel API code for CUPS.
*
@@ -638,5 +638,5 @@ cupsSideChannelWrite(
/*
- * End of "$Id: sidechannel.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: sidechannel.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/sidechannel.h b/cups/sidechannel.h
index dc9598b3..4694bb97 100644
--- a/cups/sidechannel.h
+++ b/cups/sidechannel.h
@@ -1,5 +1,5 @@
/*
- * "$Id: sidechannel.h 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: sidechannel.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Side-channel API definitions for CUPS.
*
@@ -143,5 +143,5 @@ extern cups_sc_status_t cupsSideChannelSNMPWalk(const char *oid, double timeout,
#endif /* !_CUPS_SIDECHANNEL_H_ */
/*
- * End of "$Id: sidechannel.h 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: sidechannel.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/snmp-private.h b/cups/snmp-private.h
index d4cda85e..9661243b 100644
--- a/cups/snmp-private.h
+++ b/cups/snmp-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: snmp-private.h 10393 2012-03-31 05:05:49Z mike $"
+ * "$Id: snmp-private.h 3794 2012-04-23 22:44:16Z msweet $"
*
* Private SNMP definitions for CUPS.
*
@@ -142,5 +142,5 @@ extern int _cupsSNMPWrite(int fd, http_addr_t *address, int version,
/*
- * End of "$Id: snmp-private.h 10393 2012-03-31 05:05:49Z mike $".
+ * End of "$Id: snmp-private.h 3794 2012-04-23 22:44:16Z msweet $".
*/
diff --git a/cups/snmp.c b/cups/snmp.c
index ab993f77..b50d3d57 100644
--- a/cups/snmp.c
+++ b/cups/snmp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: snmp.c 10837 2013-01-24 18:09:22Z mike $"
+ * "$Id: snmp.c 4167 2013-02-04 19:27:13Z msweet $"
*
* SNMP functions for CUPS.
*
@@ -1729,5 +1729,5 @@ snmp_set_error(cups_snmp_t *packet, /* I - Packet */
/*
- * End of "$Id: snmp.c 10837 2013-01-24 18:09:22Z mike $".
+ * End of "$Id: snmp.c 4167 2013-02-04 19:27:13Z msweet $".
*/
diff --git a/cups/snprintf.c b/cups/snprintf.c
index b1a68d89..4029d2c1 100644
--- a/cups/snprintf.c
+++ b/cups/snprintf.c
@@ -1,5 +1,5 @@
/*
- * "$Id: snprintf.c 10845 2013-01-31 13:08:59Z mike $"
+ * "$Id: snprintf.c 10996 2013-05-29 11:51:34Z msweet $"
*
* snprintf functions for CUPS.
*
@@ -361,6 +361,6 @@ _cups_snprintf(char *buffer, /* O - Output buffer */
/*
- * End of "$Id: snprintf.c 10845 2013-01-31 13:08:59Z mike $".
+ * End of "$Id: snprintf.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/sspi.c b/cups/sspi.c
index 3ad3a017..ff79e5a6 100644
--- a/cups/sspi.c
+++ b/cups/sspi.c
@@ -1,5 +1,5 @@
/*
- * "$Id: sspi.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: sspi.c 3247 2011-05-12 06:22:31Z msweet $"
*
* Windows SSPI SSL implementation for CUPS.
*
@@ -1481,5 +1481,5 @@ cleanup:
/*
- * End of "$Id: sspi.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: sspi.c 3247 2011-05-12 06:22:31Z msweet $".
*/
diff --git a/cups/string-private.h b/cups/string-private.h
index bf103944..305983eb 100644
--- a/cups/string-private.h
+++ b/cups/string-private.h
@@ -1,9 +1,9 @@
/*
- * "$Id: string-private.h 9950 2011-09-01 23:02:24Z mike $"
+ * "$Id: string-private.h 11021 2013-06-06 22:08:14Z msweet $"
*
* Private string definitions for CUPS.
*
- * Copyright 2007-2011 by Apple Inc.
+ * Copyright 2007-2013 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -102,6 +102,12 @@ _cups_isalpha(int ch) /* I - Character to test */
}
_CUPS_INLINE int /* O - 1 on match, 0 otherwise */
+_cups_islower(int ch) /* I - Character to test */
+{
+ return (ch >= 'a' && ch <= 'z');
+}
+
+_CUPS_INLINE int /* O - 1 on match, 0 otherwise */
_cups_isspace(int ch) /* I - Character to test */
{
return (ch == ' ' || ch == '\f' || ch == '\n' || ch == '\r' || ch == '\t' ||
@@ -119,12 +125,20 @@ _cups_tolower(int ch) /* I - Character to convert */
{
return (_cups_isupper(ch) ? ch - 'A' + 'a' : ch);
}
+
+_CUPS_INLINE int /* O - Converted character */
+_cups_toupper(int ch) /* I - Character to convert */
+{
+ return (_cups_islower(ch) ? ch - 'a' + 'A' : ch);
+}
# else
extern int _cups_isalnum(int ch);
extern int _cups_isalpha(int ch);
+extern int _cups_islower(int ch);
extern int _cups_isspace(int ch);
extern int _cups_isupper(int ch);
extern int _cups_tolower(int ch);
+extern int _cups_toupper(int ch);
# endif /* _CUPS_INLINE */
@@ -196,5 +210,5 @@ extern double _cupsStrScand(const char *buf, char **bufptr,
#endif /* !_CUPS_STRING_H_ */
/*
- * End of "$Id: string-private.h 9950 2011-09-01 23:02:24Z mike $".
+ * End of "$Id: string-private.h 11021 2013-06-06 22:08:14Z msweet $".
*/
diff --git a/cups/string.c b/cups/string.c
index 53ff0ae1..16a3d95a 100644
--- a/cups/string.c
+++ b/cups/string.c
@@ -1,5 +1,5 @@
/*
- * "$Id: string.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: string.c 10996 2013-05-29 11:51:34Z msweet $"
*
* String functions for CUPS.
*
@@ -759,5 +759,5 @@ compare_sp_items(_cups_sp_item_t *a, /* I - First item */
/*
- * End of "$Id: string.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: string.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/tempfile.c b/cups/tempfile.c
index 72b85167..6973702c 100644
--- a/cups/tempfile.c
+++ b/cups/tempfile.c
@@ -1,5 +1,5 @@
/*
- * "$Id: tempfile.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: tempfile.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Temp file utilities for CUPS.
*
@@ -229,5 +229,5 @@ cupsTempFile2(char *filename, /* I - Pointer to buffer */
/*
- * End of "$Id: tempfile.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: tempfile.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/test.ppd b/cups/test.ppd
index b5de3440..fc453a64 100644
--- a/cups/test.ppd
+++ b/cups/test.ppd
@@ -1,6 +1,6 @@
*PPD-Adobe: "4.3"
*%
-*% "$Id: test.ppd 9314 2010-09-24 02:36:17Z mike $"
+*% "$Id: test.ppd 7819 2008-08-01 00:27:24Z mike $"
*%
*% Test PPD file for CUPS.
*%
@@ -258,5 +258,5 @@ help:anchor='foo'%20bookID=Vendor%20Help
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
*%
-*% End of "$Id: test.ppd 9314 2010-09-24 02:36:17Z mike $".
+*% End of "$Id: test.ppd 7819 2008-08-01 00:27:24Z mike $".
*%
diff --git a/cups/test2.ppd b/cups/test2.ppd
index 3f19bc3f..353afb6e 100644
--- a/cups/test2.ppd
+++ b/cups/test2.ppd
@@ -1,6 +1,6 @@
*PPD-Adobe: "4.3"
*%
-*% "$Id: test2.ppd 9771 2011-05-12 05:21:56Z mike $"
+*% "$Id: test2.ppd 7791 2008-07-24 00:55:30Z mike $"
*%
*% Test PPD file #2 for CUPS.
*%
@@ -248,5 +248,5 @@ help:anchor='foo'%20bookID=Vendor%20Help
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
*%
-*% End of "$Id: test2.ppd 9771 2011-05-12 05:21:56Z mike $".
+*% End of "$Id: test2.ppd 7791 2008-07-24 00:55:30Z mike $".
*%
diff --git a/cups/testadmin.c b/cups/testadmin.c
index cd194e06..04b02f1c 100644
--- a/cups/testadmin.c
+++ b/cups/testadmin.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testadmin.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: testadmin.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Admin function test program for CUPS.
*
@@ -117,5 +117,5 @@ show_settings(
/*
- * End of "$Id: testadmin.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: testadmin.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/testarray.c b/cups/testarray.c
index 60d6fcf7..8003dfc3 100644
--- a/cups/testarray.c
+++ b/cups/testarray.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testarray.c 10660 2012-10-23 18:45:08Z mike $"
+ * "$Id: testarray.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Array test program for CUPS.
*
@@ -558,5 +558,5 @@ load_words(const char *filename, /* I - File to load */
/*
- * End of "$Id: testarray.c 10660 2012-10-23 18:45:08Z mike $".
+ * End of "$Id: testarray.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/testconflicts.c b/cups/testconflicts.c
index 751a91e0..0ccca825 100644
--- a/cups/testconflicts.c
+++ b/cups/testconflicts.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testconflicts.c 10378 2012-03-23 21:38:25Z mike $"
+ * "$Id: testconflicts.c 3755 2012-03-30 05:59:14Z msweet $"
*
* PPD constraint test program for CUPS.
*
@@ -134,5 +134,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: testconflicts.c 10378 2012-03-23 21:38:25Z mike $".
+ * End of "$Id: testconflicts.c 3755 2012-03-30 05:59:14Z msweet $".
*/
diff --git a/cups/testcups.c b/cups/testcups.c
index 70d01301..754a6f9e 100644
--- a/cups/testcups.c
+++ b/cups/testcups.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testcups.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: testcups.c 11060 2013-06-25 15:02:18Z msweet $"
*
* CUPS API test program for CUPS.
*
@@ -24,6 +24,7 @@
* Include necessary headers...
*/
+#undef _CUPS_NO_DEPRECATED
#include "string-private.h"
#include "cups.h"
#include "ppd.h"
@@ -567,5 +568,5 @@ show_diffs(cups_dest_t *a, /* I - First destination */
/*
- * End of "$Id: testcups.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: testcups.c 11060 2013-06-25 15:02:18Z msweet $".
*/
diff --git a/cups/testfile.c b/cups/testfile.c
index 2f76dfca..2c86d821 100644
--- a/cups/testfile.c
+++ b/cups/testfile.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testfile.c 9926 2011-08-27 09:23:01Z mike $"
+ * "$Id: testfile.c 10996 2013-05-29 11:51:34Z msweet $"
*
* File test program for CUPS.
*
@@ -817,5 +817,5 @@ read_write_tests(int compression) /* I - Use compression? */
/*
- * End of "$Id: testfile.c 9926 2011-08-27 09:23:01Z mike $".
+ * End of "$Id: testfile.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/testhttp.c b/cups/testhttp.c
index 5e74c1a9..08dc4b95 100644
--- a/cups/testhttp.c
+++ b/cups/testhttp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testhttp.c 10898 2013-03-11 18:37:27Z mike $"
+ * "$Id: testhttp.c 11052 2013-06-25 01:42:48Z msweet $"
*
* HTTP test program for CUPS.
*
@@ -40,7 +40,8 @@ typedef struct uri_test_s /**** URI test cases ****/
*hostname, /* Hostname string */
*resource; /* Resource string */
int port, /* Port number */
- assemble_port; /* Port number for httpAssembleURI() */
+ assemble_port, /* Port number for httpAssembleURI() */
+ assemble_coding;/* Coding for httpAssembleURI() */
} uri_test_t;
@@ -52,97 +53,143 @@ static uri_test_t uri_tests[] = /* URI test data */
{
/* Start with valid URIs */
{ HTTP_URI_STATUS_OK, "file:/filename",
- "file", "", "", "/filename", 0, 0 },
+ "file", "", "", "/filename", 0, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "file:/filename%20with%20spaces",
- "file", "", "", "/filename with spaces", 0, 0 },
+ "file", "", "", "/filename with spaces", 0, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "file:///filename",
- "file", "", "", "/filename", 0, 0 },
+ "file", "", "", "/filename", 0, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "file:///filename%20with%20spaces",
- "file", "", "", "/filename with spaces", 0, 0 },
+ "file", "", "", "/filename with spaces", 0, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "file://localhost/filename",
- "file", "", "localhost", "/filename", 0, 0 },
+ "file", "", "localhost", "/filename", 0, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "file://localhost/filename%20with%20spaces",
- "file", "", "localhost", "/filename with spaces", 0, 0 },
+ "file", "", "localhost", "/filename with spaces", 0, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "http://server/",
- "http", "", "server", "/", 80, 0 },
+ "http", "", "server", "/", 80, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "http://username@server/",
- "http", "username", "server", "/", 80, 0 },
+ "http", "username", "server", "/", 80, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "http://username:passwor%64@server/",
- "http", "username:password", "server", "/", 80, 0 },
+ "http", "username:password", "server", "/", 80, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "http://username:passwor%64@server:8080/",
- "http", "username:password", "server", "/", 8080, 8080 },
+ "http", "username:password", "server", "/", 8080, 8080,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "http://username:passwor%64@server:8080/directory/filename",
- "http", "username:password", "server", "/directory/filename", 8080, 8080 },
+ "http", "username:password", "server", "/directory/filename", 8080, 8080,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "http://[2000::10:100]:631/ipp",
- "http", "", "2000::10:100", "/ipp", 631, 631 },
+ "http", "", "2000::10:100", "/ipp", 631, 631,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "https://username:passwor%64@server/directory/filename",
- "https", "username:password", "server", "/directory/filename", 443, 0 },
+ "https", "username:password", "server", "/directory/filename", 443, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "ipp://username:passwor%64@[::1]/ipp",
- "ipp", "username:password", "::1", "/ipp", 631, 0 },
+ "ipp", "username:password", "::1", "/ipp", 631, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "lpd://server/queue?reserve=yes",
- "lpd", "", "server", "/queue?reserve=yes", 515, 0 },
+ "lpd", "", "server", "/queue?reserve=yes", 515, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "mailto:user@domain.com",
- "mailto", "", "", "user@domain.com", 0, 0 },
+ "mailto", "", "", "user@domain.com", 0, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "socket://server/",
- "socket", "", "server", "/", 9100, 0 },
+ "socket", "", "server", "/", 9100, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "socket://192.168.1.1:9101/",
- "socket", "", "192.168.1.1", "/", 9101, 9101 },
+ "socket", "", "192.168.1.1", "/", 9101, 9101,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "ipp://username:password@[v1.fe80::200:1234:5678:9abc+eth0]:999/ipp",
- "ipp", "username:password", "fe80::200:1234:5678:9abc%eth0", "/ipp", 999, 999 },
+ "ipp", "username:password", "fe80::200:1234:5678:9abc%eth0", "/ipp", 999, 999,
+ HTTP_URI_CODING_MOST },
+ { HTTP_URI_STATUS_OK, "ipp://username:password@[fe80::200:1234:5678:9abc%25eth0]:999/ipp",
+ "ipp", "username:password", "fe80::200:1234:5678:9abc%eth0", "/ipp", 999, 999,
+ HTTP_URI_CODING_MOST | HTTP_URI_CODING_RFC6874 },
{ HTTP_URI_STATUS_OK, "http://server/admin?DEVICE_URI=usb://HP/Photosmart%25202600%2520series?serial=MY53OK70V10400",
- "http", "", "server", "/admin?DEVICE_URI=usb://HP/Photosmart%25202600%2520series?serial=MY53OK70V10400", 80, 0 },
+ "http", "", "server", "/admin?DEVICE_URI=usb://HP/Photosmart%25202600%2520series?serial=MY53OK70V10400", 80, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "lpd://Acme%20Laser%20(01%3A23%3A45).local._tcp._printer/",
- "lpd", "", "Acme Laser (01:23:45).local._tcp._printer", "/", 515, 0 },
+ "lpd", "", "Acme Laser (01:23:45).local._tcp._printer", "/", 515, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_OK, "ipp://HP%20Officejet%204500%20G510n-z%20%40%20Will's%20MacBook%20Pro%2015%22._ipp._tcp.local./",
- "ipp", "", "HP Officejet 4500 G510n-z @ Will's MacBook Pro 15\"._ipp._tcp.local.", "/", 631, 0 },
+ "ipp", "", "HP Officejet 4500 G510n-z @ Will's MacBook Pro 15\"._ipp._tcp.local.", "/", 631, 0,
+ HTTP_URI_CODING_MOST },
+ { HTTP_URI_STATUS_OK, "ipp://%22%23%2F%3A%3C%3E%3F%40%5B%5C%5D%5E%60%7B%7C%7D/",
+ "ipp", "", "\"#/:<>?@[\\]^`{|}", "/", 631, 0,
+ HTTP_URI_CODING_MOST },
/* Missing scheme */
{ HTTP_URI_STATUS_MISSING_SCHEME, "/path/to/file/index.html",
- "file", "", "", "/path/to/file/index.html", 0, 0 },
+ "file", "", "", "/path/to/file/index.html", 0, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_MISSING_SCHEME, "//server/ipp",
- "ipp", "", "server", "/ipp", 631, 0 },
+ "ipp", "", "server", "/ipp", 631, 0,
+ HTTP_URI_CODING_MOST },
/* Unknown scheme */
{ HTTP_URI_STATUS_UNKNOWN_SCHEME, "vendor://server/resource",
- "vendor", "", "server", "/resource", 0, 0 },
+ "vendor", "", "server", "/resource", 0, 0,
+ HTTP_URI_CODING_MOST },
/* Missing resource */
{ HTTP_URI_STATUS_MISSING_RESOURCE, "socket://[::192.168.2.1]",
- "socket", "", "::192.168.2.1", "/", 9100, 0 },
+ "socket", "", "::192.168.2.1", "/", 9100, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_MISSING_RESOURCE, "socket://192.168.1.1:9101",
- "socket", "", "192.168.1.1", "/", 9101 },
+ "socket", "", "192.168.1.1", "/", 9101, 0,
+ HTTP_URI_CODING_MOST },
/* Bad URI */
{ HTTP_URI_STATUS_BAD_URI, "",
- "", "", "", "", 0, 0 },
+ "", "", "", "", 0, 0,
+ HTTP_URI_CODING_MOST },
/* Bad scheme */
{ HTTP_URI_STATUS_BAD_SCHEME, "bad_scheme://server/resource",
- "", "", "", "", 0, 0 },
+ "", "", "", "", 0, 0,
+ HTTP_URI_CODING_MOST },
/* Bad username */
{ HTTP_URI_STATUS_BAD_USERNAME, "http://username:passwor%6@server/resource",
- "http", "", "", "", 80, 0 },
+ "http", "", "", "", 80, 0,
+ HTTP_URI_CODING_MOST },
/* Bad hostname */
{ HTTP_URI_STATUS_BAD_HOSTNAME, "http://[/::1]/index.html",
- "http", "", "", "", 80, 0 },
+ "http", "", "", "", 80, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_BAD_HOSTNAME, "http://[",
- "http", "", "", "", 80, 0 },
+ "http", "", "", "", 80, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_BAD_HOSTNAME, "http://serve%7/index.html",
- "http", "", "", "", 80, 0 },
+ "http", "", "", "", 80, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_BAD_HOSTNAME, "http://server with spaces/index.html",
- "http", "", "", "", 80, 0 },
+ "http", "", "", "", 80, 0,
+ HTTP_URI_CODING_MOST },
+ { HTTP_URI_STATUS_BAD_HOSTNAME, "ipp://\"#/:<>?@[\\]^`{|}/",
+ "ipp", "", "", "", 631, 0,
+ HTTP_URI_CODING_MOST },
/* Bad port number */
{ HTTP_URI_STATUS_BAD_PORT, "http://127.0.0.1:9999a/index.html",
- "http", "", "127.0.0.1", "", 0, 0 },
+ "http", "", "127.0.0.1", "", 0, 0,
+ HTTP_URI_CODING_MOST },
/* Bad resource */
{ HTTP_URI_STATUS_BAD_RESOURCE, "http://server/index.html%",
- "http", "", "server", "", 80, 0 },
+ "http", "", "server", "", 80, 0,
+ HTTP_URI_CODING_MOST },
{ HTTP_URI_STATUS_BAD_RESOURCE, "http://server/index with spaces.html",
- "http", "", "server", "", 80, 0 }
+ "http", "", "server", "", 80, 0,
+ HTTP_URI_CODING_MOST }
};
static const char * const base64_tests[][2] =
{
@@ -412,7 +459,7 @@ main(int argc, /* I - Number of command-line arguments */
strstr(uri_tests[i].uri, "//"))
{
k ++;
- uri_status = httpAssembleURI(HTTP_URI_CODING_MOST,
+ uri_status = httpAssembleURI(uri_tests[i].assemble_coding,
buffer, sizeof(buffer),
uri_tests[i].scheme,
uri_tests[i].username,
@@ -452,6 +499,21 @@ main(int argc, /* I - Number of command-line arguments */
printf("PASS (%d URIs tested)\n", k);
/*
+ * httpAssembleUUID
+ */
+
+ fputs("httpAssembleUUID: ", stdout);
+ httpAssembleUUID("hostname.example.com", 631, "printer", 12345, buffer,
+ sizeof(buffer));
+ if (strncmp(buffer, "urn:uuid:", 9))
+ {
+ printf("FAIL (%s)\n", buffer);
+ failures ++;
+ }
+ else
+ printf("PASS (%s)\n", buffer);
+
+ /*
* Show a summary and return...
*/
@@ -617,5 +679,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: testhttp.c 10898 2013-03-11 18:37:27Z mike $".
+ * End of "$Id: testhttp.c 11052 2013-06-25 01:42:48Z msweet $".
*/
diff --git a/cups/testi18n.c b/cups/testi18n.c
index b944fa2a..e5d3b8c1 100644
--- a/cups/testi18n.c
+++ b/cups/testi18n.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testi18n.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: testi18n.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Internationalization test for CUPS.
*
@@ -615,5 +615,5 @@ print_utf8(const char *msg, /* I - Message String */
/*
- * End of "$Id: testi18n.c 10596 2012-09-07 02:49:46Z mike $"
+ * End of "$Id: testi18n.c 10996 2013-05-29 11:51:34Z msweet $"
*/
diff --git a/cups/testipp.c b/cups/testipp.c
index e84d1f52..1e8ee5ff 100644
--- a/cups/testipp.c
+++ b/cups/testipp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testipp.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: testipp.c 10996 2013-05-29 11:51:34Z msweet $"
*
* IPP test program for CUPS.
*
@@ -1017,5 +1017,5 @@ write_cb(_ippdata_t *data, /* I - Data */
/*
- * End of "$Id: testipp.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: testipp.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/testlang.c b/cups/testlang.c
index 4e80e4fc..7c16f821 100644
--- a/cups/testlang.c
+++ b/cups/testlang.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testlang.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: testlang.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Localization test program for CUPS.
*
@@ -110,5 +110,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: testlang.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: testlang.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/testoptions.c b/cups/testoptions.c
index 424e00f6..d14b64f8 100644
--- a/cups/testoptions.c
+++ b/cups/testoptions.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testoptions.c 9042 2010-03-24 00:45:34Z mike $"
+ * "$Id: testoptions.c 1992 2010-03-24 14:32:08Z msweet $"
*
* Option test program for CUPS.
*
@@ -112,5 +112,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: testoptions.c 9042 2010-03-24 00:45:34Z mike $".
+ * End of "$Id: testoptions.c 1992 2010-03-24 14:32:08Z msweet $".
*/
diff --git a/cups/testppd.c b/cups/testppd.c
index 25936e94..640c4801 100644
--- a/cups/testppd.c
+++ b/cups/testppd.c
@@ -1,9 +1,9 @@
/*
- * "$Id: testppd.c 10616 2012-09-27 03:33:42Z mike $"
+ * "$Id: testppd.c 11060 2013-06-25 15:02:18Z msweet $"
*
* PPD test program for CUPS.
*
- * Copyright 2007-2012 by Apple Inc.
+ * Copyright 2007-2013 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -23,6 +23,7 @@
* Include necessary headers...
*/
+#undef _CUPS_NO_DEPRECATED
#include "cups-private.h"
#include <sys/stat.h>
#ifdef WIN32
@@ -1108,5 +1109,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: testppd.c 10616 2012-09-27 03:33:42Z mike $".
+ * End of "$Id: testppd.c 11060 2013-06-25 15:02:18Z msweet $".
*/
diff --git a/cups/testpwg.c b/cups/testpwg.c
index 95c99b2f..f49f04a2 100644
--- a/cups/testpwg.c
+++ b/cups/testpwg.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testpwg.c 10895 2013-03-11 16:19:48Z mike $"
+ * "$Id: testpwg.c 11011 2013-06-05 17:25:22Z msweet $"
*
* PWG test program for CUPS.
*
@@ -170,6 +170,20 @@ main(int argc, /* I - Number of command-line args */
else
puts("PASS");
+ fputs("pwgMediaForPWG(\"roll_max_36.1025x3622.0472in\"): ", stdout);
+ if ((pwgmedia = pwgMediaForPWG("roll_max_36.1025x3622.0472in")) == NULL)
+ {
+ puts("FAIL (not found)");
+ status ++;
+ }
+ else if (pwgmedia->width != 91700 || pwgmedia->length != 9199999)
+ {
+ printf("FAIL (%dx%d)\n", pwgmedia->width, pwgmedia->length);
+ status ++;
+ }
+ else
+ printf("PASS (%dx%d)\n", pwgmedia->width, pwgmedia->length);
+
fputs("pwgMediaForLegacy(\"na-letter\"): ", stdout);
if ((pwgmedia = pwgMediaForLegacy("na-letter")) == NULL)
{
@@ -521,5 +535,5 @@ test_ppd_cache(_ppd_cache_t *pc, /* I - PWG mapping data */
/*
- * End of "$Id: testpwg.c 10895 2013-03-11 16:19:48Z mike $".
+ * End of "$Id: testpwg.c 11011 2013-06-05 17:25:22Z msweet $".
*/
diff --git a/cups/testsnmp.c b/cups/testsnmp.c
index 1cfea838..b60c2b79 100644
--- a/cups/testsnmp.c
+++ b/cups/testsnmp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testsnmp.c 9950 2011-09-01 23:02:24Z mike $"
+ * "$Id: testsnmp.c 3411 2011-09-07 22:31:27Z msweet $"
*
* SNMP test program for CUPS.
*
@@ -300,5 +300,5 @@ usage(void)
/*
- * End of "$Id: testsnmp.c 9950 2011-09-01 23:02:24Z mike $".
+ * End of "$Id: testsnmp.c 3411 2011-09-07 22:31:27Z msweet $".
*/
diff --git a/cups/thread-private.h b/cups/thread-private.h
index ef6d4446..3409be44 100644
--- a/cups/thread-private.h
+++ b/cups/thread-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: thread-private.h 10435 2012-04-23 21:49:48Z mike $"
+ * "$Id: thread-private.h 3794 2012-04-23 22:44:16Z msweet $"
*
* Private threading definitions for CUPS.
*
@@ -94,5 +94,5 @@ extern int _cupsThreadCreate(_cups_thread_func_t func, void *arg);
#endif /* !_CUPS_THREAD_PRIVATE_H_ */
/*
- * End of "$Id: thread-private.h 10435 2012-04-23 21:49:48Z mike $".
+ * End of "$Id: thread-private.h 3794 2012-04-23 22:44:16Z msweet $".
*/
diff --git a/cups/thread.c b/cups/thread.c
index 44f54696..0f623298 100644
--- a/cups/thread.c
+++ b/cups/thread.c
@@ -1,5 +1,5 @@
/*
- * "$Id: thread.c 10435 2012-04-23 21:49:48Z mike $"
+ * "$Id: thread.c 3794 2012-04-23 22:44:16Z msweet $"
*
* Threading primitives for CUPS.
*
@@ -332,5 +332,5 @@ _cupsThreadCreate(
/*
- * End of "$Id: thread.c 10435 2012-04-23 21:49:48Z mike $".
+ * End of "$Id: thread.c 3794 2012-04-23 22:44:16Z msweet $".
*/
diff --git a/cups/transcode.c b/cups/transcode.c
index effc7ecc..131b0741 100644
--- a/cups/transcode.c
+++ b/cups/transcode.c
@@ -1,5 +1,5 @@
/*
- * "$Id: transcode.c 9820 2011-06-10 22:06:26Z mike $"
+ * "$Id: transcode.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Transcoding support for CUPS.
*
@@ -716,5 +716,5 @@ cupsUTF32ToUTF8(
/*
- * End of "$Id: transcode.c 9820 2011-06-10 22:06:26Z mike $"
+ * End of "$Id: transcode.c 10996 2013-05-29 11:51:34Z msweet $"
*/
diff --git a/cups/transcode.h b/cups/transcode.h
index e4a42527..da95d0cd 100644
--- a/cups/transcode.h
+++ b/cups/transcode.h
@@ -1,5 +1,5 @@
/*
- * "$Id: transcode.h 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: transcode.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Transcoding definitions for CUPS.
*
@@ -77,5 +77,5 @@ extern int cupsUTF32ToUTF8(cups_utf8_t *dest,
/*
- * End of "$Id: transcode.h 9771 2011-05-12 05:21:56Z mike $"
+ * End of "$Id: transcode.h 10996 2013-05-29 11:51:34Z msweet $"
*/
diff --git a/cups/usersys.c b/cups/usersys.c
index d52bd3f7..76325696 100644
--- a/cups/usersys.c
+++ b/cups/usersys.c
@@ -1,5 +1,5 @@
/*
- * "$Id: usersys.c 10902 2013-03-12 14:22:34Z mike $"
+ * "$Id: usersys.c 11113 2013-07-10 14:08:39Z msweet $"
*
* User, system, and password routines for CUPS.
*
@@ -370,6 +370,8 @@ cupsSetServer(const char *server) /* I - Server name */
else if (!strcmp(options, "version=2.2"))
cg->server_version = 22;
}
+ else
+ cg->server_version = 20;
if (cg->server[0] != '/' && (port = strrchr(cg->server, ':')) != NULL &&
!strchr(port, ']') && isdigit(port[1] & 255))
@@ -453,7 +455,7 @@ cupsSetUser(const char *user) /* I - User name */
* Setting the string to NULL forces the default value containing the CUPS
* version, IPP version, and operating system version and architecture.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
void
@@ -528,7 +530,7 @@ cupsUser(void)
/*
* 'cupsUserAgent()' - Return the default HTTP User-Agent string.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
const char * /* O - User-Agent string */
@@ -1135,5 +1137,5 @@ cups_read_client_conf(
/*
- * End of "$Id: usersys.c 10902 2013-03-12 14:22:34Z mike $".
+ * End of "$Id: usersys.c 11113 2013-07-10 14:08:39Z msweet $".
*/
diff --git a/cups/util.c b/cups/util.c
index 78a0f835..602b6b68 100644
--- a/cups/util.c
+++ b/cups/util.c
@@ -1,5 +1,5 @@
/*
- * "$Id: util.c 10881 2013-02-25 22:12:59Z mike $"
+ * "$Id: util.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Printing utilities for CUPS.
*
@@ -1850,5 +1850,5 @@ cups_get_printer_uri(
/*
- * End of "$Id: util.c 10881 2013-02-25 22:12:59Z mike $".
+ * End of "$Id: util.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/cups/versioning.h b/cups/versioning.h
index 5baa05ee..fe2e30bf 100644
--- a/cups/versioning.h
+++ b/cups/versioning.h
@@ -1,5 +1,5 @@
/*
- * "$Id: versioning.h 10783 2013-01-08 14:22:22Z mike $"
+ * "$Id: versioning.h 11056 2013-06-25 14:27:30Z msweet $"
*
* API versioning definitions for CUPS.
*
@@ -106,14 +106,18 @@
*/
# define _CUPS_DEPRECATED
# define _CUPS_DEPRECATED_MSG(m)
+# define _CUPS_DEPRECATED_1_6_MSG(m)
+# define _CUPS_DEPRECATED_1_7_MSG(m)
# define _CUPS_INTERNAL_MSG(m)
# elif defined(_CUPS_HAS_UNAVAILABLE_WITH_MESSAGE) && defined(_CUPS_NO_DEPRECATED)
/*
- * Compiler supports the unsupported attribute, so use it when the code
+ * Compiler supports the unavailable attribute, so use it when the code
* wants to exclude the use of deprecated API.
*/
# define _CUPS_DEPRECATED __attribute__ ((unavailable))
# define _CUPS_DEPRECATED_MSG(m) __attribute__ ((unavailable(m)))
+# define _CUPS_DEPRECATED_1_6_MSG(m) __attribute__ ((unavailable(m)))
+# define _CUPS_DEPRECATED_1_7_MSG(m) __attribute__ ((unavailable(m)))
# define _CUPS_INTERNAL_MSG(m) __attribute__ ((unavailable(m)))
# else
/*
@@ -125,6 +129,16 @@
# else
# define _CUPS_DEPRECATED_MSG(m) __attribute__ ((deprecated))
# endif /* _CUPS_HAS_DEPRECATED_WITH_MESSAGE */
+# if defined(MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
+# define _CUPS_DEPRECATED_1_6_MSG(m) _CUPS_DEPRECATED_MSG(m)
+# else
+# define _CUPS_DEPRECATED_1_6_MSG(m)
+# endif /* MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_8 */
+# if defined(MAC_OS_X_VERSION_10_9) && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9
+# define _CUPS_DEPRECATED_1_7_MSG(m) _CUPS_DEPRECATED_MSG(m)
+# else
+# define _CUPS_DEPRECATED_1_7_MSG(m)
+# endif /* MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_9 */
# ifdef _CUPS_SOURCE
# define _CUPS_INTERNAL_MSG(m)
# elif defined(_CUPS_HAS_UNAVAILABLE_WITH_MESSAGE)
@@ -143,5 +157,5 @@
#endif /* !_CUPS_VERSIONING_H_ */
/*
- * End of "$Id: versioning.h 10783 2013-01-08 14:22:22Z mike $".
+ * End of "$Id: versioning.h 11056 2013-06-25 14:27:30Z msweet $".
*/
diff --git a/data/Makefile b/data/Makefile
index 5ab96095..7753b7db 100644
--- a/data/Makefile
+++ b/data/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 9926 2011-08-27 09:23:01Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Datafile makefile for CUPS.
#
@@ -146,5 +146,5 @@ uninstall:
#
-# End of "$Id: Makefile 9926 2011-08-27 09:23:01Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/data/epson.h b/data/epson.h
index 8f6d2c3e..1b0fe9fe 100644
--- a/data/epson.h
+++ b/data/epson.h
@@ -1,5 +1,5 @@
/*
- * "$Id: epson.h 7304 2008-02-14 01:52:22Z mike $"
+ * "$Id: epson.h 624 2008-02-16 00:27:39Z msweet $"
*
* This file contains model number definitions for the CUPS sample
* ESC/P driver.
@@ -23,5 +23,5 @@
/*
- * End of "$Id: epson.h 7304 2008-02-14 01:52:22Z mike $".
+ * End of "$Id: epson.h 624 2008-02-16 00:27:39Z msweet $".
*/
diff --git a/data/hp.h b/data/hp.h
index f6938fdf..3a5ba3da 100644
--- a/data/hp.h
+++ b/data/hp.h
@@ -1,5 +1,5 @@
/*
- * "$Id: hp.h 7304 2008-02-14 01:52:22Z mike $"
+ * "$Id: hp.h 624 2008-02-16 00:27:39Z msweet $"
*
* This file contains model number definitions for the CUPS sample
* HP driver.
@@ -20,5 +20,5 @@
/*
- * End of "$Id: hp.h 7304 2008-02-14 01:52:22Z mike $".
+ * End of "$Id: hp.h 624 2008-02-16 00:27:39Z msweet $".
*/
diff --git a/data/label.h b/data/label.h
index a23d9643..38cdc37b 100644
--- a/data/label.h
+++ b/data/label.h
@@ -1,5 +1,5 @@
/*
- * "$Id: label.h 7304 2008-02-14 01:52:22Z mike $"
+ * "$Id: label.h 624 2008-02-16 00:27:39Z msweet $"
*
* This file contains model number definitions for the CUPS sample
* label printer driver.
@@ -24,5 +24,5 @@
#define INTELLITECH_PCL 0x20 /* Intellitech PCL-based printers */
/*
- * End of "$Id: label.h 7304 2008-02-14 01:52:22Z mike $".
+ * End of "$Id: label.h 624 2008-02-16 00:27:39Z msweet $".
*/
diff --git a/desktop/Makefile b/desktop/Makefile
index ed43bceb..c4fdd767 100644
--- a/desktop/Makefile
+++ b/desktop/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 8844 2009-10-14 16:53:45Z mike $"
+# "$Id: Makefile 1725 2009-10-15 18:50:47Z msweet $"
#
# Desktop makefile for CUPS.
#
@@ -131,5 +131,5 @@ uninstall:
#
-# End of "$Id: Makefile 8844 2009-10-14 16:53:45Z mike $".
+# End of "$Id: Makefile 1725 2009-10-15 18:50:47Z msweet $".
#
diff --git a/doc/Makefile b/doc/Makefile
index 6ebeae94..0db512cc 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10763 2012-12-13 20:29:45Z mike $"
+# "$Id: Makefile 11109 2013-07-08 21:15:13Z msweet $"
#
# Documentation makefile for CUPS.
#
@@ -125,7 +125,6 @@ HELPFILES = \
help/spec-ppd.html \
help/spec-raster.html \
help/spec-stp.html \
- help/standard.html \
help/translation.html \
help/whatsnew.html
diff --git a/doc/help/api-array.html b/doc/help/api-array.html
index 7211fd8a..0c1998ee 100644
--- a/doc/help/api-array.html
+++ b/doc/help/api-array.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-array.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id: api-array.header 7266 2008-01-29 02:15:29Z mike $"
Array API header for CUPS.
@@ -413,7 +413,7 @@ div.contents ul.subcontents li {
</ul></li>
</ul>
<!--
- "$Id: api-array.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
Array API introduction for CUPS.
diff --git a/doc/help/api-cgi.html b/doc/help/api-cgi.html
index 5c07e58a..82c740a8 100644
--- a/doc/help/api-cgi.html
+++ b/doc/help/api-cgi.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-cgi.html 9740 2011-05-04 06:26:22Z mike $"
+ "$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
CGI API header for CUPS.
@@ -437,7 +437,7 @@ by the template file.">cgiGetAttributes</a></li>
</ul></li>
</ul>
<!--
- "$Id: api-cgi.html 9740 2011-05-04 06:26:22Z mike $"
+ "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
CGI API introduction for CUPS.
diff --git a/doc/help/api-cups.html b/doc/help/api-cups.html
index 3f4f48b0..b355e108 100644
--- a/doc/help/api-cups.html
+++ b/doc/help/api-cups.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-cups.html 10909 2013-03-14 18:45:49Z mike $"
+ "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
CUPS API header for CUPS.
@@ -547,11 +547,11 @@ constants">cups_ptype_e</a></li>
</ul></li>
</ul>
<!--
- "$Id: api-cups.html 10909 2013-03-14 18:45:49Z mike $"
+ "$Id: api-cups.shtml 7337 2008-02-22 04:44:04Z mike $"
API introduction for CUPS.
- Copyright 2007-2011 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
@@ -731,7 +731,7 @@ int num_options = 0;
<a href='#cups_option_t'>cups_option_t</a> *options = NULL;
<a href='#cups_dest_t'>cups_dest_t</a> *dest;
-for (i = 0; i < dest->num_options; i ++)
+for (i = 0; i &lt; dest->num_options; i ++)
num_options = <a href='#cupsAddOption'>cupsAddOption</a>(dest->options[i].name, dest->options[i].value,
num_options, &amp;options);
</pre>
@@ -783,7 +783,7 @@ job_id = <a href='#cupsPrintFiles'>cupsPrintFiles</a>(dest->name, 3, files, "Tes
<p>Finally, the <a href='#cupsCreateJob'><code>cupsCreateJob</code></a>
function creates a new job with no files in it. Files are added using the
-<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
+<a href='#cupsStartDocument'><code>cupsStartDocument</code></a>,
<a href='api-httpipp.html#cupsWriteRequestData'><code>cupsWriteRequestData</code></a>,
and <a href='#cupsFinishDocument'><code>cupsFinishDocument</code></a> functions.
The following example creates a job with 10 text files for printing:</p>
@@ -847,7 +847,7 @@ int num_jobs;
<a href='#cups_job_t'>cups_job_t</a> *jobs;
int i;
ipp_jstate_t job_state = IPP_JOB_PENDING;
-
+
while (job_state &lt; IPP_JOB_STOPPED)
{
/* Get my jobs (1) with any state (-1) */
@@ -1629,7 +1629,7 @@ Enumeration happens on the current thread and does not return until all
destinations have been enumerated or the block returns 0.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="cupsFindDestDefault">cupsFindDestDefault</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="cupsFindDestDefault">cupsFindDestDefault</a></h3>
<p class="description">Find the default value(s) for the given option.</p>
<p class="code">
ipp_attribute_t *cupsFindDestDefault (<br>
@@ -1659,7 +1659,7 @@ ipp_attribute_t *cupsFindDestDefault (<br>
functions to inspect the default value(s) as needed.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="cupsFindDestReady">cupsFindDestReady</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="cupsFindDestReady">cupsFindDestReady</a></h3>
<p class="description">Find the default value(s) for the given option.</p>
<p class="code">
ipp_attribute_t *cupsFindDestReady (<br>
@@ -1689,7 +1689,7 @@ ipp_attribute_t *cupsFindDestReady (<br>
functions to inspect the default value(s) as needed.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="cupsFindDestSupported">cupsFindDestSupported</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="cupsFindDestSupported">cupsFindDestSupported</a></h3>
<p class="description">Find the default value(s) for the given option.</p>
<p class="code">
ipp_attribute_t *cupsFindDestSupported (<br>
@@ -1893,7 +1893,7 @@ not support the lpoptions-defined default printer.
<h4 class="discussion">Discussion</h4>
<p class="discussion">Use the <a href="#cupsGetDests"><code>cupsGetDests</code></a> or <a href="#cupsGetDests2"><code>cupsGetDests2</code></a> functions to get a
list of supported destinations for the current user.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="cupsGetDestMediaByIndex">cupsGetDestMediaByIndex</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="cupsGetDestMediaByIndex">cupsGetDestMediaByIndex</a></h3>
<p class="description">Get a media name, dimension, and margins for a
specific size.</p>
<p class="code">
@@ -2021,7 +2021,7 @@ The matching result (if any) is returned in the &quot;cups_size_t&quot; structur
Returns 1 when there is a match and 0 if there is not a match.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="cupsGetDestMediaCount">cupsGetDestMediaCount</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="cupsGetDestMediaCount">cupsGetDestMediaCount</a></h3>
<p class="description">Get the number of sizes supported by a
destination.</p>
<p class="code">
@@ -2050,7 +2050,7 @@ counted. For example, passing <code>CUPS_MEDIA_FLAGS_BORDERLESS</code> will ret
the number of borderless sizes.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="cupsGetDestMediaDefault">cupsGetDestMediaDefault</a></h3>
<p class="description">Get the default size for a destination.</p>
<p class="code">
int cupsGetDestMediaDefault (<br>
@@ -3019,7 +3019,7 @@ void cupsSetUser (<br>
Note: The current user name is tracked separately for each thread in a
program. Multi-threaded programs that override the user name need to do so
in each thread for the same user name to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="cupsSetUserAgent">cupsSetUserAgent</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="cupsSetUserAgent">cupsSetUserAgent</a></h3>
<p class="description">Set the default HTTP User-Agent string.</p>
<p class="code">
void cupsSetUserAgent (<br>
@@ -3192,13 +3192,13 @@ const char *cupsUser (void);</p>
program. Multi-threaded programs that override the user name with the
<a href="#cupsSetUser"><code>cupsSetUser</code></a> function need to do so in each thread for the same user
name to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="cupsUserAgent">cupsUserAgent</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="cupsUserAgent">cupsUserAgent</a></h3>
<p class="description">Return the default HTTP User-Agent string.</p>
<p class="code">
const char *cupsUserAgent (void);</p>
<h4 class="returnvalue">Return Value</h4>
<p class="description">User-Agent string</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="pwgFormatSizeName">pwgFormatSizeName</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="pwgFormatSizeName">pwgFormatSizeName</a></h3>
<p class="description">Generate a PWG self-describing media size name.</p>
<p class="code">
int pwgFormatSizeName (<br>
@@ -3246,7 +3246,7 @@ units string is <code>NULL</code>, otherwise inches (&quot;in&quot;) or millimet
are used.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="pwgInitSize">pwgInitSize</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="pwgInitSize">pwgInitSize</a></h3>
<p class="description">Initialize a pwg_size_t structure using IPP Job Template
attributes.</p>
<p class="code">
@@ -3276,7 +3276,7 @@ member attribute was specified in the &quot;media-col&quot; Job Template attribu
otherwise it is initialized to 0.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="pwgMediaForLegacy">pwgMediaForLegacy</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="pwgMediaForLegacy">pwgMediaForLegacy</a></h3>
<p class="description">Find a PWG media size by ISO/IPP legacy name.</p>
<p class="code">
<a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForLegacy (<br>
@@ -3294,7 +3294,7 @@ otherwise it is initialized to 0.
&quot;iso-a4&quot; or &quot;na-letter&quot;.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="pwgMediaForPPD">pwgMediaForPPD</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="pwgMediaForPPD">pwgMediaForPPD</a></h3>
<p class="description">Find a PWG media size by Adobe PPD name.</p>
<p class="code">
<a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForPPD (<br>
@@ -3318,7 +3318,7 @@ thread. Custom names can be of the form &quot;Custom.WIDTHxLENGTH[units]&quot;
&quot;WIDTHxLENGTH[units]&quot;.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="pwgMediaForPWG">pwgMediaForPWG</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="pwgMediaForPWG">pwgMediaForPWG</a></h3>
<p class="description">Find a PWG media size by 5101.1 self-describing name.</p>
<p class="code">
<a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForPWG (<br>
@@ -3340,7 +3340,7 @@ thread-local storage and is overwritten by each call to the function in the
thread.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="pwgMediaForSize">pwgMediaForSize</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="pwgMediaForSize">pwgMediaForSize</a></h3>
<p class="description">Get the PWG media size for the given dimensions.</p>
<p class="code">
<a href="#pwg_media_t">pwg_media_t</a> *pwgMediaForSize (<br>
diff --git a/doc/help/api-driver.html b/doc/help/api-driver.html
index 1a3ee3ae..d0e4a55e 100644
--- a/doc/help/api-driver.html
+++ b/doc/help/api-driver.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-driver.html 9740 2011-05-04 06:26:22Z mike $"
+ "$Id$"
Driver API header for CUPS.
@@ -430,7 +430,7 @@ media, and resolution.">cupsFindAttr</a></li>
</ul></li>
</ul>
<!--
- "$Id: api-driver.html 9740 2011-05-04 06:26:22Z mike $"
+ "$Id$"
Driver API introduction for CUPS.
diff --git a/doc/help/api-filedir.html b/doc/help/api-filedir.html
index 8d31c7f4..fc7b72a4 100644
--- a/doc/help/api-filedir.html
+++ b/doc/help/api-filedir.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-filedir.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id: api-filedir.header 7279 2008-01-31 01:50:44Z mike $"
File and Directory API header for CUPS.
@@ -424,7 +424,7 @@ file.">cupsFileRewind</a></li>
</ul></li>
</ul>
<!--
- "$Id: api-filedir.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id: api-filedir.shtml 7279 2008-01-31 01:50:44Z mike $"
File and directory API introduction for CUPS.
diff --git a/doc/help/api-filter.html b/doc/help/api-filter.html
index 9433c655..54280587 100644
--- a/doc/help/api-filter.html
+++ b/doc/help/api-filter.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-filter.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id: api-filter.header 7616 2008-05-28 00:34:13Z mike $"
Filter and backend programming header for CUPS.
@@ -426,11 +426,11 @@ div.contents ul.subcontents li {
</ul></li>
</ul>
<!--
- "$Id: api-filter.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id: api-filter.shtml 7677 2008-06-19 23:22:19Z mike $"
Filter and backend programming introduction for CUPS.
- Copyright 2007-2012 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
@@ -915,7 +915,7 @@ from localizing the vendor-prefixed keyword in the PPD file - otherwise both
the generic and vendor-specific keyword will be shown in the user
interface.</p>
-</blockquote></dd>
+</blockquote>
<h4><a name="REPORTING_SUPPLIES">Reporting Supply Levels</a></h4>
@@ -1040,7 +1040,7 @@ datalen = sizeof(data) - 1;
status = <a href="#cupsSideChannelDoRequest">cupsSideChannelDoRequest</a>(CUPS_SC_CMD_GET_DEVICE_ID, data, &amp;datalen, 1.0);
/* Use the returned value if OK was returned and the length is non-zero */
-if (status == CUPS_SC_STATUS_OK && datalen > 0)
+if (status == CUPS_SC_STATUS_OK &amp;&amp; datalen > 0)
data[datalen] = '\0';
else
data[0] = '\0';
diff --git a/doc/help/api-httpipp.html b/doc/help/api-httpipp.html
index ddd9a81e..f6f117b5 100644
--- a/doc/help/api-httpipp.html
+++ b/doc/help/api-httpipp.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-httpipp.html 10922 2013-03-20 18:14:10Z mike $"
+ "$Id: api-httpipp.header 7258 2008-01-28 00:15:05Z mike $"
HTTP and IPP API header for CUPS.
@@ -676,7 +676,7 @@ are server-oriented...">http_state_e</a></li>
</ul></li>
</ul>
<!--
- "$Id: api-httpipp.html 10922 2013-03-20 18:14:10Z mike $"
+ "$Id: api-httpipp.shtml 7684 2008-06-23 16:47:38Z mike $"
HTTP and IPP API introduction for CUPS.
@@ -1401,7 +1401,7 @@ http_status_t cupsWriteRequestData (<br>
after <a href="#cupsStartDocument"><code>cupsStartDocument</code></a> to provide a document file.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpAcceptConnection">httpAcceptConnection</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpAcceptConnection">httpAcceptConnection</a></h3>
<p class="description">Accept a new HTTP client connection from the
specified listening socket.</p>
<p class="code">
@@ -1484,7 +1484,7 @@ int httpAddrLength (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">Length in bytes</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpAddrListen">httpAddrListen</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpAddrListen">httpAddrListen</a></h3>
<p class="description">Create a listening socket bound to the specified
address and port.</p>
<p class="code">
@@ -1533,7 +1533,7 @@ char *httpAddrLookup (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">Host name</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpAddrPort">httpAddrPort</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpAddrPort">httpAddrPort</a></h3>
<p class="description">Get the port number associated with an address.</p>
<p class="code">
int httpAddrPort (<br>
@@ -1653,7 +1653,7 @@ this function in place of traditional string functions whenever
you need to create a URI string.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpAssembleUUID">httpAssembleUUID</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpAssembleUUID">httpAssembleUUID</a></h3>
<p class="description">Assemble a name-based UUID URN conforming to RFC 4122.</p>
<p class="code">
char *httpAssembleUUID (<br>
@@ -1769,7 +1769,7 @@ void httpClose (<br>
<p class="discussion">This function is deprecated - use <a href="#httpConnect2"><code>httpConnect2</code></a> instead.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpConnect2">httpConnect2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpConnect2">httpConnect2</a></h3>
<p class="description">Connect to a HTTP server.</p>
<p class="code">
<a href="#http_t">http_t</a> *httpConnect2 (<br>
@@ -2056,7 +2056,7 @@ int httpGetBlocking (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">1 if blocking, 0 if non-blocking</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpGetContentEncoding">httpGetContentEncoding</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpGetContentEncoding">httpGetContentEncoding</a></h3>
<p class="description">Get a common content encoding, if any, between
the client and server.</p>
<p class="code">
@@ -2137,7 +2137,7 @@ time_t httpGetDateTime (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">UNIX time</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpGetExpect">httpGetExpect</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpGetExpect">httpGetExpect</a></h3>
<p class="description">Get the value of the Expect header, if any.</p>
<p class="code">
http_status_t httpGetExpect (<br>
@@ -2466,7 +2466,7 @@ int httpOptions (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpPeek">httpPeek</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpPeek">httpPeek</a></h3>
<p class="description">Peek at data from a HTTP connection.</p>
<p class="code">
ssize_t httpPeek (<br>
@@ -2568,7 +2568,7 @@ ssize_t httpRead2 (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">Number of bytes read</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpReadRequest">httpReadRequest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpReadRequest">httpReadRequest</a></h3>
<p class="description">Read a HTTP request from a connection.</p>
<p class="code">
<a href="#http_state_t">http_state_t</a> httpReadRequest (<br>
@@ -2799,7 +2799,7 @@ int httpSetCredentials (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpSetDefaultField">httpSetDefaultField</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpSetDefaultField">httpSetDefaultField</a></h3>
<p class="description">Set the default value of an HTTP header.</p>
<p class="code">
void httpSetDefaultField (<br>
@@ -3002,7 +3002,7 @@ ssize_t httpWrite2 (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">Number of bytes written</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="httpWriteResponse">httpWriteResponse</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="httpWriteResponse">httpWriteResponse</a></h3>
<p class="description">Write a HTTP response to a client connection.</p>
<p class="code">
int httpWriteResponse (<br>
@@ -3548,7 +3548,7 @@ Supported string values include charset (<code>IPP_TAG_CHARSET</code>), keyword
<br>
The <code>language</code> parameter must be non-<code>NULL</code> for nameWithLanguage and
textWithLanguage string values and must be <code>NULL</code> for all other string values.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippAddStringf">ippAddStringf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippAddStringf">ippAddStringf</a></h3>
<p class="description">Add a formatted string to an IPP message.</p>
<p class="code">
<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddStringf (<br>
@@ -3607,7 +3607,7 @@ needed. The formatted string is truncated as needed to the maximum length of
the corresponding value type.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippAddStringfv">ippAddStringfv</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippAddStringfv">ippAddStringfv</a></h3>
<p class="description">Add a formatted string to an IPP message.</p>
<p class="code">
<a href="#ipp_attribute_t">ipp_attribute_t</a> *ippAddStringfv (<br>
@@ -3741,7 +3741,7 @@ trailing nul. The buffer pointer can be NULL to get the required length,
just like (v)snprintf.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippContainsInteger">ippContainsInteger</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippContainsInteger">ippContainsInteger</a></h3>
<p class="description">Determine whether an attribute contains the
specified value or is within the list of ranges.</p>
<p class="code">
@@ -3764,7 +3764,7 @@ enum value, or the value falls within one of the rangeOfInteger values for
the attribute.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippContainsString">ippContainsString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippContainsString">ippContainsString</a></h3>
<p class="description">Determine whether an attribute contains the
specified string value.</p>
<p class="code">
@@ -3849,7 +3849,7 @@ attributes that are copied - the function must return 1 to copy the attribute or
itself.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippCreateRequestedArray">ippCreateRequestedArray</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippCreateRequestedArray">ippCreateRequestedArray</a></h3>
<p class="description">Create a CUPS array of attribute names from the
given requested-attributes attribute.</p>
<p class="code">
@@ -4180,7 +4180,7 @@ const char *ippGetName (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">Attribute name or <code>NULL</code> for separators</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippGetOctetString">ippGetOctetString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippGetOctetString">ippGetOctetString</a></h3>
<p class="description">Get an octetString value from an IPP attribute.</p>
<p class="code">
void *ippGetOctetString (<br>
@@ -4397,7 +4397,7 @@ attributes-natural-language attributes added. The
attributes-natural-language value is derived from the current locale.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippNewResponse">ippNewResponse</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippNewResponse">ippNewResponse</a></h3>
<p class="description">Allocate a new IPP response message.</p>
<p class="code">
<a href="#ipp_t">ipp_t</a> *ippNewResponse (<br>
@@ -4707,7 +4707,7 @@ the <a href="#ippNew"><code>ippNew</code></a>, <a href="#ippNewRequest"><code>ip
The <code>attr</code> parameter may be modified as a result of setting the value.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippSetOctetString">ippSetOctetString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippSetOctetString">ippSetOctetString</a></h3>
<p class="description">Set an octetString value in an IPP attribute.</p>
<p class="code">
int ippSetOctetString (<br>
@@ -4939,7 +4939,7 @@ The <code>element</code> parameter specifies which value to set from 0 to
<a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippSetStringf">ippSetStringf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippSetStringf">ippSetStringf</a></h3>
<p class="description">Set a formatted string value of an attribute.</p>
<p class="code">
int ippSetStringf (<br>
@@ -4979,7 +4979,7 @@ needed. The formatted string is truncated as needed to the maximum length of
the corresponding value type.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippSetStringfv">ippSetStringfv</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippSetStringfv">ippSetStringfv</a></h3>
<p class="description">Set a formatted string value of an attribute.</p>
<p class="code">
int ippSetStringfv (<br>
@@ -5130,7 +5130,7 @@ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate (<br>
</dl>
<h4 class="returnvalue">Return Value</h4>
<p class="description">RFC-1903 date/time data</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippValidateAttribute">ippValidateAttribute</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippValidateAttribute">ippValidateAttribute</a></h3>
<p class="description">Validate the contents of an attribute.</p>
<p class="code">
int ippValidateAttribute (<br>
@@ -5149,7 +5149,7 @@ value tag. 1 is returned if the attribute is valid, 0 otherwise. On
failure, cupsLastErrorString() is set to a human-readable message.
</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.7&nbsp;</span><a name="ippValidateAttributes">ippValidateAttributes</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span><a name="ippValidateAttributes">ippValidateAttributes</a></h3>
<p class="description">Validate all attributes in an IPP message.</p>
<p class="code">
int ippValidateAttributes (<br>
@@ -5483,13 +5483,13 @@ with a hostname. </p>
<p class="description">HTTP field names</p>
<h4 class="constants">Constants</h4>
<dl>
-<dt>HTTP_FIELD_ACCEPT_ENCODING <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>HTTP_FIELD_ACCEPT_ENCODING <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">Accepting-Encoding field </dd>
<dt>HTTP_FIELD_ACCEPT_LANGUAGE </dt>
<dd class="description">Accept-Language field</dd>
<dt>HTTP_FIELD_ACCEPT_RANGES </dt>
<dd class="description">Accept-Ranges field</dd>
-<dt>HTTP_FIELD_ALLOW <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>HTTP_FIELD_ALLOW <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">Allow field </dd>
<dt>HTTP_FIELD_AUTHORIZATION </dt>
<dd class="description">Authorization field</dd>
@@ -5535,7 +5535,7 @@ with a hostname. </p>
<dd class="description">Referer field</dd>
<dt>HTTP_FIELD_RETRY_AFTER </dt>
<dd class="description">Retry-After field</dd>
-<dt>HTTP_FIELD_SERVER <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>HTTP_FIELD_SERVER <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">Server field </dd>
<dt>HTTP_FIELD_TRANSFER_ENCODING </dt>
<dd class="description">Transfer-Encoding field</dd>
@@ -5590,9 +5590,9 @@ are server-oriented...</p>
<dd class="description">Command complete, sending status</dd>
<dt>HTTP_STATE_TRACE </dt>
<dd class="description">TRACE command, waiting for blank line</dd>
-<dt>HTTP_STATE_UNKNOWN_METHOD <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>HTTP_STATE_UNKNOWN_METHOD <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">Unknown request method, waiting for blank line </dd>
-<dt>HTTP_STATE_UNKNOWN_VERSION <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>HTTP_STATE_UNKNOWN_VERSION <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">Unknown request method, waiting for blank line </dd>
<dt>HTTP_STATE_WAITING </dt>
<dd class="description">Waiting for command</dd>
@@ -5637,7 +5637,7 @@ are server-oriented...</p>
<dd class="description">Document has moved temporarily</dd>
<dt>HTTP_STATUS_MULTIPLE_CHOICES </dt>
<dd class="description">Multiple files match request</dd>
-<dt>HTTP_STATUS_NONE <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>HTTP_STATUS_NONE <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">No Expect value </dd>
<dt>HTTP_STATUS_NOT_ACCEPTABLE </dt>
<dd class="description">Not Acceptable</dd>
@@ -5706,6 +5706,8 @@ are server-oriented...</p>
<dd class="description">En/decode the query portion</dd>
<dt>HTTP_URI_CODING_RESOURCE </dt>
<dd class="description">En/decode the resource portion</dd>
+<dt>HTTP_URI_CODING_RFC6874 </dt>
+<dd class="description">Use RFC 6874 address format</dd>
<dt>HTTP_URI_CODING_USERNAME </dt>
<dd class="description">En/decode the username portion</dd>
</dl>
@@ -5850,12 +5852,66 @@ are server-oriented...</p>
<dd class="description">Stitch along top edge</dd>
<dt>IPP_FINISHINGS_FOLD </dt>
<dd class="description">Fold (any type)</dd>
+<dt>IPP_FINISHINGS_FOLD_ACCORDIAN </dt>
+<dd class="description">Accordian-fold the paper vertically into four sections</dd>
+<dt>IPP_FINISHINGS_FOLD_DOUBLE_GATE </dt>
+<dd class="description">Fold the top and bottom quarters of the paper towards the midline, then fold in half vertically</dd>
+<dt>IPP_FINISHINGS_FOLD_GATE </dt>
+<dd class="description">Fold the top and bottom quarters of the paper towards the midline</dd>
+<dt>IPP_FINISHINGS_FOLD_HALF </dt>
+<dd class="description">Fold the paper in half vertically</dd>
+<dt>IPP_FINISHINGS_FOLD_HALF_Z </dt>
+<dd class="description">Fold the paper in half horizontally, then Z-fold the paper vertically</dd>
+<dt>IPP_FINISHINGS_FOLD_LEFT_GATE </dt>
+<dd class="description">Fold the top quarter of the paper towards the midline</dd>
+<dt>IPP_FINISHINGS_FOLD_LETTER </dt>
+<dd class="description">Fold the paper into three sections vertically; sometimes also known as a C fold</dd>
+<dt>IPP_FINISHINGS_FOLD_PARALLEL </dt>
+<dd class="description">Fold the paper in half vertically two times, yielding four sections</dd>
+<dt>IPP_FINISHINGS_FOLD_POSTER </dt>
+<dd class="description">Fold the paper in half horizontally and vertically; sometimes also called a cross fold</dd>
+<dt>IPP_FINISHINGS_FOLD_RIGHT_GATE </dt>
+<dd class="description">Fold the bottom quarter of the paper towards the midline</dd>
+<dt>IPP_FINISHINGS_FOLD_Z </dt>
+<dd class="description">Fold the paper vertically into three sections, forming a Z</dd>
<dt>IPP_FINISHINGS_JOG_OFFSET </dt>
<dd class="description">Offset for binding (any type)</dd>
<dt>IPP_FINISHINGS_NONE </dt>
<dd class="description">No finishing</dd>
<dt>IPP_FINISHINGS_PUNCH </dt>
<dd class="description">Punch (any location/count)</dd>
+<dt>IPP_FINISHINGS_PUNCH_BOTTOM_LEFT </dt>
+<dd class="description">Punch 1 hole bottom left</dd>
+<dt>IPP_FINISHINGS_PUNCH_BOTTOM_RIGHT </dt>
+<dd class="description">Punch 1 hole bottom right</dd>
+<dt>IPP_FINISHINGS_PUNCH_DUAL_BOTTOM </dt>
+<dd class="description">Punch 2 holes bottom edge</dd>
+<dt>IPP_FINISHINGS_PUNCH_DUAL_LEFT </dt>
+<dd class="description">Punch 2 holes left side</dd>
+<dt>IPP_FINISHINGS_PUNCH_DUAL_RIGHT </dt>
+<dd class="description">Punch 2 holes right side</dd>
+<dt>IPP_FINISHINGS_PUNCH_DUAL_TOP </dt>
+<dd class="description">Punch 2 holes top edge</dd>
+<dt>IPP_FINISHINGS_PUNCH_QUAD_BOTTOM </dt>
+<dd class="description">Punch 4 holes bottom edge</dd>
+<dt>IPP_FINISHINGS_PUNCH_QUAD_LEFT </dt>
+<dd class="description">Punch 4 holes left side</dd>
+<dt>IPP_FINISHINGS_PUNCH_QUAD_RIGHT </dt>
+<dd class="description">Punch 4 holes right side</dd>
+<dt>IPP_FINISHINGS_PUNCH_QUAD_TOP </dt>
+<dd class="description">Punch 4 holes top edge</dd>
+<dt>IPP_FINISHINGS_PUNCH_TOP_LEFT </dt>
+<dd class="description">Punch 1 hole top left</dd>
+<dt>IPP_FINISHINGS_PUNCH_TOP_RIGHT </dt>
+<dd class="description">Punch 1 hole top right</dd>
+<dt>IPP_FINISHINGS_PUNCH_TRIPLE_BOTTOM </dt>
+<dd class="description">Punch 3 holes bottom edge</dd>
+<dt>IPP_FINISHINGS_PUNCH_TRIPLE_LEFT </dt>
+<dd class="description">Punch 3 holes left side</dd>
+<dt>IPP_FINISHINGS_PUNCH_TRIPLE_RIGHT </dt>
+<dd class="description">Punch 3 holes right side</dd>
+<dt>IPP_FINISHINGS_PUNCH_TRIPLE_TOP </dt>
+<dd class="description">Punch 3 holes top edge</dd>
<dt>IPP_FINISHINGS_SADDLE_STITCH </dt>
<dd class="description">Staple interior</dd>
<dt>IPP_FINISHINGS_STAPLE </dt>
@@ -5988,8 +6044,6 @@ are server-oriented...</p>
<dd class="description">Get subscription attributes </dd>
<dt>IPP_OP_HOLD_JOB </dt>
<dd class="description">Hold a job for printing</dd>
-<dt>IPP_OP_IDENTIFY_PRINTER </dt>
-<dd class="description">Identify-Printer (proposed IPP JPS3)</dd>
<dt>IPP_OP_PAUSE_PRINTER </dt>
<dd class="description">Stop a printer</dd>
<dt>IPP_OP_PRINT_JOB </dt>
@@ -6010,8 +6064,6 @@ are server-oriented...</p>
<dd class="description">Add a file to a job</dd>
<dt>IPP_OP_SET_JOB_ATTRIBUTES </dt>
<dd class="description">Set job attributes</dd>
-<dt>IPP_OP_VALIDATE_DOCUMENT </dt>
-<dd class="description">Validate-Document (proposed IPP JPS3)</dd>
<dt>IPP_OP_VALIDATE_JOB </dt>
<dd class="description">Validate job options</dd>
</dl>
@@ -6098,13 +6150,13 @@ are server-oriented...</p>
<dd class="description">client-error-compression-not-supported</dd>
<dt>IPP_STATUS_ERROR_CONFLICTING </dt>
<dd class="description">client-error-conflicting-attributes</dd>
-<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_AUTHORIZATION_FAILED <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_AUTHORIZATION_FAILED <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">cups-error-account-authorization-failed </dd>
-<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_CLOSED <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">cups-error-account-closed </dd>
-<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_INFO_NEEDED <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_INFO_NEEDED <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">cups-error-account-info-needed </dd>
-<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED <span class="info">&nbsp;CUPS 1.7&nbsp;</span></dt>
+<dt>IPP_STATUS_ERROR_CUPS_ACCOUNT_LIMIT_REACHED <span class="info">&nbsp;CUPS 1.7/OS X 10.9&nbsp;</span></dt>
<dd class="description">cups-error-account-limit-reached </dd>
<dt>IPP_STATUS_ERROR_CUPS_AUTHENTICATION_CANCELED <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
<dd class="description">cups-authentication-canceled - Authentication canceled by user </dd>
diff --git a/doc/help/api-mime.html b/doc/help/api-mime.html
index c2733764..22699278 100644
--- a/doc/help/api-mime.html
+++ b/doc/help/api-mime.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-mime.html 9772 2011-05-12 05:46:30Z mike $"
+ "$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
MIME API header for CUPS.
@@ -412,7 +412,7 @@ including file size.">mimeFilter2</a></li>
</ul></li>
</ul>
<!--
- "$Id: api-mime.html 9772 2011-05-12 05:46:30Z mike $"
+ "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
MIME API introduction for CUPS.
diff --git a/doc/help/api-overview.html b/doc/help/api-overview.html
index 278df7ca..a310f6e1 100644
--- a/doc/help/api-overview.html
+++ b/doc/help/api-overview.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-overview.html 9772 2011-05-12 05:46:30Z mike $"
+ "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
Introduction to CUPS programming header for CUPS.
@@ -403,7 +403,7 @@ div.contents ul.subcontents li {
<li><a href="#WHERETOGO">Where to Go Next</a></li>
</ul>
<!--
- "$Id: api-overview.html 9772 2011-05-12 05:46:30Z mike $"
+ "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
Introduction to CUPS programming content for CUPS.
diff --git a/doc/help/api-ppd.html b/doc/help/api-ppd.html
index 1be3ed13..6530d4b9 100644
--- a/doc/help/api-ppd.html
+++ b/doc/help/api-ppd.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-ppd.html 10441 2012-04-30 20:59:09Z mike $"
+ "$Id: api-ppd.header 7616 2008-05-28 00:34:13Z mike $"
PPD API header for CUPS.
@@ -486,7 +486,7 @@ conflicts.">ppdMarkOption</a></li>
</ul></li>
</ul>
<!--
- "$Id: api-ppd.html 10441 2012-04-30 20:59:09Z mike $"
+ "$Id: api-ppd.shtml 7616 2008-05-28 00:34:13Z mike $"
PPD API introduction for CUPS.
diff --git a/doc/help/api-ppdc.html b/doc/help/api-ppdc.html
index 25ccef40..484288e6 100644
--- a/doc/help/api-ppdc.html
+++ b/doc/help/api-ppdc.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-ppdc.html 10356 2012-03-16 16:03:10Z mike $"
+ "$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
PPD Compiler API header for CUPS.
@@ -414,7 +414,7 @@ div.contents ul.subcontents li {
</ul></li>
</ul>
<!--
- "$Id: api-ppdc.html 10356 2012-03-16 16:03:10Z mike $"
+ "$Id: api-array.shtml 7616 2008-05-28 00:34:13Z mike $"
PPD Compiler API introduction for CUPS.
diff --git a/doc/help/api-raster.html b/doc/help/api-raster.html
index 4a77da3c..f2dade43 100644
--- a/doc/help/api-raster.html
+++ b/doc/help/api-raster.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: api-raster.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id$"
Raster API documentation for CUPS.
@@ -434,11 +434,11 @@ page header structure.">cupsRasterWriteHeader2</a></li>
</ul></li>
</ul>
<!--
- "$Id: api-raster.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id$"
Raster API introduction for CUPS.
- Copyright 2007-2012 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
@@ -653,7 +653,7 @@ requested attributes cannot be supported.<br>
<br>
<code>cupsRasterInterpretPPD</code> supports a subset of the PostScript language.
-Currently only the <code>[</code>, <code>]</code>, <code><<</code>, <code>>></code>, <code>{</code>,
+Currently only the <code>[</code>, <code>]</code>, <code>&lt;&lt;</code>, <code>&gt;&gt;</code>, <code>{</code>,
<code>}</code>, <code>cleartomark</code>, <code>copy</code>, <code>dup</code>, <code>index</code>,
<code>pop</code>, <code>roll</code>, <code>setpagedevice</code>, and <code>stopped</code> operators
are supported.
diff --git a/doc/help/man-client.conf.html b/doc/help/man-client.conf.html
index ee932446..a18e8dca 100644
--- a/doc/help/man-client.conf.html
+++ b/doc/help/man-client.conf.html
@@ -36,7 +36,7 @@ location.
<dd>Specifies the Kerberos service name that is used for authentication, typically
"host", "http", or "ipp". CUPS adds the remote hostname
("name@server.example.com") for you. The default name is
-"host".
+"http".
</dd>
<dt>ServerName hostname-or-ip-address[:port]
</dt>
@@ -47,6 +47,13 @@ location.
<dd>Specifies the address and optionally the port to use when connecting to the
server. <b>Note: Not supported on OS X 10.7 or later.</b>
</dd>
+<dt>ServerName hostname-or-ip-address[:port]/version=1.1
+</dt>
+<dd></dd>
+<dd>Specifies the address and optionally the port to use when connecting to a
+server running CUPS 1.3.12 and earlier. <b>Note: Not supported on OS X 10.7 or
+later.</b>
+</dd>
<dt>User name
</dt>
<dd></dd>
diff --git a/doc/help/man-cups-deviced.html b/doc/help/man-cups-deviced.html
index 1940f642..df252508 100644
--- a/doc/help/man-cups-deviced.html
+++ b/doc/help/man-cups-deviced.html
@@ -14,8 +14,8 @@ cups-deviced - cups device daemon
</b><i>request-id limit user-id options
</i><h2 class="title"><a name="DESCRIPTION">Description</a></h2>
<i>cups-deviced</i> polls the backends in
-<i>/usr/lib/cups/backend</i> for a list of available devices.
-It is run by <a href='man-cupsd.html?TOPIC=Man+Pages'>cupsd(8)</a> in response to a
+<i>/usr/lib/cups/backend</i> or <i>/usr/libexec/cups/backend</i> (OS X) for a
+list of available devices. It is run by <a href='man-cupsd.html?TOPIC=Man+Pages'>cupsd(8)</a> in response to a
<i>CUPS-Get-Devices</i> request. The output format is an IPP
response message. The <i>request-id</i> argument is the request ID
from the original IPP request, typically 1. The <i>limit</i>
diff --git a/doc/help/man-cups-driverd.html b/doc/help/man-cups-driverd.html
index e161435b..0fc9183a 100644
--- a/doc/help/man-cups-driverd.html
+++ b/doc/help/man-cups-driverd.html
@@ -36,9 +36,9 @@ accordingly.
<h2 class="title"><a name="DRIVERS">Drivers</a></h2>
Drivers can be static PPD files under the
<i>/usr/share/cups/model</i> directory or programs under the
-<i>/usr/lib/cups/driver</i> directory. Static PPD files must
-conform to the Adobe PPD File Format Specification version 4.3
-and may be compressed using the <i>gzip(1)</i> program. Driver
+<i>/usr/lib/cups/driver</i> or <i>/usr/libexec/cups/driver</i> (OS X) directories.
+Static PPD files must conform to the Adobe PPD File Format Specification version
+4.3 and may be compressed using the <i>gzip(1)</i> program. Driver
programs must implement the command-line interface shown in the
next section.
<h3><a name="DRIVER_PROGRAMS">Driver Programs</a></h3>
diff --git a/doc/help/man-cups-snmp.html b/doc/help/man-cups-snmp.html
index 9b80a8f7..d3d1a6a7 100644
--- a/doc/help/man-cups-snmp.html
+++ b/doc/help/man-cups-snmp.html
@@ -13,6 +13,9 @@ snmp - cups snmp backend
<b>/usr/lib/cups/backend/snmp
</b><i>ip-address-or-hostname
</i><br>
+<b>/usr/libexec/cups/backend/snmp
+</b><i>ip-address-or-hostname
+</i><br>
<b>lpinfo -v --include-schemes snmp
</b><h2 class="title"><a name="DESCRIPTION">Description</a></h2>
The CUPS SNMP backend provides legacy discovery and identification of network
diff --git a/doc/help/man-cupsaddsmb.html b/doc/help/man-cupsaddsmb.html
index 37349460..0bb0ddcd 100644
--- a/doc/help/man-cupsaddsmb.html
+++ b/doc/help/man-cupsaddsmb.html
@@ -114,10 +114,7 @@ Windows 2000 or higher in the
drivers and
%WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 folder for 64-bit
drivers.
-<p>The CUPS printer driver is preferred over the Microsoft driver
-since it supports the page-label, job-billing, and
-job-hold-until options fully on all printers. However, currently
-only Windows 2000 and higher is supported by the Microsoft
+<p>However, currently only Windows 2000 and higher is supported by the Microsoft
driver, so you will also need to get the Adobe driver to support
Windows 95, 98, and Me clients. The Adobe and Microsoft drivers
for Windows 2000 are identical.
@@ -137,36 +134,6 @@ as named below:
you use the lowercase filenames shown above, otherwise
<i>cupsaddsmb</i> will fail to export the drivers.
-<h2 class="title"><a name="CUPS_POSTSCRIPT_DRIVERS_FOR_WINDOWS">Cups Postscript Drivers For Windows</a></h2>
-<i>cupsaddsmb</i> can use the CUPS v6 PostScript printer driver
-for Windows, which is available for download from the CUPS web
-site.
-<p>The CUPS printer driver is preferred over the Adobe and
-Microsoft drivers since it supports the page-label, job-billing,
-and job-hold-until options fully on all printers. However,
-currently only Windows 2000 and higher is supported by the CUPS
-driver, so you will also need to get the Adobe driver to support
-Windows 95, 98, and Me clients.
-<p>Once you have extracted the driver files, copy the 32-bit drivers
-to the <i>/usr/share/cups/drivers</i> directory and the 64-bit
-drivers to the <i>/usr/share/cups/drivers/x64</i> directory exactly
-as named below:
-<pre>
-
- [Windows 2000 and higher]
- cups6.inf (from www.cups.org)
- cups6.ini (from www.cups.org)
- cupsps6.dll (from www.cups.org)
- cupsui6.dll (from www.cups.org)
- ps5ui.dll (from your Windows system)
- pscript.hlp (from your Windows system)
- pscript.ntf (from your Windows system)
- pscript5.dll (from your Windows system)
-</pre>
-<p><b>Note:</b> Unlike Windows, case is significant - make sure that
-you use the lowercase filenames shown above, otherwise
-<i>cupsaddsmb</i> will fail to export the drivers.
-
<h2 class="title"><a name="ADOBE_POSTSCRIPT_DRIVERS_FOR_WINDOWS_95,_98,_AND_ME">Adobe Postscript Drivers For Windows 95, 98, And Me</a></h2>
<i>cupsaddsmb</i> can use the Adobe PostScript printer driver for
Windows 95, 98, and ME, which are available for download from the
diff --git a/doc/help/man-cupsd.conf.html b/doc/help/man-cupsd.conf.html
index 995fda2d..227ccfe2 100644
--- a/doc/help/man-cupsd.conf.html
+++ b/doc/help/man-cupsd.conf.html
@@ -242,7 +242,7 @@ are run to print a job.
</dt>
<dd></dd>
<dd>Specifies the service name when using Kerberos authentication. The default
-service name is "host".
+service name is "http".
</dd>
<dt>HostNameLookups On
</dt>
diff --git a/doc/help/man-ippfind.html b/doc/help/man-ippfind.html
new file mode 100644
index 00000000..e614ad4d
--- /dev/null
+++ b/doc/help/man-ippfind.html
@@ -0,0 +1,316 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- SECTION: Man Pages -->
+<head>
+ <link rel="stylesheet" type="text/css" href="../cups-printable.css">
+ <title>ippfind(1)</title>
+</head>
+<body>
+<h1 class="title">ippfind(1)</h1>
+<h2 class="title"><a name="NAME">Name</a></h2>
+ippfind - find internet printing protocol printers
+<h2 class="title"><a name="SYNOPSIS">Synopsis</a></h2>
+<b>ippfind
+</b>[
+<i>options
+</i>] regtype[,subtype][.domain.] ... [
+<i>expression ...
+</i>]
+<b>ippfind
+</b>[
+<i>options
+</i>] name[.regtype[.domain.]] ... [
+<i>expression ...
+</i>]
+<b>ippfind
+</b>--help
+<b>ippfind
+</b>--version
+<h2 class="title"><a name="OPTIONS">Options</a></h2>
+<dl>
+<dt>--help
+</dt>
+<dd>Show program help
+</dd>
+<dt>--version
+</dt>
+<dd>Show program version
+</dd>
+<dt>-4
+</dt>
+<dd>Use IPv4 when listing
+</dd>
+<dt>-6
+</dt>
+<dd>Use IPv6 when listing
+</dd>
+<dt>-T seconds
+</dt>
+<dd>Specify find timeout in seconds. If 1 or less, <i>ippfind</i> stops as soon as it thinks it has found everything. The default is 1 second.
+</dd>
+<dt>-V version
+</dt>
+<dd>Specifies the IPP version when listing. Supported values are 1.1, 2.0, 2.1, and 2.2.
+
+</dd>
+</dl>
+<h2 class="title"><a name="DESCRIPTION">Description</a></h2>
+<i>ippfind</i> finds services registered with a DNS server or available through local devices. Its primary purpose is to find IPP printers and show their URIs, show their current status, or run commands. For example, to show the status of all registered IPP printers on your network, run:
+<pre>
+ ippfind --ls
+</pre>
+Similarly, to send a PostScript test page to every PostScript printer, run:
+<pre>
+ ippfind --txt-pdl application/postscript --exec ipptool \
+ -f onepage-letter.ps '{}' print-job.test \;
+</pre>
+
+<h2 class="title"><a name="REGISTRATION_TYPES">Registration Types</a></h2>
+<i>ippfind</i> supports the following registration types:
+<dl>
+<dt>_http._tcp
+</dt>
+<dd>HyperText Transport Protocol (HTTP, RFC 2616)
+</dd>
+<dt>_https._tcp
+</dt>
+<dd>Secure HyperText Transport Protocol (HTTPS, RFC 2818)
+</dd>
+<dt>_ipp._tcp
+</dt>
+<dd>Internet Printing Protocol (IPP, RFC 2911)
+</dd>
+<dt>_ipps._tcp
+</dt>
+<dd>Secure Internet Printing Protocol (IPPS, draft)
+</dd>
+<dt>_printer._tcp
+</dt>
+<dd>Line Printer Daemon (LPD, RFC 1179)
+
+</dd>
+</dl>
+<h2 class="title"><a name="EXPRESSIONS">Expressions</a></h2>
+<i>ippfind</i> supports expressions much like the <i>find(1)</i> utility. However, unlike <i>find</i>, <i>ippfind</i> uses POSIX regular expressions instead of shell filename matching patterns. If --exec, -l, --ls, -p, --print, --print-name, -q, --quiet, -s, or -x is not specified, <i>ippfind</i> adds --print to print the service URI of anything it finds. The following expressions are supported:
+<dl>
+<dt>-d regex
+</dt>
+<dd></dd>
+<dt>--domain regex
+</dt>
+<dd>True if the domain matches the given regular expression.
+</dd>
+<dt>--false
+</dt>
+<dd>Always false.
+</dd>
+<dt>-h regex
+</dt>
+<dd></dd>
+<dt>--host regex
+</dt>
+<dd>True is the hostname matches the given regular expression.
+</dd>
+<dt>-l
+</dt>
+<dd></dd>
+<dt>--ls
+</dt>
+<dd>Lists attributes returned by Get-Printer-Attributes for IPP printers and traditional <i>find</i> "-ls" output for HTTP URLs. The result is true if the URI is accessible, false otherwise.
+</dd>
+<dt>--local
+</dt>
+<dd>True if the service is local to this computer.
+</dd>
+<dt>-n regex
+</dt>
+<dd></dd>
+<dt>--name regex
+</dt>
+<dd>True if the service instance name matches the given regular expression.
+</dd>
+<dt>--path regex
+</dt>
+<dd>True if the URI resource path matches the given regular expression.
+</dd>
+<dt>-P number[-number]
+</dt>
+<dd></dd>
+<dt>--port number[-number]
+</dt>
+<dd>True if the port matches the given number or range.
+</dd>
+<dt>-p
+</dt>
+<dd></dd>
+<dt>--print
+</dt>
+<dd>Prints the URI if the result of previous expressions is true. The result is always true.
+</dd>
+<dt>-q
+</dt>
+<dd></dd>
+<dt>--quiet
+</dt>
+<dd>Quiet mode - just returns the exit codes below.
+</dd>
+<dt>-r
+</dt>
+<dd></dd>
+<dt>--remote
+</dt>
+<dd>True if the service is not local to this computer.
+</dd>
+<dt>-s
+</dt>
+<dd></dd>
+<dt>--print-name
+</dt>
+<dd>Prints the service instance name if the result of previous expressions is true. The result is always true.
+</dd>
+<dt>--true
+</dt>
+<dd>Always true.
+</dd>
+<dt>-t key
+</dt>
+<dd></dd>
+<dt>--txt key
+</dt>
+<dd>True if the TXT record contains the named key.
+</dd>
+<dt>--txt-<i>key</i> regex
+</dt>
+<dd>True if the TXT record contains the named key and matches the given regular
+expression.
+</dd>
+<dt>-u regex
+</dt>
+<dd></dd>
+<dt>--uri regex
+</dt>
+<dd>True if the URI matches the given regular expression.
+</dd>
+<dt>-x utility [argument ...] ;
+</dt>
+<dd></dd>
+<dt>--exec utility [argument ...] ;
+</dt>
+<dd>Executes the specified program if the current result is true. "{foo}" arguments are replaced with the corresponding value - see SUBSTITUTIONS below.
+</dd>
+</dl>
+<p>Expressions may also contain modifiers:
+<dl>
+<dt>( expression )
+</dt>
+<dd>Group the result of expressions.
+</dd>
+<dt>! expression
+</dt>
+<dd></dd>
+<dt>--not expression
+</dt>
+<dd>Unary NOT of the expression.
+</dd>
+<dt>expression expression
+</dt>
+<dd></dd>
+<dt>expression --and expression
+</dt>
+<dd>Logical AND of expressions.
+</dd>
+<dt>expression --or expression
+</dt>
+<dd>Logical OR of expressions.
+
+</dd>
+</dl>
+<h2 class="title"><a name="SUBSTITUTIONS">Substitutions</a></h2>
+The substitutions for "{foo}" in -e and --exec are:
+<dl>
+<dt>{}
+</dt>
+<dd>URI
+</dd>
+<dt>{service_domain}
+</dt>
+<dd>Domain name, e.g., "example.com.", "local.", etc.
+</dd>
+<dt>{service_hostname}
+</dt>
+<dd>Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc.
+</dd>
+<dt>{service_name}
+</dt>
+<dd>Service instance name, e.g., "My Fine Printer".
+</dd>
+<dt>{service_port}
+</dt>
+<dd>Port number for server, typically 631 for IPP and 80 for HTTP.
+</dd>
+<dt>{service_regtype}
+</dt>
+<dd>DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc.
+</dd>
+<dt>{service_scheme}
+</dt>
+<dd>URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc.
+</dd>
+<dt>{service_uri}
+</dt>
+<dd>URI for service, e.g., "ipp://printer.local./ipp/print", "<a href='http://printer.local./",'>http://printer.local./",</a> etc.
+</dd>
+<dt>{txt_<i>key</i>}
+</dt>
+<dd>Value of TXT record <i>key</i> (lowercase).
+
+</dd>
+</dl>
+<h2 class="title"><a name="ENVIRONMENT_VARIABLES">Environment Variables</a></h2>
+When executing a program, <i>ippfind</i> sets the following environment variables for the matching service registration:
+<dl>
+<dt>IPPFIND_SERVICE_DOMAIN
+</dt>
+<dd>Domain name, e.g., "example.com.", "local.", etc.
+</dd>
+<dt>IPPFIND_SERVICE_HOSTNAME
+</dt>
+<dd>Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc.
+</dd>
+<dt>IPPFIND_SERVICE_NAME
+</dt>
+<dd>Service instance name, e.g., "My Fine Printer".
+</dd>
+<dt>IPPFIND_SERVICE_PORT
+</dt>
+<dd>Port number for server, typically 631 for IPP and 80 for HTTP.
+</dd>
+<dt>IPPFIND_SERVICE_REGTYPE
+</dt>
+<dd>DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc.
+</dd>
+<dt>IPPFIND_SERVICE_SCHEME
+</dt>
+<dd>URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc.
+</dd>
+<dt>IPPFIND_SERVICE_URI
+</dt>
+<dd>URI for service, e.g., "ipp://printer.local./ipp/print", "<a href='http://printer.local./",'>http://printer.local./",</a> etc.
+</dd>
+<dt>IPPFIND_TXT_<i>KEY</i>
+</dt>
+<dd>Values of TXT record <i>KEY</i> (uppercase).
+
+</dd>
+</dl>
+<h2 class="title"><a name="EXIT_CODES">Exit Codes</a></h2>
+<i>ippfind</i> returns 0 if the result for all processed expressions is true, 1 if the result of any processed expression is false, 2 if browsing or any query or resolution failed, 3 if an undefined option or invalid expression was specified, and 4 if it ran out of memory.
+
+<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
+<a href='man-ipptool.html?TOPIC=Man+Pages'>ipptool(1)</a>
+
+<h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
+Copyright 2013 by Apple Inc.
+
+</body>
+</html>
diff --git a/doc/help/man-ipptool.html b/doc/help/man-ipptool.html
index 189613a9..486080c6 100644
--- a/doc/help/man-ipptool.html
+++ b/doc/help/man-ipptool.html
@@ -11,7 +11,8 @@
ipptool - perform internet printing protocol requests
<h2 class="title"><a name="SYNOPSIS">Synopsis</a></h2>
<b>ipptool
-</b>[ -4 ] [ -6 ] [ -C ] [ -E ] [ -I ] [ -L ] [ -S ] [ -T
+</b>[ --help ] [ --stop-after-include-error ] [ --version ]
+[ -4 ] [ -6 ] [ -C ] [ -E ] [ -I ] [ -L ] [ -S ] [ -T
<i>seconds
</i>] [ -V
<i>version
@@ -34,6 +35,14 @@ ipptool - perform internet printing protocol requests
<h2 class="title"><a name="OPTIONS">Options</a></h2>
The following options are recognized by <i>ipptool</i>:
<dl>
+<dt>--help
+</dt>
+<dd>Shows program help.
+--stop-after-include-error
+Tells <i>ipptool</i> to stop if an error occurs in an included file. Normally <i>ipptool</i> will continue with subsequent tests after the INCLUDE directive.
+--version
+Shows the version of <i>ipptool</i> being used.
+</dd>
<dt>-4
</dt>
<dd>Specifies that <i>ipptool</i> must connect to the printer or server using IPv4.
@@ -107,6 +116,8 @@ The following options are recognized by <i>ipptool</i>:
<dd>Specifies that all request and response attributes should be output in CUPS test mode (<i>-t</i>). This is the default for XML output.
</dd>
</dl>
+<h2 class="title"><a name="EXIT_CODE">Exit Code</a></h2>
+The <i>ipptool</i> program returns 0 if all tests were sucessful and 1 otherwise.
<h2 class="title"><a name="COMPATIBILITY">Compatibility</a></h2>
The <i>ipptool</i> program is unique to CUPS.
<h2 class="title"><a name="EXAMPLES">Examples</a></h2>
@@ -130,21 +141,28 @@ The following standard files are available:
document-letter.ps
get-completed-jobs.test
get-jobs.test
+ get-notifications.test
get-printer-attributes.test
+ get-subscriptions.test
gray.jpg
ipp-1.1.test
ipp-2.0.test
ipp-2.1.test
ipp-2.2.test
+ ipp-everywhere.test
onepage-a4.pdf
onepage-a4.ps
onepage-letter.pdf
onepage-letter.ps
print-job.test
+ print-job-deflate.test
+ print-job-gzip.test
testfile.jpg
+ testfile.pcl
testfile.pdf
testfile.ps
testfile.txt
+ validate-job.test
</pre>
<h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
<a href='man-ipptoolfile.html?TOPIC=Man+Pages'>ipptoolfile(5)</a>,
diff --git a/doc/help/man-ipptoolfile.html b/doc/help/man-ipptoolfile.html
index 7011a973..1ce4f195 100644
--- a/doc/help/man-ipptoolfile.html
+++ b/doc/help/man-ipptoolfile.html
@@ -76,6 +76,10 @@ The following directives can be used outside of a test:
<dd>Defines the named variable to the given value if it does not already have a
value.
</dd>
+<dt>FILE-ID "identifier"
+</dt>
+<dd>Specifies an identifier string for the current file.
+</dd>
<dt>IGNORE-ERRORS yes
</dt>
<dd></dd>
@@ -119,6 +123,13 @@ includes a file from the <i>ipptool</i> include directory.
<dd>Specifies that the remainder of the test file should be skipped when the
variable is or is not defined.
</dd>
+<dt>STOP-AFTER-INCLUDE-ERROR no
+</dt>
+<dd></dd>
+<dt>STOP-AFTER-INCLUDE-ERROR yes
+</dt>
+<dd>Specifies whether tests will be stopped after an error in an included file.
+</dd>
<dt>TRANSFER auto
</dt>
<dd>Specifies that tests will, by default, use "Transfer-Encoding: chunked" for
@@ -264,6 +275,10 @@ resulted in an error/failure.
added as predicates - see the "STATUS PREDICATES" section for more information
on predicates.
</dd>
+<dt>TEST-ID "identifier"
+</dt>
+<dd>Specifies an identifier string for the current test.
+</dd>
<dt>TRANSFER auto
</dt>
<dd>Specifies that this test will use "Transfer-Encoding: chunked" if it has an
@@ -353,6 +368,27 @@ matches or does not match.
<dd>Requires the EXPECT attribute to have the same number of values as the specified
parallel attribute.
</dd>
+<dt>WITH-ALL-HOSTNAMES "literal string"
+</dt>
+<dd></dd>
+<dt>WITH-ALL-HOSTNAMES "/regular expression/"
+</dt>
+<dd>Requires that all URI values contain a matching hostname.
+</dd>
+<dt>WITH-ALL-RESOURCES "literal string"
+</dt>
+<dd></dd>
+<dt>WITH-ALL-RESOURCES "/regular expression/"
+</dt>
+<dd>Requires that all URI values contain a matching resource (including leading /).
+</dd>
+<dt>WITH-ALL-SCHEMES "literal string"
+</dt>
+<dd></dd>
+<dt>WITH-ALL-SCHEMES "/regular expression/"
+</dt>
+<dd>Requires that all URI values contain a matching scheme.
+</dd>
<dt>WITH-ALL-VALUES "literal string"
</dt>
<dd>Requires that all values of the EXPECT attribute match the literal string. Comparisons are case-sensitive.
@@ -381,6 +417,27 @@ parallel attribute.
</dt>
<dd>Requires that all values of the EXPECT attribute match the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
</dd>
+<dt>WITH-HOSTNAME "literal string"
+</dt>
+<dd></dd>
+<dt>WITH-HOSTNAME "/regular expression/"
+</dt>
+<dd>Requires that at least one URI value contains a matching hostname.
+</dd>
+<dt>WITH-RESOURCE "literal string"
+</dt>
+<dd></dd>
+<dt>WITH-RESOURCE "/regular expression/"
+</dt>
+<dd>Requires that at least one URI value contains a matching resource (including leading /).
+</dd>
+<dt>WITH-SCHEME "literal string"
+</dt>
+<dd></dd>
+<dt>WITH-SCHEME "/regular expression/"
+</dt>
+<dd>Requires that at least one URI value contains a matching scheme.
+</dd>
<dt>WITH-VALUE "literal string"
</dt>
<dd>Requires that at least one value of the EXPECT attribute matches the literal string. Comparisons are case-sensitive.
@@ -506,6 +563,7 @@ RFC 2911 and other IPP extension specifications. Here is a complete list:
Resume-Printer
Schedule-Job-After
Send-Document
+ Send-Hardcopy-Document
Send-Notifications
Send-URI
Set-Job-Attributes
diff --git a/doc/help/network.html b/doc/help/network.html
index ef9fbefb..21112f69 100644
--- a/doc/help/network.html
+++ b/doc/help/network.html
@@ -88,10 +88,10 @@ page on the device.</P>
<PRE>
socket://<i>ip-address-or-hostname</i>
socket://<i>ip-address-or-hostname</i>/?option=value
-socket://<i>ip-address-or-hostname</i>/?option=value&option=value
+socket://<i>ip-address-or-hostname</i>/?option=value&amp;option=value
socket://<i>ip-address-or-hostname</i>:<i>port-number</i>
socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value
-socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&option=value
+socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&amp;option=value
</PRE>
<P>The "contimeout" option controls the number of seconds that the backend will wait to obtain a connection to the printer. The default is 1 week.</P>
@@ -107,19 +107,19 @@ socket://<i>ip-address-or-hostname</i>:<i>port-number</i>/?option=value&option=v
<PRE>
http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
-http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
+http://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
ipp://<i>ip-address-or-hostname</i>/<i>resource</i>
ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value</i>
-ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipp://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
-ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipp://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
ipps://<i>ip-address-or-hostname</i>/<i>resource</i>
ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value</i>
-ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipps://<i>ip-address-or-hostname</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>
ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value</i>
-ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&option=value</i>
+ipps://<i>ip-address-or-hostname</i>:<i>port-number</i>/<i>resource</i>?<i>option=value&amp;option=value</i>
</PRE>
<P>The <tt>ipp</tt> backend supports many options, which are summarized in <A HREF="#TABLE2">Table 2</A>.</P>
@@ -189,8 +189,8 @@ lpd://<i>ip-address-or-hostname</i>/<i>queue</i>
lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>
lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value</i>
lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value</i>
-lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
-lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option=value</i>
+lpd://<i>ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&amp;option=value</i>
+lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&amp;option=value</i>
</PRE>
<P><A HREF="#TABLE3">Table 3</A> summarizes the options supported by the <tt>lpd</tt> backend.</P>
@@ -436,7 +436,7 @@ CUPS_DEBUG_LEVEL=2 /usr/lib/cups/backend/snmp 2>&amp;1 | tee snmp.log
<P>For C shell (/bin/csh) and TCsh (/bin/tcsh), use the following command instead:</P>
<PRE CLASS="command">
-(setenv CUPS_DEBUG_LEVEL 2; /usr/lib/cups/backend/snmp) |& tee snmp.log
+(setenv CUPS_DEBUG_LEVEL 2; /usr/lib/cups/backend/snmp) |&amp; tee snmp.log
</PRE>
<P>On MacOS X you'll find the SNMP backend in /usr/libexec/cups/backend instead:</P>
diff --git a/doc/help/postscript-driver.html b/doc/help/postscript-driver.html
index 4f35374d..fde5890b 100644
--- a/doc/help/postscript-driver.html
+++ b/doc/help/postscript-driver.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: postscript-driver.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id$"
PostScript printer driver documentation for CUPS.
diff --git a/doc/help/ppd-compiler.html b/doc/help/ppd-compiler.html
index 576c9187..27decdbb 100644
--- a/doc/help/ppd-compiler.html
+++ b/doc/help/ppd-compiler.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: ppd-compiler.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id$"
PPD compiler documentation for CUPS.
diff --git a/doc/help/raster-driver.html b/doc/help/raster-driver.html
index 259ea184..0399f057 100644
--- a/doc/help/raster-driver.html
+++ b/doc/help/raster-driver.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: raster-driver.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id$"
Raster printer driver documentation for CUPS.
diff --git a/doc/help/ref-client-conf.html b/doc/help/ref-client-conf.html
index f17d5407..03d1ea04 100644
--- a/doc/help/ref-client-conf.html
+++ b/doc/help/ref-client-conf.html
@@ -56,6 +56,8 @@ GSSServiceName ipp
ServerName foo.bar.com
ServerName 11.22.33.44
ServerName foo.bar.com:8631
+<SPAN CLASS="info">CUPS 1.6</SPAN>ServerName foo.bar.com/version=1.1
+<SPAN CLASS="info">CUPS 1.6</SPAN>ServerName foo.bar.com:8631/version=1.1
</PRE>
<H3>Description</H3>
@@ -64,6 +66,8 @@ ServerName foo.bar.com:8631
<P>The default port number is 631 but can be overridden by adding a colon followed by the desired port number to the value.</P>
+<P>By default, CUPS 1.6 and later use IPP/2.0 to communicate with the server. Add "/version=1.1" to force IPP/1.1 which is required for CUPS 1.3.12 and earlier.</P>
+
<P>The default is to use the local server ("<VAR>localhost</VAR>") or domain socket, if so configured.</P>
<BLOCKQUOTE><B>Note:</B>
diff --git a/doc/help/ref-cups-files-conf.html.in b/doc/help/ref-cups-files-conf.html.in
index fa922cb2..171950c5 100644
--- a/doc/help/ref-cups-files-conf.html.in
+++ b/doc/help/ref-cups-files-conf.html.in
@@ -37,7 +37,7 @@ server activity.</P>
information to the system log instead of a plain file.</P>
<P>The default access log file is
-<VAR>@CUPS_LOGDIR@/access_log</VAR>.</P>
+<VAR>/var/log/access_log</VAR>.</P>
<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.15</SPAN><A NAME="ConfigFilePerm">ConfigFilePerm</A></H2>
@@ -51,7 +51,7 @@ ConfigFilePerm 0640
<H3>Description</H3>
-<P>The <CODE>ConfigFilePerm</CODE> directive specifies the permissions to use when the scheduler writes configuration and cache files, typically in response to IPP or HTTP requests. The default is @CUPS_CONFIG_FILE_PERM@.</P>
+<P>The <CODE>ConfigFilePerm</CODE> directive specifies the permissions to use when the scheduler writes configuration and cache files, typically in response to IPP or HTTP requests. The default is 644 on OS X and 640 on all other operating systems.</P>
<BLOCKQUOTE><B>Note:</B>
@@ -89,13 +89,13 @@ DocumentRoot /foo/bar/doc/cups
of web content for the HTTP server in CUPS. If an absolute path
is not specified then it is assumed to be relative to the <A
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default directory is <VAR>@CUPS_DOCROOT@</VAR>.</P>
+default directory is <VAR>/usr/share/doc/cups</VAR>.</P>
<P>Documents are first looked up in a sub-directory for the
primary language requested by the client (e.g.
-<VAR>@CUPS_DOCROOT@/fr/...</VAR>) and then directly under
+<VAR>/usr/share/doc/cups/fr/...</VAR>) and then directly under
the <CODE>DocumentRoot</CODE> directory (e.g.
-<VAR>@CUPS_DOCROOT@/...</VAR>), so it is possible to
+<VAR>/usr/share/doc/cups/...</VAR>), so it is possible to
localize the web content by providing subdirectories for each
language needed.</P>
@@ -116,7 +116,7 @@ ErrorLog syslog
log file. If the filename is not absolute then it is assumed to
be relative to the <A
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default error log file is <VAR>@CUPS_LOGDIR@/error_log</VAR>.</P>
+default error log file is <VAR>/var/log/cups/error_log</VAR>.</P>
<P>The server name can be included in the filename by using
<CODE>%s</CODE> in the name.</P>
@@ -172,7 +172,7 @@ errors are fatal. The following kinds of errors are currently recognized:</P>
<P>Multiple errors can be listed, and the form "-kind" can be used with
<CODE>all</CODE> to remove specific kinds of errors. The default setting is
-<CODE>@CUPS_FATAL_ERRORS@</CODE>.</P>
+<CODE>config</CODE>.</P>
<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.18</SPAN><A NAME="FileDevice">FileDevice</A></H2>
@@ -255,7 +255,7 @@ LogFilePerm 0600
<P>The <CODE>LogFilePerm</CODE> directive specifies the
permissions to use when writing log files. The default
-is @CUPS_LOG_FILE_PERM@.</P>
+is 644.</P>
<H2 CLASS="title"><A NAME="PageLog">PageLog</A></H2>
@@ -274,7 +274,7 @@ PageLog syslog
log file. If the filename is not absolute then it is assumed to
be relative to the <A
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default page log file is <VAR>@CUPS_LOGDIR@/page_log</VAR>.</P>
+default page log file is <VAR>/var/log/cups/page_log</VAR>.</P>
<P>The server name can be included in the filename by using
<CODE>%s</CODE> in the name.</P>
@@ -296,17 +296,9 @@ Printcap /Library/Preferences/org.cups.printers.plist
<H3>Description</H3>
-<P>The <CODE>Printcap</CODE> directive controls whether or not a
-printcap file is automatically generated and updated with a list
-of available printers. If specified with no value, then no
-printcap file will be generated. The default is to generate a
-file named <VAR>@CUPS_DEFAULT_PRINTCAP@</VAR>.</P>
+<P>The <CODE>Printcap</CODE> directive controls whether or not a printcap file is automatically generated and updated with a list of available printers. If specified with no value, then no printcap file will be generated. The default is to generate a file named <VAR>/Library/Preferences.org.cups.printers.plist</VAR> on OS X and <VAR>/etc/printcap</VAR> on all other operating systems.</P>
-<P>When a filename is specified (e.g. <VAR>@CUPS_DEFAULT_PRINTCAP@</VAR>),
-the printcap file is written whenever a printer is added or
-removed. The printcap file can then be used by applications that
-are hardcoded to look at the printcap file for the available
-printers.</P>
+<P>When a filename is specified (e.g. <VAR>/etc/printcap</VAR>), the printcap file is written whenever a printer is added or removed. The printcap file can then be used by applications that are hardcoded to look at the printcap file for the available printers.</P>
<H2 CLASS="title"><A NAME="PrintcapFormat">PrintcapFormat</A></H2>
@@ -359,7 +351,7 @@ RequestRoot /foo/bar/spool/cups
incoming IPP requests and HTML forms. If an absolute path is not
provided then it is assumed to be relative to the <A
HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory. The
-default request directory is <VAR>@CUPS_REQUESTS@</VAR>.</P>
+default request directory is <VAR>/var/spool/cups</VAR>.</P>
<H2 CLASS="title"><A NAME="ServerBin">ServerBin</A></H2>
@@ -451,10 +443,7 @@ SystemGroup root lpadmin
<H3>Description</H3>
-<P>The <CODE>SystemGroup</CODE> directive specifies the system
-administration group for <CODE>System</CODE> authentication.
-Multiple groups can be listed, separated with spaces. The default
-group list is <CODE>@CUPS_SYSTEM_GROUPS@</CODE>.</P>
+<P>The <CODE>SystemGroup</CODE> directive specifies the system administration group for <CODE>System</CODE> authentication. Multiple groups can be listed, separated with spaces. The default group list is <CODE>admin</CODE> on OS X and <CODE>lpadmin</CODE>, <CODE>root</CODE>, <CODE>sys</CODE>, and/or <CODE>system</CODE> on other operating systems.</P>
<H2 CLASS="title"><A NAME="TempDir">TempDir</A></H2>
@@ -470,7 +459,7 @@ TempDir /foo/bar/tmp
<P>The <CODE>TempDir</CODE> directive specifies an absolute path
for the directory to use for temporary files. The default
-directory is <VAR>@CUPS_REQUESTS@/tmp</VAR>.</P>
+directory is <VAR>/var/spool/cups/tmp</VAR>.</P>
<P>Temporary directories must be world-writable and should have
the "sticky" permission bit enabled so that other users cannot
@@ -483,6 +472,10 @@ an appropriate temporary directory called
<KBD>chmod a+rwxt /foo/bar/tmp</KBD>
</PRE>
+<BLOCKQUOTE><B>Note:</B>
+
+<P>The <CODE>TempDir</CODE> cannot be pointed at a standard system temporary directory such as <VAR>/tmp</VAR> or <VAR>/var/tmp</VAR> for security reasons.</P></BLOCKQUOTE>
+
<H2 CLASS="title"><A NAME="User">User</A></H2>
@@ -495,9 +488,7 @@ User guest
<H3>Description</H3>
-<P>The <CODE>User</CODE> directive specifies the UNIX user that
-filter and CGI programs run as. The default user is
-<CODE>@CUPS_USER@</CODE>.</P>
+<P>The <CODE>User</CODE> directive specifies the UNIX user that filter and CGI programs run as. The default user is <CODE>_lp</CODE>, <CODE>lp</CODE>, or <CODE>nobody</CODE> (whichever is found first).</P>
<BLOCKQUOTE><B>Note:</B>
diff --git a/doc/help/ref-cupsd-conf.html.in b/doc/help/ref-cupsd-conf.html.in
index 43ca20b6..dc9ee70c 100644
--- a/doc/help/ref-cupsd-conf.html.in
+++ b/doc/help/ref-cupsd-conf.html.in
@@ -247,10 +247,7 @@ BrowseLocalProtocols dnssd
<H3>Description</H3>
-<P>The <CODE>BrowseLocalProtocols</CODE> directive specifies the
-protocols to use when advertising local shared printers on the
-network. Multiple protocols can be specified by separating them
-with spaces. The default is "<CODE>@CUPS_BROWSE_LOCAL_PROTOCOLS@</CODE>".</P>
+<P>The <CODE>BrowseLocalProtocols</CODE> directive specifies the protocols to use when advertising local shared printers on the network. Multiple protocols can be specified by separating them with spaces. The default is "<CODE>dnssd</CODE>" on systems that support Bonjour and "<CODE>none</CODE>" on all others.</P>
<H2 CLASS="title"><A NAME="BrowseWebIF">BrowseWebIF</A></H2>
@@ -280,9 +277,7 @@ Browsing Off
<H3>Description</H3>
-<P>The <CODE>Browsing</CODE> directive controls whether or not
-printer sharing is enabled. The default setting is
-<CODE>@CUPS_BROWSING@</CODE>.</P>
+<P>The <CODE>Browsing</CODE> directive controls whether or not printer sharing is enabled. The default setting is <CODE>On</CODE>.</P>
<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.1.7</SPAN><A NAME="Classification">Classification</A></H2>
@@ -430,15 +425,13 @@ and other job operations.</P>
<H3>Examples</H3>
<PRE CLASS="command">
-DefaultShared yes
-DefaultShared no
+DefaultShared Yes
+DefaultShared No
</PRE>
<H3>Description</H3>
-<P>The <CODE>DefaultShared</CODE> directive specifies whether
-printers are shared (published) by default. The default is
-<CODE>@CUPS_DEFAULT_SHARED@</CODE>.</P>
+<P>The <CODE>DefaultShared</CODE> directive specifies whether printers are shared (published) by default. The default is <CODE>Yes</CODE>.</P>
<H2 CLASS="title"><A NAME="Deny">Deny</A></H2>
@@ -628,7 +621,7 @@ GSSServiceName ipp
<H3>Description</H3>
-<P>The <CODE>GSSServiceName</CODE> directive sets the Kerberos service name to use. The default is <CODE>@CUPS_DEFAULT_GSSSERVICE_NAME@</CODE> for compatibility with Microsoft Windows.</P>
+<P>The <CODE>GSSServiceName</CODE> directive sets the Kerberos service name to use. The default is <CODE>http</CODE> for compatibility with Microsoft Windows.</P>
<H2 CLASS="title"><A NAME="HostNameLookups">HostNameLookups</A></H2>
@@ -2150,13 +2143,13 @@ to wait before an active HTTP or IPP request times out in seconds (no suffix), m
<H3>Examples</H3>
<PRE CLASS="command">
-WebInterface yes
-WebInterface no
+WebInterface Yes
+WebInterface No
</PRE>
<H3>Description</H3>
-<P>The <CODE>WebInterface</CODE> directive specifies whether the web interface is enabled. The default value is <CODE>@CUPS_WEBIF@</CODE>.</P>
+<P>The <CODE>WebInterface</CODE> directive specifies whether the web interface is enabled. The default value is <CODE>No</CODE> on OS X and <CODE>Yes</CODE> on all other operating systems.</P>
</BODY>
</HTML>
diff --git a/doc/help/ref-subscriptions-conf.html b/doc/help/ref-subscriptions-conf.html
index d4f4defc..06cfc72c 100644
--- a/doc/help/ref-subscriptions-conf.html
+++ b/doc/help/ref-subscriptions-conf.html
@@ -196,7 +196,7 @@ HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
<PRE CLASS="command">
&lt;Subscription NNN&gt;
...
- LeaseDuration
+ LeaseDuration
&lt;/Subscription&gt;
</PRE>
@@ -335,17 +335,17 @@ unique (to the server) number starting at 1.</P>
<PRE CLASS="command">
&lt;Subscription NNN&gt;
...
- UserData mailto:bar<40>domain.com
+ UserData mailto:bar&lt;40&gt;example.com
&lt;/Subscription&gt;
</PRE>
<H3>Description</H3>
<P>The <CODE>UserData</CODE> directive specifies the
-<CODE>notify-user-data</CODE> value, which is normally the "from"
+<CODE>notify-user-data</CODE> value, which is normally the "to"
address used in <CODE>mailto</CODE> notifications. Binary values
are introduced by encoding the bytes as hexadecimal values inside
-angle brackets, e.g. "<1234>".</P>
+angle brackets, e.g. "&lt;1234&gt;".</P>
<P>The <CODE>UserData</CODE> directive must appear inside a <A
HREF="#Subscription"><CODE>Subscription</CODE></A> section.</P>
diff --git a/doc/help/security.html b/doc/help/security.html
index c86151d1..3bd56425 100644
--- a/doc/help/security.html
+++ b/doc/help/security.html
@@ -48,7 +48,7 @@ authentication:</P>
middle" and replay attacks from the same client.</P>
<P><B>Recommendation:</B> Enable encryption to hide the
- username and password information.</P></LI></LI>
+ username and password information.</P></LI>
<LI>Local certificate authentication passes 128-bit
"certificates" that identify an authenticated user.
@@ -65,7 +65,7 @@ authentication:</P>
socket.</P>
<P><B>Recommendation:</B> Ensure that unauthorized users
- are not added to the system group(s).</P></LI></LI>
+ are not added to the system group(s).</P></LI>
</OL>
diff --git a/doc/help/spec-banner.html b/doc/help/spec-banner.html
index 2d22d9e8..65b09613 100644
--- a/doc/help/spec-banner.html
+++ b/doc/help/spec-banner.html
@@ -8,7 +8,7 @@
</head>
<body>
<!--
- "$Id: spec-banner.html 9727 2011-04-28 21:20:12Z mike $"
+ "$Id$"
Banner file format specification for CUPS.
diff --git a/doc/help/spec-browsing.html b/doc/help/spec-browsing.html
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/doc/help/spec-browsing.html
diff --git a/doc/help/spec-command.html b/doc/help/spec-command.html
index af201cb5..06093574 100644
--- a/doc/help/spec-command.html
+++ b/doc/help/spec-command.html
@@ -8,7 +8,7 @@
</head>
<body>
<!--
- "$Id: spec-command.html 9727 2011-04-28 21:20:12Z mike $"
+ "$Id$"
CUPS command file format specification for CUPS.
diff --git a/doc/help/spec-ipp.html b/doc/help/spec-ipp.html
index 27b8fca2..e06270c1 100644
--- a/doc/help/spec-ipp.html
+++ b/doc/help/spec-ipp.html
@@ -8,7 +8,7 @@
</head>
<body>
<!--
- "$Id: spec-ipp.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id$"
CUPS IPP specification for CUPS.
diff --git a/doc/help/spec-postscript.html b/doc/help/spec-postscript.html
index 8a84273c..110c5a3c 100644
--- a/doc/help/spec-postscript.html
+++ b/doc/help/spec-postscript.html
@@ -8,7 +8,7 @@
</head>
<body>
<!--
- "$Id: spec-postscript.html 10424 2012-04-23 17:26:57Z mike $"
+ "$Id$"
CUPS PostScript file specification for CUPS.
diff --git a/doc/help/spec-ppd.html b/doc/help/spec-ppd.html
index b368b51f..5853ede5 100644
--- a/doc/help/spec-ppd.html
+++ b/doc/help/spec-ppd.html
@@ -341,7 +341,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
- "$Id: spec-ppd.html 10587 2012-08-30 20:22:22Z mike $"
+ "$Id$"
PPD extension documentation for CUPS.
@@ -975,7 +975,7 @@ option value is "1234" then CUPS will output the string "@PJL SET PASSCODE=1234"
<p>The resulting dictionary sets the page device attributes that are sent to your raster driver in the page header.</p>
-<h3>Custom Page Size Code</a></h3>
+<h3>Custom Page Size Code</h3>
<p>There are many possible implementations of the <tt>CustomPageSize</tt> code. For CUPS raster drivers, the following code is recommended:</p>
@@ -988,7 +988,7 @@ option value is "1234" then CUPS will output the string "@PJL SET PASSCODE=1234"
*CustomPageSize True: "pop pop pop &lt;&lt;/PageSize[5 -2 roll]/ImagingBBox null&gt;&gt;setpagedevice"
</pre>
-<h3>Supported PostScript Operators</a></h3>
+<h3>Supported PostScript Operators</h3>
<p>CUPS supports the following PostScript operators in addition to the usual PostScript number, string (literal and hex-encoded), boolean, null, and name values:</p>
@@ -1047,7 +1047,7 @@ PRE B {
</blockquote>
-<h3>Supported Page Device Attributes</a></h3>
+<h3>Supported Page Device Attributes</h3>
<p>Table 2 shows the supported page device attributes along with PostScript code examples.</p>
@@ -1711,7 +1711,7 @@ http://www.vendor.com/help"
</pre>
-<h3><span class='info'>CUPS 1.7</span><a name='cupsJobAccountId'>cupsJobAccountId</a></h3>
+<h3><span class='info'>CUPS 1.7/OS X 10.9</span><a name='cupsJobAccountId'>cupsJobAccountId</a></h3>
<p class='summary'>*cupsJobAccountId: boolean</p>
@@ -1725,7 +1725,7 @@ http://www.vendor.com/help"
</pre>
-<h3><span class='info'>CUPS 1.7</span><a name='cupsJobAccountingUserId'>cupsJobAccountingUserId</a></h3>
+<h3><span class='info'>CUPS 1.7/OS X 10.9</span><a name='cupsJobAccountingUserId'>cupsJobAccountingUserId</a></h3>
<p class='summary'>*cupsJobAccountingUserId: boolean</p>
@@ -1739,7 +1739,7 @@ http://www.vendor.com/help"
</pre>
-<h3><span class='info'>CUPS 1.7</span><a name='cupsJobPassword'>cupsJobPassword</a></h3>
+<h3><span class='info'>CUPS 1.7/OS X 10.9</span><a name='cupsJobPassword'>cupsJobPassword</a></h3>
<p class='summary'>*cupsJobPassword: "format"</p>
@@ -1769,7 +1769,7 @@ list of locale names ("en", "en_US", "fr_CA", etc.)</p>
</pre>
-<h3><span class='info'>CUPS 1.7</span><a name='cupsMandatory'>cupsMandatory</a></h3>
+<h3><span class='info'>CUPS 1.7/OS X 10.9</span><a name='cupsMandatory'>cupsMandatory</a></h3>
<p class='summary'>*cupsMandatory: "attribute1 attribute2 ... attributeN"</p>
@@ -2327,7 +2327,7 @@ the device.</p>
<ul>
- <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
+ <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
<li>Added <a href="#cupsMaxCopies"><tt>cupsMaxCopies</tt></a> keyword.</li>
diff --git a/doc/help/standard.html.in b/doc/help/standard.html.in
deleted file mode 100644
index f957fe24..00000000
--- a/doc/help/standard.html.in
+++ /dev/null
@@ -1,181 +0,0 @@
-<HTML>
-<!-- SECTION: Getting Started -->
-<HEAD>
- <TITLE>Standard Configuration</TITLE>
- <LINK REL="STYLESHEET" TYPE="text/css" HREF="../cups-printable.css">
-</HEAD>
-<BODY>
-
-<H1 CLASS="title">Standard Configuration</H1>
-
-<P>This document describes the standard configuration for this CUPS
-server.</P>
-
-<BLOCKQUOTE><B>Note:</B>
-
-<!-- Packagers: Change the following statement and the following sections
- if you make any changes to the standard CUPS distribution that are
- not automatically updated by the configure script. -->
-<P>This file reflects the standard CUPS configuration as distributed
-by Apple Inc, the developer of CUPS.</P>
-
-</BLOCKQUOTE>
-
-
-<H2 CLASS="title"><A NAME="CUPSD">cupsd Configuration</A></H2>
-
-<P><CODE>cupsd(8)</CODE> is configured by default to show
-printers shared by other systems and only allow local access to
-the system and its printers. Administration operations require
-Basic authentication with membership in the group
-"@CUPS_GROUP@".</P>
-
-<P>Connections are accepted via domain socket
-(<VAR>@CUPS_DEFAULT_DOMAINSOCKET@</VAR>) or "localhost"
-(127.0.0.1).</P>
-
-<H3><A NAME="SETTINGS">Settings</A></H3>
-
-<DIV CLASS="table"><TABLE SUMMARY="Default Values">
-<CAPTION>Table 1: Default Values</CAPTION>
-<TR>
- <TH>Directive</TH>
- <TH>Value</TH>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#Browsing">Browsing</A></CODE></TD>
- <TD><CODE>@CUPS_BROWSING@</CODE></TD>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#BrowseLocalProtocols">BrowseLocalProtocols</A></CODE></TD>
- <TD><CODE>@CUPS_BROWSE_LOCAL_PROTOCOLS@</CODE></TD>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#BrowseRemoteProtocols">BrowseRemoteProtocols</A></CODE></TD>
- <TD><CODE>@CUPS_BROWSE_REMOTE_PROTOCOLS@</CODE></TD>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#BrowseShortNames">BrowseShortNames</A></CODE></TD>
- <TD><CODE>@CUPS_BROWSE_SHORT_NAMES@</CODE></TD>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#ConfigFilePerm">ConfigFilePerm</A></CODE></TD>
- <TD><CODE>@CUPS_CONFIG_FILE_PERM@</CODE></TD>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#DefaultShared">DefaultShared</A></CODE></TD>
- <TD><CODE>@CUPS_DEFAULT_SHARED@</CODE></TD>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#ImplicitClasses">ImplicitClasses</A></CODE></TD>
- <TD><CODE>@CUPS_IMPLICIT_CLASSES@</CODE></TD>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#LogFilePerm">LogFilePerm</A></CODE></TD>
- <TD><CODE>@CUPS_LOG_FILE_PERM@</CODE></TD>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#MaxCopies">MaxCopies</A></CODE></TD>
- <TD><CODE>@CUPS_MAX_COPIES@</CODE></TD>
-</TR>
-<TR>
- <TD><CODE><A HREF="ref-cupsd-conf.html#UseNetworkDefault">UseNetworkDefault</A></CODE></TD>
- <TD><CODE>@CUPS_USE_NETWORK_DEFAULT@</CODE></TD>
-</TR>
-</TABLE></DIV>
-
-
-<H2 CLASS="title"><A NAME="DIRECTORIES">Directories</A></H2>
-
-<DIV CLASS="table"><TABLE SUMMARY="Directories">
-<CAPTION>Table 2: Directories</CAPTION>
-<TR>
- <TH>Directory</TH>
- <TH>Purpose</TH>
-</TR>
-<TR>
- <TD><VAR>@CUPS_SERVERROOT@</VAR></TD>
- <TD>The location of configuration files such as
- <VAR>printers.conf</VAR>. Overridden by the <A
- HREF="ref-cupsd-conf.html#ServerRoot"><CODE>ServerRoot</CODE></A>
- directive in <VAR>cupsd.conf</VAR>.</TD>
-</TR>
-<TR>
- <TD><VAR>@bindir@</VAR></TD>
- <TD>The location of user programs.</TD>
-</TR>
-<TR>
- <TD><VAR>@includedir@</VAR></TD>
- <TD>The location of CUPS include files.</TD>
-</TR>
-<TR>
- <TD><VAR>@libdir@</VAR></TD>
- <TD>The location of CUPS library files.</TD>
-</TR>
-<TR>
- <TD><VAR>@CUPS_SERVERBIN@</VAR></TD>
- <TD>The location of server programs such as backends and
- filters. Overridden by the <A
- HREF="ref-cupsd-conf.html#ServerBin"><CODE>ServerBin</CODE></A>
- directive in <VAR>cupsd.conf</VAR>.</TD>
-</TR>
-<TR>
- <TD><VAR>@sbindir@</VAR></TD>
- <TD>The location of administrator programs.</TD>
-</TR>
-<TR>
- <TD><VAR>@CUPS_DATADIR@</VAR></TD>
- <TD>The location of data files such as fonts. Overridden
- by the <A
- HREF="ref-cupsd-conf.html#DataDir"><CODE>DataDir</CODE></A>
- directive in <VAR>cupsd.conf</VAR>.</TD>
-</TR>
-<TR>
- <TD><VAR>@CUPS_DOCROOT@</VAR></TD>
- <TD>The location of documentation files. Overridden by
- the <A
- HREF="ref-cupsd-conf.html#DocumentRoot"><CODE>DocumentRoot</CODE></A>
- directive in <VAR>cupsd.conf</VAR>.</TD>
-</TR>
-<TR>
- <TD><VAR>@CUPS_LOCALEDIR@</VAR></TD>
- <TD>The location of localization files.</TD>
-</TR>
-<TR>
- <TD><VAR>@CUPS_CACHEDIR@</VAR></TD>
- <TD>The location of cache files such as
- <VAR>ppds.dat</VAR> and <VAR>remote.cache</VAR>.
- Overridden by the <A
- HREF="ref-cupsd-conf.html#CacheDir"><CODE>CacheDir</CODE></A>
- directive in <VAR>cupsd.conf</VAR>.</TD>
-</TR>
-<TR>
- <TD><VAR>@CUPS_LOGDIR@</VAR></TD>
- <TD>The location of the <VAR>access_log</VAR>,
- <VAR>error_log</VAR>, and <VAR>page_log</VAR> files.
- Overridden by the <A
- HREF="ref-cupsd-conf.html#AccessLog"><CODE>AccessLog</CODE></A>,
- <A
- HREF="ref-cupsd-conf.html#ErrorLog"><CODE>ErrorLog</CODE></A>,
- <A
- HREF="ref-cupsd-conf.html#PageLog"><CODE>PageLog</CODE></A>,
- directive in <VAR>cupsd.conf</VAR>.</TD>
-</TR>
-<TR>
- <TD><VAR>@CUPS_STATEDIR@</VAR></TD>
- <TD>The location of the domain socket file and state data
- such as authentication certificates. Overridden by the <A
- HREF="ref-cupsd-conf.html#StateDir"><CODE>StateDir</CODE></A>
- directive in <VAR>cupsd.conf</VAR>.</TD>
-</TR>
-<TR>
- <TD><VAR>@CUPS_REQUESTS@</VAR></TD>
- <TD>The location of spooled print jobs. Overridden by the
- <A
- HREF="ref-cupsd-conf.html#RequestRoot"><CODE>RequestRoot</CODE></A>
- directive in <VAR>cupsd.conf</VAR>.</TD>
-</TR>
-</TABLE></DIV>
-
-</BODY>
-</HTML>
diff --git a/doc/help/whatsnew.html b/doc/help/whatsnew.html
index 2bfc86fd..24e630e5 100644
--- a/doc/help/whatsnew.html
+++ b/doc/help/whatsnew.html
@@ -8,7 +8,7 @@
<H1 CLASS="title">What's New in CUPS 1.7</H1>
-<P>This page provides a high-level outline of these changes. If you have never used CUPS before, read the <A HREF="overview.html">"Overview of CUPS"</A> document instead.</P>
+<P>This page provides a high-level outline of the changes in CUPS 1.7. If you have never used CUPS before, read the <A HREF="overview.html">"Overview of CUPS"</A> document instead.</P>
<P>CUPS 1.7 is primarily a "polish" release. Users will appreciate improved support for paid, PIN, and release printing, as well as expanded support for printers conforming to the <a href="http://www.pwg.org/ipp/everywhere.html">IPP Everywhere</a> specification. Full support for this functionality depends on additional software from your operating system vendor.</p>
diff --git a/doc/images/color-wheel.png b/doc/images/color-wheel.png
index 301e3fd5..f55e69f8 100644
--- a/doc/images/color-wheel.png
+++ b/doc/images/color-wheel.png
Binary files differ
diff --git a/doc/images/generic.png b/doc/images/generic.png
deleted file mode 100644
index 2abe9de9..00000000
--- a/doc/images/generic.png
+++ /dev/null
Binary files differ
diff --git a/doc/swish-e.config b/doc/swish-e.config
new file mode 100644
index 00000000..662f9839
--- /dev/null
+++ b/doc/swish-e.config
@@ -0,0 +1,16 @@
+# Where to get things
+IndexDir doc
+
+# Where to put things
+IndexFile doc/swish-e.index
+
+# Ignore image and index files
+FileRules filename contains .gif
+FileRules filename contains .gz
+FileRules filename contains .jpg
+FileRules filename contains .png
+FileRules filename contains .svg
+FileRules filename contains swish-e
+FileRules filename contains .tokens
+FileRules filename is Makefile
+
diff --git a/examples/Makefile b/examples/Makefile
index da9b5970..f4737a64 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
+# "$Id: Makefile 3247 2011-05-12 06:22:31Z msweet $"
#
# PPD compiler example makefile for CUPS.
#
@@ -124,5 +124,5 @@ uninstall:
#
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
+# End of "$Id: Makefile 3247 2011-05-12 06:22:31Z msweet $".
#
diff --git a/examples/ppdx.c b/examples/ppdx.c
index d4a0f6b0..920f8db1 100644
--- a/examples/ppdx.c
+++ b/examples/ppdx.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ppdx.c 10459 2012-05-09 22:34:27Z mike $"
+ * "$Id: ppdx.c 3833 2012-05-23 22:51:18Z msweet $"
*
* Example code for encoding and decoding large amounts of data in a PPD file.
* This would typically be used in a driver to save configuration/state
@@ -310,5 +310,5 @@ ppdxWriteData(const char *name, /* I - Base name of keyword */
/*
- * End of "$Id: ppdx.c 10459 2012-05-09 22:34:27Z mike $".
+ * End of "$Id: ppdx.c 3833 2012-05-23 22:51:18Z msweet $".
*/
diff --git a/examples/ppdx.h b/examples/ppdx.h
index e6cc7786..14f34b34 100644
--- a/examples/ppdx.h
+++ b/examples/ppdx.h
@@ -1,5 +1,5 @@
/*
- * "$Id: ppdx.h 10459 2012-05-09 22:34:27Z mike $"
+ * "$Id: ppdx.h 3833 2012-05-23 22:51:18Z msweet $"
*
* Header for PPD data encoding example code.
*
@@ -78,5 +78,5 @@ extern void ppdxWriteData(const char *name, const void *data,
#endif /* !_PPDX_H */
/*
- * End of "$Id: ppdx.h 10459 2012-05-09 22:34:27Z mike $".
+ * End of "$Id: ppdx.h 3833 2012-05-23 22:51:18Z msweet $".
*/
diff --git a/examples/testppdx.c b/examples/testppdx.c
index b11317f5..372f3d55 100644
--- a/examples/testppdx.c
+++ b/examples/testppdx.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testppdx.c 10459 2012-05-09 22:34:27Z mike $"
+ * "$Id: testppdx.c 3833 2012-05-23 22:51:18Z msweet $"
*
* Test program for PPD data encoding example code.
*
@@ -113,5 +113,5 @@ main(void)
/*
- * End of "$Id: testppdx.c 10459 2012-05-09 22:34:27Z mike $".
+ * End of "$Id: testppdx.c 3833 2012-05-23 22:51:18Z msweet $".
*/
diff --git a/examples/testppdx.ppd b/examples/testppdx.ppd
index 908f3e14..2e58df66 100644
--- a/examples/testppdx.ppd
+++ b/examples/testppdx.ppd
@@ -1,6 +1,6 @@
*PPD-Adobe: "4.3"
*%
-*% "$Id: testppdx.ppd 10459 2012-05-09 22:34:27Z mike $"
+*% "$Id: testppdx.ppd 3833 2012-05-23 22:51:18Z msweet $"
*%
*% Test PPD file for data encoding example.
*%
@@ -109,7 +109,7 @@
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
*%
-*% End of "$Id: testppdx.ppd 10459 2012-05-09 22:34:27Z mike $".
+*% End of "$Id: testppdx.ppd 3833 2012-05-23 22:51:18Z msweet $".
*%
*EXData0000: "eNqlVm1v2zYQ/hz/ipvWznLgl6T7siXrgCJ2AANBEyQpNmAtAlqiLG4SKZBU7LTIf9/dUW9Og32ZAFsieffcc88dKS2OR3AM0Zt1+ibCJxoA3EvnobJma0UJmbFwc7OEVHgBUicmVXoLci/KqpCAQznvHC9MWSmc3Smfn3WzdG2TBGYGPCJXVbqH2fIBQR+Wq5vb1cWH+9XyfRTBbNs"
*EXData0001: "GcwTaG6zIqkrh7evgzDVk1Xb3MO7k9N3sHmCDxWRWeuk53KfSxf4paC087ZOvDLaTcF54WUptcdnoVO0KavaS9um7EBYCT6XAQhnK2n9E5hsEIc9yQ6XvUw8RkEelzKVVhQI2TAMEIXYzQGWClmoTU002L1GgmwVIpraF0ozXYoOGUkZXa0vVh/vVnO/91FA2+UqycHlpi5SyMWjhI0"
diff --git a/filter/Makefile b/filter/Makefile
index 8428b676..99d2ee05 100644
--- a/filter/Makefile
+++ b/filter/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10768 2012-12-14 13:06:44Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Filter makefile for CUPS.
#
@@ -398,5 +398,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10768 2012-12-14 13:06:44Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/filter/api-raster.header b/filter/api-raster.header
index 201c799d..42c11d1e 100644
--- a/filter/api-raster.header
+++ b/filter/api-raster.header
@@ -1,5 +1,5 @@
<!--
- "$Id: api-raster.header 9344 2010-10-26 23:45:18Z mike $"
+ "$Id$"
Raster API documentation for CUPS.
diff --git a/filter/api-raster.shtml b/filter/api-raster.shtml
index fff478dc..cb137d52 100644
--- a/filter/api-raster.shtml
+++ b/filter/api-raster.shtml
@@ -3,7 +3,7 @@
Raster API introduction for CUPS.
- Copyright 2007-2012 by Apple Inc.
+ Copyright 2007-2013 by Apple Inc.
Copyright 1997-2006 by Easy Software Products, all rights reserved.
These coded instructions, statements, and computer programs are the
diff --git a/filter/commandtops.c b/filter/commandtops.c
index 93cc7b77..a75809c2 100644
--- a/filter/commandtops.c
+++ b/filter/commandtops.c
@@ -1,5 +1,5 @@
/*
- * "$Id: commandtops.c 10431 2012-04-23 19:19:19Z mike $"
+ * "$Id: commandtops.c 3794 2012-04-23 22:44:16Z msweet $"
*
* PostScript command filter for CUPS.
*
@@ -534,5 +534,5 @@ report_levels(ppd_file_t *ppd, /* I - PPD file */
/*
- * End of "$Id: commandtops.c 10431 2012-04-23 19:19:19Z mike $".
+ * End of "$Id: commandtops.c 3794 2012-04-23 22:44:16Z msweet $".
*/
diff --git a/filter/common.c b/filter/common.c
index 67e440e5..2d52e781 100644
--- a/filter/common.c
+++ b/filter/common.c
@@ -1,5 +1,5 @@
/*
- * "$Id: common.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: common.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Common filter routines for CUPS.
*
@@ -531,5 +531,5 @@ WriteTextComment(const char *name, /* I - Comment name ("Title", etc.) */
/*
- * End of "$Id: common.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: common.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/common.h b/filter/common.h
index ffb782ce..9693ce8d 100644
--- a/filter/common.h
+++ b/filter/common.h
@@ -1,5 +1,5 @@
/*
- * "$Id: common.h 9063 2010-04-01 17:01:09Z mike $"
+ * "$Id: common.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Common filter definitions for CUPS.
*
@@ -74,5 +74,5 @@ extern void WriteTextComment(const char *name, const char *value);
/*
- * End of "$Id: common.h 9063 2010-04-01 17:01:09Z mike $".
+ * End of "$Id: common.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/error.c b/filter/error.c
index a4f9fe16..994cfb86 100644
--- a/filter/error.c
+++ b/filter/error.c
@@ -1,5 +1,5 @@
/*
- * "$Id: error.c 10424 2012-04-23 17:26:57Z mike $"
+ * "$Id: error.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Raster error handling for CUPS.
*
@@ -282,5 +282,5 @@ get_error_buffer(void)
/*
- * End of "$Id: error.c 10424 2012-04-23 17:26:57Z mike $".
+ * End of "$Id: error.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/gziptoany.c b/filter/gziptoany.c
index a5f379af..81a3f17d 100644
--- a/filter/gziptoany.c
+++ b/filter/gziptoany.c
@@ -1,5 +1,5 @@
/*
- * "$Id: gziptoany.c 10431 2012-04-23 19:19:19Z mike $"
+ * "$Id: gziptoany.c 10996 2013-05-29 11:51:34Z msweet $"
*
* GZIP/raw pre-filter for CUPS.
*
@@ -108,5 +108,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: gziptoany.c 10431 2012-04-23 19:19:19Z mike $".
+ * End of "$Id: gziptoany.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/interpret.c b/filter/interpret.c
index 5351fbd4..4630beae 100644
--- a/filter/interpret.c
+++ b/filter/interpret.c
@@ -1,5 +1,5 @@
/*
- * "$Id: interpret.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: interpret.c 10996 2013-05-29 11:51:34Z msweet $"
*
* PPD command interpreter for CUPS.
*
@@ -1684,5 +1684,5 @@ DEBUG_stack(_cups_ps_stack_t *st) /* I - Stack */
/*
- * End of "$Id: interpret.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: interpret.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/postscript-driver.header b/filter/postscript-driver.header
index f269a119..08e4c175 100644
--- a/filter/postscript-driver.header
+++ b/filter/postscript-driver.header
@@ -1,5 +1,5 @@
<!--
- "$Id: postscript-driver.header 10424 2012-04-23 17:26:57Z mike $"
+ "$Id$"
PostScript printer driver documentation for CUPS.
diff --git a/filter/ppd-compiler.header b/filter/ppd-compiler.header
index 3301bc7a..2caf3aec 100644
--- a/filter/ppd-compiler.header
+++ b/filter/ppd-compiler.header
@@ -1,5 +1,5 @@
<!--
- "$Id: ppd-compiler.header 10307 2012-02-16 05:33:29Z mike $"
+ "$Id$"
PPD compiler documentation for CUPS.
diff --git a/filter/pstops.c b/filter/pstops.c
index 5e124197..49a6fa54 100644
--- a/filter/pstops.c
+++ b/filter/pstops.c
@@ -1,5 +1,5 @@
/*
- * "$Id: pstops.c 10773 2012-12-14 19:12:39Z mike $"
+ * "$Id: pstops.c 10996 2013-05-29 11:51:34Z msweet $"
*
* PostScript filter for CUPS.
*
@@ -3430,5 +3430,5 @@ write_options(
/*
- * End of "$Id: pstops.c 10773 2012-12-14 19:12:39Z mike $".
+ * End of "$Id: pstops.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/raster-driver.header b/filter/raster-driver.header
index 289bffb4..b15c50d9 100644
--- a/filter/raster-driver.header
+++ b/filter/raster-driver.header
@@ -1,5 +1,5 @@
<!--
- "$Id: raster-driver.header 10424 2012-04-23 17:26:57Z mike $"
+ "$Id$"
Raster printer driver documentation for CUPS.
diff --git a/filter/raster.c b/filter/raster.c
index 1bd6fba3..8dd76abe 100644
--- a/filter/raster.c
+++ b/filter/raster.c
@@ -1,5 +1,5 @@
/*
- * "$Id: raster.c 10627 2012-10-01 02:43:31Z mike $"
+ * "$Id: raster.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Raster file routines for CUPS.
*
@@ -1475,5 +1475,5 @@ cups_write_fd(void *ctx, /* I - File descriptor pointer */
/*
- * End of "$Id: raster.c 10627 2012-10-01 02:43:31Z mike $".
+ * End of "$Id: raster.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/rasterbench.c b/filter/rasterbench.c
index 660f451f..eacbd0ee 100644
--- a/filter/rasterbench.c
+++ b/filter/rasterbench.c
@@ -1,5 +1,5 @@
/*
- * "$Id: rasterbench.c 9771 2011-05-12 05:21:56Z mike $"
+ * "$Id: rasterbench.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Raster benchmark program for CUPS.
*
@@ -351,5 +351,5 @@ write_test(int fd, /* I - File descriptor to write to */
/*
- * End of "$Id: rasterbench.c 9771 2011-05-12 05:21:56Z mike $".
+ * End of "$Id: rasterbench.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/rastertoepson.c b/filter/rastertoepson.c
index 23d326fb..e53acabf 100644
--- a/filter/rastertoepson.c
+++ b/filter/rastertoepson.c
@@ -1,5 +1,5 @@
/*
- * "$Id: rastertoepson.c 10430 2012-04-23 18:07:59Z mike $"
+ * "$Id: rastertoepson.c 10996 2013-05-29 11:51:34Z msweet $"
*
* EPSON ESC/P and ESC/P2 filter for CUPS.
*
@@ -1153,5 +1153,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: rastertoepson.c 10430 2012-04-23 18:07:59Z mike $".
+ * End of "$Id: rastertoepson.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/rastertohp.c b/filter/rastertohp.c
index 14f7b3ec..5efad593 100644
--- a/filter/rastertohp.c
+++ b/filter/rastertohp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: rastertohp.c 10430 2012-04-23 18:07:59Z mike $"
+ * "$Id: rastertohp.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Hewlett-Packard Page Control Language filter for CUPS.
*
@@ -882,5 +882,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: rastertohp.c 10430 2012-04-23 18:07:59Z mike $".
+ * End of "$Id: rastertohp.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/rastertolabel.c b/filter/rastertolabel.c
index d8233056..1c495e65 100644
--- a/filter/rastertolabel.c
+++ b/filter/rastertolabel.c
@@ -1,5 +1,5 @@
/*
- * "$Id: rastertolabel.c 10632 2012-10-01 04:07:51Z mike $"
+ * "$Id: rastertolabel.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Label printer filter for CUPS.
*
@@ -1297,5 +1297,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: rastertolabel.c 10632 2012-10-01 04:07:51Z mike $".
+ * End of "$Id: rastertolabel.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/filter/rastertopwg.c b/filter/rastertopwg.c
index 99837021..97dab1cb 100644
--- a/filter/rastertopwg.c
+++ b/filter/rastertopwg.c
@@ -1,5 +1,5 @@
/*
- * "$Id: rastertopwg.c 10005 2011-09-20 18:36:23Z mike $"
+ * "$Id: rastertopwg.c 3427 2011-09-20 18:40:57Z msweet $"
*
* CUPS raster to PWG raster format filter for CUPS.
*
@@ -457,5 +457,5 @@ main(int argc, /* I - Number of command-line args */
/*
- * End of "$Id: rastertopwg.c 10005 2011-09-20 18:36:23Z mike $".
+ * End of "$Id: rastertopwg.c 3427 2011-09-20 18:40:57Z msweet $".
*/
diff --git a/filter/spec-ppd.header b/filter/spec-ppd.header
index c8793d37..40433aa5 100644
--- a/filter/spec-ppd.header
+++ b/filter/spec-ppd.header
@@ -1,5 +1,5 @@
<!--
- "$Id: spec-ppd.header 9680 2011-04-13 15:45:24Z mike $"
+ "$Id$"
PPD extension documentation for CUPS.
diff --git a/filter/spec-ppd.shtml b/filter/spec-ppd.shtml
index 38a24628..33c2d579 100644
--- a/filter/spec-ppd.shtml
+++ b/filter/spec-ppd.shtml
@@ -529,7 +529,7 @@ option value is "1234" then CUPS will output the string "@PJL SET PASSCODE=1234"
<p>The resulting dictionary sets the page device attributes that are sent to your raster driver in the page header.</p>
-<h3>Custom Page Size Code</a></h3>
+<h3>Custom Page Size Code</h3>
<p>There are many possible implementations of the <tt>CustomPageSize</tt> code. For CUPS raster drivers, the following code is recommended:</p>
@@ -542,7 +542,7 @@ option value is "1234" then CUPS will output the string "@PJL SET PASSCODE=1234"
*CustomPageSize True: "pop pop pop &lt;&lt;/PageSize[5 -2 roll]/ImagingBBox null&gt;&gt;setpagedevice"
</pre>
-<h3>Supported PostScript Operators</a></h3>
+<h3>Supported PostScript Operators</h3>
<p>CUPS supports the following PostScript operators in addition to the usual PostScript number, string (literal and hex-encoded), boolean, null, and name values:</p>
@@ -601,7 +601,7 @@ PRE B {
</blockquote>
-<h3>Supported Page Device Attributes</a></h3>
+<h3>Supported Page Device Attributes</h3>
<p>Table 2 shows the supported page device attributes along with PostScript code examples.</p>
@@ -1265,7 +1265,7 @@ http://www.vendor.com/help"
</pre>
-<h3><span class='info'>CUPS 1.7</span><a name='cupsJobAccountId'>cupsJobAccountId</a></h3>
+<h3><span class='info'>CUPS 1.7/OS X 10.9</span><a name='cupsJobAccountId'>cupsJobAccountId</a></h3>
<p class='summary'>*cupsJobAccountId: boolean</p>
@@ -1279,7 +1279,7 @@ http://www.vendor.com/help"
</pre>
-<h3><span class='info'>CUPS 1.7</span><a name='cupsJobAccountingUserId'>cupsJobAccountingUserId</a></h3>
+<h3><span class='info'>CUPS 1.7/OS X 10.9</span><a name='cupsJobAccountingUserId'>cupsJobAccountingUserId</a></h3>
<p class='summary'>*cupsJobAccountingUserId: boolean</p>
@@ -1293,7 +1293,7 @@ http://www.vendor.com/help"
</pre>
-<h3><span class='info'>CUPS 1.7</span><a name='cupsJobPassword'>cupsJobPassword</a></h3>
+<h3><span class='info'>CUPS 1.7/OS X 10.9</span><a name='cupsJobPassword'>cupsJobPassword</a></h3>
<p class='summary'>*cupsJobPassword: "format"</p>
@@ -1323,7 +1323,7 @@ list of locale names ("en", "en_US", "fr_CA", etc.)</p>
</pre>
-<h3><span class='info'>CUPS 1.7</span><a name='cupsMandatory'>cupsMandatory</a></h3>
+<h3><span class='info'>CUPS 1.7/OS X 10.9</span><a name='cupsMandatory'>cupsMandatory</a></h3>
<p class='summary'>*cupsMandatory: "attribute1 attribute2 ... attributeN"</p>
@@ -1881,7 +1881,7 @@ the device.</p>
<ul>
- <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
+ <li>Added <a href="#cupsPageSizeCategory"><tt>cupsPageSizeCategory</tt></a> keyword (originally defined in CUPS 1.4).</li>
<li>Added <a href="#cupsMaxCopies"><tt>cupsMaxCopies</tt></a> keyword.</li>
diff --git a/filter/testraster.c b/filter/testraster.c
index 185170dc..8b682a5a 100644
--- a/filter/testraster.c
+++ b/filter/testraster.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testraster.c 9926 2011-08-27 09:23:01Z mike $"
+ * "$Id: testraster.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Raster test program routines for CUPS.
*
@@ -1074,5 +1074,5 @@ print_changes(
/*
- * End of "$Id: testraster.c 9926 2011-08-27 09:23:01Z mike $".
+ * End of "$Id: testraster.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/install-sh b/install-sh
index 3fbba8e2..956458fc 100755
--- a/install-sh
+++ b/install-sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: install-sh 10487 2012-05-21 15:33:01Z mike $"
+# "$Id: install-sh 11025 2013-06-07 01:00:33Z msweet $"
#
# Install a program, script, or datafile.
#
diff --git a/locale/Makefile b/locale/Makefile
index 45cfd76b..29fc38ac 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10424 2012-04-23 17:26:57Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Locale file makefile for CUPS.
#
@@ -218,5 +218,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10424 2012-04-23 17:26:57Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/locale/checkpo.c b/locale/checkpo.c
index d139c872..14e74a2f 100644
--- a/locale/checkpo.c
+++ b/locale/checkpo.c
@@ -1,5 +1,5 @@
/*
- * "$Id: checkpo.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: checkpo.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Verify that translations in the .po file have the same number and type of
* printf-style format strings.
@@ -409,5 +409,5 @@ free_formats(cups_array_t *fmts) /* I - Array of format strings */
/*
- * End of "$Id: checkpo.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: checkpo.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/locale/cups.pot b/locale/cups.pot
index 62c857d7..2b7e2b97 100644
--- a/locale/cups.pot
+++ b/locale/cups.pot
@@ -30,7 +30,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2013-03-20 15:42-0400\n"
+"POT-Creation-Date: 2013-07-08 07:21-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -39,12 +39,12 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: systemv/lpstat.c:1833 systemv/lpstat.c:1958
+#: systemv/lpstat.c:1949 systemv/lpstat.c:2074
msgid "\t\t(all)"
msgstr ""
-#: systemv/lpstat.c:1836 systemv/lpstat.c:1839 systemv/lpstat.c:1961
-#: systemv/lpstat.c:1964
+#: systemv/lpstat.c:1952 systemv/lpstat.c:1955 systemv/lpstat.c:2077
+#: systemv/lpstat.c:2080
msgid "\t\t(none)"
msgstr ""
@@ -53,104 +53,104 @@ msgstr ""
msgid "\t%d entries"
msgstr ""
-#: systemv/lpstat.c:713 systemv/lpstat.c:729
+#: systemv/lpstat.c:798 systemv/lpstat.c:814
#, c-format
msgid "\t%s"
msgstr ""
-#: systemv/lpstat.c:1814 systemv/lpstat.c:1939
+#: systemv/lpstat.c:1930 systemv/lpstat.c:2055
msgid "\tAfter fault: continue"
msgstr ""
-#: systemv/lpstat.c:1438 systemv/lpstat.c:1783 systemv/lpstat.c:1909
+#: systemv/lpstat.c:1548 systemv/lpstat.c:1899 systemv/lpstat.c:2025
#, c-format
msgid "\tAlerts: %s"
msgstr ""
-#: systemv/lpstat.c:1837 systemv/lpstat.c:1962
+#: systemv/lpstat.c:1953 systemv/lpstat.c:2078
msgid "\tBanner required"
msgstr ""
-#: systemv/lpstat.c:1838 systemv/lpstat.c:1963
+#: systemv/lpstat.c:1954 systemv/lpstat.c:2079
msgid "\tCharset sets:"
msgstr ""
-#: systemv/lpstat.c:1802 systemv/lpstat.c:1927
+#: systemv/lpstat.c:1918 systemv/lpstat.c:2043
msgid "\tConnection: direct"
msgstr ""
-#: systemv/lpstat.c:1793 systemv/lpstat.c:1919
+#: systemv/lpstat.c:1909 systemv/lpstat.c:2035
msgid "\tConnection: remote"
msgstr ""
-#: systemv/lpstat.c:1757 systemv/lpstat.c:1883
+#: systemv/lpstat.c:1873 systemv/lpstat.c:1999
msgid "\tContent types: any"
msgstr ""
-#: systemv/lpstat.c:1841 systemv/lpstat.c:1966
+#: systemv/lpstat.c:1957 systemv/lpstat.c:2082
msgid "\tDefault page size:"
msgstr ""
-#: systemv/lpstat.c:1840 systemv/lpstat.c:1965
+#: systemv/lpstat.c:1956 systemv/lpstat.c:2081
msgid "\tDefault pitch:"
msgstr ""
-#: systemv/lpstat.c:1842 systemv/lpstat.c:1967
+#: systemv/lpstat.c:1958 systemv/lpstat.c:2083
msgid "\tDefault port settings:"
msgstr ""
-#: systemv/lpstat.c:1763 systemv/lpstat.c:1889
+#: systemv/lpstat.c:1879 systemv/lpstat.c:2005
#, c-format
msgid "\tDescription: %s"
msgstr ""
-#: systemv/lpstat.c:1756 systemv/lpstat.c:1882
+#: systemv/lpstat.c:1872 systemv/lpstat.c:1998
msgid "\tForm mounted:"
msgstr ""
-#: systemv/lpstat.c:1835 systemv/lpstat.c:1960
+#: systemv/lpstat.c:1951 systemv/lpstat.c:2076
msgid "\tForms allowed:"
msgstr ""
-#: systemv/lpstat.c:1797 systemv/lpstat.c:1923
+#: systemv/lpstat.c:1913 systemv/lpstat.c:2039
#, c-format
msgid "\tInterface: %s.ppd"
msgstr ""
-#: systemv/lpstat.c:1806 systemv/lpstat.c:1931
+#: systemv/lpstat.c:1922 systemv/lpstat.c:2047
#, c-format
msgid "\tInterface: %s/interfaces/%s"
msgstr ""
-#: systemv/lpstat.c:1810 systemv/lpstat.c:1935
+#: systemv/lpstat.c:1926 systemv/lpstat.c:2051
#, c-format
msgid "\tInterface: %s/ppd/%s.ppd"
msgstr ""
-#: systemv/lpstat.c:1788 systemv/lpstat.c:1914
+#: systemv/lpstat.c:1904 systemv/lpstat.c:2030
#, c-format
msgid "\tLocation: %s"
msgstr ""
-#: systemv/lpstat.c:1813 systemv/lpstat.c:1938
+#: systemv/lpstat.c:1929 systemv/lpstat.c:2054
msgid "\tOn fault: no alert"
msgstr ""
-#: systemv/lpstat.c:1758 systemv/lpstat.c:1884
+#: systemv/lpstat.c:1874 systemv/lpstat.c:2000
msgid "\tPrinter types: unknown"
msgstr ""
-#: systemv/lpstat.c:1419
+#: systemv/lpstat.c:1529
#, c-format
msgid "\tStatus: %s"
msgstr ""
-#: systemv/lpstat.c:1818 systemv/lpstat.c:1832 systemv/lpstat.c:1943
-#: systemv/lpstat.c:1957
+#: systemv/lpstat.c:1934 systemv/lpstat.c:1948 systemv/lpstat.c:2059
+#: systemv/lpstat.c:2073
msgid "\tUsers allowed:"
msgstr ""
-#: systemv/lpstat.c:1825 systemv/lpstat.c:1950
+#: systemv/lpstat.c:1941 systemv/lpstat.c:2066
msgid "\tUsers denied:"
msgstr ""
@@ -175,7 +175,7 @@ msgstr ""
msgid "\tprinting is enabled"
msgstr ""
-#: systemv/lpstat.c:1441
+#: systemv/lpstat.c:1551
#, c-format
msgid "\tqueued for %s"
msgstr ""
@@ -188,7 +188,7 @@ msgstr ""
msgid "\tqueuing is enabled"
msgstr ""
-#: systemv/lpstat.c:1749 systemv/lpstat.c:1875
+#: systemv/lpstat.c:1865 systemv/lpstat.c:1991
msgid "\treason unknown"
msgstr ""
@@ -250,7 +250,7 @@ msgstr ""
msgid " REF: Pages 52-54, section 5.2."
msgstr ""
-#: berkeley/lpq.c:558
+#: berkeley/lpq.c:559
#, c-format
msgid " %-39.39s %.0f bytes"
msgstr ""
@@ -975,6 +975,14 @@ msgstr ""
msgid " Warning: obsolete DSC version %.1f in file."
msgstr ""
+#: test/ippfind.c:2773
+msgid " ! expression Unary NOT of expression."
+msgstr ""
+
+#: test/ippfind.c:2772
+msgid " ( expressions ) Group expressions."
+msgstr ""
+
#: systemv/cupsctl.c:210
msgid " --[no-]debug-logging Turn debug logging on/off."
msgstr ""
@@ -1003,23 +1011,105 @@ msgstr ""
msgid " --crlf End lines with CR + LF (Windows)."
msgstr ""
+#: test/ippfind.c:2754
+msgid " --domain regex Match domain to regular expression."
+msgstr ""
+
+#: test/ippfind.c:2755
+msgid ""
+" --exec utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
+#: test/ippfind.c:2775
+msgid " --false Always false."
+msgstr ""
+
+#: test/ippfind.c:2737
+msgid " --help Show this help."
+msgstr ""
+
+#: test/ippfind.c:2757
+msgid " --host regex Match hostname to regular expression."
+msgstr ""
+
#: ppdc/ppdc.cxx:459
msgid " --lf End lines with LF (UNIX/Linux/OS X)."
msgstr ""
-#: test/ipptool.c:4586
+#: test/ippfind.c:2759
+msgid " --local True if service is local."
+msgstr ""
+
+#: test/ippfind.c:2758
+msgid " --ls List attributes."
+msgstr ""
+
+#: test/ippfind.c:2760
+msgid " --name regex Match service name to regular expression."
+msgstr ""
+
+#: test/ippfind.c:2774
+msgid " --not expression Unary NOT of expression."
+msgstr ""
+
+#: test/ippfind.c:2761
+msgid " --path regex Match resource path to regular expression."
+msgstr ""
+
+#: test/ippfind.c:2762
+msgid " --port number[-number] Match port to number or range."
+msgstr ""
+
+#: test/ippfind.c:2763
+msgid " --print Print URI if true."
+msgstr ""
+
+#: test/ippfind.c:2764
+msgid " --print-name Print service name if true."
+msgstr ""
+
+#: test/ippfind.c:2765
+msgid " --quiet Quietly report match via exit code."
+msgstr ""
+
+#: test/ippfind.c:2766
+msgid " --remote True if service is remote."
+msgstr ""
+
+#: test/ippfind.c:2776
+msgid " --true Always true."
+msgstr ""
+
+#: test/ippfind.c:2767
+msgid " --txt key True if the TXT record contains the key."
+msgstr ""
+
+#: test/ippfind.c:2768
+msgid " --txt-* regex Match TXT record key to regular expression."
+msgstr ""
+
+#: test/ippfind.c:2769
+msgid " --uri regex Match URI to regular expression."
+msgstr ""
+
+#: test/ippfind.c:2738
+msgid " --version Show program version."
+msgstr ""
+
+#: test/ippfind.c:2731 test/ipptool.c:4790
msgid " -4 Connect using IPv4."
msgstr ""
-#: test/ipptool.c:4587
+#: test/ippfind.c:2732 test/ipptool.c:4791
msgid " -6 Connect using IPv6."
msgstr ""
-#: test/ipptool.c:4588
+#: test/ipptool.c:4792
msgid " -C Send requests using chunking (default)."
msgstr ""
-#: scheduler/cupsfilter.c:1434
+#: scheduler/cupsfilter.c:1475
msgid " -D Remove the input file when finished."
msgstr ""
@@ -1031,7 +1121,7 @@ msgstr ""
msgid " -E Encrypt the connection."
msgstr ""
-#: test/ipptool.c:4590
+#: test/ipptool.c:4794
msgid " -E Test with HTTP Upgrade to TLS."
msgstr ""
@@ -1043,7 +1133,7 @@ msgstr ""
msgid " -H samba-server Use the named SAMBA server."
msgstr ""
-#: test/ipptool.c:4592
+#: test/ipptool.c:4796
msgid " -I Ignore errors."
msgstr ""
@@ -1055,31 +1145,39 @@ msgstr ""
msgid " -I {filename,filters,none,profiles}"
msgstr ""
-#: test/ipptool.c:4593
+#: test/ipptool.c:4797
msgid " -L Send requests using content-length."
msgstr ""
-#: scheduler/cupsfilter.c:1436
+#: scheduler/cupsfilter.c:1477
msgid " -P filename.ppd Set PPD file."
msgstr ""
+#: test/ippfind.c:2741
+msgid " -P number[-number] Match port to number or range."
+msgstr ""
+
#: systemv/cupstestppd.c:3821
msgid " -R root-directory Set alternate root."
msgstr ""
-#: test/ipptool.c:4595
+#: test/ipptool.c:4799
msgid " -S Test with SSL encryption."
msgstr ""
-#: test/ipptool.c:4597
+#: test/ippfind.c:2733
+msgid " -T seconds Set the browse timeout in seconds."
+msgstr ""
+
+#: test/ipptool.c:4801
msgid " -T seconds Set the receive/send timeout in seconds."
msgstr ""
-#: scheduler/cupsfilter.c:1437 systemv/cupsaddsmb.c:288 systemv/cupsctl.c:206
+#: scheduler/cupsfilter.c:1478 systemv/cupsaddsmb.c:288 systemv/cupsctl.c:206
msgid " -U username Specify username."
msgstr ""
-#: test/ipptool.c:4599
+#: test/ippfind.c:2735 test/ipptool.c:4803
msgid " -V version Set default IPP version."
msgstr ""
@@ -1087,10 +1185,14 @@ msgstr ""
msgid " -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}"
msgstr ""
-#: test/ipptool.c:4601
+#: test/ipptool.c:4805
msgid " -X Produce XML plist instead of plain text."
msgstr ""
+#: test/ippdiscover.c:818
+msgid " -a Browse for all services."
+msgstr ""
+
#: systemv/cupsaddsmb.c:289
msgid " -a Export all printers."
msgstr ""
@@ -1099,11 +1201,15 @@ msgstr ""
msgid " -c catalog.po Load the specified message catalog."
msgstr ""
-#: scheduler/cupsfilter.c:1438 scheduler/main.c:2014
+#: scheduler/cupsfilter.c:1479 scheduler/main.c:2014
msgid " -c cupsd.conf Set cupsd.conf file to use."
msgstr ""
-#: test/ipptool.c:4603
+#: test/ippdiscover.c:819
+msgid " -d domain Browse/resolve in specified domain."
+msgstr ""
+
+#: test/ipptool.c:4807
msgid " -d name=value Set named variable to value."
msgstr ""
@@ -1111,11 +1217,15 @@ msgstr ""
msgid " -d output-dir Specify the output directory."
msgstr ""
-#: scheduler/cupsfilter.c:1440
+#: scheduler/cupsfilter.c:1481
msgid " -d printer Use the named printer."
msgstr ""
-#: scheduler/cupsfilter.c:1442
+#: test/ippfind.c:2742
+msgid " -d regex Match domain to regular expression."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1483
msgid " -e Use every filter from the PPD file."
msgstr ""
@@ -1123,7 +1233,7 @@ msgstr ""
msgid " -f Run in the foreground."
msgstr ""
-#: test/ipptool.c:4605
+#: test/ipptool.c:4809
msgid " -f filename Set default request filename."
msgstr ""
@@ -1131,22 +1241,30 @@ msgstr ""
msgid " -h Show this usage message."
msgstr ""
+#: test/ippfind.c:2743
+msgid " -h regex Match hostname to regular expression."
+msgstr ""
+
#: systemv/cupsaddsmb.c:290 systemv/cupsctl.c:207
msgid " -h server[:port] Specify server address."
msgstr ""
-#: scheduler/cupsfilter.c:1444
+#: scheduler/cupsfilter.c:1485
msgid " -i mime/type Set input MIME type (otherwise auto-typed)."
msgstr ""
-#: test/ipptool.c:4607
+#: test/ipptool.c:4811
msgid " -i seconds Repeat the last file with the given time interval."
msgstr ""
-#: scheduler/cupsfilter.c:1446
+#: scheduler/cupsfilter.c:1487
msgid " -j job-id[,N] Filter file N from the specified job (default is file 1)."
msgstr ""
+#: test/ippfind.c:2744
+msgid " -l List attributes."
+msgstr ""
+
#: scheduler/main.c:2019
msgid " -l Run cupsd from launchd(8)."
msgstr ""
@@ -1159,18 +1277,22 @@ msgstr ""
msgid " -m Use the ModelName value as the filename."
msgstr ""
-#: scheduler/cupsfilter.c:1448
+#: scheduler/cupsfilter.c:1489
msgid " -m mime/type Set output MIME type (otherwise application/pdf)."
msgstr ""
-#: scheduler/cupsfilter.c:1450
+#: scheduler/cupsfilter.c:1491
msgid " -n copies Set number of copies."
msgstr ""
-#: test/ipptool.c:4609
+#: test/ipptool.c:4813
msgid " -n count Repeat the last file the given number of times."
msgstr ""
+#: test/ippfind.c:2745
+msgid " -n regex Match service name to regular expression."
+msgstr ""
+
#: ppdc/ppdi.cxx:133
msgid " -o filename.drv Set driver information file (otherwise ppdi.drv)."
msgstr ""
@@ -1179,23 +1301,43 @@ msgstr ""
msgid " -o filename.ppd[.gz] Set output file (otherwise stdout)."
msgstr ""
-#: scheduler/cupsfilter.c:1451
+#: scheduler/cupsfilter.c:1492
msgid " -o name=value Set option(s)."
msgstr ""
-#: scheduler/cupsfilter.c:1452
+#: test/ippfind.c:2746
+msgid " -p Print URI if true."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1493
msgid " -p filename.ppd Set PPD file."
msgstr ""
-#: systemv/cupstestppd.c:3826 test/ipptool.c:4611
+#: test/ippdiscover.c:820
+msgid " -p program Run specified program for each service."
+msgstr ""
+
+#: test/ippfind.c:2747
+msgid " -q Quietly report match via exit code."
+msgstr ""
+
+#: systemv/cupstestppd.c:3826 test/ipptool.c:4815
msgid " -q Run silently."
msgstr ""
+#: test/ippfind.c:2748
+msgid " -r True if service is remote."
+msgstr ""
+
#: systemv/cupstestppd.c:3827
msgid " -r Use 'relaxed' open mode."
msgstr ""
-#: test/ipptool.c:4612
+#: test/ippfind.c:2749
+msgid " -s Print service name if true."
+msgstr ""
+
+#: test/ipptool.c:4816
msgid " -t Produce a test report."
msgstr ""
@@ -1207,15 +1349,27 @@ msgstr ""
msgid " -t Test the configuration file."
msgstr ""
-#: scheduler/cupsfilter.c:1453
+#: test/ippfind.c:2750
+msgid " -t key True if the TXT record contains the key."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1494
msgid " -t title Set title."
msgstr ""
-#: scheduler/cupsfilter.c:1454
+#: test/ippdiscover.c:821
+msgid " -t type Browse/resolve with specified type."
+msgstr ""
+
+#: scheduler/cupsfilter.c:1495
msgid " -u Remove the PPD file when finished."
msgstr ""
-#: systemv/cupsaddsmb.c:291 systemv/cupstestppd.c:3828 test/ipptool.c:4613
+#: test/ippfind.c:2751
+msgid " -u regex Match URI to regular expression."
+msgstr ""
+
+#: systemv/cupsaddsmb.c:291 systemv/cupstestppd.c:3828 test/ipptool.c:4817
#: ppdc/ppdc.cxx:452 ppdc/ppdpo.cxx:259
msgid " -v Be verbose."
msgstr ""
@@ -1224,10 +1378,102 @@ msgstr ""
msgid " -vv Be very verbose."
msgstr ""
+#: test/ippfind.c:2752
+msgid ""
+" -x utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
#: ppdc/ppdc.cxx:453
msgid " -z Compress PPD files using GNU zip."
msgstr ""
+#: test/ippfind.c:2795
+msgid " IPPFIND_SERVICE_DOMAIN Domain name"
+msgstr ""
+
+#: test/ippfind.c:2796
+msgid ""
+" IPPFIND_SERVICE_HOSTNAME\n"
+" Fully-qualified domain name"
+msgstr ""
+
+#: test/ippfind.c:2798
+msgid " IPPFIND_SERVICE_NAME Service instance name"
+msgstr ""
+
+#: test/ippfind.c:2799
+msgid " IPPFIND_SERVICE_PORT Port number"
+msgstr ""
+
+#: test/ippfind.c:2800
+msgid " IPPFIND_SERVICE_REGTYPE DNS-SD registration type"
+msgstr ""
+
+#: test/ippfind.c:2801
+msgid " IPPFIND_SERVICE_SCHEME URI scheme"
+msgstr ""
+
+#: test/ippfind.c:2802
+msgid " IPPFIND_SERVICE_URI URI"
+msgstr ""
+
+#: test/ippfind.c:2803
+msgid " IPPFIND_TXT_* Value of TXT record key"
+msgstr ""
+
+#: test/ippfind.c:2778
+msgid ""
+" expression --and expression\n"
+" Logical AND."
+msgstr ""
+
+#: test/ippfind.c:2780
+msgid ""
+" expression --or expression\n"
+" Logical OR."
+msgstr ""
+
+#: test/ippfind.c:2777
+msgid " expression expression Logical AND."
+msgstr ""
+
+#: test/ippfind.c:2785
+msgid " {service_domain} Domain name"
+msgstr ""
+
+#: test/ippfind.c:2786
+msgid " {service_hostname} Fully-qualified domain name"
+msgstr ""
+
+#: test/ippfind.c:2787
+msgid " {service_name} Service instance name"
+msgstr ""
+
+#: test/ippfind.c:2788
+msgid " {service_port} Port number"
+msgstr ""
+
+#: test/ippfind.c:2789
+msgid " {service_regtype} DNS-SD registration type"
+msgstr ""
+
+#: test/ippfind.c:2790
+msgid " {service_scheme} URI scheme"
+msgstr ""
+
+#: test/ippfind.c:2791
+msgid " {service_uri} URI"
+msgstr ""
+
+#: test/ippfind.c:2792
+msgid " {txt_*} Value of TXT record key"
+msgstr ""
+
+#: test/ippfind.c:2784
+msgid " {} URI"
+msgstr ""
+
#: systemv/cupstestppd.c:332 systemv/cupstestppd.c:351
#: systemv/cupstestppd.c:363 systemv/cupstestppd.c:496
#: systemv/cupstestppd.c:511 systemv/cupstestppd.c:532
@@ -1459,22 +1705,22 @@ msgstr ""
msgid "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
msgstr ""
-#: berkeley/lpq.c:564
+#: berkeley/lpq.c:565
#, c-format
msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
msgstr ""
-#: berkeley/lpq.c:569
+#: berkeley/lpq.c:570
#, c-format
msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
msgstr ""
-#: systemv/lpstat.c:707
+#: systemv/lpstat.c:792
#, c-format
msgid "%s accepting requests since %s"
msgstr ""
-#: scheduler/ipp.c:9924
+#: scheduler/ipp.c:9933
#, c-format
msgid "%s cannot be changed."
msgstr ""
@@ -1484,17 +1730,17 @@ msgstr ""
msgid "%s is not implemented by the CUPS version of lpc."
msgstr ""
-#: berkeley/lpq.c:655
+#: berkeley/lpq.c:656
#, c-format
msgid "%s is not ready"
msgstr ""
-#: berkeley/lpq.c:648
+#: berkeley/lpq.c:649
#, c-format
msgid "%s is ready"
msgstr ""
-#: berkeley/lpq.c:651
+#: berkeley/lpq.c:652
#, c-format
msgid "%s is ready and printing"
msgstr ""
@@ -1505,7 +1751,7 @@ msgstr ""
msgid "%s job-id user title copies options [file]"
msgstr ""
-#: systemv/lpstat.c:711
+#: systemv/lpstat.c:796
#, c-format
msgid "%s not accepting requests since %s -"
msgstr ""
@@ -1515,17 +1761,17 @@ msgstr ""
msgid "%s not supported."
msgstr ""
-#: systemv/lpstat.c:722
+#: systemv/lpstat.c:807
#, c-format
msgid "%s/%s accepting requests since %s"
msgstr ""
-#: systemv/lpstat.c:727
+#: systemv/lpstat.c:812
#, c-format
msgid "%s/%s not accepting requests since %s -"
msgstr ""
-#: berkeley/lpq.c:556
+#: berkeley/lpq.c:557
#, c-format
msgid "%s: %-33.33s [job %d localhost]"
msgstr ""
@@ -1544,52 +1790,68 @@ msgstr ""
msgid "%s: %s failed: %s"
msgstr ""
+#: test/ippfind.c:797 test/ipptool.c:389
+#, c-format
+msgid "%s: Bad version %s for \"-V\"."
+msgstr ""
+
#: systemv/cupsaccept.c:68
#, c-format
msgid "%s: Don't know what to do."
msgstr ""
-#: berkeley/lpq.c:236 berkeley/lpr.c:344 systemv/lp.c:591
+#: berkeley/lpq.c:237 berkeley/lpr.c:362 systemv/lp.c:608
#, c-format
msgid "%s: Error - %s environment variable names non-existent destination \"%s\"."
msgstr ""
-#: systemv/lp.c:231
+#: berkeley/lpq.c:144 berkeley/lpq.c:215 berkeley/lpr.c:234 berkeley/lpr.c:337
+#: systemv/lp.c:163 systemv/lp.c:583 systemv/lp.c:703 systemv/lp.c:752
+#: systemv/lpstat.c:208 systemv/lpstat.c:254 systemv/lpstat.c:345
+#: systemv/lpstat.c:374 systemv/lpstat.c:398 systemv/lpstat.c:457
+#: systemv/lpstat.c:523 systemv/lpstat.c:584 systemv/lpstat.c:710
+#: systemv/lpstat.c:895 systemv/lpstat.c:1156 systemv/lpstat.c:1399
+#: systemv/lpstat.c:1658
+#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#: systemv/lp.c:240
#, c-format
msgid "%s: Error - bad job ID."
msgstr ""
-#: systemv/lp.c:219
+#: systemv/lp.c:228
#, c-format
msgid "%s: Error - cannot print files and alter jobs simultaneously."
msgstr ""
-#: systemv/lp.c:512
+#: systemv/lp.c:521
#, c-format
msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
msgstr ""
-#: systemv/lp.c:461
+#: systemv/lp.c:470
#, c-format
msgid "%s: Error - expected character set after \"-S\" option."
msgstr ""
-#: systemv/lp.c:480
+#: systemv/lp.c:489
#, c-format
msgid "%s: Error - expected content type after \"-T\" option."
msgstr ""
-#: berkeley/lpr.c:240
+#: berkeley/lpr.c:249
#, c-format
msgid "%s: Error - expected copies after \"-#\" option."
msgstr ""
-#: systemv/lp.c:264
+#: systemv/lp.c:273
#, c-format
msgid "%s: Error - expected copies after \"-n\" option."
msgstr ""
-#: berkeley/lpr.c:209
+#: berkeley/lpr.c:210
#, c-format
msgid "%s: Error - expected destination after \"-P\" option."
msgstr ""
@@ -1599,48 +1861,48 @@ msgstr ""
msgid "%s: Error - expected destination after \"-d\" option."
msgstr ""
-#: systemv/lp.c:168
+#: systemv/lp.c:177
#, c-format
msgid "%s: Error - expected form after \"-f\" option."
msgstr ""
-#: systemv/lp.c:391
+#: systemv/lp.c:400
#, c-format
msgid "%s: Error - expected hold name after \"-H\" option."
msgstr ""
-#: berkeley/lpr.c:103
+#: berkeley/lpr.c:104
#, c-format
msgid "%s: Error - expected hostname after \"-H\" option."
msgstr ""
#: berkeley/lpq.c:180 berkeley/lprm.c:123 systemv/cancel.c:124
-#: systemv/cupsaccept.c:123 systemv/lp.c:189 systemv/lpstat.c:259
+#: systemv/cupsaccept.c:123 systemv/lp.c:198 systemv/lpstat.c:279
#, c-format
msgid "%s: Error - expected hostname after \"-h\" option."
msgstr ""
-#: systemv/lp.c:371
+#: systemv/lp.c:380
#, c-format
msgid "%s: Error - expected mode list after \"-y\" option."
msgstr ""
-#: berkeley/lpr.c:263
+#: berkeley/lpr.c:272
#, c-format
msgid "%s: Error - expected name after \"-%c\" option."
msgstr ""
-#: berkeley/lpr.c:153 systemv/lp.c:288
+#: berkeley/lpr.c:154 systemv/lp.c:297
#, c-format
msgid "%s: Error - expected option=value after \"-o\" option."
msgstr ""
-#: systemv/lp.c:441
+#: systemv/lp.c:450
#, c-format
msgid "%s: Error - expected page list after \"-P\" option."
msgstr ""
-#: systemv/lp.c:308
+#: systemv/lp.c:317
#, c-format
msgid "%s: Error - expected priority after \"-%c\" option."
msgstr ""
@@ -1650,12 +1912,12 @@ msgstr ""
msgid "%s: Error - expected reason text after \"-r\" option."
msgstr ""
-#: systemv/lp.c:354
+#: systemv/lp.c:363
#, c-format
msgid "%s: Error - expected title after \"-t\" option."
msgstr ""
-#: berkeley/lpq.c:111 berkeley/lpr.c:84 berkeley/lprm.c:104
+#: berkeley/lpq.c:108 berkeley/lpr.c:85 berkeley/lprm.c:104
#: systemv/cancel.c:95 systemv/cupsaccept.c:101 systemv/lp.c:116
#: systemv/lpadmin.c:438 systemv/lpstat.c:137
#, c-format
@@ -1667,7 +1929,7 @@ msgstr ""
msgid "%s: Error - expected username after \"-u\" option."
msgstr ""
-#: berkeley/lpr.c:125
+#: berkeley/lpr.c:126
#, c-format
msgid "%s: Error - expected value after \"-%c\" option."
msgstr ""
@@ -1677,32 +1939,32 @@ msgstr ""
msgid "%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" option."
msgstr ""
-#: berkeley/lpq.c:241 berkeley/lpr.c:349 systemv/lp.c:596
+#: berkeley/lpq.c:242 berkeley/lpr.c:367 systemv/lp.c:613
#, c-format
msgid "%s: Error - no default destination available."
msgstr ""
-#: systemv/lp.c:330
+#: systemv/lp.c:339
#, c-format
msgid "%s: Error - priority must be between 1 and 100."
msgstr ""
-#: berkeley/lpr.c:352 systemv/lp.c:599
+#: berkeley/lpr.c:370 systemv/lp.c:616
#, c-format
msgid "%s: Error - scheduler not responding."
msgstr ""
-#: berkeley/lpr.c:305 systemv/lp.c:544
+#: berkeley/lpr.c:315 systemv/lp.c:553
#, c-format
msgid "%s: Error - too many files - \"%s\"."
msgstr ""
-#: berkeley/lpr.c:287 systemv/lp.c:527
+#: berkeley/lpr.c:297 systemv/lp.c:536
#, c-format
msgid "%s: Error - unable to access \"%s\" - %s"
msgstr ""
-#: berkeley/lpr.c:395 systemv/lp.c:630
+#: berkeley/lpr.c:413 systemv/lp.c:647
#, c-format
msgid "%s: Error - unable to queue from stdin - %s."
msgstr ""
@@ -1712,28 +1974,28 @@ msgstr ""
msgid "%s: Error - unknown destination \"%s\"."
msgstr ""
-#: berkeley/lpq.c:150
+#: berkeley/lpq.c:148
#, c-format
msgid "%s: Error - unknown destination \"%s/%s\"."
msgstr ""
-#: berkeley/lpr.c:274 berkeley/lprm.c:139 systemv/cancel.c:163
-#: systemv/cupsaccept.c:164 systemv/lp.c:503 systemv/lpstat.c:409
+#: berkeley/lpr.c:283 berkeley/lprm.c:139 systemv/cancel.c:163
+#: systemv/cupsaccept.c:164 systemv/lp.c:512 systemv/lpstat.c:469
#, c-format
msgid "%s: Error - unknown option \"%c\"."
msgstr ""
-#: systemv/cupsaccept.c:157 systemv/lp.c:494
+#: systemv/cupsaccept.c:157 systemv/lp.c:503
#, c-format
msgid "%s: Error - unknown option \"%s\"."
msgstr ""
-#: systemv/lp.c:208
+#: systemv/lp.c:217
#, c-format
msgid "%s: Expected job ID after \"-i\" option."
msgstr ""
-#: systemv/lpstat.c:461 systemv/lpstat.c:500
+#: systemv/lpstat.c:527 systemv/lpstat.c:567
#, c-format
msgid "%s: Invalid destination name in list \"%s\"."
msgstr ""
@@ -1743,7 +2005,17 @@ msgstr ""
msgid "%s: Invalid filter string \"%s\"."
msgstr ""
-#: systemv/lp.c:418
+#: test/ippfind.c:768 test/ipptool.c:357
+#, c-format
+msgid "%s: Missing timeout for \"-T\"."
+msgstr ""
+
+#: test/ippfind.c:781 test/ipptool.c:371
+#, c-format
+msgid "%s: Missing version for \"-V\"."
+msgstr ""
+
+#: systemv/lp.c:427
#, c-format
msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
msgstr ""
@@ -1758,15 +2030,15 @@ msgstr ""
msgid "%s: Operation failed: %s"
msgstr ""
-#: berkeley/lpq.c:97 berkeley/lpr.c:70 berkeley/lprm.c:67 systemv/cancel.c:82
+#: berkeley/lpq.c:94 berkeley/lpr.c:71 berkeley/lprm.c:67 systemv/cancel.c:82
#: systemv/cupsaccept.c:88 systemv/cupsaddsmb.c:86 systemv/lp.c:102
#: systemv/lpadmin.c:239 systemv/lpinfo.c:88 systemv/lpmove.c:73
-#: systemv/lpstat.c:102 test/ipptool.c:309 test/ipptool.c:326
+#: systemv/lpstat.c:102 test/ipptool.c:329 test/ipptool.c:346
#, c-format
msgid "%s: Sorry, no encryption support."
msgstr ""
-#: berkeley/lpq.c:295 scheduler/cupsfilter.c:1224 systemv/cancel.c:245
+#: berkeley/lpq.c:296 scheduler/cupsfilter.c:1265 systemv/cancel.c:245
#: systemv/cupsaddsmb.c:144 systemv/cupsaddsmb.c:171
#, c-format
msgid "%s: Unable to connect to server."
@@ -1797,7 +2069,7 @@ msgstr ""
msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
msgstr ""
-#: berkeley/lpq.c:153 systemv/lpstat.c:515
+#: berkeley/lpq.c:151 systemv/lpstat.c:588
#, c-format
msgid "%s: Unknown destination \"%s\"."
msgstr ""
@@ -1807,37 +2079,47 @@ msgstr ""
msgid "%s: Unknown destination MIME type %s/%s."
msgstr ""
-#: scheduler/cupsfilter.c:1429
+#: scheduler/cupsfilter.c:1470
#, c-format
msgid "%s: Unknown option \"%c\"."
msgstr ""
+#: test/ippfind.c:667
+#, c-format
+msgid "%s: Unknown option \"%s\"."
+msgstr ""
+
+#: test/ippfind.c:948
+#, c-format
+msgid "%s: Unknown option \"-%c\"."
+msgstr ""
+
#: scheduler/cupsfilter.c:417
#, c-format
msgid "%s: Unknown source MIME type %s/%s."
msgstr ""
-#: berkeley/lpr.c:139
+#: berkeley/lpr.c:140
#, c-format
msgid "%s: Warning - \"%c\" format modifier not supported - output may not be correct."
msgstr ""
-#: systemv/lp.c:468
+#: systemv/lp.c:477
#, c-format
msgid "%s: Warning - character set option ignored."
msgstr ""
-#: systemv/lp.c:487
+#: systemv/lp.c:496
#, c-format
msgid "%s: Warning - content type option ignored."
msgstr ""
-#: systemv/lp.c:175
+#: systemv/lp.c:184
#, c-format
msgid "%s: Warning - form option ignored."
msgstr ""
-#: systemv/lp.c:378
+#: systemv/lp.c:387
#, c-format
msgid "%s: Warning - mode option ignored."
msgstr ""
@@ -2646,12 +2928,12 @@ msgstr ""
msgid "A Samba username is required to export printer drivers"
msgstr ""
-#: scheduler/ipp.c:2360
+#: scheduler/ipp.c:2363
#, c-format
msgid "A class named \"%s\" already exists."
msgstr ""
-#: scheduler/ipp.c:1003
+#: scheduler/ipp.c:1006
#, c-format
msgid "A printer named \"%s\" already exists."
msgstr ""
@@ -2796,7 +3078,7 @@ msgstr ""
msgid "Accept Jobs"
msgstr ""
-#: cups/http-support.c:1298
+#: cups/http-support.c:1359
msgid "Accepted"
msgstr ""
@@ -2833,7 +3115,7 @@ msgstr ""
msgid "Applicator"
msgstr ""
-#: scheduler/ipp.c:1078
+#: scheduler/ipp.c:1081
#, c-format
msgid "Attempt to set %s printer-state to bad value %d."
msgstr ""
@@ -2891,12 +3173,12 @@ msgstr ""
msgid "B9"
msgstr ""
-#: scheduler/ipp.c:10850
+#: scheduler/ipp.c:10859
#, c-format
msgid "Bad 'document-format' value \"%s\"."
msgstr ""
-#: cups/dest.c:1684
+#: cups/dest.c:1683
msgid "Bad NULL dests pointer"
msgstr ""
@@ -2925,7 +3207,7 @@ msgstr ""
msgid "Bad PPD cache file."
msgstr ""
-#: cups/http-support.c:1313
+#: cups/http-support.c:1374
msgid "Bad Request"
msgstr ""
@@ -2937,7 +3219,7 @@ msgstr ""
msgid "Bad UIConstraints"
msgstr ""
-#: scheduler/ipp.c:1439
+#: scheduler/ipp.c:1442
#, c-format
msgid "Bad copies value %d."
msgstr ""
@@ -2946,22 +3228,22 @@ msgstr ""
msgid "Bad custom parameter"
msgstr ""
-#: cups/http-support.c:1465 scheduler/ipp.c:2446
+#: cups/http-support.c:1526 scheduler/ipp.c:2449
#, c-format
msgid "Bad device-uri \"%s\"."
msgstr ""
-#: scheduler/ipp.c:2485
+#: scheduler/ipp.c:2488
#, c-format
msgid "Bad device-uri scheme \"%s\"."
msgstr ""
-#: scheduler/ipp.c:8102 scheduler/ipp.c:8118 scheduler/ipp.c:9333
+#: scheduler/ipp.c:8105 scheduler/ipp.c:8121 scheduler/ipp.c:9342
#, c-format
msgid "Bad document-format \"%s\"."
msgstr ""
-#: scheduler/ipp.c:9349
+#: scheduler/ipp.c:9358
#, c-format
msgid "Bad document-format-default \"%s\"."
msgstr ""
@@ -2970,51 +3252,51 @@ msgstr ""
msgid "Bad filename buffer"
msgstr ""
-#: scheduler/ipp.c:1615
+#: scheduler/ipp.c:1618
#, c-format
msgid "Bad job-name value: %s"
msgstr ""
-#: scheduler/ipp.c:1608
+#: scheduler/ipp.c:1611
msgid "Bad job-name value: Wrong type or count."
msgstr ""
-#: scheduler/ipp.c:9939
+#: scheduler/ipp.c:9948
msgid "Bad job-priority value."
msgstr ""
-#: scheduler/ipp.c:1469
+#: scheduler/ipp.c:1472
#, c-format
msgid "Bad job-sheets value \"%s\"."
msgstr ""
-#: scheduler/ipp.c:1453
+#: scheduler/ipp.c:1456
msgid "Bad job-sheets value type."
msgstr ""
-#: scheduler/ipp.c:9969
+#: scheduler/ipp.c:9978
msgid "Bad job-state value."
msgstr ""
-#: scheduler/ipp.c:3068 scheduler/ipp.c:3528 scheduler/ipp.c:5967
-#: scheduler/ipp.c:6114 scheduler/ipp.c:7536 scheduler/ipp.c:7805
-#: scheduler/ipp.c:8654 scheduler/ipp.c:8880 scheduler/ipp.c:9229
-#: scheduler/ipp.c:9832
+#: scheduler/ipp.c:3071 scheduler/ipp.c:3531 scheduler/ipp.c:5970
+#: scheduler/ipp.c:6117 scheduler/ipp.c:7539 scheduler/ipp.c:7808
+#: scheduler/ipp.c:8657 scheduler/ipp.c:8883 scheduler/ipp.c:9238
+#: scheduler/ipp.c:9841
#, c-format
msgid "Bad job-uri \"%s\"."
msgstr ""
-#: scheduler/ipp.c:2126 scheduler/ipp.c:5511
+#: scheduler/ipp.c:2129 scheduler/ipp.c:5514
#, c-format
msgid "Bad notify-pull-method \"%s\"."
msgstr ""
-#: scheduler/ipp.c:2090 scheduler/ipp.c:5475
+#: scheduler/ipp.c:2093 scheduler/ipp.c:5478
#, c-format
msgid "Bad notify-recipient-uri \"%s\"."
msgstr ""
-#: scheduler/ipp.c:1485
+#: scheduler/ipp.c:1488
#, c-format
msgid "Bad number-up value %d."
msgstr ""
@@ -3024,12 +3306,12 @@ msgstr ""
msgid "Bad option + choice on line %d."
msgstr ""
-#: scheduler/ipp.c:1502
+#: scheduler/ipp.c:1505
#, c-format
msgid "Bad page-ranges values %d-%d."
msgstr ""
-#: scheduler/ipp.c:2528
+#: scheduler/ipp.c:2531
#, c-format
msgid "Bad port-monitor \"%s\"."
msgstr ""
@@ -3038,7 +3320,7 @@ msgstr ""
msgid "Bad printer URI."
msgstr ""
-#: scheduler/ipp.c:2589
+#: scheduler/ipp.c:2592
#, c-format
msgid "Bad printer-state value %d."
msgstr ""
@@ -3090,11 +3372,11 @@ msgstr ""
msgid "Cancel RSS Subscription"
msgstr ""
-#: backend/ipp.c:2150
+#: backend/ipp.c:2156
msgid "Canceling print job."
msgstr ""
-#: scheduler/ipp.c:2569
+#: scheduler/ipp.c:2572
msgid "Cannot share a remote Kerberized printer."
msgstr ""
@@ -3107,7 +3389,7 @@ msgstr ""
msgid "Change Settings"
msgstr ""
-#: scheduler/ipp.c:2138 scheduler/ipp.c:5523
+#: scheduler/ipp.c:2141 scheduler/ipp.c:5526
#, c-format
msgid "Character set \"%s\" not supported."
msgstr ""
@@ -3120,7 +3402,7 @@ msgstr ""
msgid "Clean Print Heads"
msgstr ""
-#: scheduler/ipp.c:3980
+#: scheduler/ipp.c:3983
msgid "Close-Job doesn't support the job-uri attribute."
msgstr ""
@@ -3151,7 +3433,7 @@ msgstr ""
msgid "Connecting to printer."
msgstr ""
-#: cups/http-support.c:1286
+#: cups/http-support.c:1347
msgid "Continue"
msgstr ""
@@ -3167,7 +3449,7 @@ msgstr ""
msgid "Copying print data."
msgstr ""
-#: cups/http-support.c:1295
+#: cups/http-support.c:1356
msgid "Created"
msgstr ""
@@ -3215,7 +3497,7 @@ msgstr ""
msgid "DeskJet Series"
msgstr ""
-#: scheduler/ipp.c:1363
+#: scheduler/ipp.c:1366
#, c-format
msgid "Destination \"%s\" is not accepting jobs."
msgstr ""
@@ -3264,7 +3546,7 @@ msgstr ""
msgid "Disabled"
msgstr ""
-#: scheduler/ipp.c:6016
+#: scheduler/ipp.c:6019
#, c-format
msgid "Document #%d does not exist in job #%d."
msgstr ""
@@ -3316,7 +3598,7 @@ msgstr ""
msgid "Enter password:"
msgstr ""
-#: scheduler/client.c:2471
+#: scheduler/client.c:2537
msgid "Enter your username and password or the root username and password to access this page. If you are using Kerberos authentication, make sure you have a valid Kerberos ticket."
msgstr ""
@@ -3532,6 +3814,10 @@ msgstr ""
msgid "Envelope You4 Long Edge"
msgstr ""
+#: test/ippfind.c:2794
+msgid "Environment Variables:"
+msgstr ""
+
#: ppdc/sample.c:240
msgid "Epson"
msgstr ""
@@ -3593,7 +3879,7 @@ msgstr ""
msgid "Executive"
msgstr ""
-#: cups/http-support.c:1341
+#: cups/http-support.c:1402
msgid "Expectation Failed"
msgstr ""
@@ -3601,6 +3887,10 @@ msgstr ""
msgid "Export Printers to Samba"
msgstr ""
+#: test/ippfind.c:2740
+msgid "Expressions:"
+msgstr ""
+
#: systemv/cupstestdsc.c:172 systemv/cupstestdsc.c:189
#: systemv/cupstestdsc.c:214 systemv/cupstestdsc.c:231
#: systemv/cupstestdsc.c:255 systemv/cupstestdsc.c:273
@@ -3652,7 +3942,7 @@ msgstr ""
msgid "File Folder "
msgstr ""
-#: scheduler/ipp.c:2464
+#: scheduler/ipp.c:2467
#, c-format
msgid "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cups-files.conf\"."
msgstr ""
@@ -3667,7 +3957,7 @@ msgstr ""
msgid "Folio"
msgstr ""
-#: cups/http-support.c:1320
+#: cups/http-support.c:1381
msgid "Forbidden"
msgstr ""
@@ -3687,10 +3977,10 @@ msgstr ""
msgid "Glossy Paper"
msgstr ""
-#: scheduler/ipp.c:3046 scheduler/ipp.c:3454 scheduler/ipp.c:3992
-#: scheduler/ipp.c:5945 scheduler/ipp.c:6092 scheduler/ipp.c:7513
-#: scheduler/ipp.c:8632 scheduler/ipp.c:8858 scheduler/ipp.c:9207
-#: scheduler/ipp.c:9810
+#: scheduler/ipp.c:3049 scheduler/ipp.c:3457 scheduler/ipp.c:3995
+#: scheduler/ipp.c:5948 scheduler/ipp.c:6095 scheduler/ipp.c:7516
+#: scheduler/ipp.c:8635 scheduler/ipp.c:8861 scheduler/ipp.c:9216
+#: scheduler/ipp.c:9819
msgid "Got a printer-uri attribute but no job-id."
msgstr ""
@@ -3718,7 +4008,7 @@ msgstr ""
msgid "IPP attribute has no name."
msgstr ""
-#: cups/ipp.c:7014
+#: cups/ipp.c:7015
msgid "IPP attribute is not a member of the message."
msgstr ""
@@ -3842,7 +4132,7 @@ msgstr ""
msgid "Intellitech"
msgstr ""
-#: cups/http-support.c:1347
+#: cups/http-support.c:1408
msgid "Internal Server Error"
msgstr ""
@@ -3858,11 +4148,11 @@ msgstr ""
msgid "Internet Postage 3-Part"
msgstr ""
-#: backend/ipp.c:335
+#: backend/ipp.c:334
msgid "Internet Printing Protocol"
msgstr ""
-#: cups/pwg-media.c:311 cups/pwg-media.c:330
+#: cups/pwg-media.c:314 cups/pwg-media.c:333
msgid "Invalid media name arguments."
msgstr ""
@@ -3935,52 +4225,52 @@ msgstr ""
msgid "JIS B9"
msgstr ""
-#: scheduler/ipp.c:8930
+#: scheduler/ipp.c:8933
#, c-format
msgid "Job #%d cannot be restarted - no files."
msgstr ""
-#: scheduler/ipp.c:3086 scheduler/ipp.c:3320 scheduler/ipp.c:3379
-#: scheduler/ipp.c:3556 scheduler/ipp.c:4002 scheduler/ipp.c:5609
-#: scheduler/ipp.c:5985 scheduler/ipp.c:6132 scheduler/ipp.c:6421
-#: scheduler/ipp.c:7360 scheduler/ipp.c:7382 scheduler/ipp.c:7554
-#: scheduler/ipp.c:7779 scheduler/ipp.c:7822 scheduler/ipp.c:8672
-#: scheduler/ipp.c:8898 scheduler/ipp.c:9247 scheduler/ipp.c:9850
+#: scheduler/ipp.c:3089 scheduler/ipp.c:3323 scheduler/ipp.c:3382
+#: scheduler/ipp.c:3559 scheduler/ipp.c:4005 scheduler/ipp.c:5612
+#: scheduler/ipp.c:5988 scheduler/ipp.c:6135 scheduler/ipp.c:6424
+#: scheduler/ipp.c:7363 scheduler/ipp.c:7385 scheduler/ipp.c:7557
+#: scheduler/ipp.c:7782 scheduler/ipp.c:7825 scheduler/ipp.c:8675
+#: scheduler/ipp.c:8901 scheduler/ipp.c:9256 scheduler/ipp.c:9859
#, c-format
msgid "Job #%d does not exist."
msgstr ""
-#: scheduler/ipp.c:3588
+#: scheduler/ipp.c:3591
#, c-format
msgid "Job #%d is already aborted - can't cancel."
msgstr ""
-#: scheduler/ipp.c:3582
+#: scheduler/ipp.c:3585
#, c-format
msgid "Job #%d is already canceled - can't cancel."
msgstr ""
-#: scheduler/ipp.c:3594
+#: scheduler/ipp.c:3597
#, c-format
msgid "Job #%d is already completed - can't cancel."
msgstr ""
-#: scheduler/ipp.c:7580 scheduler/ipp.c:7864 scheduler/ipp.c:9865
+#: scheduler/ipp.c:7583 scheduler/ipp.c:7867 scheduler/ipp.c:9874
#, c-format
msgid "Job #%d is finished and cannot be altered."
msgstr ""
-#: scheduler/ipp.c:8912
+#: scheduler/ipp.c:8915
#, c-format
msgid "Job #%d is not complete."
msgstr ""
-#: scheduler/ipp.c:3101
+#: scheduler/ipp.c:3104
#, c-format
msgid "Job #%d is not held for authentication."
msgstr ""
-#: scheduler/ipp.c:8686
+#: scheduler/ipp.c:8689
#, c-format
msgid "Job #%d is not held."
msgstr ""
@@ -4001,7 +4291,7 @@ msgstr ""
msgid "Job Stopped"
msgstr ""
-#: scheduler/ipp.c:9947
+#: scheduler/ipp.c:9956
msgid "Job is completed and cannot be changed."
msgstr ""
@@ -4009,11 +4299,11 @@ msgstr ""
msgid "Job operation failed"
msgstr ""
-#: scheduler/ipp.c:9983 scheduler/ipp.c:10002 scheduler/ipp.c:10013
+#: scheduler/ipp.c:9992 scheduler/ipp.c:10011 scheduler/ipp.c:10022
msgid "Job state cannot be changed."
msgstr ""
-#: scheduler/ipp.c:8778
+#: scheduler/ipp.c:8781
msgid "Job subscriptions cannot be renewed."
msgstr ""
@@ -4033,7 +4323,7 @@ msgstr ""
msgid "Label Top"
msgstr ""
-#: scheduler/ipp.c:2147 scheduler/ipp.c:5532
+#: scheduler/ipp.c:2150 scheduler/ipp.c:5535
#, c-format
msgid "Language \"%s\" not supported."
msgstr ""
@@ -4070,7 +4360,7 @@ msgstr ""
msgid "Long-Edge (Portrait)"
msgstr ""
-#: cups/http-support.c:1579
+#: cups/http-support.c:1640
msgid "Looking for printer."
msgstr ""
@@ -4114,7 +4404,7 @@ msgstr ""
msgid "Missing asterisk in column 1"
msgstr ""
-#: scheduler/ipp.c:6008
+#: scheduler/ipp.c:6011
msgid "Missing document-number attribute."
msgstr ""
@@ -4129,19 +4419,19 @@ msgstr ""
msgid "Missing form variable"
msgstr ""
-#: scheduler/ipp.c:9301
+#: scheduler/ipp.c:9310
msgid "Missing last-document attribute in request."
msgstr ""
-#: cups/pwg-media.c:573
+#: cups/pwg-media.c:576
msgid "Missing media or media-col."
msgstr ""
-#: cups/pwg-media.c:492
+#: cups/pwg-media.c:495
msgid "Missing media-size in media-col."
msgstr ""
-#: scheduler/ipp.c:6551
+#: scheduler/ipp.c:6554
msgid "Missing notify-subscription-ids attribute."
msgstr ""
@@ -4149,7 +4439,7 @@ msgstr ""
msgid "Missing option keyword"
msgstr ""
-#: scheduler/ipp.c:3227 scheduler/ipp.c:3252
+#: scheduler/ipp.c:3230 scheduler/ipp.c:3255
msgid "Missing requesting-user-name attribute."
msgstr ""
@@ -4166,11 +4456,11 @@ msgstr ""
msgid "Missing value string"
msgstr ""
-#: cups/pwg-media.c:480
+#: cups/pwg-media.c:483
msgid "Missing x-dimension in media-size."
msgstr ""
-#: cups/pwg-media.c:486
+#: cups/pwg-media.c:489
msgid "Missing y-dimension in media-size."
msgstr ""
@@ -4183,6 +4473,10 @@ msgid ""
" device-id = %s"
msgstr ""
+#: test/ippfind.c:2771
+msgid "Modifiers:"
+msgstr ""
+
#: cgi-bin/admin.c:570
msgid "Modify Class"
msgstr ""
@@ -4199,7 +4493,7 @@ msgstr ""
msgid "Move Job"
msgstr ""
-#: cups/http-support.c:1304
+#: cups/http-support.c:1365
msgid "Moved Permanently"
msgstr ""
@@ -4211,7 +4505,7 @@ msgstr ""
msgid "Name OID uses indefinite length"
msgstr ""
-#: scheduler/ipp.c:1141
+#: scheduler/ipp.c:1144
msgid "Nested classes are not allowed."
msgstr ""
@@ -4231,7 +4525,7 @@ msgstr ""
msgid "No"
msgstr ""
-#: cups/http-support.c:1301
+#: cups/http-support.c:1362
msgid "No Content"
msgstr ""
@@ -4247,11 +4541,11 @@ msgstr ""
msgid "No Windows printer drivers are installed."
msgstr ""
-#: cups/request.c:571 cups/request.c:920
+#: cups/request.c:572 cups/request.c:921
msgid "No active connection"
msgstr ""
-#: scheduler/ipp.c:3505
+#: scheduler/ipp.c:3508
#, c-format
msgid "No active jobs on %s."
msgstr ""
@@ -4260,7 +4554,7 @@ msgstr ""
msgid "No attributes in request."
msgstr ""
-#: scheduler/ipp.c:3128
+#: scheduler/ipp.c:3131
msgid "No authentication information provided."
msgstr ""
@@ -4268,11 +4562,11 @@ msgstr ""
msgid "No community name"
msgstr ""
-#: scheduler/ipp.c:5808
+#: scheduler/ipp.c:5811
msgid "No default printer."
msgstr ""
-#: cgi-bin/ipp-var.c:436 scheduler/ipp.c:7126
+#: cgi-bin/ipp-var.c:436 scheduler/ipp.c:7129
msgid "No destinations added."
msgstr ""
@@ -4288,7 +4582,7 @@ msgstr ""
msgid "No error-status"
msgstr ""
-#: scheduler/ipp.c:8068 scheduler/ipp.c:9315
+#: scheduler/ipp.c:8071 scheduler/ipp.c:9324
msgid "No file in print request."
msgstr ""
@@ -4317,7 +4611,7 @@ msgstr ""
msgid "No printer-uri found for class"
msgstr ""
-#: scheduler/ipp.c:6211
+#: scheduler/ipp.c:6214
msgid "No printer-uri in request."
msgstr ""
@@ -4325,11 +4619,11 @@ msgstr ""
msgid "No request-id"
msgstr ""
-#: scheduler/ipp.c:5417
+#: scheduler/ipp.c:5420
msgid "No subscription attributes in request."
msgstr ""
-#: scheduler/ipp.c:7453
+#: scheduler/ipp.c:7456
msgid "No subscriptions found."
msgstr ""
@@ -4353,11 +4647,11 @@ msgstr ""
msgid "Normal"
msgstr ""
-#: cups/http-support.c:1323
+#: cups/http-support.c:1384
msgid "Not Found"
msgstr ""
-#: cups/http-support.c:1335
+#: cups/http-support.c:1396
msgid "Not Implemented"
msgstr ""
@@ -4365,15 +4659,15 @@ msgstr ""
msgid "Not Installed"
msgstr ""
-#: cups/http-support.c:1310
+#: cups/http-support.c:1371
msgid "Not Modified"
msgstr ""
-#: cups/http-support.c:1338
+#: cups/http-support.c:1399
msgid "Not Supported"
msgstr ""
-#: scheduler/ipp.c:1577 scheduler/ipp.c:10546
+#: scheduler/ipp.c:1580 scheduler/ipp.c:10555
msgid "Not allowed to print."
msgstr ""
@@ -4385,7 +4679,7 @@ msgstr ""
msgid "Note: this program only validates the DSC comments, not the PostScript itself."
msgstr ""
-#: cups/http-support.c:1292 cups/ppd.c:338
+#: cups/http-support.c:1353 cups/ppd.c:338
msgid "OK"
msgstr ""
@@ -4427,10 +4721,11 @@ msgstr ""
msgid "Options Installed"
msgstr ""
-#: scheduler/cupsfilter.c:1433 scheduler/main.c:2013 systemv/cupsaddsmb.c:284
+#: scheduler/cupsfilter.c:1474 scheduler/main.c:2013 systemv/cupsaddsmb.c:284
#: systemv/cupsctl.c:203 systemv/cupstestdsc.c:429 systemv/cupstestppd.c:3817
-#: test/ipptool.c:4585 ppdc/ppdc.cxx:437 ppdc/ppdhtml.cxx:174
-#: ppdc/ppdi.cxx:130 ppdc/ppdmerge.cxx:369 ppdc/ppdpo.cxx:254
+#: test/ippfind.c:2730 test/ipptool.c:4789 ppdc/ppdc.cxx:437
+#: ppdc/ppdhtml.cxx:174 ppdc/ppdi.cxx:130 ppdc/ppdmerge.cxx:369
+#: ppdc/ppdpo.cxx:254
msgid "Options:"
msgstr ""
@@ -4446,22 +4741,22 @@ msgstr ""
msgid "Output Mode"
msgstr ""
-#: systemv/lpstat.c:1148 systemv/lpstat.c:1152
+#: systemv/lpstat.c:1252 systemv/lpstat.c:1256
#, c-format
msgid "Output for printer %s is sent to %s"
msgstr ""
-#: systemv/lpstat.c:1142
+#: systemv/lpstat.c:1246
#, c-format
msgid "Output for printer %s is sent to remote printer %s on %s"
msgstr ""
-#: systemv/lpstat.c:1166 systemv/lpstat.c:1170
+#: systemv/lpstat.c:1270 systemv/lpstat.c:1274
#, c-format
msgid "Output for printer %s/%s is sent to %s"
msgstr ""
-#: systemv/lpstat.c:1160
+#: systemv/lpstat.c:1264
#, c-format
msgid "Output for printer %s/%s is sent to remote printer %s on %s"
msgstr ""
@@ -4620,11 +4915,11 @@ msgstr ""
msgid "Print file sent."
msgstr ""
-#: backend/ipp.c:2124
+#: backend/ipp.c:2130
msgid "Print job canceled at printer."
msgstr ""
-#: backend/ipp.c:2116
+#: backend/ipp.c:2122
msgid "Print job too large."
msgstr ""
@@ -4656,11 +4951,11 @@ msgstr ""
msgid "Printer Settings"
msgstr ""
-#: backend/ipp.c:2119
+#: backend/ipp.c:2125
msgid "Printer cannot print supplied content."
msgstr ""
-#: backend/ipp.c:2122
+#: backend/ipp.c:2128
msgid "Printer cannot print with supplied options."
msgstr ""
@@ -4686,16 +4981,16 @@ msgstr ""
msgid "Quarto"
msgstr ""
-#: scheduler/ipp.c:1572 scheduler/ipp.c:10541
+#: scheduler/ipp.c:1575 scheduler/ipp.c:10550
msgid "Quota limit reached."
msgstr ""
-#: berkeley/lpq.c:519
+#: berkeley/lpq.c:520
msgid "Rank Owner Job File(s) Total Size"
msgstr ""
#. TRANSLATORS: Pri is job priority.
-#: berkeley/lpq.c:515
+#: berkeley/lpq.c:516
msgid "Rank Owner Pri Job Files Total Size"
msgstr ""
@@ -4717,7 +5012,7 @@ msgstr ""
msgid "Reprint After Error"
msgstr ""
-#: cups/http-support.c:1326
+#: cups/http-support.c:1387
msgid "Request Entity Too Large"
msgstr ""
@@ -4750,15 +5045,15 @@ msgstr ""
msgid "SEQUENCE uses indefinite length"
msgstr ""
-#: cups/http-support.c:1350
+#: cups/http-support.c:1411
msgid "SSL/TLS Negotiation Error"
msgstr ""
-#: cups/http-support.c:1307
+#: cups/http-support.c:1368
msgid "See Other"
msgstr ""
-#: backend/usb-darwin.c:573 backend/usb-libusb.c:443
+#: backend/usb-darwin.c:573 backend/usb-libusb.c:459
msgid "Sending data to printer."
msgstr ""
@@ -4778,7 +5073,7 @@ msgstr ""
msgid "Server Stopped"
msgstr ""
-#: cups/http-support.c:1344
+#: cups/http-support.c:1405
msgid "Service Unavailable"
msgstr ""
@@ -4847,12 +5142,16 @@ msgstr ""
msgid "Stylus Photo Series"
msgstr ""
-#: scheduler/ipp.c:3651 scheduler/ipp.c:6567 scheduler/ipp.c:7266
-#: scheduler/ipp.c:8766
+#: scheduler/ipp.c:3654 scheduler/ipp.c:6570 scheduler/ipp.c:7269
+#: scheduler/ipp.c:8769
#, c-format
msgid "Subscription #%d does not exist."
msgstr ""
+#: test/ippfind.c:2783
+msgid "Substitutions:"
+msgstr ""
+
#: ppdc/sample.c:157
msgid "Super A"
msgstr ""
@@ -4865,7 +5164,7 @@ msgstr ""
msgid "Super B/A3"
msgstr ""
-#: cups/http-support.c:1289
+#: cups/http-support.c:1350
msgid "Switching Protocols"
msgstr ""
@@ -4893,33 +5192,33 @@ msgstr ""
msgid "Tear-Off Adjust Position"
msgstr ""
-#: scheduler/ipp.c:1408
+#: scheduler/ipp.c:1411
#, c-format
msgid "The \"%s\" attribute is required for print jobs."
msgstr ""
-#: scheduler/ipp.c:6282 scheduler/ipp.c:6360 scheduler/ipp.c:6376
-#: scheduler/ipp.c:6394
+#: scheduler/ipp.c:6285 scheduler/ipp.c:6363 scheduler/ipp.c:6379
+#: scheduler/ipp.c:6397
#, c-format
msgid "The %s attribute cannot be provided with job-ids."
msgstr ""
-#: scheduler/ipp.c:1384
+#: scheduler/ipp.c:1387
#, c-format
msgid "The '%s' Job Description attribute cannot be supplied in a job creation request."
msgstr ""
-#: scheduler/ipp.c:5224
+#: scheduler/ipp.c:5227
#, c-format
msgid "The '%s' operation attribute cannot be supplied in a Create-Job request."
msgstr ""
-#: scheduler/ipp.c:6797
+#: scheduler/ipp.c:6800
#, c-format
msgid "The PPD file \"%s\" could not be found."
msgstr ""
-#: scheduler/ipp.c:6784
+#: scheduler/ipp.c:6787
#, c-format
msgid "The PPD file \"%s\" could not be opened: %s"
msgstr ""
@@ -4949,11 +5248,11 @@ msgstr ""
msgid "The fuser's temperature is low."
msgstr ""
-#: scheduler/ipp.c:2174
+#: scheduler/ipp.c:2177
msgid "The notify-lease-duration attribute cannot be used with job subscriptions."
msgstr ""
-#: scheduler/ipp.c:2157 scheduler/ipp.c:5542
+#: scheduler/ipp.c:2160 scheduler/ipp.c:5545
#, c-format
msgid "The notify-user-data value is too large (%d > 63 octets)."
msgstr ""
@@ -5057,18 +5356,18 @@ msgstr ""
msgid "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
msgstr ""
-#: scheduler/ipp.c:875 scheduler/ipp.c:1135 scheduler/ipp.c:3292
-#: scheduler/ipp.c:3471 scheduler/ipp.c:5207 scheduler/ipp.c:5376
-#: scheduler/ipp.c:5690 scheduler/ipp.c:6248 scheduler/ipp.c:7002
-#: scheduler/ipp.c:7058 scheduler/ipp.c:7372 scheduler/ipp.c:7638
-#: scheduler/ipp.c:7727 scheduler/ipp.c:7760 scheduler/ipp.c:8083
-#: scheduler/ipp.c:8476 scheduler/ipp.c:8558 scheduler/ipp.c:9719
-#: scheduler/ipp.c:10173 scheduler/ipp.c:10504 scheduler/ipp.c:10586
-#: scheduler/ipp.c:10960
+#: scheduler/ipp.c:878 scheduler/ipp.c:1138 scheduler/ipp.c:3295
+#: scheduler/ipp.c:3474 scheduler/ipp.c:5210 scheduler/ipp.c:5379
+#: scheduler/ipp.c:5693 scheduler/ipp.c:6251 scheduler/ipp.c:7005
+#: scheduler/ipp.c:7061 scheduler/ipp.c:7375 scheduler/ipp.c:7641
+#: scheduler/ipp.c:7730 scheduler/ipp.c:7763 scheduler/ipp.c:8086
+#: scheduler/ipp.c:8479 scheduler/ipp.c:8561 scheduler/ipp.c:9728
+#: scheduler/ipp.c:10182 scheduler/ipp.c:10513 scheduler/ipp.c:10595
+#: scheduler/ipp.c:10969
msgid "The printer or class does not exist."
msgstr ""
-#: scheduler/ipp.c:1321
+#: scheduler/ipp.c:1324
msgid "The printer or class is not shared."
msgstr ""
@@ -5092,20 +5391,20 @@ msgstr ""
msgid "The printer's waste bin is full."
msgstr ""
-#: scheduler/ipp.c:981 scheduler/ipp.c:2338
+#: scheduler/ipp.c:984 scheduler/ipp.c:2341
#, c-format
msgid "The printer-uri \"%s\" contains invalid characters."
msgstr ""
-#: scheduler/ipp.c:3269
+#: scheduler/ipp.c:3272
msgid "The printer-uri attribute is required."
msgstr ""
-#: scheduler/ipp.c:965
+#: scheduler/ipp.c:968
msgid "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
msgstr ""
-#: scheduler/ipp.c:2322
+#: scheduler/ipp.c:2325
msgid "The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
msgstr ""
@@ -5113,16 +5412,16 @@ msgstr ""
msgid "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)."
msgstr ""
-#: scheduler/client.c:2494
+#: scheduler/client.c:2560
msgid "The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to enable it."
msgstr ""
-#: scheduler/ipp.c:6343
+#: scheduler/ipp.c:6346
#, c-format
msgid "The which-jobs value \"%s\" is not supported."
msgstr ""
-#: scheduler/ipp.c:5620
+#: scheduler/ipp.c:5623
msgid "There are too many subscriptions."
msgstr ""
@@ -5131,7 +5430,7 @@ msgid "There is a paper jam."
msgstr ""
#: backend/usb-darwin.c:412 backend/usb-darwin.c:471 backend/usb-darwin.c:535
-#: backend/usb-darwin.c:556 backend/usb-libusb.c:368 backend/usb-libusb.c:422
+#: backend/usb-darwin.c:556 backend/usb-libusb.c:384 backend/usb-libusb.c:438
msgid "There was an unrecoverable USB error."
msgstr ""
@@ -5139,16 +5438,16 @@ msgstr ""
msgid "Thermal Transfer Media"
msgstr ""
-#: scheduler/ipp.c:1566
+#: scheduler/ipp.c:1569
msgid "Too many active jobs."
msgstr ""
-#: scheduler/ipp.c:1460
+#: scheduler/ipp.c:1463
#, c-format
msgid "Too many job-sheets values (%d > 2)."
msgstr ""
-#: scheduler/ipp.c:2623
+#: scheduler/ipp.c:2626
#, c-format
msgid "Too many printer-state-reasons values (%d > %d)."
msgstr ""
@@ -5177,7 +5476,7 @@ msgstr ""
msgid "Tray 4"
msgstr ""
-#: cups/http-support.c:1329
+#: cups/http-support.c:1390
msgid "URI Too Long"
msgstr ""
@@ -5233,7 +5532,7 @@ msgstr ""
msgid "Unable to add document to print job."
msgstr ""
-#: scheduler/ipp.c:1625
+#: scheduler/ipp.c:1628
#, c-format
msgid "Unable to add job for destination \"%s\"."
msgstr ""
@@ -5242,7 +5541,7 @@ msgstr ""
msgid "Unable to add printer"
msgstr ""
-#: scheduler/ipp.c:1251
+#: scheduler/ipp.c:1254
msgid "Unable to allocate memory for file types."
msgstr ""
@@ -5258,7 +5557,7 @@ msgstr ""
msgid "Unable to cancel RSS subscription"
msgstr ""
-#: backend/ipp.c:2171
+#: backend/ipp.c:2177
msgid "Unable to cancel print job."
msgstr ""
@@ -5288,7 +5587,7 @@ msgstr ""
msgid "Unable to configure printer options."
msgstr ""
-#: cups/adminutil.c:911 cups/request.c:1052
+#: cups/adminutil.c:911 cups/request.c:1053
msgid "Unable to connect to host."
msgstr ""
@@ -5312,12 +5611,12 @@ msgstr ""
msgid "Unable to copy CUPS printer driver files (%d)."
msgstr ""
-#: scheduler/ipp.c:2743
+#: scheduler/ipp.c:2746
#, c-format
msgid "Unable to copy PPD file - %s"
msgstr ""
-#: scheduler/ipp.c:2798
+#: scheduler/ipp.c:2801
msgid "Unable to copy PPD file."
msgstr ""
@@ -5331,7 +5630,7 @@ msgstr ""
msgid "Unable to copy Windows 9x printer driver files (%d)."
msgstr ""
-#: scheduler/ipp.c:2720
+#: scheduler/ipp.c:2723
#, c-format
msgid "Unable to copy interface script - %s"
msgstr ""
@@ -5340,7 +5639,7 @@ msgstr ""
msgid "Unable to create printer-uri"
msgstr ""
-#: cgi-bin/admin.c:1850 cgi-bin/admin.c:1862 scheduler/cupsfilter.c:1239
+#: cgi-bin/admin.c:1850 cgi-bin/admin.c:1862 scheduler/cupsfilter.c:1280
msgid "Unable to create temporary file"
msgstr ""
@@ -5360,35 +5659,35 @@ msgstr ""
msgid "Unable to edit cupsd.conf files larger than 1MB"
msgstr ""
-#: cups/http.c:5478
+#: cups/http.c:5472
msgid "Unable to establish a secure connection to host (certificate chain invalid)."
msgstr ""
-#: cups/http.c:5468
+#: cups/http.c:5462
msgid "Unable to establish a secure connection to host (certificate not yet valid)."
msgstr ""
-#: cups/http.c:5463
+#: cups/http.c:5457
msgid "Unable to establish a secure connection to host (expired certificate)."
msgstr ""
-#: cups/http.c:5473
+#: cups/http.c:5467
msgid "Unable to establish a secure connection to host (host name mismatch)."
msgstr ""
-#: cups/http.c:5483
+#: cups/http.c:5477
msgid "Unable to establish a secure connection to host (peer dropped connection before responding)."
msgstr ""
-#: cups/http.c:5458
+#: cups/http.c:5452
msgid "Unable to establish a secure connection to host (self-signed certificate)."
msgstr ""
-#: cups/http.c:5453
+#: cups/http.c:5447
msgid "Unable to establish a secure connection to host (untrusted certificate)."
msgstr ""
-#: cups/http.c:5254 cups/http.c:5510 cups/http.c:5543 cups/http.c:5560
+#: cups/http.c:5248 cups/http.c:5504 cups/http.c:5537 cups/http.c:5554
msgid "Unable to establish a secure connection to host."
msgstr ""
@@ -5396,11 +5695,11 @@ msgstr ""
msgid "Unable to find destination for job"
msgstr ""
-#: cups/http-support.c:1769
+#: cups/http-support.c:1830
msgid "Unable to find printer."
msgstr ""
-#: backend/ipp.c:3393
+#: backend/ipp.c:3411
msgid "Unable to get backend exit status."
msgstr ""
@@ -5451,7 +5750,7 @@ msgstr ""
msgid "Unable to locate printer \"%s\"."
msgstr ""
-#: backend/dnssd.c:781 backend/ipp.c:352 backend/lpd.c:205
+#: backend/dnssd.c:781 backend/ipp.c:351 backend/lpd.c:205
#: backend/socket.c:168
msgid "Unable to locate printer."
msgstr ""
@@ -5484,7 +5783,7 @@ msgstr ""
msgid "Unable to open device file"
msgstr ""
-#: scheduler/ipp.c:6029
+#: scheduler/ipp.c:6032
#, c-format
msgid "Unable to open document #%d in job #%d."
msgstr ""
@@ -5509,11 +5808,11 @@ msgid "Unable to print test page"
msgstr ""
#: backend/runloop.c:96 backend/runloop.c:325 backend/usb-darwin.c:643
-#: backend/usb-darwin.c:687 backend/usb-libusb.c:513 backend/usb-libusb.c:548
+#: backend/usb-darwin.c:687 backend/usb-libusb.c:529 backend/usb-libusb.c:564
msgid "Unable to read print data."
msgstr ""
-#: cups/dest.c:3410
+#: cups/dest.c:3393
msgid "Unable to resolve printer URI."
msgstr ""
@@ -5530,7 +5829,7 @@ msgstr ""
msgid "Unable to send command to printer driver"
msgstr ""
-#: backend/usb-darwin.c:765 backend/usb-libusb.c:624
+#: backend/usb-darwin.c:765 backend/usb-libusb.c:640
msgid "Unable to send data to printer."
msgstr ""
@@ -5547,7 +5846,7 @@ msgstr ""
msgid "Unable to set server default"
msgstr ""
-#: backend/ipp.c:3252 backend/ipp.c:3329 backend/ipp.c:3337
+#: backend/ipp.c:3270 backend/ipp.c:3347 backend/ipp.c:3355
msgid "Unable to start backend process."
msgstr ""
@@ -5568,7 +5867,7 @@ msgstr ""
msgid "Unable to write uncompressed print data: %s"
msgstr ""
-#: cups/http-support.c:1317
+#: cups/http-support.c:1378
msgid "Unauthorized"
msgstr ""
@@ -5576,7 +5875,7 @@ msgstr ""
msgid "Units"
msgstr ""
-#: cups/http-support.c:1357 cups/ppd.c:366
+#: cups/http-support.c:1418 cups/ppd.c:366
msgid "Unknown"
msgstr ""
@@ -5619,12 +5918,12 @@ msgstr ""
msgid "Unknown print mode: \"%s\"."
msgstr ""
-#: scheduler/ipp.c:10375
+#: scheduler/ipp.c:10384
#, c-format
msgid "Unknown printer-error-policy \"%s\"."
msgstr ""
-#: scheduler/ipp.c:10358
+#: scheduler/ipp.c:10367
#, c-format
msgid "Unknown printer-op-policy \"%s\"."
msgstr ""
@@ -5638,17 +5937,17 @@ msgstr ""
msgid "Unknown version option value: \"%s\"."
msgstr ""
-#: scheduler/ipp.c:10831
+#: scheduler/ipp.c:10840
#, c-format
msgid "Unsupported 'compression' value \"%s\"."
msgstr ""
-#: scheduler/ipp.c:10861
+#: scheduler/ipp.c:10870
#, c-format
msgid "Unsupported 'document-format' value \"%s\"."
msgstr ""
-#: scheduler/ipp.c:10936
+#: scheduler/ipp.c:10945
msgid "Unsupported 'job-name' value."
msgstr ""
@@ -5657,31 +5956,31 @@ msgstr ""
msgid "Unsupported character set \"%s\"."
msgstr ""
-#: scheduler/ipp.c:8049 scheduler/ipp.c:9280
+#: scheduler/ipp.c:8052 scheduler/ipp.c:9289
#, c-format
msgid "Unsupported compression \"%s\"."
msgstr ""
-#: scheduler/ipp.c:8183 scheduler/ipp.c:9430
+#: scheduler/ipp.c:8186 scheduler/ipp.c:9439
#, c-format
msgid "Unsupported document-format \"%s\"."
msgstr ""
-#: scheduler/ipp.c:9413
+#: scheduler/ipp.c:9422
#, c-format
msgid "Unsupported document-format \"%s/%s\"."
msgstr ""
-#: scheduler/ipp.c:1426
+#: scheduler/ipp.c:1429
#, c-format
msgid "Unsupported format \"%s\"."
msgstr ""
-#: scheduler/ipp.c:1524
+#: scheduler/ipp.c:1527
msgid "Unsupported margins."
msgstr ""
-#: cups/pwg-media.c:567
+#: cups/pwg-media.c:570
msgid "Unsupported media value."
msgstr ""
@@ -5708,7 +6007,7 @@ msgstr ""
msgid "Unsupported value type"
msgstr ""
-#: cups/http-support.c:1332
+#: cups/http-support.c:1393
msgid "Upgrade Required"
msgstr ""
@@ -5724,7 +6023,7 @@ msgid ""
" [-u allow:user,user] [-u deny:user,user]"
msgstr ""
-#: backend/dnssd.c:241 backend/ipp.c:341 backend/lpd.c:192
+#: backend/dnssd.c:241 backend/ipp.c:340 backend/lpd.c:192
#: backend/socket.c:132 backend/usb.c:183 filter/commandtops.c:74
#: filter/gziptoany.c:50 filter/pstops.c:264 monitor/bcp.c:62
#: monitor/tbcp.c:61
@@ -5744,7 +6043,7 @@ msgstr ""
msgid "Usage: cupsd [options]"
msgstr ""
-#: scheduler/cupsfilter.c:1432
+#: scheduler/cupsfilter.c:1473
msgid "Usage: cupsfilter [ options ] filename"
msgstr ""
@@ -5756,7 +6055,23 @@ msgstr ""
msgid "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
msgstr ""
-#: test/ipptool.c:4583
+#: test/ippdiscover.c:814
+msgid ""
+"Usage: ippdiscover [options] -a\n"
+" ippdiscover [options] \"service name\"\n"
+"\n"
+"Options:"
+msgstr ""
+
+#: test/ippfind.c:2723
+msgid ""
+"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
+" ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
+" ippfind --help\n"
+" ippfind --version"
+msgstr ""
+
+#: test/ipptool.c:4787
msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
msgstr ""
@@ -5783,7 +6098,7 @@ msgid ""
" lppasswd [-g groupname] -x [username]"
msgstr ""
-#: berkeley/lpq.c:674
+#: berkeley/lpq.c:675
msgid "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
msgstr ""
@@ -5827,7 +6142,7 @@ msgstr ""
msgid "Waiting for job to complete."
msgstr ""
-#: backend/usb-darwin.c:490 backend/usb-libusb.c:320
+#: backend/usb-darwin.c:490 backend/usb-libusb.c:336
msgid "Waiting for printer to become available."
msgstr ""
@@ -5839,7 +6154,7 @@ msgstr ""
msgid "Warning, no Windows 2000 printer drivers are installed."
msgstr ""
-#: cups/http-support.c:1353
+#: cups/http-support.c:1414
msgid "Web Interface is Disabled"
msgstr ""
@@ -5847,7 +6162,7 @@ msgstr ""
msgid "Yes"
msgstr ""
-#: scheduler/client.c:2481
+#: scheduler/client.c:2547
#, c-format
msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
msgstr ""
@@ -5876,11 +6191,11 @@ msgstr ""
msgid "completed"
msgstr ""
-#: scheduler/ipp.c:5901
+#: scheduler/ipp.c:5904
msgid "cups-deviced failed to execute."
msgstr ""
-#: scheduler/ipp.c:6720 scheduler/ipp.c:6969
+#: scheduler/ipp.c:6723 scheduler/ipp.c:6972
msgid "cups-driverd failed to execute."
msgstr ""
@@ -5942,12 +6257,12 @@ msgstr ""
msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
msgstr ""
-#: scheduler/cupsfilter.c:1212
+#: scheduler/cupsfilter.c:1253
#, c-format
msgid "cupsfilter: Invalid document number %d."
msgstr ""
-#: scheduler/cupsfilter.c:1206
+#: scheduler/cupsfilter.c:1247
#, c-format
msgid "cupsfilter: Invalid job ID %d."
msgstr ""
@@ -5956,7 +6271,7 @@ msgstr ""
msgid "cupsfilter: Only one filename can be specified."
msgstr ""
-#: scheduler/cupsfilter.c:1254
+#: scheduler/cupsfilter.c:1295
#, c-format
msgid "cupsfilter: Unable to get job file - %s"
msgstr ""
@@ -5969,12 +6284,12 @@ msgstr ""
msgid "cupstestppd: The -v option is incompatible with the -q option."
msgstr ""
-#: systemv/lpstat.c:1188 systemv/lpstat.c:1191 systemv/lpstat.c:1194
+#: systemv/lpstat.c:1292 systemv/lpstat.c:1295 systemv/lpstat.c:1298
#, c-format
msgid "device for %s/%s: %s"
msgstr ""
-#: systemv/lpstat.c:1175 systemv/lpstat.c:1178 systemv/lpstat.c:1181
+#: systemv/lpstat.c:1279 systemv/lpstat.c:1282 systemv/lpstat.c:1285
#, c-format
msgid "device for %s: %s"
msgstr ""
@@ -5999,62 +6314,148 @@ msgstr ""
msgid "idle"
msgstr ""
-#: test/ipptool.c:378 test/ipptool.c:527 test/ipptool.c:551
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
+#: test/ippfind.c:2455
+#, c-format
+msgid "ippfind: Bad regular expression: %s"
msgstr ""
-#: test/ipptool.c:609
+#: test/ippfind.c:347
+msgid "ippfind: Cannot use --and after --or."
+msgstr ""
+
+#: test/ippfind.c:620
#, c-format
-msgid "ipptool: Bad URI - %s."
+msgid "ippfind: Expected key name after %s."
msgstr ""
-#: test/ipptool.c:367
+#: test/ippfind.c:570 test/ippfind.c:753
#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
+msgid "ippfind: Expected port range after %s."
msgstr ""
-#: test/ipptool.c:520
+#: test/ippfind.c:380
+#, c-format
+msgid "ippfind: Expected program after %s."
+msgstr ""
+
+#: test/ippfind.c:397
+#, c-format
+msgid "ippfind: Expected semi-colon after %s."
+msgstr ""
+
+#: test/ippfind.c:1977
+msgid "ippfind: Missing close brace in substitution."
+msgstr ""
+
+#: test/ippfind.c:1074
+msgid "ippfind: Missing close parenthesis."
+msgstr ""
+
+#: test/ippfind.c:354
+msgid "ippfind: Missing expression before \"--and\"."
+msgstr ""
+
+#: test/ippfind.c:467
+msgid "ippfind: Missing expression before \"--or\"."
+msgstr ""
+
+#: test/ippfind.c:891
+#, c-format
+msgid "ippfind: Missing key name after %s."
+msgstr ""
+
+#: test/ippfind.c:1045
+msgid "ippfind: Missing open parenthesis."
+msgstr ""
+
+#: test/ippfind.c:921
+#, c-format
+msgid "ippfind: Missing program after %s."
+msgstr ""
+
+#: test/ippfind.c:366 test/ippfind.c:420 test/ippfind.c:449 test/ippfind.c:555
+#: test/ippfind.c:637 test/ippfind.c:652 test/ippfind.c:808 test/ippfind.c:823
+#: test/ippfind.c:846 test/ippfind.c:906
+#, c-format
+msgid "ippfind: Missing regular expression after %s."
+msgstr ""
+
+#: test/ippfind.c:939
+#, c-format
+msgid "ippfind: Missing semi-colon after %s."
+msgstr ""
+
+#: test/ippfind.c:1924 test/ippfind.c:1949
+msgid "ippfind: Out of memory."
+msgstr ""
+
+#: test/ippfind.c:1018
+msgid "ippfind: Too many parenthesis."
+msgstr ""
+
+#: test/ippfind.c:1287 test/ippfind.c:1423 test/ippfind.c:2542
+#, c-format
+msgid "ippfind: Unable to browse or resolve: %s"
+msgstr ""
+
+#: test/ippfind.c:2036 test/ippfind.c:2063
+#, c-format
+msgid "ippfind: Unable to execute \"%s\": %s"
+msgstr ""
+
+#: test/ippfind.c:1164 test/ippfind.c:1172 test/ippfind.c:1183
+#, c-format
+msgid "ippfind: Unable to use Bonjour: %s"
+msgstr ""
+
+#: test/ippfind.c:2006
+#, c-format
+msgid "ippfind: Unknown variable \"{%s}\"."
+msgstr ""
+
+#: test/ipptool.c:400 test/ipptool.c:549 test/ipptool.c:573
+msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
+msgstr ""
+
+#: test/ipptool.c:631
+#, c-format
+msgid "ipptool: Bad URI - %s."
+msgstr ""
+
+#: test/ipptool.c:542
msgid "ipptool: Invalid seconds for \"-i\"."
msgstr ""
-#: test/ipptool.c:590
+#: test/ipptool.c:612
msgid "ipptool: May only specify a single URI."
msgstr ""
-#: test/ipptool.c:543
+#: test/ipptool.c:565
msgid "ipptool: Missing count for \"-n\"."
msgstr ""
-#: test/ipptool.c:413
+#: test/ipptool.c:435
msgid "ipptool: Missing filename for \"-f\"."
msgstr ""
-#: test/ipptool.c:394
+#: test/ipptool.c:416
msgid "ipptool: Missing name=value for \"-d\"."
msgstr ""
-#: test/ipptool.c:510
+#: test/ipptool.c:532
msgid "ipptool: Missing seconds for \"-i\"."
msgstr ""
-#: test/ipptool.c:337
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-#: test/ipptool.c:350
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
-#: test/ipptool.c:636
+#: test/ipptool.c:658
msgid "ipptool: URI required before test file."
msgstr ""
-#: test/ipptool.c:570
+#: test/ipptool.c:592
#, c-format
msgid "ipptool: Unknown option \"-%c\"."
msgstr ""
-#: scheduler/ipp.c:7716
+#: scheduler/ipp.c:7719
msgid "job-printer-uri attribute missing."
msgstr ""
@@ -6342,34 +6743,34 @@ msgstr ""
msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
msgstr ""
-#: systemv/lpstat.c:996
+#: systemv/lpstat.c:1089
#, c-format
msgid "lpstat: error - %s environment variable names non-existent destination \"%s\"."
msgstr ""
-#: systemv/lpstat.c:927
+#: systemv/lpstat.c:1025
#, c-format
msgid "members of class %s:"
msgstr ""
-#: berkeley/lpq.c:586
+#: berkeley/lpq.c:587
msgid "no entries"
msgstr ""
-#: systemv/lpstat.c:1000
+#: systemv/lpstat.c:1093
msgid "no system default destination"
msgstr ""
-#: scheduler/ipp.c:5591
+#: scheduler/ipp.c:5594
msgid "notify-events not specified."
msgstr ""
-#: scheduler/ipp.c:2111 scheduler/ipp.c:5496
+#: scheduler/ipp.c:2114 scheduler/ipp.c:5499
#, c-format
msgid "notify-recipient-uri URI \"%s\" is already used."
msgstr ""
-#: scheduler/ipp.c:2101 scheduler/ipp.c:5486
+#: scheduler/ipp.c:2104 scheduler/ipp.c:5489
#, c-format
msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
msgstr ""
@@ -6851,32 +7252,32 @@ msgstr ""
msgid "ppdmerge: Unable to backup %s to %s - %s"
msgstr ""
-#: systemv/lpstat.c:1741
+#: systemv/lpstat.c:1857
#, c-format
msgid "printer %s disabled since %s -"
msgstr ""
-#: systemv/lpstat.c:1730
+#: systemv/lpstat.c:1846
#, c-format
msgid "printer %s is idle. enabled since %s"
msgstr ""
-#: systemv/lpstat.c:1735
+#: systemv/lpstat.c:1851
#, c-format
msgid "printer %s now printing %s-%d. enabled since %s"
msgstr ""
-#: systemv/lpstat.c:1866
+#: systemv/lpstat.c:1982
#, c-format
msgid "printer %s/%s disabled since %s -"
msgstr ""
-#: systemv/lpstat.c:1852
+#: systemv/lpstat.c:1968
#, c-format
msgid "printer %s/%s is idle. enabled since %s"
msgstr ""
-#: systemv/lpstat.c:1859
+#: systemv/lpstat.c:1975
#, c-format
msgid "printer %s/%s now printing %s-%d. enabled since %s"
msgstr ""
@@ -6885,7 +7286,7 @@ msgstr ""
msgid "processing"
msgstr ""
-#: systemv/lp.c:651
+#: systemv/lp.c:668
#, c-format
msgid "request id is %s-%d (%d file(s))"
msgstr ""
@@ -6894,11 +7295,11 @@ msgstr ""
msgid "request-id uses indefinite length"
msgstr ""
-#: systemv/lpstat.c:2005
+#: systemv/lpstat.c:2116
msgid "scheduler is not running"
msgstr ""
-#: systemv/lpstat.c:2001
+#: systemv/lpstat.c:2112
msgid "scheduler is running"
msgstr ""
@@ -6915,12 +7316,12 @@ msgstr ""
msgid "stopped"
msgstr ""
-#: systemv/lpstat.c:974
+#: systemv/lpstat.c:1067
#, c-format
msgid "system default destination: %s"
msgstr ""
-#: systemv/lpstat.c:971
+#: systemv/lpstat.c:1064
#, c-format
msgid "system default destination: %s/%s"
msgstr ""
diff --git a/locale/cups.strings b/locale/cups.strings
index e125be90..25780707 100644
--- a/locale/cups.strings
+++ b/locale/cups.strings
@@ -177,6 +177,8 @@
" Warning: file contains binary data." = " Warning: file contains binary data.";
" Warning: no %%EndComments comment in file." = " Warning: no %%EndComments comment in file.";
" Warning: obsolete DSC version %.1f in file." = " Warning: obsolete DSC version %.1f in file.";
+" ! expression Unary NOT of expression." = " ! expression Unary NOT of expression.";
+" ( expressions ) Group expressions." = " ( expressions ) Group expressions.";
" --[no-]debug-logging Turn debug logging on/off." = " --[no-]debug-logging Turn debug logging on/off.";
" --[no-]remote-admin Turn remote administration on/off." = " --[no-]remote-admin Turn remote administration on/off.";
" --[no-]remote-any Allow/prevent access from the Internet." = " --[no-]remote-any Allow/prevent access from the Internet.";
@@ -184,7 +186,27 @@
" --[no-]user-cancel-any Allow/prevent users to cancel any job." = " --[no-]user-cancel-any Allow/prevent users to cancel any job.";
" --cr End lines with CR (Mac OS 9)." = " --cr End lines with CR (Mac OS 9).";
" --crlf End lines with CR + LF (Windows)." = " --crlf End lines with CR + LF (Windows).";
+" --domain regex Match domain to regular expression." = " --domain regex Match domain to regular expression.";
+" --exec utility [argument ...] ;\n Execute program if true." = " --exec utility [argument ...] ;\n Execute program if true.";
+" --false Always false." = " --false Always false.";
+" --help Show this help." = " --help Show this help.";
+" --host regex Match hostname to regular expression." = " --host regex Match hostname to regular expression.";
" --lf End lines with LF (UNIX/Linux/OS X)." = " --lf End lines with LF (UNIX/Linux/OS X).";
+" --local True if service is local." = " --local True if service is local.";
+" --ls List attributes." = " --ls List attributes.";
+" --name regex Match service name to regular expression." = " --name regex Match service name to regular expression.";
+" --not expression Unary NOT of expression." = " --not expression Unary NOT of expression.";
+" --path regex Match resource path to regular expression." = " --path regex Match resource path to regular expression.";
+" --port number[-number] Match port to number or range." = " --port number[-number] Match port to number or range.";
+" --print Print URI if true." = " --print Print URI if true.";
+" --print-name Print service name if true." = " --print-name Print service name if true.";
+" --quiet Quietly report match via exit code." = " --quiet Quietly report match via exit code.";
+" --remote True if service is remote." = " --remote True if service is remote.";
+" --true Always true." = " --true Always true.";
+" --txt key True if the TXT record contains the key." = " --txt key True if the TXT record contains the key.";
+" --txt-* regex Match TXT record key to regular expression." = " --txt-* regex Match TXT record key to regular expression.";
+" --uri regex Match URI to regular expression." = " --uri regex Match URI to regular expression.";
+" --version Show program version." = " --version Show program version.";
" -4 Connect using IPv4." = " -4 Connect using IPv4.";
" -6 Connect using IPv6." = " -6 Connect using IPv6.";
" -C Send requests using chunking (default)." = " -C Send requests using chunking (default).";
@@ -199,47 +221,84 @@
" -I {filename,filters,none,profiles}" = " -I {filename,filters,none,profiles}";
" -L Send requests using content-length." = " -L Send requests using content-length.";
" -P filename.ppd Set PPD file." = " -P filename.ppd Set PPD file.";
+" -P number[-number] Match port to number or range." = " -P number[-number] Match port to number or range.";
" -R root-directory Set alternate root." = " -R root-directory Set alternate root.";
" -S Test with SSL encryption." = " -S Test with SSL encryption.";
+" -T seconds Set the browse timeout in seconds." = " -T seconds Set the browse timeout in seconds.";
" -T seconds Set the receive/send timeout in seconds." = " -T seconds Set the receive/send timeout in seconds.";
" -U username Specify username." = " -U username Specify username.";
" -V version Set default IPP version." = " -V version Set default IPP version.";
" -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}" = " -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}";
" -X Produce XML plist instead of plain text." = " -X Produce XML plist instead of plain text.";
+" -a Browse for all services." = " -a Browse for all services.";
" -a Export all printers." = " -a Export all printers.";
" -c catalog.po Load the specified message catalog." = " -c catalog.po Load the specified message catalog.";
" -c cupsd.conf Set cupsd.conf file to use." = " -c cupsd.conf Set cupsd.conf file to use.";
+" -d domain Browse/resolve in specified domain." = " -d domain Browse/resolve in specified domain.";
" -d name=value Set named variable to value." = " -d name=value Set named variable to value.";
" -d output-dir Specify the output directory." = " -d output-dir Specify the output directory.";
" -d printer Use the named printer." = " -d printer Use the named printer.";
+" -d regex Match domain to regular expression." = " -d regex Match domain to regular expression.";
" -e Use every filter from the PPD file." = " -e Use every filter from the PPD file.";
" -f Run in the foreground." = " -f Run in the foreground.";
" -f filename Set default request filename." = " -f filename Set default request filename.";
" -h Show this usage message." = " -h Show this usage message.";
+" -h regex Match hostname to regular expression." = " -h regex Match hostname to regular expression.";
" -h server[:port] Specify server address." = " -h server[:port] Specify server address.";
" -i mime/type Set input MIME type (otherwise auto-typed)." = " -i mime/type Set input MIME type (otherwise auto-typed).";
" -i seconds Repeat the last file with the given time interval." = " -i seconds Repeat the last file with the given time interval.";
" -j job-id[,N] Filter file N from the specified job (default is file 1)." = " -j job-id[,N] Filter file N from the specified job (default is file 1).";
+" -l List attributes." = " -l List attributes.";
" -l Run cupsd from launchd(8)." = " -l Run cupsd from launchd(8).";
" -l lang[,lang,...] Specify the output language(s) (locale)." = " -l lang[,lang,...] Specify the output language(s) (locale).";
" -m Use the ModelName value as the filename." = " -m Use the ModelName value as the filename.";
" -m mime/type Set output MIME type (otherwise application/pdf)." = " -m mime/type Set output MIME type (otherwise application/pdf).";
" -n copies Set number of copies." = " -n copies Set number of copies.";
" -n count Repeat the last file the given number of times." = " -n count Repeat the last file the given number of times.";
+" -n regex Match service name to regular expression." = " -n regex Match service name to regular expression.";
" -o filename.drv Set driver information file (otherwise ppdi.drv)." = " -o filename.drv Set driver information file (otherwise ppdi.drv).";
" -o filename.ppd[.gz] Set output file (otherwise stdout)." = " -o filename.ppd[.gz] Set output file (otherwise stdout).";
" -o name=value Set option(s)." = " -o name=value Set option(s).";
+" -p Print URI if true." = " -p Print URI if true.";
" -p filename.ppd Set PPD file." = " -p filename.ppd Set PPD file.";
+" -p program Run specified program for each service." = " -p program Run specified program for each service.";
+" -q Quietly report match via exit code." = " -q Quietly report match via exit code.";
" -q Run silently." = " -q Run silently.";
+" -r True if service is remote." = " -r True if service is remote.";
" -r Use 'relaxed' open mode." = " -r Use 'relaxed' open mode.";
+" -s Print service name if true." = " -s Print service name if true.";
" -t Produce a test report." = " -t Produce a test report.";
" -t Test PPDs instead of generating them." = " -t Test PPDs instead of generating them.";
" -t Test the configuration file." = " -t Test the configuration file.";
+" -t key True if the TXT record contains the key." = " -t key True if the TXT record contains the key.";
" -t title Set title." = " -t title Set title.";
+" -t type Browse/resolve with specified type." = " -t type Browse/resolve with specified type.";
" -u Remove the PPD file when finished." = " -u Remove the PPD file when finished.";
+" -u regex Match URI to regular expression." = " -u regex Match URI to regular expression.";
" -v Be verbose." = " -v Be verbose.";
" -vv Be very verbose." = " -vv Be very verbose.";
+" -x utility [argument ...] ;\n Execute program if true." = " -x utility [argument ...] ;\n Execute program if true.";
" -z Compress PPD files using GNU zip." = " -z Compress PPD files using GNU zip.";
+" IPPFIND_SERVICE_DOMAIN Domain name" = " IPPFIND_SERVICE_DOMAIN Domain name";
+" IPPFIND_SERVICE_HOSTNAME\n Fully-qualified domain name" = " IPPFIND_SERVICE_HOSTNAME\n Fully-qualified domain name";
+" IPPFIND_SERVICE_NAME Service instance name" = " IPPFIND_SERVICE_NAME Service instance name";
+" IPPFIND_SERVICE_PORT Port number" = " IPPFIND_SERVICE_PORT Port number";
+" IPPFIND_SERVICE_REGTYPE DNS-SD registration type" = " IPPFIND_SERVICE_REGTYPE DNS-SD registration type";
+" IPPFIND_SERVICE_SCHEME URI scheme" = " IPPFIND_SERVICE_SCHEME URI scheme";
+" IPPFIND_SERVICE_URI URI" = " IPPFIND_SERVICE_URI URI";
+" IPPFIND_TXT_* Value of TXT record key" = " IPPFIND_TXT_* Value of TXT record key";
+" expression --and expression\n Logical AND." = " expression --and expression\n Logical AND.";
+" expression --or expression\n Logical OR." = " expression --or expression\n Logical OR.";
+" expression expression Logical AND." = " expression expression Logical AND.";
+" {service_domain} Domain name" = " {service_domain} Domain name";
+" {service_hostname} Fully-qualified domain name" = " {service_hostname} Fully-qualified domain name";
+" {service_name} Service instance name" = " {service_name} Service instance name";
+" {service_port} Port number" = " {service_port} Port number";
+" {service_regtype} DNS-SD registration type" = " {service_regtype} DNS-SD registration type";
+" {service_scheme} URI scheme" = " {service_scheme} URI scheme";
+" {service_uri} URI" = " {service_uri} URI";
+" {txt_*} Value of TXT record key" = " {txt_*} Value of TXT record key";
+" {} URI" = " {} URI";
" FAIL" = " FAIL";
" PASS" = " PASS";
"\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)." = "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5).";
@@ -293,8 +352,10 @@
// TRANSLATORS: Message is "subject: error"
"%s: %s" = "%s: %s";
"%s: %s failed: %s" = "%s: %s failed: %s";
+"%s: Bad version %s for \"-V\"." = "%s: Bad version %s for \"-V\".";
"%s: Don't know what to do." = "%s: Don't know what to do.";
"%s: Error - %s environment variable names non-existent destination \"%s\"." = "%s: Error - %s environment variable names non-existent destination \"%s\".";
+"%s: Error - add '/version=1.1' to server name." = "%s: Error - add '/version=1.1' to server name.";
"%s: Error - bad job ID." = "%s: Error - bad job ID.";
"%s: Error - cannot print files and alter jobs simultaneously." = "%s: Error - cannot print files and alter jobs simultaneously.";
"%s: Error - cannot print from stdin if files or a job ID are provided." = "%s: Error - cannot print from stdin if files or a job ID are provided.";
@@ -332,6 +393,8 @@
"%s: Expected job ID after \"-i\" option." = "%s: Expected job ID after \"-i\" option.";
"%s: Invalid destination name in list \"%s\"." = "%s: Invalid destination name in list \"%s\".";
"%s: Invalid filter string \"%s\"." = "%s: Invalid filter string \"%s\".";
+"%s: Missing timeout for \"-T\"." = "%s: Missing timeout for \"-T\".";
+"%s: Missing version for \"-V\"." = "%s: Missing version for \"-V\".";
"%s: Need job ID (\"-i jobid\") before \"-H restart\"." = "%s: Need job ID (\"-i jobid\") before \"-H restart\".";
"%s: No filter to convert from %s/%s to %s/%s." = "%s: No filter to convert from %s/%s to %s/%s.";
"%s: Operation failed: %s" = "%s: Operation failed: %s";
@@ -345,6 +408,8 @@
"%s: Unknown destination \"%s\"." = "%s: Unknown destination \"%s\".";
"%s: Unknown destination MIME type %s/%s." = "%s: Unknown destination MIME type %s/%s.";
"%s: Unknown option \"%c\"." = "%s: Unknown option \"%c\".";
+"%s: Unknown option \"%s\"." = "%s: Unknown option \"%s\".";
+"%s: Unknown option \"-%c\"." = "%s: Unknown option \"-%c\".";
"%s: Unknown source MIME type %s/%s." = "%s: Unknown source MIME type %s/%s.";
"%s: Warning - \"%c\" format modifier not supported - output may not be correct." = "%s: Warning - \"%c\" format modifier not supported - output may not be correct.";
"%s: Warning - character set option ignored." = "%s: Warning - character set option ignored.";
@@ -760,6 +825,7 @@
"Envelope Personal" = "Envelope Personal";
"Envelope You4" = "Envelope You4";
"Envelope You4 Long Edge" = "Envelope You4 Long Edge";
+"Environment Variables:" = "Environment Variables:";
"Epson" = "Epson";
"Error Policy" = "Error Policy";
"Error sending raster data." = "Error sending raster data.";
@@ -777,6 +843,7 @@
"Executive" = "Executive";
"Expectation Failed" = "Expectation Failed";
"Export Printers to Samba" = "Export Printers to Samba";
+"Expressions:" = "Expressions:";
"FAIL" = "FAIL";
"FanFold German" = "FanFold German";
"FanFold Legal German" = "FanFold Legal German";
@@ -912,6 +979,7 @@
"Missing x-dimension in media-size." = "Missing x-dimension in media-size.";
"Missing y-dimension in media-size." = "Missing y-dimension in media-size.";
"Model: name = %s\n natural_language = %s\n make-and-model = %s\n device-id = %s" = "Model: name = %s\n natural_language = %s\n make-and-model = %s\n device-id = %s";
+"Modifiers:" = "Modifiers:";
"Modify Class" = "Modify Class";
"Modify Printer" = "Modify Printer";
"Move All Jobs" = "Move All Jobs";
@@ -1075,6 +1143,7 @@
"Stylus Color Series" = "Stylus Color Series";
"Stylus Photo Series" = "Stylus Photo Series";
"Subscription #%d does not exist." = "Subscription #%d does not exist.";
+"Substitutions:" = "Substitutions:";
"Super A" = "Super A";
"Super B" = "Super B";
"Super B/A3" = "Super B/A3";
@@ -1281,6 +1350,8 @@
"Usage: cupsfilter [ options ] filename" = "Usage: cupsfilter [ options ] filename";
"Usage: cupstestdsc [options] filename.ps [... filename.ps]" = "Usage: cupstestdsc [options] filename.ps [... filename.ps]";
"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]" = "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]";
+"Usage: ippdiscover [options] -a\n ippdiscover [options] \"service name\"\n\nOptions:" = "Usage: ippdiscover [options] -a\n ippdiscover [options] \"service name\"\n\nOptions:";
+"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n ippfind [options] name[.regtype[.domain.]] ... [expression]\n ippfind --help\n ippfind --version" = "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n ippfind [options] name[.regtype[.domain.]] ... [expression]\n ippfind --help\n ippfind --version";
"Usage: ipptool [options] URI filename [ ... filenameN ]" = "Usage: ipptool [options] URI filename [ ... filenameN ]";
"Usage: lpmove job/src dest" = "Usage: lpmove job/src dest";
"Usage: lpoptions [-h server] [-E] -d printer\n lpoptions [-h server] [-E] [-p printer] -l\n lpoptions [-h server] [-E] -p printer -o option[=value] ...\n lpoptions [-h server] [-E] -x printer" = "Usage: lpoptions [-h server] [-E] -d printer\n lpoptions [-h server] [-E] [-p printer] -l\n lpoptions [-h server] [-E] -p printer -o option[=value] ...\n lpoptions [-h server] [-E] -x printer";
@@ -1337,17 +1408,35 @@
"held" = "held";
"help\t\tGet help on commands." = "help\t\tGet help on commands.";
"idle" = "idle";
+"ippfind: Bad regular expression: %s" = "ippfind: Bad regular expression: %s";
+"ippfind: Cannot use --and after --or." = "ippfind: Cannot use --and after --or.";
+"ippfind: Expected key name after %s." = "ippfind: Expected key name after %s.";
+"ippfind: Expected port range after %s." = "ippfind: Expected port range after %s.";
+"ippfind: Expected program after %s." = "ippfind: Expected program after %s.";
+"ippfind: Expected semi-colon after %s." = "ippfind: Expected semi-colon after %s.";
+"ippfind: Missing close brace in substitution." = "ippfind: Missing close brace in substitution.";
+"ippfind: Missing close parenthesis." = "ippfind: Missing close parenthesis.";
+"ippfind: Missing expression before \"--and\"." = "ippfind: Missing expression before \"--and\".";
+"ippfind: Missing expression before \"--or\"." = "ippfind: Missing expression before \"--or\".";
+"ippfind: Missing key name after %s." = "ippfind: Missing key name after %s.";
+"ippfind: Missing open parenthesis." = "ippfind: Missing open parenthesis.";
+"ippfind: Missing program after %s." = "ippfind: Missing program after %s.";
+"ippfind: Missing regular expression after %s." = "ippfind: Missing regular expression after %s.";
+"ippfind: Missing semi-colon after %s." = "ippfind: Missing semi-colon after %s.";
+"ippfind: Out of memory." = "ippfind: Out of memory.";
+"ippfind: Too many parenthesis." = "ippfind: Too many parenthesis.";
+"ippfind: Unable to browse or resolve: %s" = "ippfind: Unable to browse or resolve: %s";
+"ippfind: Unable to execute \"%s\": %s" = "ippfind: Unable to execute \"%s\": %s";
+"ippfind: Unable to use Bonjour: %s" = "ippfind: Unable to use Bonjour: %s";
+"ippfind: Unknown variable \"{%s}\"." = "ippfind: Unknown variable \"{%s}\".";
"ipptool: \"-i\" and \"-n\" are incompatible with -X\"." = "ipptool: \"-i\" and \"-n\" are incompatible with -X\".";
"ipptool: Bad URI - %s." = "ipptool: Bad URI - %s.";
-"ipptool: Bad version %s for \"-V\"." = "ipptool: Bad version %s for \"-V\".";
"ipptool: Invalid seconds for \"-i\"." = "ipptool: Invalid seconds for \"-i\".";
"ipptool: May only specify a single URI." = "ipptool: May only specify a single URI.";
"ipptool: Missing count for \"-n\"." = "ipptool: Missing count for \"-n\".";
"ipptool: Missing filename for \"-f\"." = "ipptool: Missing filename for \"-f\".";
"ipptool: Missing name=value for \"-d\"." = "ipptool: Missing name=value for \"-d\".";
"ipptool: Missing seconds for \"-i\"." = "ipptool: Missing seconds for \"-i\".";
-"ipptool: Missing timeout for \"-T\"." = "ipptool: Missing timeout for \"-T\".";
-"ipptool: Missing version for \"-V\"." = "ipptool: Missing version for \"-V\".";
"ipptool: URI required before test file." = "ipptool: URI required before test file.";
"ipptool: Unknown option \"-%c\"." = "ipptool: Unknown option \"-%c\".";
"job-printer-uri attribute missing." = "job-printer-uri attribute missing.";
diff --git a/locale/cups_ca.po b/locale/cups_ca.po
index be78334c..39def99e 100644
--- a/locale/cups_ca.po
+++ b/locale/cups_ca.po
@@ -32,7 +32,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2013-03-20 15:42-0400\n"
+"POT-Creation-Date: 2013-07-08 07:21-0400\n"
"PO-Revision-Date: 2012-09-29 11:21+0200\n"
"Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
@@ -932,6 +932,12 @@ msgstr " Avís: no hi ha cap %%EndComments al fitxer."
msgid " Warning: obsolete DSC version %.1f in file."
msgstr " Avís: versió del DSC %.1f obsoleta al fitxer."
+msgid " ! expression Unary NOT of expression."
+msgstr ""
+
+msgid " ( expressions ) Group expressions."
+msgstr ""
+
msgid " --[no-]debug-logging Turn debug logging on/off."
msgstr " --[no-]debug-logging Activa o desactiva el registre de depuració."
@@ -956,9 +962,71 @@ msgstr " --cr Final de línia amb CR (Mac OS 9)."
msgid " --crlf End lines with CR + LF (Windows)."
msgstr " --crlf Final de línia amb CR + LF (Windows)."
+msgid " --domain regex Match domain to regular expression."
+msgstr ""
+
+msgid ""
+" --exec utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
+msgid " --false Always false."
+msgstr ""
+
+msgid " --help Show this help."
+msgstr ""
+
+msgid " --host regex Match hostname to regular expression."
+msgstr ""
+
msgid " --lf End lines with LF (UNIX/Linux/OS X)."
msgstr " --lf Final de línia amb LF (UNIX/Linux/OS X)."
+msgid " --local True if service is local."
+msgstr ""
+
+msgid " --ls List attributes."
+msgstr ""
+
+msgid " --name regex Match service name to regular expression."
+msgstr ""
+
+msgid " --not expression Unary NOT of expression."
+msgstr ""
+
+msgid " --path regex Match resource path to regular expression."
+msgstr ""
+
+msgid " --port number[-number] Match port to number or range."
+msgstr ""
+
+msgid " --print Print URI if true."
+msgstr ""
+
+msgid " --print-name Print service name if true."
+msgstr ""
+
+msgid " --quiet Quietly report match via exit code."
+msgstr ""
+
+msgid " --remote True if service is remote."
+msgstr ""
+
+msgid " --true Always true."
+msgstr ""
+
+msgid " --txt key True if the TXT record contains the key."
+msgstr ""
+
+msgid " --txt-* regex Match TXT record key to regular expression."
+msgstr ""
+
+msgid " --uri regex Match URI to regular expression."
+msgstr ""
+
+msgid " --version Show program version."
+msgstr ""
+
msgid " -4 Connect using IPv4."
msgstr " -4 Connecta fent servir IPv4."
@@ -1007,12 +1075,18 @@ msgstr ""
msgid " -P filename.ppd Set PPD file."
msgstr " -P nomfitxer.ppd Estableix el fitxer PPD."
+msgid " -P number[-number] Match port to number or range."
+msgstr ""
+
msgid " -R root-directory Set alternate root."
msgstr " -R directori-arrel Estableix una arrel alternativa."
msgid " -S Test with SSL encryption."
msgstr " -S Fa una prova amb xifrat SSL."
+msgid " -T seconds Set the browse timeout in seconds."
+msgstr ""
+
msgid " -T seconds Set the receive/send timeout in seconds."
msgstr ""
" -T segons Estableix el temps d'espera màxim per enviar i "
@@ -1035,6 +1109,9 @@ msgid " -X Produce XML plist instead of plain text."
msgstr ""
" -X Retorna els plist en XML en comptes de text pla."
+msgid " -a Browse for all services."
+msgstr ""
+
msgid " -a Export all printers."
msgstr " -a Exporta totes les impressores."
@@ -1045,6 +1122,9 @@ msgid " -c cupsd.conf Set cupsd.conf file to use."
msgstr ""
" -c cupsd.conf Estableix el fitxer cupsd.conf que cal fer servir."
+msgid " -d domain Browse/resolve in specified domain."
+msgstr ""
+
msgid " -d name=value Set named variable to value."
msgstr " -d nom=valor Estableix la variable indicada al valor."
@@ -1054,6 +1134,9 @@ msgstr " -d dir-sortida Especifica el directori de sortida."
msgid " -d printer Use the named printer."
msgstr " -d impressora Fa servir la impressora indicada."
+msgid " -d regex Match domain to regular expression."
+msgstr ""
+
msgid " -e Use every filter from the PPD file."
msgstr " -e Fa servir tots els filtres del fitxer PPD."
@@ -1068,6 +1151,9 @@ msgstr ""
msgid " -h Show this usage message."
msgstr " -h Mostra aquest missatge de sintaxi."
+msgid " -h regex Match hostname to regular expression."
+msgstr ""
+
msgid " -h server[:port] Specify server address."
msgstr " -h servidor[:port] Especifica l'adreça del servidor."
@@ -1088,6 +1174,9 @@ msgstr ""
" -j id-feina[,N] Filtra el fitxer N a la feina especificada (el "
"fitxer per defecte és 1)."
+msgid " -l List attributes."
+msgstr ""
+
msgid " -l Run cupsd from launchd(8)."
msgstr " -l Executa cupsd des de launchd(8)."
@@ -1115,6 +1204,9 @@ msgstr ""
" -n comptador Repeteix l'últim fitxer el nombre indicat de "
"vegades."
+msgid " -n regex Match service name to regular expression."
+msgstr ""
+
msgid ""
" -o filename.drv Set driver information file (otherwise ppdi.drv)."
msgstr ""
@@ -1129,15 +1221,30 @@ msgstr ""
msgid " -o name=value Set option(s)."
msgstr " -o nom=valor Estableix les opcions."
+msgid " -p Print URI if true."
+msgstr ""
+
msgid " -p filename.ppd Set PPD file."
msgstr " -p nomfitxer.ppd Estableix el fitxer PPD."
+msgid " -p program Run specified program for each service."
+msgstr ""
+
+msgid " -q Quietly report match via exit code."
+msgstr ""
+
msgid " -q Run silently."
msgstr " -q S'executa en mode silenciós."
+msgid " -r True if service is remote."
+msgstr ""
+
msgid " -r Use 'relaxed' open mode."
msgstr " -r Fa servir el mode obert «relaxat»."
+msgid " -s Print service name if true."
+msgstr ""
+
msgid " -t Produce a test report."
msgstr " -t Genera un informe de prova."
@@ -1147,23 +1254,103 @@ msgstr " -t Prova els PPDs en comptes de generar-los."
msgid " -t Test the configuration file."
msgstr " -t Prova el fitxer de configuració."
+msgid " -t key True if the TXT record contains the key."
+msgstr ""
+
msgid " -t title Set title."
msgstr " -t títol Estableix el títol."
+msgid " -t type Browse/resolve with specified type."
+msgstr ""
+
msgid " -u Remove the PPD file when finished."
msgstr " -u Elimina el fitxer PPD quan ha acabat."
+msgid " -u regex Match URI to regular expression."
+msgstr ""
+
msgid " -v Be verbose."
msgstr " -v Mode detallat."
msgid " -vv Be very verbose."
msgstr " -vv Mode molt detallat."
+msgid ""
+" -x utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
msgid " -z Compress PPD files using GNU zip."
msgstr ""
" -z Comprimeix els fitxers PPD fent servir el zip de "
"GNU."
+msgid " IPPFIND_SERVICE_DOMAIN Domain name"
+msgstr ""
+
+msgid ""
+" IPPFIND_SERVICE_HOSTNAME\n"
+" Fully-qualified domain name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_NAME Service instance name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_PORT Port number"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_REGTYPE DNS-SD registration type"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_SCHEME URI scheme"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_URI URI"
+msgstr ""
+
+msgid " IPPFIND_TXT_* Value of TXT record key"
+msgstr ""
+
+msgid ""
+" expression --and expression\n"
+" Logical AND."
+msgstr ""
+
+msgid ""
+" expression --or expression\n"
+" Logical OR."
+msgstr ""
+
+msgid " expression expression Logical AND."
+msgstr ""
+
+msgid " {service_domain} Domain name"
+msgstr ""
+
+msgid " {service_hostname} Fully-qualified domain name"
+msgstr ""
+
+msgid " {service_name} Service instance name"
+msgstr ""
+
+msgid " {service_port} Port number"
+msgstr ""
+
+msgid " {service_regtype} DNS-SD registration type"
+msgstr ""
+
+msgid " {service_scheme} URI scheme"
+msgstr ""
+
+msgid " {service_uri} URI"
+msgstr ""
+
+msgid " {txt_*} Value of TXT record key"
+msgstr ""
+
+msgid " {} URI"
+msgstr ""
+
msgid " FAIL"
msgstr " ERROR"
@@ -1399,6 +1586,10 @@ msgid "%s: %s failed: %s"
msgstr "%s: %s ha fallat: %s"
#, c-format
+msgid "%s: Bad version %s for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Don't know what to do."
msgstr "%s: no sé que fer."
@@ -1410,6 +1601,10 @@ msgstr ""
"«%s»."
#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
msgid "%s: Error - bad job ID."
msgstr "%s: error - ID de la feina incorrecte."
@@ -1566,6 +1761,14 @@ msgid "%s: Invalid filter string \"%s\"."
msgstr "%s: la cadena del filtre «%s» no és vàlida."
#, c-format
+msgid "%s: Missing timeout for \"-T\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Missing version for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
msgstr "%s: es necessita l'ID de la feina («-i jobid») abans de «-H restart»."
@@ -1618,6 +1821,14 @@ msgid "%s: Unknown option \"%c\"."
msgstr "%s: l'opció «%c» és desconeguda."
#, c-format
+msgid "%s: Unknown option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unknown option \"-%c\"."
+msgstr ""
+
+#, c-format
msgid "%s: Unknown source MIME type %s/%s."
msgstr "%s: la font del tipus de MIME %s/%s és desconeguda."
@@ -2932,6 +3143,9 @@ msgstr "Sobre You4"
msgid "Envelope You4 Long Edge"
msgstr "Sobre You4 costat llarg"
+msgid "Environment Variables:"
+msgstr ""
+
msgid "Epson"
msgstr "Epson"
@@ -2983,6 +3197,9 @@ msgstr "Ha fallat la condició del valor que s'esperava"
msgid "Export Printers to Samba"
msgstr "Exportar les impressores al Samba"
+msgid "Expressions:"
+msgstr ""
+
msgid "FAIL"
msgstr "ERROR"
@@ -3422,6 +3639,9 @@ msgstr ""
" fabricant i model = %s\n"
" id del dispositiu = %s"
+msgid "Modifiers:"
+msgstr ""
+
msgid "Modify Class"
msgstr "Modifica la classe"
@@ -3933,6 +4153,9 @@ msgstr "Sèrie Stylus Photo"
msgid "Subscription #%d does not exist."
msgstr "La subscripció #%d no existeix."
+msgid "Substitutions:"
+msgstr ""
+
msgid "Super A"
msgstr "Super A"
@@ -4685,6 +4908,20 @@ msgid ""
msgstr ""
"Sintaxi: cupstestppd [opcions] nomfitxer1.ppd[.gz] [... nomfitxerN.ppd[.gz]]"
+msgid ""
+"Usage: ippdiscover [options] -a\n"
+" ippdiscover [options] \"service name\"\n"
+"\n"
+"Options:"
+msgstr ""
+
+msgid ""
+"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
+" ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
+" ippfind --help\n"
+" ippfind --version"
+msgstr ""
+
msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
msgstr "Sintaxi: ipptool [opcions] URI nomfitxer[ ... nomfitxerN]"
@@ -4895,6 +5132,82 @@ msgstr "help\t\tproporciona ajuda sobre les comandes."
msgid "idle"
msgstr "inactiva"
+#, c-format
+msgid "ippfind: Bad regular expression: %s"
+msgstr ""
+
+msgid "ippfind: Cannot use --and after --or."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected key name after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected port range after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Missing close brace in substitution."
+msgstr ""
+
+msgid "ippfind: Missing close parenthesis."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--and\"."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--or\"."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing key name after %s."
+msgstr ""
+
+msgid "ippfind: Missing open parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing regular expression after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Out of memory."
+msgstr ""
+
+msgid "ippfind: Too many parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to browse or resolve: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to execute \"%s\": %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to use Bonjour: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unknown variable \"{%s}\"."
+msgstr ""
+
msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
msgstr "ipptool: «-i» i «-n» no són compatibles amb «-X»."
@@ -4902,10 +5215,6 @@ msgstr "ipptool: «-i» i «-n» no són compatibles amb «-X»."
msgid "ipptool: Bad URI - %s."
msgstr "ipptool: l'URI no es correcte - %s."
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr "ipptool: la versió %s de «-V» no és correcta."
-
msgid "ipptool: Invalid seconds for \"-i\"."
msgstr "ipptool: els segons de «-i» no són correctes."
@@ -4924,12 +5233,6 @@ msgstr "ipptool: falta nom=valor a «-d»."
msgid "ipptool: Missing seconds for \"-i\"."
msgstr "ipptool: falten els segons a «-i»."
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr "ipptool: falta el temps màxim d'espera a «-T»."
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr "ipptool: falta la versió a «-V»."
-
msgid "ipptool: URI required before test file."
msgstr "ipptool: falta l'URI abans del fitxer de prova."
@@ -5883,3 +6186,12 @@ msgstr "La variable-bindings fa servir una longitud indefinida"
#~ msgid "ipptool: \"-n\" is incompatible with \"-X\"."
#~ msgstr "ipptool: «-n» no és compatible amb «-X»."
+
+#~ msgid "ipptool: Bad version %s for \"-V\"."
+#~ msgstr "ipptool: la versió %s de «-V» no és correcta."
+
+#~ msgid "ipptool: Missing timeout for \"-T\"."
+#~ msgstr "ipptool: falta el temps màxim d'espera a «-T»."
+
+#~ msgid "ipptool: Missing version for \"-V\"."
+#~ msgstr "ipptool: falta la versió a «-V»."
diff --git a/locale/cups_es.po b/locale/cups_es.po
index 7e9161c2..729566fb 100644
--- a/locale/cups_es.po
+++ b/locale/cups_es.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2013-03-20 15:42-0400\n"
+"POT-Creation-Date: 2013-07-08 07:21-0400\n"
"PO-Revision-Date: 2012-07-01 20:21+0100\n"
"Last-Translator: Juan Pablo González Riopedre <riopedre13@yahoo.es>\n"
"Language-Team: Spanish\n"
@@ -924,6 +924,12 @@ msgstr " Advertencia: no hay comentario %%EndComments en el archivo."
msgid " Warning: obsolete DSC version %.1f in file."
msgstr " Advertencia: versión DSC %.1f obsoleta en el archivo."
+msgid " ! expression Unary NOT of expression."
+msgstr ""
+
+msgid " ( expressions ) Group expressions."
+msgstr ""
+
msgid " --[no-]debug-logging Turn debug logging on/off."
msgstr " --[no-]debug-logging Activar/desactivar registro de depuración."
@@ -948,9 +954,71 @@ msgstr " --cr Finalizar líneas con CR (Mac OS 9)."
msgid " --crlf End lines with CR + LF (Windows)."
msgstr " --crlf Finalizar líneas con CR + LF (Windows)."
+msgid " --domain regex Match domain to regular expression."
+msgstr ""
+
+msgid ""
+" --exec utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
+msgid " --false Always false."
+msgstr ""
+
+msgid " --help Show this help."
+msgstr ""
+
+msgid " --host regex Match hostname to regular expression."
+msgstr ""
+
msgid " --lf End lines with LF (UNIX/Linux/OS X)."
msgstr " --lf Finalizar líneas con LF (UNIX/Linux/OS X)."
+msgid " --local True if service is local."
+msgstr ""
+
+msgid " --ls List attributes."
+msgstr ""
+
+msgid " --name regex Match service name to regular expression."
+msgstr ""
+
+msgid " --not expression Unary NOT of expression."
+msgstr ""
+
+msgid " --path regex Match resource path to regular expression."
+msgstr ""
+
+msgid " --port number[-number] Match port to number or range."
+msgstr ""
+
+msgid " --print Print URI if true."
+msgstr ""
+
+msgid " --print-name Print service name if true."
+msgstr ""
+
+msgid " --quiet Quietly report match via exit code."
+msgstr ""
+
+msgid " --remote True if service is remote."
+msgstr ""
+
+msgid " --true Always true."
+msgstr ""
+
+msgid " --txt key True if the TXT record contains the key."
+msgstr ""
+
+msgid " --txt-* regex Match TXT record key to regular expression."
+msgstr ""
+
+msgid " --uri regex Match URI to regular expression."
+msgstr ""
+
+msgid " --version Show program version."
+msgstr ""
+
msgid " -4 Connect using IPv4."
msgstr " -4 Conectar usando IPv4."
@@ -999,12 +1067,18 @@ msgstr " -L Envía peticiones usando content-length."
msgid " -P filename.ppd Set PPD file."
msgstr " -P nombre_archivo.ppd Establece archivo PPD."
+msgid " -P number[-number] Match port to number or range."
+msgstr ""
+
msgid " -R root-directory Set alternate root."
msgstr " -R directorio-raíz Establece directorio raíz alternativo."
msgid " -S Test with SSL encryption."
msgstr " -S Prueba con cifrado SSL."
+msgid " -T seconds Set the browse timeout in seconds."
+msgstr ""
+
msgid " -T seconds Set the receive/send timeout in seconds."
msgstr ""
" -T segundos Establece el tiempo de espera de recepción/envío "
@@ -1027,6 +1101,9 @@ msgid " -X Produce XML plist instead of plain text."
msgstr ""
" -X Produce XML plist en vez de texto sin formato."
+msgid " -a Browse for all services."
+msgstr ""
+
msgid " -a Export all printers."
msgstr " -a Exporta todas las impresoras."
@@ -1036,6 +1113,9 @@ msgstr " -c catálogo.po Carga el catálogo de mensajes especificado.
msgid " -c cupsd.conf Set cupsd.conf file to use."
msgstr " -c cupsd.conf Establece el archivo cupsd.conf a usar."
+msgid " -d domain Browse/resolve in specified domain."
+msgstr ""
+
msgid " -d name=value Set named variable to value."
msgstr " -d nombre=valor Establece la variable al valor."
@@ -1045,6 +1125,9 @@ msgstr " -d dir-salida Especifica el directorio de salida."
msgid " -d printer Use the named printer."
msgstr " -d impresora Usa la impresora especificada."
+msgid " -d regex Match domain to regular expression."
+msgstr ""
+
msgid " -e Use every filter from the PPD file."
msgstr " -e Usa cada filtro desde el archivo PPD."
@@ -1058,6 +1141,9 @@ msgstr ""
msgid " -h Show this usage message."
msgstr " -h Muestra este mensaje de uso."
+msgid " -h regex Match hostname to regular expression."
+msgstr ""
+
msgid " -h server[:port] Specify server address."
msgstr " -h servidor[:puerto] Especifica la dirección del servidor."
@@ -1079,6 +1165,9 @@ msgstr ""
" -j id-trabajo[,N] Filtra el archivo N desde el trabajo "
"especificado (predeterminado archivo 1)."
+msgid " -l List attributes."
+msgstr ""
+
msgid " -l Run cupsd from launchd(8)."
msgstr " -l Ejecuta cupsd desde launchd(8)."
@@ -1106,6 +1195,9 @@ msgstr ""
" -n contador Repite el último archivo el número de veces "
"especificado."
+msgid " -n regex Match service name to regular expression."
+msgstr ""
+
msgid ""
" -o filename.drv Set driver information file (otherwise ppdi.drv)."
msgstr ""
@@ -1120,15 +1212,30 @@ msgstr ""
msgid " -o name=value Set option(s)."
msgstr " -o nombre=valor Establece opciones."
+msgid " -p Print URI if true."
+msgstr ""
+
msgid " -p filename.ppd Set PPD file."
msgstr " -p nombre_archivo.ppd Establece archivo PPD."
+msgid " -p program Run specified program for each service."
+msgstr ""
+
+msgid " -q Quietly report match via exit code."
+msgstr ""
+
msgid " -q Run silently."
msgstr " -q Ejecución silenciosa."
+msgid " -r True if service is remote."
+msgstr ""
+
msgid " -r Use 'relaxed' open mode."
msgstr " -r Usa modo abierto 'relajado'."
+msgid " -s Print service name if true."
+msgstr ""
+
msgid " -t Produce a test report."
msgstr " -t Produce un informe de la prueba."
@@ -1138,21 +1245,101 @@ msgstr " -t Prueba los PPDs en vez de generarlos."
msgid " -t Test the configuration file."
msgstr " -t Prueba el archivo de configuración."
+msgid " -t key True if the TXT record contains the key."
+msgstr ""
+
msgid " -t title Set title."
msgstr " -t título Establece título."
+msgid " -t type Browse/resolve with specified type."
+msgstr ""
+
msgid " -u Remove the PPD file when finished."
msgstr " -u Borra el archivo PPD tras terminar."
+msgid " -u regex Match URI to regular expression."
+msgstr ""
+
msgid " -v Be verbose."
msgstr " -v Ser detallado."
msgid " -vv Be very verbose."
msgstr " -vv Ser muy detallado."
+msgid ""
+" -x utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
msgid " -z Compress PPD files using GNU zip."
msgstr " -z Comprimir archivos PPD usando GNU zip."
+msgid " IPPFIND_SERVICE_DOMAIN Domain name"
+msgstr ""
+
+msgid ""
+" IPPFIND_SERVICE_HOSTNAME\n"
+" Fully-qualified domain name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_NAME Service instance name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_PORT Port number"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_REGTYPE DNS-SD registration type"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_SCHEME URI scheme"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_URI URI"
+msgstr ""
+
+msgid " IPPFIND_TXT_* Value of TXT record key"
+msgstr ""
+
+msgid ""
+" expression --and expression\n"
+" Logical AND."
+msgstr ""
+
+msgid ""
+" expression --or expression\n"
+" Logical OR."
+msgstr ""
+
+msgid " expression expression Logical AND."
+msgstr ""
+
+msgid " {service_domain} Domain name"
+msgstr ""
+
+msgid " {service_hostname} Fully-qualified domain name"
+msgstr ""
+
+msgid " {service_name} Service instance name"
+msgstr ""
+
+msgid " {service_port} Port number"
+msgstr ""
+
+msgid " {service_regtype} DNS-SD registration type"
+msgstr ""
+
+msgid " {service_scheme} URI scheme"
+msgstr ""
+
+msgid " {service_uri} URI"
+msgstr ""
+
+msgid " {txt_*} Value of TXT record key"
+msgstr ""
+
+msgid " {} URI"
+msgstr ""
+
msgid " FAIL"
msgstr " FALLO"
@@ -1388,6 +1575,10 @@ msgid "%s: %s failed: %s"
msgstr "%s: %s ha fallado: %s"
#, c-format
+msgid "%s: Bad version %s for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Don't know what to do."
msgstr "%s: No sé que hay que hacer."
@@ -1398,6 +1589,10 @@ msgstr ""
"%s: Error - %s nombres de variables de entorno no existen en destino \"%s\"."
#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
msgid "%s: Error - bad job ID."
msgstr "%s: Error - ID de trabajo incorrecta."
@@ -1554,6 +1749,14 @@ msgid "%s: Invalid filter string \"%s\"."
msgstr "%s: Cadena de filtro \"%s\" no válida."
#, c-format
+msgid "%s: Missing timeout for \"-T\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Missing version for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
msgstr ""
"%s: Se necesita un ID de trabajo (\"-i id_trabajo\") antes de \"-H restart\"."
@@ -1607,6 +1810,14 @@ msgid "%s: Unknown option \"%c\"."
msgstr "%s: Opción \"%c\" desconocida."
#, c-format
+msgid "%s: Unknown option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unknown option \"-%c\"."
+msgstr ""
+
+#, c-format
msgid "%s: Unknown source MIME type %s/%s."
msgstr "%s: Tipo MIME de origen %s/%s desconocido."
@@ -2920,6 +3131,9 @@ msgstr "Sobre You4"
msgid "Envelope You4 Long Edge"
msgstr "Sobre You4 lado largo"
+msgid "Environment Variables:"
+msgstr ""
+
msgid "Epson"
msgstr "Epson"
@@ -2971,6 +3185,9 @@ msgstr "Lo que se esperaba, falló."
msgid "Export Printers to Samba"
msgstr "Exportar impresoras a Samba"
+msgid "Expressions:"
+msgstr ""
+
msgid "FAIL"
msgstr "FALLO"
@@ -3409,6 +3626,9 @@ msgstr ""
" make-and-model = %s\n"
" device-id = %s"
+msgid "Modifiers:"
+msgstr ""
+
msgid "Modify Class"
msgstr "Modificar clase"
@@ -3919,6 +4139,9 @@ msgstr "Stylus Photo Series"
msgid "Subscription #%d does not exist."
msgstr "Subscripción #%d no existe."
+msgid "Substitutions:"
+msgstr ""
+
msgid "Super A"
msgstr "Super A"
@@ -4678,6 +4901,20 @@ msgstr ""
"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN.ppd"
"[.gz]]"
+msgid ""
+"Usage: ippdiscover [options] -a\n"
+" ippdiscover [options] \"service name\"\n"
+"\n"
+"Options:"
+msgstr ""
+
+msgid ""
+"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
+" ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
+" ippfind --help\n"
+" ippfind --version"
+msgstr ""
+
msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
msgstr "Uso: ipptool [opciones] URI nombre_archivo [ ... nombre_archivoN ]"
@@ -4893,6 +5130,82 @@ msgstr "help\t\tProporciona ayuda sobre los comandos."
msgid "idle"
msgstr "inactiva"
+#, c-format
+msgid "ippfind: Bad regular expression: %s"
+msgstr ""
+
+msgid "ippfind: Cannot use --and after --or."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected key name after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected port range after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Missing close brace in substitution."
+msgstr ""
+
+msgid "ippfind: Missing close parenthesis."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--and\"."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--or\"."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing key name after %s."
+msgstr ""
+
+msgid "ippfind: Missing open parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing regular expression after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Out of memory."
+msgstr ""
+
+msgid "ippfind: Too many parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to browse or resolve: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to execute \"%s\": %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to use Bonjour: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unknown variable \"{%s}\"."
+msgstr ""
+
msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
msgstr "ipptool: \"-i\" y \"-n\" son incompatibles with -X\"."
@@ -4900,10 +5213,6 @@ msgstr "ipptool: \"-i\" y \"-n\" son incompatibles with -X\"."
msgid "ipptool: Bad URI - %s."
msgstr "ipptool: URI - %s incorrecto."
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr "ipptool: Versión %s para \"-V\" incorrecta."
-
msgid "ipptool: Invalid seconds for \"-i\"."
msgstr "ipptool: Número de segundos no válido para \"-i\"."
@@ -4922,12 +5231,6 @@ msgstr "ipptool: Falta un nombre=valor para \"-d\"."
msgid "ipptool: Missing seconds for \"-i\"."
msgstr "ipptool: Falta el número de segundos para \"-i\"."
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr "ipptool: Falta un tiempo de espera para \"-T\"."
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr "ipptool: Falta la versión para \"-V\"."
-
msgid "ipptool: URI required before test file."
msgstr "ipptool: Se requiere un URI antes del archivo de prueba."
@@ -5704,3 +6007,12 @@ msgstr "variable-bindings usa una longitud indefinida"
#~ msgid "Unable to open compressed print file"
#~ msgstr "No se ha podido abrir el archivo de impresión comprimido"
+
+#~ msgid "ipptool: Bad version %s for \"-V\"."
+#~ msgstr "ipptool: Versión %s para \"-V\" incorrecta."
+
+#~ msgid "ipptool: Missing timeout for \"-T\"."
+#~ msgstr "ipptool: Falta un tiempo de espera para \"-T\"."
+
+#~ msgid "ipptool: Missing version for \"-V\"."
+#~ msgstr "ipptool: Falta la versión para \"-V\"."
diff --git a/locale/cups_fr.po b/locale/cups_fr.po
index 3887b327..f157f230 100644
--- a/locale/cups_fr.po
+++ b/locale/cups_fr.po
@@ -29,7 +29,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2013-03-20 15:42-0400\n"
+"POT-Creation-Date: 2013-07-08 07:21-0400\n"
"PO-Revision-Date: 2012-12-12 11:12+0100\n"
"Last-Translator: denis meramdjougoma <dcmeram@libertysurf.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -788,6 +788,12 @@ msgstr ""
msgid " Warning: obsolete DSC version %.1f in file."
msgstr ""
+msgid " ! expression Unary NOT of expression."
+msgstr ""
+
+msgid " ( expressions ) Group expressions."
+msgstr ""
+
msgid " --[no-]debug-logging Turn debug logging on/off."
msgstr ""
@@ -809,9 +815,71 @@ msgstr ""
msgid " --crlf End lines with CR + LF (Windows)."
msgstr ""
+msgid " --domain regex Match domain to regular expression."
+msgstr ""
+
+msgid ""
+" --exec utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
+msgid " --false Always false."
+msgstr ""
+
+msgid " --help Show this help."
+msgstr ""
+
+msgid " --host regex Match hostname to regular expression."
+msgstr ""
+
msgid " --lf End lines with LF (UNIX/Linux/OS X)."
msgstr ""
+msgid " --local True if service is local."
+msgstr ""
+
+msgid " --ls List attributes."
+msgstr ""
+
+msgid " --name regex Match service name to regular expression."
+msgstr ""
+
+msgid " --not expression Unary NOT of expression."
+msgstr ""
+
+msgid " --path regex Match resource path to regular expression."
+msgstr ""
+
+msgid " --port number[-number] Match port to number or range."
+msgstr ""
+
+msgid " --print Print URI if true."
+msgstr ""
+
+msgid " --print-name Print service name if true."
+msgstr ""
+
+msgid " --quiet Quietly report match via exit code."
+msgstr ""
+
+msgid " --remote True if service is remote."
+msgstr ""
+
+msgid " --true Always true."
+msgstr ""
+
+msgid " --txt key True if the TXT record contains the key."
+msgstr ""
+
+msgid " --txt-* regex Match TXT record key to regular expression."
+msgstr ""
+
+msgid " --uri regex Match URI to regular expression."
+msgstr ""
+
+msgid " --version Show program version."
+msgstr ""
+
msgid " -4 Connect using IPv4."
msgstr ""
@@ -855,12 +923,18 @@ msgstr ""
msgid " -P filename.ppd Set PPD file."
msgstr ""
+msgid " -P number[-number] Match port to number or range."
+msgstr ""
+
msgid " -R root-directory Set alternate root."
msgstr ""
msgid " -S Test with SSL encryption."
msgstr ""
+msgid " -T seconds Set the browse timeout in seconds."
+msgstr ""
+
msgid " -T seconds Set the receive/send timeout in seconds."
msgstr ""
@@ -878,6 +952,9 @@ msgstr ""
msgid " -X Produce XML plist instead of plain text."
msgstr ""
+msgid " -a Browse for all services."
+msgstr ""
+
msgid " -a Export all printers."
msgstr ""
@@ -887,6 +964,9 @@ msgstr ""
msgid " -c cupsd.conf Set cupsd.conf file to use."
msgstr ""
+msgid " -d domain Browse/resolve in specified domain."
+msgstr ""
+
msgid " -d name=value Set named variable to value."
msgstr ""
@@ -896,6 +976,9 @@ msgstr ""
msgid " -d printer Use the named printer."
msgstr ""
+msgid " -d regex Match domain to regular expression."
+msgstr ""
+
msgid " -e Use every filter from the PPD file."
msgstr ""
@@ -908,6 +991,9 @@ msgstr ""
msgid " -h Show this usage message."
msgstr ""
+msgid " -h regex Match hostname to regular expression."
+msgstr ""
+
msgid " -h server[:port] Specify server address."
msgstr ""
@@ -923,6 +1009,9 @@ msgid ""
"file 1)."
msgstr ""
+msgid " -l List attributes."
+msgstr ""
+
msgid " -l Run cupsd from launchd(8)."
msgstr ""
@@ -943,6 +1032,9 @@ msgid ""
" -n count Repeat the last file the given number of times."
msgstr ""
+msgid " -n regex Match service name to regular expression."
+msgstr ""
+
msgid ""
" -o filename.drv Set driver information file (otherwise ppdi.drv)."
msgstr ""
@@ -953,15 +1045,30 @@ msgstr ""
msgid " -o name=value Set option(s)."
msgstr ""
+msgid " -p Print URI if true."
+msgstr ""
+
msgid " -p filename.ppd Set PPD file."
msgstr ""
+msgid " -p program Run specified program for each service."
+msgstr ""
+
+msgid " -q Quietly report match via exit code."
+msgstr ""
+
msgid " -q Run silently."
msgstr ""
+msgid " -r True if service is remote."
+msgstr ""
+
msgid " -r Use 'relaxed' open mode."
msgstr ""
+msgid " -s Print service name if true."
+msgstr ""
+
msgid " -t Produce a test report."
msgstr ""
@@ -971,21 +1078,101 @@ msgstr ""
msgid " -t Test the configuration file."
msgstr ""
+msgid " -t key True if the TXT record contains the key."
+msgstr ""
+
msgid " -t title Set title."
msgstr ""
+msgid " -t type Browse/resolve with specified type."
+msgstr ""
+
msgid " -u Remove the PPD file when finished."
msgstr ""
+msgid " -u regex Match URI to regular expression."
+msgstr ""
+
msgid " -v Be verbose."
msgstr ""
msgid " -vv Be very verbose."
msgstr ""
+msgid ""
+" -x utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
msgid " -z Compress PPD files using GNU zip."
msgstr ""
+msgid " IPPFIND_SERVICE_DOMAIN Domain name"
+msgstr ""
+
+msgid ""
+" IPPFIND_SERVICE_HOSTNAME\n"
+" Fully-qualified domain name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_NAME Service instance name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_PORT Port number"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_REGTYPE DNS-SD registration type"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_SCHEME URI scheme"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_URI URI"
+msgstr ""
+
+msgid " IPPFIND_TXT_* Value of TXT record key"
+msgstr ""
+
+msgid ""
+" expression --and expression\n"
+" Logical AND."
+msgstr ""
+
+msgid ""
+" expression --or expression\n"
+" Logical OR."
+msgstr ""
+
+msgid " expression expression Logical AND."
+msgstr ""
+
+msgid " {service_domain} Domain name"
+msgstr ""
+
+msgid " {service_hostname} Fully-qualified domain name"
+msgstr ""
+
+msgid " {service_name} Service instance name"
+msgstr ""
+
+msgid " {service_port} Port number"
+msgstr ""
+
+msgid " {service_regtype} DNS-SD registration type"
+msgstr ""
+
+msgid " {service_scheme} URI scheme"
+msgstr ""
+
+msgid " {service_uri} URI"
+msgstr ""
+
+msgid " {txt_*} Value of TXT record key"
+msgstr ""
+
+msgid " {} URI"
+msgstr ""
+
msgid " FAIL"
msgstr ""
@@ -1221,6 +1408,10 @@ msgid "%s: %s failed: %s"
msgstr ""
#, c-format
+msgid "%s: Bad version %s for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Don't know what to do."
msgstr ""
@@ -1230,6 +1421,10 @@ msgid ""
msgstr ""
#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
msgid "%s: Error - bad job ID."
msgstr ""
@@ -1380,6 +1575,14 @@ msgid "%s: Invalid filter string \"%s\"."
msgstr ""
#, c-format
+msgid "%s: Missing timeout for \"-T\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Missing version for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
msgstr ""
@@ -1432,6 +1635,14 @@ msgid "%s: Unknown option \"%c\"."
msgstr ""
#, c-format
+msgid "%s: Unknown option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unknown option \"-%c\"."
+msgstr ""
+
+#, c-format
msgid "%s: Unknown source MIME type %s/%s."
msgstr ""
@@ -2726,6 +2937,9 @@ msgstr ""
msgid "Envelope You4 Long Edge"
msgstr ""
+msgid "Environment Variables:"
+msgstr ""
+
msgid "Epson"
msgstr "Epson"
@@ -2777,6 +2991,9 @@ msgstr "Échec de la condition de valeur attendue"
msgid "Export Printers to Samba"
msgstr "Exporter les imprimantes vers SAMBA"
+msgid "Expressions:"
+msgstr ""
+
msgid "FAIL"
msgstr ""
@@ -3209,6 +3426,9 @@ msgid ""
" device-id = %s"
msgstr ""
+msgid "Modifiers:"
+msgstr ""
+
msgid "Modify Class"
msgstr "Modifier la classe"
@@ -3713,6 +3933,9 @@ msgstr "Série Stylus Photo"
msgid "Subscription #%d does not exist."
msgstr ""
+msgid "Substitutions:"
+msgstr ""
+
msgid "Super A"
msgstr ""
@@ -4421,6 +4644,20 @@ msgid ""
"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
msgstr ""
+msgid ""
+"Usage: ippdiscover [options] -a\n"
+" ippdiscover [options] \"service name\"\n"
+"\n"
+"Options:"
+msgstr ""
+
+msgid ""
+"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
+" ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
+" ippfind --help\n"
+" ippfind --version"
+msgstr ""
+
msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
msgstr ""
@@ -4616,15 +4853,87 @@ msgstr ""
msgid "idle"
msgstr "inactive"
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
+#, c-format
+msgid "ippfind: Bad regular expression: %s"
+msgstr ""
+
+msgid "ippfind: Cannot use --and after --or."
msgstr ""
#, c-format
-msgid "ipptool: Bad URI - %s."
+msgid "ippfind: Expected key name after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected port range after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Missing close brace in substitution."
+msgstr ""
+
+msgid "ippfind: Missing close parenthesis."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--and\"."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--or\"."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing key name after %s."
+msgstr ""
+
+msgid "ippfind: Missing open parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing regular expression after %s."
msgstr ""
#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
+msgid "ippfind: Missing semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Out of memory."
+msgstr ""
+
+msgid "ippfind: Too many parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to browse or resolve: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to execute \"%s\": %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to use Bonjour: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unknown variable \"{%s}\"."
+msgstr ""
+
+msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
+msgstr ""
+
+#, c-format
+msgid "ipptool: Bad URI - %s."
msgstr ""
msgid "ipptool: Invalid seconds for \"-i\"."
@@ -4645,12 +4954,6 @@ msgstr ""
msgid "ipptool: Missing seconds for \"-i\"."
msgstr ""
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
msgid "ipptool: URI required before test file."
msgstr ""
diff --git a/locale/cups_ja.po b/locale/cups_ja.po
index ab16be3e..75f1b9a0 100644
--- a/locale/cups_ja.po
+++ b/locale/cups_ja.po
@@ -28,7 +28,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.6\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2013-03-20 15:42-0400\n"
+"POT-Creation-Date: 2013-07-08 07:21-0400\n"
"PO-Revision-Date: 2012-06-13 01:20+0900\n"
"Last-Translator: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
"Language-Team: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
@@ -930,6 +930,12 @@ msgstr " 警告: ファイル㫠%%EndComments コメントãŒã‚ã‚Šã¾ã›ã‚“
msgid " Warning: obsolete DSC version %.1f in file."
msgstr " 警告: ファイルã¯æ™‚代é…れ㮠DSC ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %.1f ã§ã™ã€‚"
+msgid " ! expression Unary NOT of expression."
+msgstr ""
+
+msgid " ( expressions ) Group expressions."
+msgstr ""
+
msgid " --[no-]debug-logging Turn debug logging on/off."
msgstr " --[no-]debug-logging デãƒãƒƒã‚°ãƒ­ã‚°ã®æœ‰åŠ¹/無効を切り替ãˆã‚‹ã€‚"
@@ -953,9 +959,71 @@ msgstr " --cr 行末を CR ã¨ã™ã‚‹ (Mac OS 9)。"
msgid " --crlf End lines with CR + LF (Windows)."
msgstr " --crlf 行末を CR + LF ã¨ã™ã‚‹ (Windows)。"
+msgid " --domain regex Match domain to regular expression."
+msgstr ""
+
+msgid ""
+" --exec utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
+msgid " --false Always false."
+msgstr ""
+
+msgid " --help Show this help."
+msgstr ""
+
+msgid " --host regex Match hostname to regular expression."
+msgstr ""
+
msgid " --lf End lines with LF (UNIX/Linux/OS X)."
msgstr " --lf 行末を LF ã¨ã™ã‚‹ (UNIX/Linux/OS X)。"
+msgid " --local True if service is local."
+msgstr ""
+
+msgid " --ls List attributes."
+msgstr ""
+
+msgid " --name regex Match service name to regular expression."
+msgstr ""
+
+msgid " --not expression Unary NOT of expression."
+msgstr ""
+
+msgid " --path regex Match resource path to regular expression."
+msgstr ""
+
+msgid " --port number[-number] Match port to number or range."
+msgstr ""
+
+msgid " --print Print URI if true."
+msgstr ""
+
+msgid " --print-name Print service name if true."
+msgstr ""
+
+msgid " --quiet Quietly report match via exit code."
+msgstr ""
+
+msgid " --remote True if service is remote."
+msgstr ""
+
+msgid " --true Always true."
+msgstr ""
+
+msgid " --txt key True if the TXT record contains the key."
+msgstr ""
+
+msgid " --txt-* regex Match TXT record key to regular expression."
+msgstr ""
+
+msgid " --uri regex Match URI to regular expression."
+msgstr ""
+
+msgid " --version Show program version."
+msgstr ""
+
msgid " -4 Connect using IPv4."
msgstr " -4 IPv4 ã§æŽ¥ç¶šã™ã‚‹ã€‚"
@@ -1005,12 +1073,18 @@ msgstr " -L content-length を用ã„ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é
msgid " -P filename.ppd Set PPD file."
msgstr " -P filename.ppd PPD ファイルを指定ã™ã‚‹ã€‚"
+msgid " -P number[-number] Match port to number or range."
+msgstr ""
+
msgid " -R root-directory Set alternate root."
msgstr " -R root-directory 別ã®ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒ¼ã‚’指定ã™ã‚‹ã€‚"
msgid " -S Test with SSL encryption."
msgstr " -S SSL æš—å·åŒ–ã§ãƒ†ã‚¹ãƒˆã™ã‚‹ã€‚"
+msgid " -T seconds Set the browse timeout in seconds."
+msgstr ""
+
msgid " -T seconds Set the receive/send timeout in seconds."
msgstr " -T seconds å—ä¿¡ï¼é€ä¿¡ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’秒ã§æŒ‡å®šã™ã‚‹ã€‚"
@@ -1030,6 +1104,9 @@ msgstr ""
msgid " -X Produce XML plist instead of plain text."
msgstr " -X プレーンテキストã®ä»£ã‚ã‚Šã« XML を用ã„る。"
+msgid " -a Browse for all services."
+msgstr ""
+
msgid " -a Export all printers."
msgstr " -a ã™ã¹ã¦ã®ãƒ—リンターをエクスãƒãƒ¼ãƒˆã™ã‚‹ã€‚"
@@ -1039,6 +1116,9 @@ msgstr " -c catalog.po 指定ã—ãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚«ã‚¿ãƒ­ã‚°ã‚’ロã
msgid " -c cupsd.conf Set cupsd.conf file to use."
msgstr " -c cupsd.conf 使用ã™ã‚‹ cupsd.conf ファイルを指定ã™ã‚‹ã€‚"
+msgid " -d domain Browse/resolve in specified domain."
+msgstr ""
+
msgid " -d name=value Set named variable to value."
msgstr ""
" -d name=value name ã§æŒ‡å®šã•ã‚ŒãŸå¤‰æ•°ã«å€¤ value をセットã™ã‚‹ã€‚"
@@ -1049,6 +1129,9 @@ msgstr " -d output-dir 出力先ディレクトリーを指定ã™ã‚‹ã
msgid " -d printer Use the named printer."
msgstr " -d printer 指定ã•ã‚ŒãŸãƒ—リンターを利用ã™ã‚‹ã€‚"
+msgid " -d regex Match domain to regular expression."
+msgstr ""
+
msgid " -e Use every filter from the PPD file."
msgstr ""
" -e PPD ファイルã‹ã‚‰ã™ã¹ã¦ã®ãƒ•ã‚£ãƒ«ã‚¿ãƒ¼ã‚’使用ã™ã‚‹ã€‚"
@@ -1062,6 +1145,9 @@ msgstr " -f filename デフォルトã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«å
msgid " -h Show this usage message."
msgstr " -h ã“ã®ãƒ˜ãƒ«ãƒ—メッセージを表示ã™ã‚‹ã€‚"
+msgid " -h regex Match hostname to regular expression."
+msgstr ""
+
msgid " -h server[:port] Specify server address."
msgstr " -h server[:port] サーãƒãƒ¼ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’指定ã™ã‚‹ã€‚"
@@ -1082,6 +1168,9 @@ msgstr ""
" -j job-id[,N] フィルターファイル N を指定ã•ã‚ŒãŸã‚¸ãƒ§ãƒ–ã‹ã‚‰ä½¿ç”¨ã™"
"る (デフォルト㯠ファイル 1)。"
+msgid " -l List attributes."
+msgstr ""
+
msgid " -l Run cupsd from launchd(8)."
msgstr " -l launchd(8) ã‹ã‚‰ cupsd を実行ã™ã‚‹ã€‚"
@@ -1104,6 +1193,9 @@ msgid ""
" -n count Repeat the last file the given number of times."
msgstr " -n count 最後ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’与ãˆã‚‰ã‚ŒãŸå›žæ•°ã ã‘ç¹°ã‚Šè¿”ã™ã€‚"
+msgid " -n regex Match service name to regular expression."
+msgstr ""
+
msgid ""
" -o filename.drv Set driver information file (otherwise ppdi.drv)."
msgstr ""
@@ -1117,15 +1209,30 @@ msgstr ""
msgid " -o name=value Set option(s)."
msgstr " -o name=value オプションを指定ã™ã‚‹ã€‚"
+msgid " -p Print URI if true."
+msgstr ""
+
msgid " -p filename.ppd Set PPD file."
msgstr " -p filename.ppd PPD ファイルを指定ã™ã‚‹ã€‚"
+msgid " -p program Run specified program for each service."
+msgstr ""
+
+msgid " -q Quietly report match via exit code."
+msgstr ""
+
msgid " -q Run silently."
msgstr " -q 詳細ã¯è¡¨ç¤ºã—ãªã„。"
+msgid " -r True if service is remote."
+msgstr ""
+
msgid " -r Use 'relaxed' open mode."
msgstr " -r 寛容モードを用ã„る。"
+msgid " -s Print service name if true."
+msgstr ""
+
msgid " -t Produce a test report."
msgstr " -t テストリãƒãƒ¼ãƒˆã‚’出力ã™ã‚‹ã€‚"
@@ -1135,21 +1242,101 @@ msgstr " -t PPD を出力ã—ãªã„ã§ãƒ†ã‚¹ãƒˆã™ã‚‹ã€‚"
msgid " -t Test the configuration file."
msgstr " -t 設定ファイルをテストã™ã‚‹ã€‚"
+msgid " -t key True if the TXT record contains the key."
+msgstr ""
+
msgid " -t title Set title."
msgstr " -t title タイトルを指定ã™ã‚‹ã€‚"
+msgid " -t type Browse/resolve with specified type."
+msgstr ""
+
msgid " -u Remove the PPD file when finished."
msgstr " -u 終了ã—ãŸã¨ãã« PPD ファイルを削除ã™ã‚‹ã€‚"
+msgid " -u regex Match URI to regular expression."
+msgstr ""
+
msgid " -v Be verbose."
msgstr " -v 冗長出力を行ã†ã€‚"
msgid " -vv Be very verbose."
msgstr " -vv より冗長ãªå‡ºåŠ›ã‚’è¡Œã†ã€‚"
+msgid ""
+" -x utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
msgid " -z Compress PPD files using GNU zip."
msgstr " -z PPD ファイルを GNU zip を使ã£ã¦åœ§ç¸®ã™ã‚‹ã€‚"
+msgid " IPPFIND_SERVICE_DOMAIN Domain name"
+msgstr ""
+
+msgid ""
+" IPPFIND_SERVICE_HOSTNAME\n"
+" Fully-qualified domain name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_NAME Service instance name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_PORT Port number"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_REGTYPE DNS-SD registration type"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_SCHEME URI scheme"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_URI URI"
+msgstr ""
+
+msgid " IPPFIND_TXT_* Value of TXT record key"
+msgstr ""
+
+msgid ""
+" expression --and expression\n"
+" Logical AND."
+msgstr ""
+
+msgid ""
+" expression --or expression\n"
+" Logical OR."
+msgstr ""
+
+msgid " expression expression Logical AND."
+msgstr ""
+
+msgid " {service_domain} Domain name"
+msgstr ""
+
+msgid " {service_hostname} Fully-qualified domain name"
+msgstr ""
+
+msgid " {service_name} Service instance name"
+msgstr ""
+
+msgid " {service_port} Port number"
+msgstr ""
+
+msgid " {service_regtype} DNS-SD registration type"
+msgstr ""
+
+msgid " {service_scheme} URI scheme"
+msgstr ""
+
+msgid " {service_uri} URI"
+msgstr ""
+
+msgid " {txt_*} Value of TXT record key"
+msgstr ""
+
+msgid " {} URI"
+msgstr ""
+
msgid " FAIL"
msgstr " 失敗"
@@ -1385,6 +1572,10 @@ msgid "%s: %s failed: %s"
msgstr "%s: %s ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
#, c-format
+msgid "%s: Bad version %s for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Don't know what to do."
msgstr "%s: 何ãŒèµ·ãã¦ã„ã‚‹ã‹ä¸æ˜Žã§ã™ã€‚"
@@ -1394,6 +1585,10 @@ msgid ""
msgstr "%s: エラー - 環境変数 %s ãŒå­˜åœ¨ã—ãªã„宛先 \"%s\" を指ã—ã¦ã„ã¾ã™ã€‚"
#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
msgid "%s: Error - bad job ID."
msgstr "%s: エラー - ä¸æ­£ãªã‚¸ãƒ§ãƒ– ID ã§ã™ã€‚"
@@ -1549,6 +1744,14 @@ msgid "%s: Invalid filter string \"%s\"."
msgstr "%s: 無効ãªãƒ•ã‚£ãƒ«ã‚¿ãƒ¼æ–‡å­—列ã§ã™ \"%s\""
#, c-format
+msgid "%s: Missing timeout for \"-T\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Missing version for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
msgstr "%s: '-H restart' ã®å‰ã«ã¯ã‚¸ãƒ§ãƒ– ID ('-i ジョブID') ãŒå¿…è¦ã§ã™ã€‚"
@@ -1602,6 +1805,14 @@ msgid "%s: Unknown option \"%c\"."
msgstr "%s: '%c' ã¯æœªçŸ¥ã®ã‚ªãƒ—ションã§ã™ã€‚"
#, c-format
+msgid "%s: Unknown option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unknown option \"-%c\"."
+msgstr ""
+
+#, c-format
msgid "%s: Unknown source MIME type %s/%s."
msgstr "%s: %s/%s ã¯æœªçŸ¥ã®ã‚½ãƒ¼ã‚¹ MIME タイプã§ã™ã€‚"
@@ -2915,6 +3126,9 @@ msgstr "å°ç­’ æ´‹å½¢4å·"
msgid "Envelope You4 Long Edge"
msgstr "å°ç­’ æ´‹å½¢4å· é•·è¾ºé€ã‚Š"
+msgid "Environment Variables:"
+msgstr ""
+
msgid "Epson"
msgstr "Epson"
@@ -2966,6 +3180,9 @@ msgstr "予測ã«å¤±æ•—ã—ã¾ã—ãŸ"
msgid "Export Printers to Samba"
msgstr "Samba ã¸ãƒ—リンターをエクスãƒãƒ¼ãƒˆ"
+msgid "Expressions:"
+msgstr ""
+
msgid "FAIL"
msgstr "失敗"
@@ -3406,6 +3623,9 @@ msgstr ""
" プリンタードライãƒãƒ¼ = %s\n"
" デãƒã‚¤ã‚¹ ID = %s"
+msgid "Modifiers:"
+msgstr ""
+
msgid "Modify Class"
msgstr "クラスã®å¤‰æ›´"
@@ -3914,6 +4134,9 @@ msgstr "Stylus Photo シリーズ"
msgid "Subscription #%d does not exist."
msgstr "ã‚µãƒ–ã‚¹ã‚¯ãƒªãƒ—ã‚·ãƒ§ãƒ³ç•ªå· %d ã¯å­˜åœ¨ã—ã¾ã›ã‚“。"
+msgid "Substitutions:"
+msgstr ""
+
msgid "Super A"
msgstr "スーパー A"
@@ -4645,6 +4868,20 @@ msgstr ""
"使ã„æ–¹: cupstestppd [オプション] ファイルå1.ppd[.gz] [... ファイルåN.ppd[."
"gz]]"
+msgid ""
+"Usage: ippdiscover [options] -a\n"
+" ippdiscover [options] \"service name\"\n"
+"\n"
+"Options:"
+msgstr ""
+
+msgid ""
+"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
+" ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
+" ippfind --help\n"
+" ippfind --version"
+msgstr ""
+
msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
msgstr "使ã„æ–¹: ipptool [オプション] URI ファイルå [ ... ファイルåN ]"
@@ -4854,6 +5091,82 @@ msgstr "help\t\tコマンドã®ãƒ˜ãƒ«ãƒ—ã‚’å–得。"
msgid "idle"
msgstr "待機中"
+#, c-format
+msgid "ippfind: Bad regular expression: %s"
+msgstr ""
+
+msgid "ippfind: Cannot use --and after --or."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected key name after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected port range after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Missing close brace in substitution."
+msgstr ""
+
+msgid "ippfind: Missing close parenthesis."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--and\"."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--or\"."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing key name after %s."
+msgstr ""
+
+msgid "ippfind: Missing open parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing regular expression after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Out of memory."
+msgstr ""
+
+msgid "ippfind: Too many parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to browse or resolve: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to execute \"%s\": %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to use Bonjour: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unknown variable \"{%s}\"."
+msgstr ""
+
msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
msgstr "ipptool: \"-i\" 㨠\"-n\" 㯠\"-X\" ã¨çµ„ã¿åˆã‚ã›ã‚‰ã‚Œã¾ã›ã‚“。"
@@ -4861,10 +5174,6 @@ msgstr "ipptool: \"-i\" 㨠\"-n\" 㯠\"-X\" ã¨çµ„ã¿åˆã‚ã›ã‚‰ã‚Œã¾ã›ã‚“ã
msgid "ipptool: Bad URI - %s."
msgstr "ipptool: ä¸æ­£ãª URI ã§ã™ - %s。"
-#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
-msgstr "ipptool: \"-V\" オプションã«ä¸æ­£ãªãƒãƒ¼ã‚¸ãƒ§ãƒ³ %s ãŒæŒ‡å®šã•ã‚Œã¾ã—ãŸã€‚"
-
msgid "ipptool: Invalid seconds for \"-i\"."
msgstr "ipptool: \"-i\" ã«ä¸æ­£ãªç§’æ•°ãŒæŒ‡å®šã•ã‚Œã¾ã—ãŸã€‚"
@@ -4883,12 +5192,6 @@ msgstr "ipptool: \"-d\" ã« åå‰=値 ã®æŒ‡å®šãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "ipptool: Missing seconds for \"-i\"."
msgstr "ipptool: \"-i\" ã«ç§’æ•°ã®æŒ‡å®šãŒã‚ã‚Šã¾ã›ã‚“。"
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr "ipptool: \"-T\" ã«ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã®æŒ‡å®šãŒã‚ã‚Šã¾ã›ã‚“。"
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr "ipptool: \"-V\" ã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®æŒ‡å®šãŒã‚ã‚Šã¾ã›ã‚“。"
-
msgid "ipptool: URI required before test file."
msgstr "ipptool: テストファイルã®å‰ã« URI ã®æŒ‡å®šãŒå¿…è¦ã§ã™ã€‚"
@@ -5696,3 +5999,12 @@ msgstr "variable-bindings ã®é•·ã•ãŒä¸å®š"
#~ msgid "Unable to open compressed print file"
#~ msgstr "圧縮プリントファイルを開ã‘ã¾ã›ã‚“"
+
+#~ msgid "ipptool: Bad version %s for \"-V\"."
+#~ msgstr "ipptool: \"-V\" オプションã«ä¸æ­£ãªãƒãƒ¼ã‚¸ãƒ§ãƒ³ %s ãŒæŒ‡å®šã•ã‚Œã¾ã—ãŸã€‚"
+
+#~ msgid "ipptool: Missing timeout for \"-T\"."
+#~ msgstr "ipptool: \"-T\" ã«ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã®æŒ‡å®šãŒã‚ã‚Šã¾ã›ã‚“。"
+
+#~ msgid "ipptool: Missing version for \"-V\"."
+#~ msgstr "ipptool: \"-V\" ã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®æŒ‡å®šãŒã‚ã‚Šã¾ã›ã‚“。"
diff --git a/locale/cups_ru.po b/locale/cups_ru.po
index 53ae955c..34a30eb1 100644
--- a/locale/cups_ru.po
+++ b/locale/cups_ru.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2013-03-20 15:42-0400\n"
+"POT-Creation-Date: 2013-07-08 07:21-0400\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -761,6 +761,12 @@ msgstr ""
msgid " Warning: obsolete DSC version %.1f in file."
msgstr ""
+msgid " ! expression Unary NOT of expression."
+msgstr ""
+
+msgid " ( expressions ) Group expressions."
+msgstr ""
+
msgid " --[no-]debug-logging Turn debug logging on/off."
msgstr ""
@@ -782,9 +788,71 @@ msgstr ""
msgid " --crlf End lines with CR + LF (Windows)."
msgstr ""
+msgid " --domain regex Match domain to regular expression."
+msgstr ""
+
+msgid ""
+" --exec utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
+msgid " --false Always false."
+msgstr ""
+
+msgid " --help Show this help."
+msgstr ""
+
+msgid " --host regex Match hostname to regular expression."
+msgstr ""
+
msgid " --lf End lines with LF (UNIX/Linux/OS X)."
msgstr ""
+msgid " --local True if service is local."
+msgstr ""
+
+msgid " --ls List attributes."
+msgstr ""
+
+msgid " --name regex Match service name to regular expression."
+msgstr ""
+
+msgid " --not expression Unary NOT of expression."
+msgstr ""
+
+msgid " --path regex Match resource path to regular expression."
+msgstr ""
+
+msgid " --port number[-number] Match port to number or range."
+msgstr ""
+
+msgid " --print Print URI if true."
+msgstr ""
+
+msgid " --print-name Print service name if true."
+msgstr ""
+
+msgid " --quiet Quietly report match via exit code."
+msgstr ""
+
+msgid " --remote True if service is remote."
+msgstr ""
+
+msgid " --true Always true."
+msgstr ""
+
+msgid " --txt key True if the TXT record contains the key."
+msgstr ""
+
+msgid " --txt-* regex Match TXT record key to regular expression."
+msgstr ""
+
+msgid " --uri regex Match URI to regular expression."
+msgstr ""
+
+msgid " --version Show program version."
+msgstr ""
+
msgid " -4 Connect using IPv4."
msgstr ""
@@ -828,12 +896,18 @@ msgstr ""
msgid " -P filename.ppd Set PPD file."
msgstr ""
+msgid " -P number[-number] Match port to number or range."
+msgstr ""
+
msgid " -R root-directory Set alternate root."
msgstr ""
msgid " -S Test with SSL encryption."
msgstr ""
+msgid " -T seconds Set the browse timeout in seconds."
+msgstr ""
+
msgid " -T seconds Set the receive/send timeout in seconds."
msgstr ""
@@ -851,6 +925,9 @@ msgstr ""
msgid " -X Produce XML plist instead of plain text."
msgstr ""
+msgid " -a Browse for all services."
+msgstr ""
+
msgid " -a Export all printers."
msgstr ""
@@ -860,6 +937,9 @@ msgstr ""
msgid " -c cupsd.conf Set cupsd.conf file to use."
msgstr ""
+msgid " -d domain Browse/resolve in specified domain."
+msgstr ""
+
msgid " -d name=value Set named variable to value."
msgstr ""
@@ -869,6 +949,9 @@ msgstr ""
msgid " -d printer Use the named printer."
msgstr ""
+msgid " -d regex Match domain to regular expression."
+msgstr ""
+
msgid " -e Use every filter from the PPD file."
msgstr ""
@@ -881,6 +964,9 @@ msgstr ""
msgid " -h Show this usage message."
msgstr ""
+msgid " -h regex Match hostname to regular expression."
+msgstr ""
+
msgid " -h server[:port] Specify server address."
msgstr ""
@@ -896,6 +982,9 @@ msgid ""
"file 1)."
msgstr ""
+msgid " -l List attributes."
+msgstr ""
+
msgid " -l Run cupsd from launchd(8)."
msgstr ""
@@ -916,6 +1005,9 @@ msgid ""
" -n count Repeat the last file the given number of times."
msgstr ""
+msgid " -n regex Match service name to regular expression."
+msgstr ""
+
msgid ""
" -o filename.drv Set driver information file (otherwise ppdi.drv)."
msgstr ""
@@ -926,15 +1018,30 @@ msgstr ""
msgid " -o name=value Set option(s)."
msgstr ""
+msgid " -p Print URI if true."
+msgstr ""
+
msgid " -p filename.ppd Set PPD file."
msgstr ""
+msgid " -p program Run specified program for each service."
+msgstr ""
+
+msgid " -q Quietly report match via exit code."
+msgstr ""
+
msgid " -q Run silently."
msgstr ""
+msgid " -r True if service is remote."
+msgstr ""
+
msgid " -r Use 'relaxed' open mode."
msgstr ""
+msgid " -s Print service name if true."
+msgstr ""
+
msgid " -t Produce a test report."
msgstr ""
@@ -944,21 +1051,101 @@ msgstr ""
msgid " -t Test the configuration file."
msgstr ""
+msgid " -t key True if the TXT record contains the key."
+msgstr ""
+
msgid " -t title Set title."
msgstr ""
+msgid " -t type Browse/resolve with specified type."
+msgstr ""
+
msgid " -u Remove the PPD file when finished."
msgstr ""
+msgid " -u regex Match URI to regular expression."
+msgstr ""
+
msgid " -v Be verbose."
msgstr ""
msgid " -vv Be very verbose."
msgstr ""
+msgid ""
+" -x utility [argument ...] ;\n"
+" Execute program if true."
+msgstr ""
+
msgid " -z Compress PPD files using GNU zip."
msgstr ""
+msgid " IPPFIND_SERVICE_DOMAIN Domain name"
+msgstr ""
+
+msgid ""
+" IPPFIND_SERVICE_HOSTNAME\n"
+" Fully-qualified domain name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_NAME Service instance name"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_PORT Port number"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_REGTYPE DNS-SD registration type"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_SCHEME URI scheme"
+msgstr ""
+
+msgid " IPPFIND_SERVICE_URI URI"
+msgstr ""
+
+msgid " IPPFIND_TXT_* Value of TXT record key"
+msgstr ""
+
+msgid ""
+" expression --and expression\n"
+" Logical AND."
+msgstr ""
+
+msgid ""
+" expression --or expression\n"
+" Logical OR."
+msgstr ""
+
+msgid " expression expression Logical AND."
+msgstr ""
+
+msgid " {service_domain} Domain name"
+msgstr ""
+
+msgid " {service_hostname} Fully-qualified domain name"
+msgstr ""
+
+msgid " {service_name} Service instance name"
+msgstr ""
+
+msgid " {service_port} Port number"
+msgstr ""
+
+msgid " {service_regtype} DNS-SD registration type"
+msgstr ""
+
+msgid " {service_scheme} URI scheme"
+msgstr ""
+
+msgid " {service_uri} URI"
+msgstr ""
+
+msgid " {txt_*} Value of TXT record key"
+msgstr ""
+
+msgid " {} URI"
+msgstr ""
+
msgid " FAIL"
msgstr ""
@@ -1194,6 +1381,10 @@ msgid "%s: %s failed: %s"
msgstr ""
#, c-format
+msgid "%s: Bad version %s for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Don't know what to do."
msgstr ""
@@ -1203,6 +1394,10 @@ msgid ""
msgstr ""
#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr ""
+
+#, c-format
msgid "%s: Error - bad job ID."
msgstr ""
@@ -1353,6 +1548,14 @@ msgid "%s: Invalid filter string \"%s\"."
msgstr ""
#, c-format
+msgid "%s: Missing timeout for \"-T\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Missing version for \"-V\"."
+msgstr ""
+
+#, c-format
msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
msgstr ""
@@ -1405,6 +1608,14 @@ msgid "%s: Unknown option \"%c\"."
msgstr ""
#, c-format
+msgid "%s: Unknown option \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "%s: Unknown option \"-%c\"."
+msgstr ""
+
+#, c-format
msgid "%s: Unknown source MIME type %s/%s."
msgstr ""
@@ -2702,6 +2913,9 @@ msgstr ""
msgid "Envelope You4 Long Edge"
msgstr ""
+msgid "Environment Variables:"
+msgstr ""
+
msgid "Epson"
msgstr "Epson"
@@ -2753,6 +2967,9 @@ msgstr "Сбой ожиданиÑ"
msgid "Export Printers to Samba"
msgstr "ЭкÑпортировать принтеры в Samba"
+msgid "Expressions:"
+msgstr ""
+
msgid "FAIL"
msgstr ""
@@ -3185,6 +3402,9 @@ msgid ""
" device-id = %s"
msgstr ""
+msgid "Modifiers:"
+msgstr ""
+
msgid "Modify Class"
msgstr "Изменить клаÑÑ"
@@ -3689,6 +3909,9 @@ msgstr "Ð¡ÐµÑ€Ð¸Ñ Stylus Photo"
msgid "Subscription #%d does not exist."
msgstr ""
+msgid "Substitutions:"
+msgstr ""
+
msgid "Super A"
msgstr "Super A"
@@ -4393,6 +4616,20 @@ msgid ""
"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
msgstr ""
+msgid ""
+"Usage: ippdiscover [options] -a\n"
+" ippdiscover [options] \"service name\"\n"
+"\n"
+"Options:"
+msgstr ""
+
+msgid ""
+"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
+" ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
+" ippfind --help\n"
+" ippfind --version"
+msgstr ""
+
msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
msgstr ""
@@ -4588,15 +4825,87 @@ msgstr ""
msgid "idle"
msgstr "Ñвободен"
-msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
+#, c-format
+msgid "ippfind: Bad regular expression: %s"
+msgstr ""
+
+msgid "ippfind: Cannot use --and after --or."
msgstr ""
#, c-format
-msgid "ipptool: Bad URI - %s."
+msgid "ippfind: Expected key name after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected port range after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Expected semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Missing close brace in substitution."
+msgstr ""
+
+msgid "ippfind: Missing close parenthesis."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--and\"."
+msgstr ""
+
+msgid "ippfind: Missing expression before \"--or\"."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing key name after %s."
+msgstr ""
+
+msgid "ippfind: Missing open parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing program after %s."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Missing regular expression after %s."
msgstr ""
#, c-format
-msgid "ipptool: Bad version %s for \"-V\"."
+msgid "ippfind: Missing semi-colon after %s."
+msgstr ""
+
+msgid "ippfind: Out of memory."
+msgstr ""
+
+msgid "ippfind: Too many parenthesis."
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to browse or resolve: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to execute \"%s\": %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unable to use Bonjour: %s"
+msgstr ""
+
+#, c-format
+msgid "ippfind: Unknown variable \"{%s}\"."
+msgstr ""
+
+msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
+msgstr ""
+
+#, c-format
+msgid "ipptool: Bad URI - %s."
msgstr ""
msgid "ipptool: Invalid seconds for \"-i\"."
@@ -4617,12 +4926,6 @@ msgstr ""
msgid "ipptool: Missing seconds for \"-i\"."
msgstr ""
-msgid "ipptool: Missing timeout for \"-T\"."
-msgstr ""
-
-msgid "ipptool: Missing version for \"-V\"."
-msgstr ""
-
msgid "ipptool: URI required before test file."
msgstr ""
diff --git a/locale/po2strings.c b/locale/po2strings.c
index a9182679..49fba46b 100644
--- a/locale/po2strings.c
+++ b/locale/po2strings.c
@@ -1,5 +1,5 @@
/*
- * "$Id: po2strings.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: po2strings.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Convert a GNU gettext .po file to an Apple .strings file.
*
@@ -292,5 +292,5 @@ main(int argc, /* I - Number of command-line args */
/*
- * End of "$Id: po2strings.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: po2strings.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/locale/strings2po.c b/locale/strings2po.c
index 52eeeeff..48989323 100644
--- a/locale/strings2po.c
+++ b/locale/strings2po.c
@@ -1,5 +1,5 @@
/*
- * "$Id: strings2po.c 7720 2008-07-11 22:46:21Z mike $"
+ * "$Id: strings2po.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Convert Apple .strings file (UTF-16 BE text file) to GNU gettext .po files.
*
@@ -171,5 +171,5 @@ write_po(FILE *po, /* I - .po file */
/*
- * End of "$Id: strings2po.c 7720 2008-07-11 22:46:21Z mike $".
+ * End of "$Id: strings2po.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/locale/translate.c b/locale/translate.c
index 2352ebe7..9523da9d 100644
--- a/locale/translate.c
+++ b/locale/translate.c
@@ -1,5 +1,5 @@
/*
- * "$Id: translate.c 9048 2010-03-24 08:07:15Z mike $"
+ * "$Id: translate.c 10996 2013-05-29 11:51:34Z msweet $"
*
* HTTP-based translation program for CUPS.
*
@@ -435,5 +435,5 @@ write_string(cups_file_t *fp, /* I - File to write to */
/*
- * End of "$Id: translate.c 9048 2010-03-24 08:07:15Z mike $".
+ * End of "$Id: translate.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/man/Makefile b/man/Makefile
index 960dde09..6074d0c3 100644
--- a/man/Makefile
+++ b/man/Makefile
@@ -1,9 +1,9 @@
#
-# "$Id: Makefile 10709 2012-11-26 18:25:58Z mike $"
+# "$Id: Makefile 11024 2013-06-06 23:11:13Z msweet $"
#
# Man page makefile for CUPS.
#
-# Copyright 2007-2012 by Apple Inc.
+# Copyright 2007-2013 by Apple Inc.
# Copyright 1993-2006 by Easy Software Products.
#
# These coded instructions, statements, and computer programs are the
@@ -24,6 +24,7 @@ MAN1 = cancel.$(MAN1EXT) \
cups-config.$(MAN1EXT) \
cupstestdsc.$(MAN1EXT) \
cupstestppd.$(MAN1EXT) \
+ $(IPPFIND_MAN) \
ipptool.$(MAN1EXT) \
lp.$(MAN1EXT) \
lpoptions.$(MAN1EXT) \
@@ -96,22 +97,6 @@ unittests:
clean:
$(RM) mantohtml mantohtml.o
$(RM) $(MAN1) $(MAN5) $(MAN7) $(MAN8)
- for file in $(MAN1); do \
- if test $$file != ipptool.$(MAN1EXT); then \
- $(RM) ../doc/help/man-`basename $$file .$(MAN1EXT)`.html; \
- fi \
- done
- for file in $(MAN5); do \
- if test $$file != ipptoolfile.$(MAN5EXT); then \
- $(RM) ../doc/help/man-`basename $$file .$(MAN5EXT)`.html; \
- fi \
- done
- for file in $(MAN7); do \
- $(RM) ../doc/help/man-`basename $$file .$(MAN7EXT)`.html; \
- done
- for file in $(MAN8); do \
- $(RM) ../doc/help/man-`basename $$file .$(MAN8EXT)`.html; \
- done
#
@@ -237,5 +222,5 @@ mantohtml: mantohtml.o
#
-# End of "$Id: Makefile 10709 2012-11-26 18:25:58Z mike $".
+# End of "$Id: Makefile 11024 2013-06-06 23:11:13Z msweet $".
#
diff --git a/man/backend.man b/man/backend.man
index d5ac8cd9..a5fca5c0 100644
--- a/man/backend.man
+++ b/man/backend.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: backend.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: backend.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" Backend man page for CUPS.
.\"
@@ -168,5 +168,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: backend.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: backend.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/cancel.man b/man/cancel.man
index 38249735..17380fa0 100644
--- a/man/cancel.man
+++ b/man/cancel.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cancel.man 10831 2013-01-21 14:25:46Z mike $"
+.\" "$Id: cancel.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" cancel man page for CUPS.
.\"
@@ -75,5 +75,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cancel.man 10831 2013-01-21 14:25:46Z mike $".
+.\" End of "$Id: cancel.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/classes.conf.man b/man/classes.conf.man
index 0e28edab..2e93fc8f 100644
--- a/man/classes.conf.man
+++ b/man/classes.conf.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: classes.conf.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: classes.conf.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" classes.conf man page for CUPS.
.\"
@@ -106,5 +106,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: classes.conf.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: classes.conf.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/client.conf.man.in b/man/client.conf.man.in
index 9fbdb444..fd523698 100644
--- a/man/client.conf.man.in
+++ b/man/client.conf.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: client.conf.man.in 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: client.conf.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" client.conf man page for CUPS.
.\"
@@ -12,12 +12,12 @@
.\" 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/".
.\"
-.TH client.conf 5 "CUPS" "23 April 2012" "Apple Inc."
+.TH client.conf 5 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
client.conf \- client configuration file for cups
.SH DESCRIPTION
The \fIclient.conf\fR file configures the CUPS client and is
-normally located in the \fI@CUPS_SERVERROOT@\fR or \fI~/.cups\fR
+normally located in the \fI/etc/cups\fR or \fI~/.cups\fR
directory. Each line in the file can be a configuration
directive, a blank line, or a comment. Comment lines start with
the # character.
@@ -38,7 +38,7 @@ GSSServiceName name
Specifies the Kerberos service name that is used for authentication, typically
"host", "http", or "ipp". CUPS adds the remote hostname
("name@server.example.com") for you. The default name is
-"@CUPS_DEFAULT_GSSSERVICENAME@".
+"http".
.TP 5
ServerName hostname-or-ip-address[:port]
.TP 5
@@ -47,6 +47,12 @@ ServerName /domain/socket
Specifies the address and optionally the port to use when connecting to the
server. \fBNote: Not supported on OS X 10.7 or later.\fR
.TP 5
+ServerName hostname-or-ip-address[:port]/version=1.1
+.br
+Specifies the address and optionally the port to use when connecting to a
+server running CUPS 1.3.12 and earlier. \fBNote: Not supported on OS X 10.7 or
+later.\fR
+.TP 5
User name
.br
Specifies the default user name to use for requests.
@@ -55,5 +61,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: client.conf.man.in 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: client.conf.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/cups-config.man b/man/cups-config.man
index 8118675b..b75527db 100644
--- a/man/cups-config.man
+++ b/man/cups-config.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cups-config.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cups-config.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" cups-config man page for CUPS.
.\"
@@ -113,5 +113,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cups-config.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cups-config.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/cups-deviced.man.in b/man/cups-deviced.man.in
index 252b1687..1c75f68b 100644
--- a/man/cups-deviced.man.in
+++ b/man/cups-deviced.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cups-deviced.man.in 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cups-deviced.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" cups-deviced man page for CUPS.
.\"
@@ -12,7 +12,7 @@
.\" 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/".
.\"
-.TH cups-deviced 8 "CUPS" "16 June 2008" "Apple Inc."
+.TH cups-deviced 8 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
cups-deviced \- cups device daemon
.SH SYNOPSIS
@@ -20,8 +20,8 @@ cups-deviced \- cups device daemon
.I request-id limit user-id options
.SH DESCRIPTION
\fIcups-deviced\fR polls the backends in
-\fI@CUPS_SERVERBIN@/backend\fR for a list of available devices.
-It is run by \fIcupsd(8)\fR in response to a
+\fI/usr/lib/cups/backend\fR or \fI/usr/libexec/cups/backend\fR (OS X) for a
+list of available devices. It is run by \fIcupsd(8)\fR in response to a
\fICUPS-Get-Devices\fR request. The output format is an IPP
response message. The \fIrequest-id\fR argument is the request ID
from the original IPP request, typically 1. The \fIlimit\fR
@@ -40,5 +40,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cups-deviced.man.in 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cups-deviced.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/cups-driverd.man.in b/man/cups-driverd.man.in
index 8124a093..a3dd8d0e 100644
--- a/man/cups-driverd.man.in
+++ b/man/cups-driverd.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cups-driverd.man.in 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cups-driverd.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" cups-driverd man page for CUPS.
.\"
@@ -12,7 +12,7 @@
.\" 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/".
.\"
-.TH cups-driverd 8 "CUPS" "6 January 2011" "Apple Inc."
+.TH cups-driverd 8 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
cups-driverd \- cups driver daemon
.SH SYNOPSIS
@@ -42,10 +42,10 @@ is a space-delimited list of attributes ("name=value name=value
accordingly.
.SH DRIVERS
Drivers can be static PPD files under the
-\fI@CUPS_DATADIR@/model\fR directory or programs under the
-\fI@CUPS_SERVERBIN@/driver\fR directory. Static PPD files must
-conform to the Adobe PPD File Format Specification version 4.3
-and may be compressed using the \fIgzip(1)\fR program. Driver
+\fI/usr/share/cups/model\fR directory or programs under the
+\fI/usr/lib/cups/driver\fR or \fI/usr/libexec/cups/driver\fR (OS X) directories.
+Static PPD files must conform to the Adobe PPD File Format Specification version
+4.3 and may be compressed using the \fIgzip(1)\fR program. Driver
programs must implement the command-line interface shown in the
next section.
.SS DRIVER PROGRAMS
@@ -118,5 +118,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cups-driverd.man.in 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cups-driverd.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/cups-files.conf.man.in b/man/cups-files.conf.man.in
index 2609821a..1c511c9f 100644
--- a/man/cups-files.conf.man.in
+++ b/man/cups-files.conf.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cups-files.conf.man.in 10817 2013-01-16 17:41:13Z mike $"
+.\" "$Id: cups-files.conf.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" cupsd.conf man page for CUPS.
.\"
@@ -12,13 +12,13 @@
.\" 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/".
.\"
-.TH cups-files.conf 5 "CUPS" "19 November 2012" "Apple Inc."
+.TH cups-files.conf 5 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
cups-files.conf \- file and directory configuration file for cups
.SH DESCRIPTION
The \fIcups-files.conf\fR file configures the files and directories used by the
CUPS scheduler, \fIcupsd(8)\fR. It is normally located in the
-\fI@CUPS_SERVERROOT@\fR directory.
+\fI/etc/cups\fR directory.
.LP
Each line in the file can be a configuration directive, a blank line,
or a comment. Comment lines start with the # character.
@@ -142,5 +142,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cups-files.conf.man.in 10817 2013-01-16 17:41:13Z mike $".
+.\" End of "$Id: cups-files.conf.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/cups-lpd.man.in b/man/cups-lpd.man.in
index 09969285..d1cb6178 100644
--- a/man/cups-lpd.man.in
+++ b/man/cups-lpd.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cups-lpd.man.in 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cups-lpd.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" cups-lpd man page for CUPS.
.\"
@@ -12,7 +12,7 @@
.\" 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/".
.\"
-.TH cups-lpd 8 "CUPS" "4 August 2008" "Apple Inc."
+.TH cups-lpd 8 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
cups-lpd \- receive print jobs and report printer status to lpd clients
.SH SYNOPSIS
@@ -33,7 +33,7 @@ add the following line to the \fIinetd.conf\fR file to enable the
.br
.nf
- printer stream tcp nowait lp @CUPS_SERVERBIN@/daemon/cups-lpd cups-lpd \\
+ printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd \\
-o document-format=application/octet-stream
.fi
.LP
@@ -55,7 +55,7 @@ named \fI/etc/xinetd.d/cups\fR containing the following lines:
user = lp
group = sys
passenv =
- server = @CUPS_SERVERBIN@/daemon/cups-lpd
+ server = /usr/lib/cups/daemon/cups-lpd
server_args = -o document-format=application/octet-stream
}
.fi
@@ -120,5 +120,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cups-lpd.man.in 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cups-lpd.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/cups-snmp.conf.man b/man/cups-snmp.conf.man
index cdc2a411..261704fd 100644
--- a/man/cups-snmp.conf.man
+++ b/man/cups-snmp.conf.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cups-snmp.conf.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cups-snmp.conf.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" snmp.conf man page for CUPS.
.\"
@@ -74,5 +74,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cups-snmp.conf.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cups-snmp.conf.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/cups-snmp.man.in b/man/cups-snmp.man.in
index 964ee4ee..03ab2e07 100644
--- a/man/cups-snmp.man.in
+++ b/man/cups-snmp.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cups-snmp.man.in 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cups-snmp.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" SNMP backend man page for CUPS.
.\"
@@ -11,11 +11,14 @@
.\" 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/".
.\"
-.TH cups-snmp 8 "CUPS" "23 April 2012" "Apple Inc."
+.TH cups-snmp 8 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
snmp \- cups snmp backend
.SH SYNOPSIS
-.B @CUPS_SERVERBIN@/backend/snmp
+.B /usr/lib/cups/backend/snmp
+.I ip-address-or-hostname
+.br
+.B /usr/libexec/cups/backend/snmp
.I ip-address-or-hostname
.br
.B lpinfo -v --include-schemes snmp
@@ -41,7 +44,7 @@ The CUPS SNMP backend uses the information from the Host, Printer, and Port
Monitor MIBs along with some vendor private MIBs and intelligent port probes to
determine the correct device URI and make and model for each printer.
.SH CONFIGURATION
-The SNMP backend reads the @CUPS_SERVERROOT@/snmp.conf configuration file, if
+The SNMP backend reads the /etc/cups/snmp.conf configuration file, if
present, to set the default broadcast address, community name, and logging
level. The configuration file is documented in \fIcups-snmp.conf(5)\fR. The
DebugLevel value can be overridden using the CUPS_DEBUG_LEVEL environment
@@ -55,5 +58,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cups-snmp.man.in 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cups-snmp.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/cupsaccept.man b/man/cupsaccept.man
index 4434f223..35f2cbfd 100644
--- a/man/cupsaccept.man
+++ b/man/cupsaccept.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cupsaccept.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cupsaccept.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" accept/reject man page for CUPS.
.\"
@@ -75,5 +75,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cupsaccept.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cupsaccept.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/cupsaddsmb.man.in b/man/cupsaddsmb.man.in
index 84a89a4f..a4d66243 100644
--- a/man/cupsaddsmb.man.in
+++ b/man/cupsaddsmb.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cupsaddsmb.man.in 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cupsaddsmb.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" cupsaddsmb man page for CUPS.
.\"
@@ -12,7 +12,7 @@
.\" 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/".
.\"
-.TH cupsaddsmb 8 "CUPS" "25 July 2007" "Apple Inc."
+.TH cupsaddsmb 8 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
cupsaddsmb \- export printers to samba for windows clients
@@ -115,17 +115,14 @@ drivers and
%WINDIR%\\SYSTEM32\\SPOOL\\DRIVERS\\X64\\3 folder for 64-bit
drivers.
.LP
-The CUPS printer driver is preferred over the Microsoft driver
-since it supports the page-label, job-billing, and
-job-hold-until options fully on all printers. However, currently
-only Windows 2000 and higher is supported by the Microsoft
+However, currently only Windows 2000 and higher is supported by the Microsoft
driver, so you will also need to get the Adobe driver to support
Windows 95, 98, and Me clients. The Adobe and Microsoft drivers
for Windows 2000 are identical.
.LP
Once you have extracted the driver files, copy the 32-bit drivers
-to the \fI@CUPS_DATADIR@/drivers\fR directory and the 64-bit
-drivers to the \fI@CUPS_DATADIR@/drivers/x64\fR directory exactly
+to the \fI/usr/share/cups/drivers\fR directory and the 64-bit
+drivers to the \fI/usr/share/cups/drivers/x64\fR directory exactly
as named below:
.nf
@@ -140,39 +137,6 @@ as named below:
you use the lowercase filenames shown above, otherwise
\fIcupsaddsmb\fR will fail to export the drivers.
-.SH CUPS POSTSCRIPT DRIVERS FOR WINDOWS
-\fIcupsaddsmb\fR can use the CUPS v6 PostScript printer driver
-for Windows, which is available for download from the CUPS web
-site.
-.LP
-The CUPS printer driver is preferred over the Adobe and
-Microsoft drivers since it supports the page-label, job-billing,
-and job-hold-until options fully on all printers. However,
-currently only Windows 2000 and higher is supported by the CUPS
-driver, so you will also need to get the Adobe driver to support
-Windows 95, 98, and Me clients.
-.LP
-Once you have extracted the driver files, copy the 32-bit drivers
-to the \fI@CUPS_DATADIR@/drivers\fR directory and the 64-bit
-drivers to the \fI@CUPS_DATADIR@/drivers/x64\fR directory exactly
-as named below:
-.nf
-
- [Windows 2000 and higher]
- cups6.inf (from www.cups.org)
- cups6.ini (from www.cups.org)
- cupsps6.dll (from www.cups.org)
- cupsui6.dll (from www.cups.org)
- ps5ui.dll (from your Windows system)
- pscript.hlp (from your Windows system)
- pscript.ntf (from your Windows system)
- pscript5.dll (from your Windows system)
-.fi
-.LP
-\fBNote:\fR Unlike Windows, case is significant - make sure that
-you use the lowercase filenames shown above, otherwise
-\fIcupsaddsmb\fR will fail to export the drivers.
-
.SH ADOBE POSTSCRIPT DRIVERS FOR WINDOWS 95, 98, AND ME
\fIcupsaddsmb\fR can use the Adobe PostScript printer driver for
Windows 95, 98, and ME, which are available for download from the
@@ -210,5 +174,5 @@ http://www.cups.org/windows/
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cupsaddsmb.man.in 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cupsaddsmb.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/cupsctl.man b/man/cupsctl.man
index 546827f1..692d15a8 100644
--- a/man/cupsctl.man
+++ b/man/cupsctl.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cupsctl.man 10806 2013-01-11 21:50:03Z mike $"
+.\" "$Id: cupsctl.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" cupsctl man page for CUPS.
.\"
@@ -93,5 +93,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cupsctl.man 10806 2013-01-11 21:50:03Z mike $".
+.\" End of "$Id: cupsctl.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/cupsd.conf.man.in b/man/cupsd.conf.man.in
index 87467fb6..3435f393 100644
--- a/man/cupsd.conf.man.in
+++ b/man/cupsd.conf.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cupsd.conf.man.in 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cupsd.conf.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" cupsd.conf man page for CUPS.
.\"
@@ -12,12 +12,12 @@
.\" 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/".
.\"
-.TH cupsd.conf 5 "CUPS" "19 November 2012" "Apple Inc."
+.TH cupsd.conf 5 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
cupsd.conf \- server configuration file for cups
.SH DESCRIPTION
The \fIcupsd.conf\fR file configures the CUPS scheduler, \fIcupsd(8)\fR. It
-is normally located in the \fI@CUPS_SERVERROOT@\fR directory. \fBNote:\fR
+is normally located in the \fI/etc/cups\fR directory. \fBNote:\fR
File, directory, and user configuration directives that used to be allowed in
the \fIcupsd.conf\fR file are now stored in the \fIcups-files.conf(5)\fR instead
in order to prevent certain types of privilege escalation attacks.
@@ -192,7 +192,7 @@ are run to print a job.
GSSServiceName name
.br
Specifies the service name when using Kerberos authentication. The default
-service name is "@CUPS_DEFAULT_GSSSERVICENAME@".
+service name is "http".
.TP 5
HostNameLookups On
.TP 5
@@ -521,5 +521,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cupsd.conf.man.in 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cupsd.conf.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/cupsd.man.in b/man/cupsd.man.in
index 7d6befba..6193de6b 100644
--- a/man/cupsd.man.in
+++ b/man/cupsd.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cupsd.man.in 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cupsd.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" cupsd man page for CUPS.
.\"
@@ -12,7 +12,7 @@
.\" 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/".
.\"
-.TH cupsd 8 "CUPS" "9 March 2009" "Apple Inc."
+.TH cupsd 8 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
cupsd \- cups scheduler
.SH SYNOPSIS
@@ -24,7 +24,7 @@ cupsd \- cups scheduler
\fIcupsd\fR is the scheduler for CUPS. It implements a printing system based
upon the Internet Printing Protocol, version 2.1. If no options are specified
on the command-line then the default configuration file
-\fI@CUPS_SERVERROOT@/cupsd.conf\fR will be used.
+\fI/etc/cups/cupsd.conf\fR will be used.
.SH OPTIONS
.TP 5
-c config-file
@@ -68,5 +68,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cupsd.man.in 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cupsd.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/cupsenable.man b/man/cupsenable.man
index 05bd3926..00d23eb2 100644
--- a/man/cupsenable.man
+++ b/man/cupsenable.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cupsenable.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cupsenable.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" cupsenable/cupsdisable man page for CUPS.
.\"
@@ -89,5 +89,5 @@ http://localhost:631/help
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cupsenable.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cupsenable.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/cupsfilter.man b/man/cupsfilter.man
index c2abab00..e88d62be 100644
--- a/man/cupsfilter.man
+++ b/man/cupsfilter.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cupsfilter.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cupsfilter.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" cupsfilter man page for CUPS.
.\"
@@ -105,5 +105,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cupsfilter.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cupsfilter.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/cupstestdsc.man b/man/cupstestdsc.man
index 04dc8484..dfc255ac 100644
--- a/man/cupstestdsc.man
+++ b/man/cupstestdsc.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cupstestdsc.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cupstestdsc.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" cupstestdsc man page for CUPS.
.\"
@@ -46,5 +46,5 @@ Specification, Version 3.0.
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cupstestdsc.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cupstestdsc.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/cupstestppd.man b/man/cupstestppd.man
index ed354800..6f0eecea 100644
--- a/man/cupstestppd.man
+++ b/man/cupstestppd.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: cupstestppd.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: cupstestppd.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" cupstestppd man page for CUPS.
.\"
@@ -161,5 +161,5 @@ Adobe PostScript Printer Description File Format Specification, Version 4.3.
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: cupstestppd.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: cupstestppd.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/filter.man b/man/filter.man
index a2236b46..29239eac 100644
--- a/man/filter.man
+++ b/man/filter.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: filter.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: filter.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" filter man page for CUPS.
.\"
@@ -234,5 +234,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: filter.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: filter.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/ippfind.man b/man/ippfind.man
new file mode 100644
index 00000000..ec2b5ce5
--- /dev/null
+++ b/man/ippfind.man
@@ -0,0 +1,247 @@
+.\"
+.\" "$Id: ippfind.man 11027 2013-06-07 01:45:14Z msweet $"
+.\"
+.\" ippfind man page for CUPS.
+.\"
+.\" Copyright 2013 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/".
+.\"
+.TH ippfind 1 "CUPS" "6 June 2013" "Apple Inc."
+.SH NAME
+ippfind - find internet printing protocol printers
+.SH SYNOPSIS
+.B ippfind
+[
+.I options
+] regtype[,subtype][.domain.] ... [
+.I expression ...
+]
+.B ippfind
+[
+.I options
+] name[.regtype[.domain.]] ... [
+.I expression ...
+]
+.B ippfind
+--help
+.B ippfind
+--version
+.SH OPTIONS
+.TP 5
+--help
+Show program help
+.TP 5
+--version
+Show program version
+.TP 5
+-4
+Use IPv4 when listing
+.TP 5
+-6
+Use IPv6 when listing
+.TP 5
+-T seconds
+Specify find timeout in seconds. If 1 or less, \fIippfind\fR stops as soon as it thinks it has found everything. The default is 1 second.
+.TP 5
+-V version
+Specifies the IPP version when listing. Supported values are 1.1, 2.0, 2.1, and 2.2.
+
+.SH DESCRIPTION
+\fIippfind\fR finds services registered with a DNS server or available through local devices. Its primary purpose is to find IPP printers and show their URIs, show their current status, or run commands. For example, to show the status of all registered IPP printers on your network, run:
+.nf
+ ippfind --ls
+.fi
+Similarly, to send a PostScript test page to every PostScript printer, run:
+.nf
+ ippfind --txt-pdl application/postscript --exec ipptool \\
+ -f onepage-letter.ps '{}' print-job.test \\;
+.fi
+
+.SH REGISTRATION TYPES
+\fIippfind\fR supports the following registration types:
+.TP 5
+_http._tcp
+HyperText Transport Protocol (HTTP, RFC 2616)
+.TP 5
+_https._tcp
+Secure HyperText Transport Protocol (HTTPS, RFC 2818)
+.TP 5
+_ipp._tcp
+Internet Printing Protocol (IPP, RFC 2911)
+.TP 5
+_ipps._tcp
+Secure Internet Printing Protocol (IPPS, draft)
+.TP 5
+_printer._tcp
+Line Printer Daemon (LPD, RFC 1179)
+
+.SH EXPRESSIONS
+\fIippfind\fR supports expressions much like the \fIfind(1)\fR utility. However, unlike \fIfind\fR, \fIippfind\fR uses POSIX regular expressions instead of shell filename matching patterns. If --exec, -l, --ls, -p, --print, --print-name, -q, --quiet, -s, or -x is not specified, \fIippfind\fR adds --print to print the service URI of anything it finds. The following expressions are supported:
+.TP 5
+-d regex
+.TP 5
+--domain regex
+True if the domain matches the given regular expression.
+.TP 5
+--false
+Always false.
+.TP 5
+-h regex
+.TP 5
+--host regex
+True is the hostname matches the given regular expression.
+.TP 5
+-l
+.TP 5
+--ls
+Lists attributes returned by Get-Printer-Attributes for IPP printers and traditional \fIfind\fR "-ls" output for HTTP URLs. The result is true if the URI is accessible, false otherwise.
+.TP 5
+--local
+True if the service is local to this computer.
+.TP 5
+-n regex
+.TP 5
+--name regex
+True if the service instance name matches the given regular expression.
+.TP 5
+--path regex
+True if the URI resource path matches the given regular expression.
+.TP 5
+-P number[-number]
+.TP 5
+--port number[-number]
+True if the port matches the given number or range.
+.TP 5
+-p
+.TP 5
+--print
+Prints the URI if the result of previous expressions is true. The result is always true.
+.TP 5
+-q
+.TP 5
+--quiet
+Quiet mode - just returns the exit codes below.
+.TP 5
+-r
+.TP 5
+--remote
+True if the service is not local to this computer.
+.TP 5
+-s
+.TP 5
+--print-name
+Prints the service instance name if the result of previous expressions is true. The result is always true.
+.TP 5
+--true
+Always true.
+.TP 5
+-t key
+.TP 5
+--txt key
+True if the TXT record contains the named key.
+.TP 5
+--txt-\fIkey\fR regex
+True if the TXT record contains the named key and matches the given regular
+expression.
+.TP 5
+-u regex
+.TP 5
+--uri regex
+True if the URI matches the given regular expression.
+.TP 5
+-x utility [argument ...] ;
+.TP 5
+--exec utility [argument ...] ;
+Executes the specified program if the current result is true. "{foo}" arguments are replaced with the corresponding value - see SUBSTITUTIONS below.
+.PP
+Expressions may also contain modifiers:
+.TP 5
+( expression )
+Group the result of expressions.
+.TP 5
+! expression
+.TP 5
+--not expression
+Unary NOT of the expression.
+.TP 5
+expression expression
+.TP 5
+expression --and expression
+Logical AND of expressions.
+.TP 5
+expression --or expression
+Logical OR of expressions.
+
+.SH SUBSTITUTIONS
+The substitutions for "{foo}" in -e and --exec are:
+.TP 5
+{}
+URI
+.TP 5
+{service_domain}
+Domain name, e.g., "example.com.", "local.", etc.
+.TP 5
+{service_hostname}
+Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc.
+.TP 5
+{service_name}
+Service instance name, e.g., "My Fine Printer".
+.TP 5
+{service_port}
+Port number for server, typically 631 for IPP and 80 for HTTP.
+.TP 5
+{service_regtype}
+DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc.
+.TP 5
+{service_scheme}
+URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc.
+.TP 5
+{service_uri}
+URI for service, e.g., "ipp://printer.local./ipp/print", "http://printer.local./", etc.
+.TP 5
+{txt_\fIkey\fR}
+Value of TXT record \fIkey\fR (lowercase).
+
+.SH ENVIRONMENT VARIABLES
+When executing a program, \fIippfind\fR sets the following environment variables for the matching service registration:
+.TP 5
+IPPFIND_SERVICE_DOMAIN
+Domain name, e.g., "example.com.", "local.", etc.
+.TP 5
+IPPFIND_SERVICE_HOSTNAME
+Fully-qualified domain name, e.g., "printer.example.com.", "printer.local.", etc.
+.TP 5
+IPPFIND_SERVICE_NAME
+Service instance name, e.g., "My Fine Printer".
+.TP 5
+IPPFIND_SERVICE_PORT
+Port number for server, typically 631 for IPP and 80 for HTTP.
+.TP 5
+IPPFIND_SERVICE_REGTYPE
+DNS-SD registration type, e.g., "_ipp._tcp", "_http._tcp", etc.
+.TP 5
+IPPFIND_SERVICE_SCHEME
+URI scheme for DNS-SD registration type, e.g., "ipp", "http", etc.
+.TP 5
+IPPFIND_SERVICE_URI
+URI for service, e.g., "ipp://printer.local./ipp/print", "http://printer.local./", etc.
+.TP 5
+IPPFIND_TXT_\fIKEY\fR
+Values of TXT record \fIKEY\fR (uppercase).
+
+.SH EXIT CODES
+\fIippfind\fR returns 0 if the result for all processed expressions is true, 1 if the result of any processed expression is false, 2 if browsing or any query or resolution failed, 3 if an undefined option or invalid expression was specified, and 4 if it ran out of memory.
+
+.SH SEE ALSO
+\fIipptool(1)\fR
+
+.SH COPYRIGHT
+Copyright 2013 by Apple Inc.
+.\"
+.\" End of "$Id: ippfind.man 11027 2013-06-07 01:45:14Z msweet $".
+.\"
diff --git a/man/ipptool.man b/man/ipptool.man
index 1137f477..240c0445 100644
--- a/man/ipptool.man
+++ b/man/ipptool.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: ipptool.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: ipptool.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" ipptool man page for CUPS.
.\"
@@ -11,11 +11,12 @@
.\" 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/".
.\"
-.TH ipptool 1 "CUPS" "9 November 2010" "Apple Inc."
+.TH ipptool 1 "CUPS" "13 May 2013" "Apple Inc."
.SH NAME
ipptool - perform internet printing protocol requests
.SH SYNOPSIS
.B ipptool
+[ --help ] [ --stop-after-include-error ] [ --version ]
[ -4 ] [ -6 ] [ -C ] [ -E ] [ -I ] [ -L ] [ -S ] [ -T
.I seconds
] [ -V
@@ -39,6 +40,13 @@ ipptool - perform internet printing protocol requests
.SH OPTIONS
The following options are recognized by \fIipptool\fR:
.TP 5
+--help
+Shows program help.
+--stop-after-include-error
+Tells \fIipptool\fR to stop if an error occurs in an included file. Normally \fIipptool\fR will continue with subsequent tests after the INCLUDE directive.
+--version
+Shows the version of \fIipptool\fR being used.
+.TP 5
-4
Specifies that \fIipptool\fR must connect to the printer or server using IPv4.
.TP 5
@@ -92,6 +100,8 @@ Specifies that CUPS test report output is desired instead of the plain text outp
.TP 5
-v
Specifies that all request and response attributes should be output in CUPS test mode (\fI-t\fR). This is the default for XML output.
+.SH EXIT CODE
+The \fIipptool\fR program returns 0 if all tests were sucessful and 1 otherwise.
.SH COMPATIBILITY
The \fIipptool\fR program is unique to CUPS.
.SH EXAMPLES
@@ -116,21 +126,28 @@ The following standard files are available:
document-letter.ps
get-completed-jobs.test
get-jobs.test
+ get-notifications.test
get-printer-attributes.test
+ get-subscriptions.test
gray.jpg
ipp-1.1.test
ipp-2.0.test
ipp-2.1.test
ipp-2.2.test
+ ipp-everywhere.test
onepage-a4.pdf
onepage-a4.ps
onepage-letter.pdf
onepage-letter.ps
print-job.test
+ print-job-deflate.test
+ print-job-gzip.test
testfile.jpg
+ testfile.pcl
testfile.pdf
testfile.ps
testfile.txt
+ validate-job.test
.fi
.SH SEE ALSO
\fIipptoolfile(5)\fR,
@@ -139,5 +156,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: ipptool.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: ipptool.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/ipptoolfile.man b/man/ipptoolfile.man
index 58892f6f..ed71842d 100644
--- a/man/ipptoolfile.man
+++ b/man/ipptoolfile.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: ipptoolfile.man 10788 2013-01-10 16:51:07Z mike $"
+.\" "$Id: ipptoolfile.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" ipptoolfile man page for CUPS.
.\"
@@ -11,7 +11,7 @@
.\" 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/".
.\"
-.TH ipptoolfile 5 "CUPS" "10 January 2013" "Apple Inc."
+.TH ipptoolfile 5 "CUPS" "13 May 2013" "Apple Inc."
.SH NAME
ipptoolfile \- ipptool file format
@@ -78,6 +78,9 @@ DEFINE-DEFAULT variable-name value
Defines the named variable to the given value if it does not already have a
value.
.TP 5
+FILE-ID "identifier"
+Specifies an identifier string for the current file.
+.TP 5
IGNORE-ERRORS yes
.TP 5
IGNORE-ERRORS no
@@ -111,6 +114,11 @@ SKIP-IF-NOT-DEFINED variable-name
Specifies that the remainder of the test file should be skipped when the
variable is or is not defined.
.TP 5
+STOP-AFTER-INCLUDE-ERROR no
+.TP 5
+STOP-AFTER-INCLUDE-ERROR yes
+Specifies whether tests will be stopped after an error in an included file.
+.TP 5
TRANSFER auto
Specifies that tests will, by default, use "Transfer-Encoding: chunked" for
requests with attached files and "Content-Length:" for requests without attached
@@ -222,6 +230,9 @@ Specifies an expected response status-code value. Additional requirements can be
added as predicates - see the "STATUS PREDICATES" section for more information
on predicates.
.TP 5
+TEST-ID "identifier"
+Specifies an identifier string for the current test.
+.TP 5
TRANSFER auto
Specifies that this test will use "Transfer-Encoding: chunked" if it has an
attached file or "Content-Length:" otherwise.
@@ -289,6 +300,21 @@ SAME-COUNT-AS attribute-name
Requires the EXPECT attribute to have the same number of values as the specified
parallel attribute.
.TP 5
+WITH-ALL-HOSTNAMES "literal string"
+.TP 5
+WITH-ALL-HOSTNAMES "/regular expression/"
+Requires that all URI values contain a matching hostname.
+.TP 5
+WITH-ALL-RESOURCES "literal string"
+.TP 5
+WITH-ALL-RESOURCES "/regular expression/"
+Requires that all URI values contain a matching resource (including leading /).
+.TP 5
+WITH-ALL-SCHEMES "literal string"
+.TP 5
+WITH-ALL-SCHEMES "/regular expression/"
+Requires that all URI values contain a matching scheme.
+.TP 5
WITH-ALL-VALUES "literal string"
Requires that all values of the EXPECT attribute match the literal string. Comparisons are case-sensitive.
.TP 5
@@ -309,6 +335,21 @@ Requires that all values of the EXPECT attribute match the boolean value given.
WITH-ALL-VALUES "/regular expression/"
Requires that all values of the EXPECT attribute match the regular expression, which must conform to the POSIX regular expression syntax. Comparisons are case-sensitive.
.TP 5
+WITH-HOSTNAME "literal string"
+.TP 5
+WITH-HOSTNAME "/regular expression/"
+Requires that at least one URI value contains a matching hostname.
+.TP 5
+WITH-RESOURCE "literal string"
+.TP 5
+WITH-RESOURCE "/regular expression/"
+Requires that at least one URI value contains a matching resource (including leading /).
+.TP 5
+WITH-SCHEME "literal string"
+.TP 5
+WITH-SCHEME "/regular expression/"
+Requires that at least one URI value contains a matching scheme.
+.TP 5
WITH-VALUE "literal string"
Requires that at least one value of the EXPECT attribute matches the literal string. Comparisons are case-sensitive.
.TP 5
@@ -415,6 +456,7 @@ RFC 2911 and other IPP extension specifications. Here is a complete list:
Resume-Printer
Schedule-Job-After
Send-Document
+ Send-Hardcopy-Document
Send-Notifications
Send-URI
Set-Job-Attributes
@@ -579,5 +621,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: ipptoolfile.man 10788 2013-01-10 16:51:07Z mike $".
+.\" End of "$Id: ipptoolfile.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lp.man b/man/lp.man
index 117a5555..e07b3f1e 100644
--- a/man/lp.man
+++ b/man/lp.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lp.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lp.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lp man page for CUPS.
.\"
@@ -248,5 +248,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lp.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lp.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lpadmin.man b/man/lpadmin.man
index 1625f639..7119934b 100644
--- a/man/lpadmin.man
+++ b/man/lpadmin.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lpadmin.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lpadmin.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lpadmin man page for CUPS.
.\"
@@ -223,5 +223,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lpadmin.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lpadmin.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lpc.man b/man/lpc.man
index 380eb277..bbee8074 100644
--- a/man/lpc.man
+++ b/man/lpc.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lpc.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lpc.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lpc man page for CUPS.
.\"
@@ -67,5 +67,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lpc.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lpc.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lpinfo.man b/man/lpinfo.man
index 2c5e608e..0521c3a0 100644
--- a/man/lpinfo.man
+++ b/man/lpinfo.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lpinfo.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lpinfo.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lpinfo man page for CUPS.
.\"
@@ -111,5 +111,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lpinfo.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lpinfo.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lpmove.man b/man/lpmove.man
index a2d983aa..e7819d1c 100644
--- a/man/lpmove.man
+++ b/man/lpmove.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lpmove.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lpmove.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lpmove man page for CUPS.
.\"
@@ -62,5 +62,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lpmove.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lpmove.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lpoptions.man.in b/man/lpoptions.man.in
index e4800fe5..88072f93 100644
--- a/man/lpoptions.man.in
+++ b/man/lpoptions.man.in
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lpoptions.man.in 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lpoptions.man.in 11109 2013-07-08 21:15:13Z msweet $"
.\"
.\" lpoptions man page for CUPS.
.\"
@@ -12,7 +12,7 @@
.\" 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/".
.\"
-.TH lpoptions 1 "CUPS" "29 August 2008" "Apple Inc."
+.TH lpoptions 1 "CUPS" "8 July 2013" "Apple Inc."
.SH NAME
lpoptions \- display or set printer options and defaults
.SH SYNOPSIS
@@ -115,14 +115,14 @@ Options set with the \fIlpoptions\fR command are used by the
.SH ROOT ACCOUNT OPTIONS
When run by the root user, \fIlpoptions\fR gets and sets default
options and instances for \fIall users\fR in the
-@CUPS_SERVERROOT@/lpoptions file.
+/etc/cups/lpoptions file.
.SH COMPATIBILITY
The \fIlpoptions\fR command is unique to CUPS.
.SH FILES
~/.cups/lpoptions - user defaults and instances created by non-root
users.
.br
-@CUPS_SERVERROOT@/lpoptions - system-wide defaults and instances
+/etc/cups/lpoptions - system-wide defaults and instances
created by the root user.
.SH SEE ALSO
\fIcancel(1)\fR, \fIlp(1)\fR, \fIlpadmin(8)\fR, \fIlpr(1)\fR,
@@ -131,5 +131,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lpoptions.man.in 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lpoptions.man.in 11109 2013-07-08 21:15:13Z msweet $".
.\"
diff --git a/man/lppasswd.man b/man/lppasswd.man
index 7e434169..f21726d4 100644
--- a/man/lppasswd.man
+++ b/man/lppasswd.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lppasswd.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lppasswd.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lpadmin man page for CUPS.
.\"
@@ -64,5 +64,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lppasswd.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lppasswd.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lpq.man b/man/lpq.man
index 2dfeff34..d922b0ae 100644
--- a/man/lpq.man
+++ b/man/lpq.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lpq.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lpq.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lpq man page for CUPS.
.\"
@@ -68,5 +68,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lpq.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lpq.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lpr.man b/man/lpr.man
index 4bdb71db..2325f8ea 100644
--- a/man/lpr.man
+++ b/man/lpr.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lpr.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lpr.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lpr man page for CUPS.
.\"
@@ -118,5 +118,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lpr.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lpr.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lprm.man b/man/lprm.man
index 42b1d39e..33851fb6 100644
--- a/man/lprm.man
+++ b/man/lprm.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lprm.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lprm.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lprm man page for CUPS.
.\"
@@ -61,5 +61,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lprm.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lprm.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/lpstat.man b/man/lpstat.man
index 3b4915b0..021be700 100644
--- a/man/lpstat.man
+++ b/man/lpstat.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: lpstat.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: lpstat.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" lpstat man page for CUPS.
.\"
@@ -139,5 +139,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: lpstat.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: lpstat.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/mailto.conf.man b/man/mailto.conf.man
index 6f865b90..a8dba768 100644
--- a/man/mailto.conf.man
+++ b/man/mailto.conf.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: mailto.conf.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: mailto.conf.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" mailto.conf man page for CUPS.
.\"
@@ -56,5 +56,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: mailto.conf.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: mailto.conf.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/mantohtml.c b/man/mantohtml.c
index d9b0acb4..512dda13 100644
--- a/man/mantohtml.c
+++ b/man/mantohtml.c
@@ -1,5 +1,5 @@
/*
- * "$Id: mantohtml.c 9226 2010-08-06 12:15:50Z mike $"
+ * "$Id: mantohtml.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Man page to HTML conversion program.
*
@@ -716,5 +716,5 @@ strmove(char *d, /* I - Destination */
/*
- * End of "$Id: mantohtml.c 9226 2010-08-06 12:15:50Z mike $".
+ * End of "$Id: mantohtml.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/man/mime.convs.man b/man/mime.convs.man
index c11ccebc..108f1df4 100644
--- a/man/mime.convs.man
+++ b/man/mime.convs.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: mime.convs.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: mime.convs.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" mime.convs man page for CUPS.
.\"
@@ -42,5 +42,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: mime.convs.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: mime.convs.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/mime.types.man b/man/mime.types.man
index 67b30a33..707da56f 100644
--- a/man/mime.types.man
+++ b/man/mime.types.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: mime.types.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: mime.types.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" mime.types man page for CUPS.
.\"
@@ -111,5 +111,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: mime.types.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: mime.types.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/notifier.man b/man/notifier.man
index 18321237..4ae3b07e 100644
--- a/man/notifier.man
+++ b/man/notifier.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: notifier.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: notifier.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" notifier man page for CUPS.
.\"
@@ -153,5 +153,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: notifier.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: notifier.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/ppdc.man b/man/ppdc.man
index ae1b322c..f489cd26 100644
--- a/man/ppdc.man
+++ b/man/ppdc.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: ppdc.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: ppdc.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" ppdc man page for CUPS.
.\"
@@ -77,5 +77,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: ppdc.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: ppdc.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/ppdcfile.man b/man/ppdcfile.man
index 39e18303..a3c9cd84 100644
--- a/man/ppdcfile.man
+++ b/man/ppdcfile.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: ppdcfile.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: ppdcfile.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" ppdcfile man page for CUPS.
.\"
@@ -166,5 +166,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: ppdcfile.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: ppdcfile.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/ppdhtml.man b/man/ppdhtml.man
index 41ede966..3e1e4dc5 100644
--- a/man/ppdhtml.man
+++ b/man/ppdhtml.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: ppdhtml.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: ppdhtml.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" ppdhtml man page for CUPS.
.\"
@@ -42,5 +42,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: ppdhtml.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: ppdhtml.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/ppdi.man b/man/ppdi.man
index f1bc65a5..f26f263a 100644
--- a/man/ppdi.man
+++ b/man/ppdi.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: ppdi.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: ppdi.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" ppdi man page for CUPS.
.\"
@@ -42,5 +42,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: ppdi.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: ppdi.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/ppdmerge.man b/man/ppdmerge.man
index d794b615..0a0c5182 100644
--- a/man/ppdmerge.man
+++ b/man/ppdmerge.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: ppdmerge.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: ppdmerge.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" ppdmerge man page for CUPS.
.\"
@@ -43,5 +43,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: ppdmerge.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: ppdmerge.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/ppdpo.man b/man/ppdpo.man
index e009ef7c..f2b0a2b1 100644
--- a/man/ppdpo.man
+++ b/man/ppdpo.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: ppdpo.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: ppdpo.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" ppdpo man page for CUPS.
.\"
@@ -48,5 +48,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: ppdpo.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: ppdpo.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/printers.conf.man b/man/printers.conf.man
index 918f6fde..1ab7876c 100644
--- a/man/printers.conf.man
+++ b/man/printers.conf.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: printers.conf.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: printers.conf.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" printers.conf man page for CUPS.
.\"
@@ -120,5 +120,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: printers.conf.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: printers.conf.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/man/subscriptions.conf.man b/man/subscriptions.conf.man
index db74cad5..edb52ac1 100644
--- a/man/subscriptions.conf.man
+++ b/man/subscriptions.conf.man
@@ -1,5 +1,5 @@
.\"
-.\" "$Id: subscriptions.conf.man 10790 2013-01-10 16:58:01Z mike $"
+.\" "$Id: subscriptions.conf.man 11022 2013-06-06 22:14:09Z msweet $"
.\"
.\" subscriptions.conf man page for CUPS.
.\"
@@ -85,5 +85,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2013 by Apple Inc.
.\"
-.\" End of "$Id: subscriptions.conf.man 10790 2013-01-10 16:58:01Z mike $".
+.\" End of "$Id: subscriptions.conf.man 11022 2013-06-06 22:14:09Z msweet $".
.\"
diff --git a/monitor/Makefile b/monitor/Makefile
index d29995fb..1c3bf699 100644
--- a/monitor/Makefile
+++ b/monitor/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Port monitor makefile for CUPS.
#
@@ -143,5 +143,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/monitor/bcp.c b/monitor/bcp.c
index e70c7314..423ab110 100644
--- a/monitor/bcp.c
+++ b/monitor/bcp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: bcp.c 9900 2011-08-17 20:59:46Z mike $"
+ * "$Id: bcp.c 10996 2013-05-29 11:51:34Z msweet $"
*
* TBCP port monitor for CUPS.
*
@@ -288,5 +288,5 @@ pswrite(const char *buf, /* I - Buffer to write */
/*
- * End of "$Id: bcp.c 9900 2011-08-17 20:59:46Z mike $".
+ * End of "$Id: bcp.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/monitor/tbcp.c b/monitor/tbcp.c
index 92c9728b..5f415a5e 100644
--- a/monitor/tbcp.c
+++ b/monitor/tbcp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: tbcp.c 10652 2012-10-19 17:44:02Z mike $"
+ * "$Id: tbcp.c 10996 2013-05-29 11:51:34Z msweet $"
*
* TBCP port monitor for CUPS.
*
@@ -278,5 +278,5 @@ pswrite(const char *buf, /* I - Buffer to write */
/*
- * End of "$Id: tbcp.c 10652 2012-10-19 17:44:02Z mike $".
+ * End of "$Id: tbcp.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/notifier/Makefile b/notifier/Makefile
index 10e90c38..3206dd07 100644
--- a/notifier/Makefile
+++ b/notifier/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Notifier makefile for CUPS.
#
@@ -161,5 +161,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/notifier/dbus.c b/notifier/dbus.c
index 03f9ea04..4cdd1aa9 100644
--- a/notifier/dbus.c
+++ b/notifier/dbus.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dbus.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: dbus.c 3933 2012-10-01 03:01:10Z msweet $"
*
* D-Bus notifier for CUPS.
*
@@ -625,5 +625,5 @@ main(void)
/*
- * End of "$Id: dbus.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: dbus.c 3933 2012-10-01 03:01:10Z msweet $".
*/
diff --git a/notifier/mailto.c b/notifier/mailto.c
index aaca9184..724e12be 100644
--- a/notifier/mailto.c
+++ b/notifier/mailto.c
@@ -1,5 +1,5 @@
/*
- * "$Id: mailto.c 10097 2011-11-02 05:35:38Z mike $"
+ * "$Id: mailto.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "mailto" notifier for CUPS.
*
@@ -642,5 +642,5 @@ print_attributes(ipp_t *ipp, /* I - IPP request */
/*
- * End of "$Id: mailto.c 10097 2011-11-02 05:35:38Z mike $".
+ * End of "$Id: mailto.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/notifier/rss.c b/notifier/rss.c
index ac42aa3c..65e577f0 100644
--- a/notifier/rss.c
+++ b/notifier/rss.c
@@ -1,5 +1,5 @@
/*
- * "$Id: rss.c 10378 2012-03-23 21:38:25Z mike $"
+ * "$Id: rss.c 10996 2013-05-29 11:51:34Z msweet $"
*
* RSS notifier for CUPS.
*
@@ -737,5 +737,5 @@ xml_escape(const char *s) /* I - String to escape */
/*
- * End of "$Id: rss.c 10378 2012-03-23 21:38:25Z mike $".
+ * End of "$Id: rss.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/notifier/testnotify.c b/notifier/testnotify.c
index 880b51d9..67441cee 100644
--- a/notifier/testnotify.c
+++ b/notifier/testnotify.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testnotify.c 10097 2011-11-02 05:35:38Z mike $"
+ * "$Id: testnotify.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Test notifier for CUPS.
*
@@ -123,5 +123,5 @@ print_attributes(ipp_t *ipp, /* I - IPP request */
/*
- * End of "$Id: testnotify.c 10097 2011-11-02 05:35:38Z mike $".
+ * End of "$Id: testnotify.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/packaging/cups.list.in b/packaging/cups.list.in
index 226376f8..e2535c73 100644
--- a/packaging/cups.list.in
+++ b/packaging/cups.list.in
@@ -1,5 +1,5 @@
#
-# "$Id: cups.list.in 10709 2012-11-26 18:25:58Z mike $"
+# "$Id: cups.list.in 11025 2013-06-07 01:00:33Z msweet $"
#
# ESP Package Manager (EPM) file list for CUPS.
#
@@ -736,5 +736,5 @@ f 0444 root sys $XINETD/cups-lpd scheduler/cups-lpd.xinetd
%subpackage
#
-# End of "$Id: cups.list.in 10709 2012-11-26 18:25:58Z mike $".
+# End of "$Id: cups.list.in 11025 2013-06-07 01:00:33Z msweet $".
#
diff --git a/packaging/cups.spec b/packaging/cups.spec
index 05d1dd8f..68dab39a 100644
--- a/packaging/cups.spec
+++ b/packaging/cups.spec
@@ -1,5 +1,5 @@
#
-# "$Id: cups.spec.in 10952 2013-04-18 18:08:34Z mike $"
+# "$Id: cups.spec.in 11128 2013-07-11 20:31:43Z msweet $"
#
# RPM "spec" file for CUPS.
#
@@ -35,12 +35,12 @@
Summary: CUPS
Name: cups
-Version: 1.7b1
+Version: 1.7rc1
Release: 1
Epoch: 1
License: GPL
Group: System Environment/Daemons
-Source: http://ftp.easysw.com/pub/cups/1.7b1/cups-1.7b1-source.tar.bz2
+Source: http://www.cups.org/software/1.7rc1/cups-1.7rc1-source.tar.bz2
Url: http://www.cups.org
Packager: Anonymous <anonymous@foo.com>
Vendor: Apple Inc.
@@ -174,6 +174,7 @@ rm -rf $RPM_BUILD_ROOT
/usr/bin/cancel
/usr/bin/cupstestdsc
/usr/bin/cupstestppd
+/usr/bin/ippfind
/usr/bin/ipptool
/usr/bin/lp*
%dir /usr/lib/cups
@@ -237,7 +238,6 @@ rm -rf $RPM_BUILD_ROOT
/usr/share/doc/cups/help/ref-*.html
/usr/share/doc/cups/help/security.html
/usr/share/doc/cups/help/sharing.html
-/usr/share/doc/cups/help/standard.html
/usr/share/doc/cups/help/translation.html
/usr/share/doc/cups/help/whatsnew.html
%dir /usr/share/doc/cups/images
@@ -273,6 +273,7 @@ rm -rf $RPM_BUILD_ROOT
/usr/share/man/man1/cancel.1.gz
/usr/share/man/man1/cupstestdsc.1.gz
/usr/share/man/man1/cupstestppd.1.gz
+/usr/share/man/man1/ippfind.1.gz
/usr/share/man/man1/ipptool.1.gz
/usr/share/man/man1/lp.1.gz
/usr/share/man/man1/lpoptions.1.gz
@@ -361,5 +362,5 @@ rm -rf $RPM_BUILD_ROOT
#
-# End of "$Id: cups.spec.in 10952 2013-04-18 18:08:34Z mike $".
+# End of "$Id: cups.spec.in 11128 2013-07-11 20:31:43Z msweet $".
#
diff --git a/packaging/cups.spec.in b/packaging/cups.spec.in
index 8e522ea2..91e88774 100644
--- a/packaging/cups.spec.in
+++ b/packaging/cups.spec.in
@@ -1,5 +1,5 @@
#
-# "$Id: cups.spec.in 10952 2013-04-18 18:08:34Z mike $"
+# "$Id: cups.spec.in 11128 2013-07-11 20:31:43Z msweet $"
#
# RPM "spec" file for CUPS.
#
@@ -174,6 +174,7 @@ rm -rf $RPM_BUILD_ROOT
/usr/bin/cancel
/usr/bin/cupstestdsc
/usr/bin/cupstestppd
+/usr/bin/ippfind
/usr/bin/ipptool
/usr/bin/lp*
%dir /usr/lib/cups
@@ -237,7 +238,6 @@ rm -rf $RPM_BUILD_ROOT
/usr/share/doc/cups/help/ref-*.html
/usr/share/doc/cups/help/security.html
/usr/share/doc/cups/help/sharing.html
-/usr/share/doc/cups/help/standard.html
/usr/share/doc/cups/help/translation.html
/usr/share/doc/cups/help/whatsnew.html
%dir /usr/share/doc/cups/images
@@ -273,6 +273,7 @@ rm -rf $RPM_BUILD_ROOT
/usr/share/man/man1/cancel.1.gz
/usr/share/man/man1/cupstestdsc.1.gz
/usr/share/man/man1/cupstestppd.1.gz
+/usr/share/man/man1/ippfind.1.gz
/usr/share/man/man1/ipptool.1.gz
/usr/share/man/man1/lp.1.gz
/usr/share/man/man1/lpoptions.1.gz
@@ -361,5 +362,5 @@ rm -rf $RPM_BUILD_ROOT
#
-# End of "$Id: cups.spec.in 10952 2013-04-18 18:08:34Z mike $".
+# End of "$Id: cups.spec.in 11128 2013-07-11 20:31:43Z msweet $".
#
diff --git a/ppdc/Makefile b/ppdc/Makefile
index 0b636771..9526ce00 100644
--- a/ppdc/Makefile
+++ b/ppdc/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10768 2012-12-14 13:06:44Z mike $"
+# "$Id: Makefile 4216 2013-03-11 13:57:36Z msweet $"
#
# Makefile for the CUPS PPD Compiler.
#
@@ -402,5 +402,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10768 2012-12-14 13:06:44Z mike $".
+# End of "$Id: Makefile 4216 2013-03-11 13:57:36Z msweet $".
#
diff --git a/ppdc/foo.drv b/ppdc/foo.drv
index 8eb3b124..36599058 100644
--- a/ppdc/foo.drv
+++ b/ppdc/foo.drv
@@ -1,5 +1,5 @@
//
-// "$Id: foo.drv 361 2007-10-01 20:03:46Z mike $"
+// "$Id: foo.drv 3247 2011-05-12 06:22:31Z msweet $"
//
// PPD file compiler test data file for CUPS.
//
@@ -543,5 +543,5 @@ Attribute cupsIPPReason "com.foo-serious-error/A Serious Error" "http://foo.com/
//
-// End of "$Id: foo.drv 361 2007-10-01 20:03:46Z mike $".
+// End of "$Id: foo.drv 3247 2011-05-12 06:22:31Z msweet $".
//
diff --git a/ppdc/genstrings.cxx b/ppdc/genstrings.cxx
index 616e3b17..dee4b558 100644
--- a/ppdc/genstrings.cxx
+++ b/ppdc/genstrings.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: genstrings.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: genstrings.cxx 3275 2011-05-20 07:26:13Z msweet $"
//
// GNU gettext message generator for the CUPS PPD Compiler.
//
@@ -211,5 +211,5 @@ write_cstring(const char *s) /* I - String to write */
//
-// End of "$Id: genstrings.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: genstrings.cxx 3275 2011-05-20 07:26:13Z msweet $".
//
diff --git a/ppdc/ppdc-array.cxx b/ppdc/ppdc-array.cxx
index b5060c03..fcef51b2 100644
--- a/ppdc/ppdc-array.cxx
+++ b/ppdc/ppdc-array.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-array.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-array.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Array class for the CUPS PPD Compiler.
//
@@ -164,5 +164,5 @@ ppdcArray::remove(ppdcShared *d) // I - Data element
//
-// End of "$Id: ppdc-array.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-array.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc-attr.cxx b/ppdc/ppdc-attr.cxx
index 64b2a599..4570f106 100644
--- a/ppdc/ppdc-attr.cxx
+++ b/ppdc/ppdc-attr.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-attr.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-attr.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Attribute class for the CUPS PPD Compiler.
//
@@ -62,5 +62,5 @@ ppdcAttr::~ppdcAttr()
//
-// End of "$Id: ppdc-attr.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-attr.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc-catalog.cxx b/ppdc/ppdc-catalog.cxx
index 5059ce52..ecf7678c 100644
--- a/ppdc/ppdc-catalog.cxx
+++ b/ppdc/ppdc-catalog.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-catalog.cxx 10424 2012-04-23 17:26:57Z mike $"
+// "$Id: ppdc-catalog.cxx 3794 2012-04-23 22:44:16Z msweet $"
//
// Shared message catalog class for the CUPS PPD Compiler.
//
@@ -893,5 +893,5 @@ put_utf16(cups_file_t *fp, // I - File to write to
//
-// End of "$Id: ppdc-catalog.cxx 10424 2012-04-23 17:26:57Z mike $".
+// End of "$Id: ppdc-catalog.cxx 3794 2012-04-23 22:44:16Z msweet $".
//
diff --git a/ppdc/ppdc-choice.cxx b/ppdc/ppdc-choice.cxx
index e3d0dff9..e9937feb 100644
--- a/ppdc/ppdc-choice.cxx
+++ b/ppdc/ppdc-choice.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-choice.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-choice.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Option choice class for the CUPS PPD Compiler.
//
@@ -57,5 +57,5 @@ ppdcChoice::~ppdcChoice()
//
-// End of "$Id: ppdc-choice.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-choice.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc-constraint.cxx b/ppdc/ppdc-constraint.cxx
index aecd5f0a..c0609798 100644
--- a/ppdc/ppdc-constraint.cxx
+++ b/ppdc/ppdc-constraint.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-constraint.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-constraint.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Contraint class for the CUPS PPD Compiler.
//
@@ -60,5 +60,5 @@ ppdcConstraint::~ppdcConstraint()
//
-// End of "$Id: ppdc-constraint.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-constraint.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc-driver.cxx b/ppdc/ppdc-driver.cxx
index 2b861932..f04168a2 100644
--- a/ppdc/ppdc-driver.cxx
+++ b/ppdc/ppdc-driver.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-driver.cxx 10631 2012-10-01 03:54:34Z mike $"
+// "$Id: ppdc-driver.cxx 3940 2012-10-15 21:02:10Z msweet $"
//
// PPD file compiler definitions for the CUPS PPD Compiler.
//
@@ -1344,5 +1344,5 @@ ppdcDriver::write_ppd_file(
//
-// End of "$Id: ppdc-driver.cxx 10631 2012-10-01 03:54:34Z mike $".
+// End of "$Id: ppdc-driver.cxx 3940 2012-10-15 21:02:10Z msweet $".
//
diff --git a/ppdc/ppdc-file.cxx b/ppdc/ppdc-file.cxx
index af47b8e7..0a24827f 100644
--- a/ppdc/ppdc-file.cxx
+++ b/ppdc/ppdc-file.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-file.cxx 10335 2012-03-07 05:58:19Z mike $"
+// "$Id: ppdc-file.cxx 3755 2012-03-30 05:59:14Z msweet $"
//
// File class for the CUPS PPD Compiler.
//
@@ -106,5 +106,5 @@ ppdcFile::peek()
//
-// End of "$Id: ppdc-file.cxx 10335 2012-03-07 05:58:19Z mike $".
+// End of "$Id: ppdc-file.cxx 3755 2012-03-30 05:59:14Z msweet $".
//
diff --git a/ppdc/ppdc-filter.cxx b/ppdc/ppdc-filter.cxx
index 06a164c0..cc1ae00f 100644
--- a/ppdc/ppdc-filter.cxx
+++ b/ppdc/ppdc-filter.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-filter.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-filter.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Filter class for the CUPS PPD Compiler.
//
@@ -56,5 +56,5 @@ ppdcFilter::~ppdcFilter()
//
-// End of "$Id: ppdc-filter.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-filter.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc-font.cxx b/ppdc/ppdc-font.cxx
index 909b83cf..c5dad4d8 100644
--- a/ppdc/ppdc-font.cxx
+++ b/ppdc/ppdc-font.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-font.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-font.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Shared font class for the CUPS PPD Compiler.
//
@@ -62,5 +62,5 @@ ppdcFont::~ppdcFont()
//
-// End of "$Id: ppdc-font.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-font.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc-group.cxx b/ppdc/ppdc-group.cxx
index 5db59c86..00d0a7cb 100644
--- a/ppdc/ppdc-group.cxx
+++ b/ppdc/ppdc-group.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-group.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdc-group.cxx 3275 2011-05-20 07:26:13Z msweet $"
//
// Group class for the CUPS PPD Compiler.
//
@@ -99,5 +99,5 @@ ppdcGroup::find_option(const char *n) // I - Name of option
//
-// End of "$Id: ppdc-group.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdc-group.cxx 3275 2011-05-20 07:26:13Z msweet $".
//
diff --git a/ppdc/ppdc-import.cxx b/ppdc/ppdc-import.cxx
index 1bf9b03b..d41cbb98 100644
--- a/ppdc/ppdc-import.cxx
+++ b/ppdc/ppdc-import.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-import.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdc-import.cxx 3275 2011-05-20 07:26:13Z msweet $"
//
// PPD file import methods for the CUPS PPD Compiler.
//
@@ -339,5 +339,5 @@ ppdcSource::import_ppd(const char *f) // I - Filename
//
-// End of "$Id: ppdc-import.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdc-import.cxx 3275 2011-05-20 07:26:13Z msweet $".
//
diff --git a/ppdc/ppdc-mediasize.cxx b/ppdc/ppdc-mediasize.cxx
index 90831da5..48afd381 100644
--- a/ppdc/ppdc-mediasize.cxx
+++ b/ppdc/ppdc-mediasize.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-mediasize.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-mediasize.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Shared media size class for the CUPS PPD Compiler.
//
@@ -81,5 +81,5 @@ ppdcMediaSize::~ppdcMediaSize()
//
-// End of "$Id: ppdc-mediasize.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-mediasize.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc-message.cxx b/ppdc/ppdc-message.cxx
index a0c9ad6b..fbbe40c3 100644
--- a/ppdc/ppdc-message.cxx
+++ b/ppdc/ppdc-message.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-message.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-message.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Shared message class for the CUPS PPD Compiler.
//
@@ -54,5 +54,5 @@ ppdcMessage::~ppdcMessage()
//
-// End of "$Id: ppdc-message.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-message.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc-option.cxx b/ppdc/ppdc-option.cxx
index 12897feb..3fdc296a 100644
--- a/ppdc/ppdc-option.cxx
+++ b/ppdc/ppdc-option.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-option.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdc-option.cxx 3275 2011-05-20 07:26:13Z msweet $"
//
// Option class for the CUPS PPD Compiler.
//
@@ -125,5 +125,5 @@ ppdcOption::set_defchoice(ppdcChoice *c) // I - Choice
//
-// End of "$Id: ppdc-option.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdc-option.cxx 3275 2011-05-20 07:26:13Z msweet $".
//
diff --git a/ppdc/ppdc-private.h b/ppdc/ppdc-private.h
index b862c589..2fea4388 100644
--- a/ppdc/ppdc-private.h
+++ b/ppdc/ppdc-private.h
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-private.h 9042 2010-03-24 00:45:34Z mike $"
+// "$Id: ppdc-private.h 1992 2010-03-24 14:32:08Z msweet $"
//
// Private definitions for the CUPS PPD Compiler.
//
@@ -36,5 +36,5 @@
#endif // !_PPDC_PRIVATE_H_
//
-// End of "$Id: ppdc-private.h 9042 2010-03-24 00:45:34Z mike $".
+// End of "$Id: ppdc-private.h 1992 2010-03-24 14:32:08Z msweet $".
//
diff --git a/ppdc/ppdc-profile.cxx b/ppdc/ppdc-profile.cxx
index 2cbe7eb8..244e34f4 100644
--- a/ppdc/ppdc-profile.cxx
+++ b/ppdc/ppdc-profile.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-profile.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-profile.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Color profile class for the CUPS PPD Compiler.
//
@@ -61,5 +61,5 @@ ppdcProfile::~ppdcProfile()
//
-// End of "$Id: ppdc-profile.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-profile.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc-shared.cxx b/ppdc/ppdc-shared.cxx
index 64a4cc78..e6b6167a 100644
--- a/ppdc/ppdc-shared.cxx
+++ b/ppdc/ppdc-shared.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-shared.cxx 8694 2009-06-05 16:47:19Z mike $"
+// "$Id: ppdc-shared.cxx 1556 2009-06-10 19:02:58Z msweet $"
//
// Shared data class for the CUPS PPD Compiler.
//
@@ -84,5 +84,5 @@ ppdcShared::retain()
//
-// End of "$Id: ppdc-shared.cxx 8694 2009-06-05 16:47:19Z mike $".
+// End of "$Id: ppdc-shared.cxx 1556 2009-06-10 19:02:58Z msweet $".
//
diff --git a/ppdc/ppdc-source.cxx b/ppdc/ppdc-source.cxx
index 7e95a148..8838a298 100644
--- a/ppdc/ppdc-source.cxx
+++ b/ppdc/ppdc-source.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-source.cxx 10845 2013-01-31 13:08:59Z mike $"
+// "$Id: ppdc-source.cxx 4167 2013-02-04 19:27:13Z msweet $"
//
// Source class for the CUPS PPD Compiler.
//
@@ -3847,5 +3847,5 @@ ppdcSource::write_file(const char *f) // I - File to write
//
-// End of "$Id: ppdc-source.cxx 10845 2013-01-31 13:08:59Z mike $".
+// End of "$Id: ppdc-source.cxx 4167 2013-02-04 19:27:13Z msweet $".
//
diff --git a/ppdc/ppdc-string.cxx b/ppdc/ppdc-string.cxx
index bd3a53e2..b6e35121 100644
--- a/ppdc/ppdc-string.cxx
+++ b/ppdc/ppdc-string.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-string.cxx 10596 2012-09-07 02:49:46Z mike $"
+// "$Id: ppdc-string.cxx 3933 2012-10-01 03:01:10Z msweet $"
//
// Shared string class for the CUPS PPD Compiler.
//
@@ -60,5 +60,5 @@ ppdcString::~ppdcString()
//
-// End of "$Id: ppdc-string.cxx 10596 2012-09-07 02:49:46Z mike $".
+// End of "$Id: ppdc-string.cxx 3933 2012-10-01 03:01:10Z msweet $".
//
diff --git a/ppdc/ppdc-variable.cxx b/ppdc/ppdc-variable.cxx
index c8ecd3be..d60ef72f 100644
--- a/ppdc/ppdc-variable.cxx
+++ b/ppdc/ppdc-variable.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc-variable.cxx 8484 2009-04-03 17:35:17Z mike $"
+// "$Id: ppdc-variable.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Variable class for the CUPS PPD Compiler.
//
@@ -67,5 +67,5 @@ ppdcVariable::set_value(const char *v)
//
-// End of "$Id: ppdc-variable.cxx 8484 2009-04-03 17:35:17Z mike $".
+// End of "$Id: ppdc-variable.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/ppdc/ppdc.cxx b/ppdc/ppdc.cxx
index 7cff4cad..6cb6bed2 100644
--- a/ppdc/ppdc.cxx
+++ b/ppdc/ppdc.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc.cxx 10431 2012-04-23 19:19:19Z mike $"
+// "$Id: ppdc.cxx 3794 2012-04-23 22:44:16Z msweet $"
//
// PPD file compiler main entry for the CUPS PPD Compiler.
//
@@ -464,5 +464,5 @@ usage(void)
//
-// End of "$Id: ppdc.cxx 10431 2012-04-23 19:19:19Z mike $".
+// End of "$Id: ppdc.cxx 3794 2012-04-23 22:44:16Z msweet $".
//
diff --git a/ppdc/ppdc.h b/ppdc/ppdc.h
index a87b8625..0aad1255 100644
--- a/ppdc/ppdc.h
+++ b/ppdc/ppdc.h
@@ -1,5 +1,5 @@
//
-// "$Id: ppdc.h 10335 2012-03-07 05:58:19Z mike $"
+// "$Id: ppdc.h 3755 2012-03-30 05:59:14Z msweet $"
//
// Definitions for the CUPS PPD Compiler.
//
@@ -529,5 +529,5 @@ class ppdcSource //// Source File
#endif // !_PPDC_H_
//
-// End of "$Id: ppdc.h 10335 2012-03-07 05:58:19Z mike $".
+// End of "$Id: ppdc.h 3755 2012-03-30 05:59:14Z msweet $".
//
diff --git a/ppdc/ppdhtml.cxx b/ppdc/ppdhtml.cxx
index 05ddc41b..da2167b8 100644
--- a/ppdc/ppdhtml.cxx
+++ b/ppdc/ppdhtml.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdhtml.cxx 9636 2011-03-21 22:02:00Z mike $"
+// "$Id: ppdhtml.cxx 3071 2011-03-23 00:05:29Z msweet $"
//
// PPD to HTML utility for the CUPS PPD Compiler.
//
@@ -182,5 +182,5 @@ usage(void)
//
-// End of "$Id: ppdhtml.cxx 9636 2011-03-21 22:02:00Z mike $".
+// End of "$Id: ppdhtml.cxx 3071 2011-03-23 00:05:29Z msweet $".
//
diff --git a/ppdc/ppdi.cxx b/ppdc/ppdi.cxx
index 7ca202d4..cbc728b9 100644
--- a/ppdc/ppdi.cxx
+++ b/ppdc/ppdi.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdi.cxx 9636 2011-03-21 22:02:00Z mike $"
+// "$Id: ppdi.cxx 3071 2011-03-23 00:05:29Z msweet $"
//
// PPD file import utility for the CUPS PPD Compiler.
//
@@ -138,5 +138,5 @@ usage(void)
//
-// End of "$Id: ppdi.cxx 9636 2011-03-21 22:02:00Z mike $".
+// End of "$Id: ppdi.cxx 3071 2011-03-23 00:05:29Z msweet $".
//
diff --git a/ppdc/ppdmerge.cxx b/ppdc/ppdmerge.cxx
index c2126a54..63966c0e 100644
--- a/ppdc/ppdmerge.cxx
+++ b/ppdc/ppdmerge.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdmerge.cxx 9793 2011-05-20 03:49:49Z mike $"
+// "$Id: ppdmerge.cxx 3275 2011-05-20 07:26:13Z msweet $"
//
// PPD file merge utility for the CUPS PPD Compiler.
//
@@ -375,5 +375,5 @@ usage(void)
//
-// End of "$Id: ppdmerge.cxx 9793 2011-05-20 03:49:49Z mike $".
+// End of "$Id: ppdmerge.cxx 3275 2011-05-20 07:26:13Z msweet $".
//
diff --git a/ppdc/ppdpo.cxx b/ppdc/ppdpo.cxx
index 85761548..65032a43 100644
--- a/ppdc/ppdpo.cxx
+++ b/ppdc/ppdpo.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: ppdpo.cxx 10431 2012-04-23 19:19:19Z mike $"
+// "$Id: ppdpo.cxx 3794 2012-04-23 22:44:16Z msweet $"
//
// PPD file message catalog program for the CUPS PPD Compiler.
//
@@ -263,5 +263,5 @@ usage(void)
//
-// End of "$Id: ppdpo.cxx 10431 2012-04-23 19:19:19Z mike $".
+// End of "$Id: ppdpo.cxx 3794 2012-04-23 22:44:16Z msweet $".
//
diff --git a/ppdc/sample.drv b/ppdc/sample.drv
index 24a2c09a..f5505e64 100644
--- a/ppdc/sample.drv
+++ b/ppdc/sample.drv
@@ -1,5 +1,5 @@
//
-// "$Id: sample.drv 10569 2012-08-24 03:13:30Z mike $"
+// "$Id: sample.drv 3891 2012-08-29 00:26:48Z msweet $"
//
// Driver info file for CUPS-supplied PPDs.
//
@@ -1241,5 +1241,5 @@ Version "1.5"
}
//
-// End of "$Id: sample.drv 10569 2012-08-24 03:13:30Z mike $".
+// End of "$Id: sample.drv 3891 2012-08-29 00:26:48Z msweet $".
//
diff --git a/ppdc/testcatalog.cxx b/ppdc/testcatalog.cxx
index da64b8ee..0943dcc4 100644
--- a/ppdc/testcatalog.cxx
+++ b/ppdc/testcatalog.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: testcatalog.cxx 8487 2009-04-03 23:58:57Z mike $"
+// "$Id: testcatalog.cxx 1378 2009-04-08 03:17:45Z msweet $"
//
// Test program for message catalog class.
//
@@ -59,5 +59,5 @@ main(int argc, // I - Number of command-line arguments
//
-// End of "$Id: testcatalog.cxx 8487 2009-04-03 23:58:57Z mike $".
+// End of "$Id: testcatalog.cxx 1378 2009-04-08 03:17:45Z msweet $".
//
diff --git a/scheduler/Makefile b/scheduler/Makefile
index 751ddb23..92fc1750 100644
--- a/scheduler/Makefile
+++ b/scheduler/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10934 2013-04-03 13:41:04Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Scheduler Makefile for CUPS.
#
@@ -561,5 +561,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10934 2013-04-03 13:41:04Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/scheduler/auth.c b/scheduler/auth.c
index 57b61739..192acd39 100644
--- a/scheduler/auth.c
+++ b/scheduler/auth.c
@@ -1,5 +1,5 @@
/*
- * "$Id: auth.c 10928 2013-04-01 16:51:23Z mike $"
+ * "$Id: auth.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Authorization routines for the CUPS scheduler.
*
@@ -2607,5 +2607,5 @@ to64(char *s, /* O - Output string */
/*
- * End of "$Id: auth.c 10928 2013-04-01 16:51:23Z mike $".
+ * End of "$Id: auth.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/auth.h b/scheduler/auth.h
index c6865156..16f1fd5a 100644
--- a/scheduler/auth.h
+++ b/scheduler/auth.h
@@ -1,5 +1,5 @@
/*
- * "$Id: auth.h 10131 2011-11-30 23:11:23Z mike $"
+ * "$Id: auth.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Authorization definitions for the CUPS scheduler.
*
@@ -147,5 +147,5 @@ extern cupsd_location_t *cupsdNewLocation(const char *location);
/*
- * End of "$Id: auth.h 10131 2011-11-30 23:11:23Z mike $".
+ * End of "$Id: auth.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/banners.c b/scheduler/banners.c
index 7a4987fa..631a891a 100644
--- a/scheduler/banners.c
+++ b/scheduler/banners.c
@@ -1,5 +1,5 @@
/*
- * "$Id: banners.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: banners.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Banner routines for the CUPS scheduler.
*
@@ -220,5 +220,5 @@ free_banners(void)
/*
- * End of "$Id: banners.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: banners.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/banners.h b/scheduler/banners.h
index 2578cdd0..19ab6f71 100644
--- a/scheduler/banners.h
+++ b/scheduler/banners.h
@@ -1,5 +1,5 @@
/*
- * "$Id: banners.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: banners.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Banner definitions for the CUPS scheduler.
*
@@ -41,5 +41,5 @@ extern void cupsdLoadBanners(const char *d);
/*
- * End of "$Id: banners.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: banners.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/cert.c b/scheduler/cert.c
index 8f40811d..1ad4439f 100644
--- a/scheduler/cert.c
+++ b/scheduler/cert.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cert.c 10774 2012-12-17 22:04:34Z mike $"
+ * "$Id: cert.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Authentication certificate routines for the CUPS scheduler.
*
@@ -436,5 +436,5 @@ cupsdInitCerts(void)
/*
- * End of "$Id: cert.c 10774 2012-12-17 22:04:34Z mike $".
+ * End of "$Id: cert.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/cert.h b/scheduler/cert.h
index c84ead46..063c5de7 100644
--- a/scheduler/cert.h
+++ b/scheduler/cert.h
@@ -1,5 +1,5 @@
/*
- * "$Id: cert.h 10774 2012-12-17 22:04:34Z mike $"
+ * "$Id: cert.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Authentication certificate definitions for the CUPS scheduler.
*
@@ -49,5 +49,5 @@ extern void cupsdInitCerts(void);
/*
- * End of "$Id: cert.h 10774 2012-12-17 22:04:34Z mike $".
+ * End of "$Id: cert.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/classes.c b/scheduler/classes.c
index f5b5bcc6..b920c4f2 100644
--- a/scheduler/classes.c
+++ b/scheduler/classes.c
@@ -1,5 +1,5 @@
/*
- * "$Id: classes.c 10104 2011-11-04 06:37:03Z mike $"
+ * "$Id: classes.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Printer class routines for the CUPS scheduler.
*
@@ -814,5 +814,5 @@ cupsdSaveAllClasses(void)
/*
- * End of "$Id: classes.c 10104 2011-11-04 06:37:03Z mike $".
+ * End of "$Id: classes.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/classes.h b/scheduler/classes.h
index d050a183..bc0196e2 100644
--- a/scheduler/classes.h
+++ b/scheduler/classes.h
@@ -1,5 +1,5 @@
/*
- * "$Id: classes.h 10104 2011-11-04 06:37:03Z mike $"
+ * "$Id: classes.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Printer class definitions for the CUPS scheduler.
*
@@ -31,5 +31,5 @@ extern void cupsdSaveAllClasses(void);
/*
- * End of "$Id: classes.h 10104 2011-11-04 06:37:03Z mike $".
+ * End of "$Id: classes.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/client.c b/scheduler/client.c
index 4a58db38..fefd0586 100644
--- a/scheduler/client.c
+++ b/scheduler/client.c
@@ -1,5 +1,5 @@
/*
- * "$Id: client.c 10943 2013-04-09 19:26:08Z mike $"
+ * "$Id: client.c 10999 2013-05-30 00:48:16Z msweet $"
*
* Client routines for the CUPS scheduler.
*
@@ -471,6 +471,9 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */
cupsdAddSelect(con->http.fd, (cupsd_selfunc_t)cupsdReadClient, NULL, con);
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Waiting for request.",
+ con->http.fd);
+
/*
* Temporarily suspend accept()'s until we lose a client...
*/
@@ -594,6 +597,9 @@ cupsdCloseClient(cupsd_client_t *con) /* I - Client to close */
shutdown(con->http.fd, 0);
cupsdAddSelect(con->http.fd, (cupsd_selfunc_t)cupsdReadClient, NULL, con);
+
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Waiting for socket close.",
+ con->http.fd);
}
else
{
@@ -2431,6 +2437,9 @@ cupsdSendCommand(
cupsdAddSelect(con->file, (cupsd_selfunc_t)write_pipe, NULL, con);
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Waiting for CGI data.",
+ con->http.fd);
+
con->sent_header = 0;
con->file_ready = 0;
con->got_fields = 0;
@@ -2817,7 +2826,7 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
ipp_state_t ipp_state; /* IPP state value */
- cupsdLogMessage(CUPSD_LOG_DEBUG2,
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
"[Client %d] cupsdWriteClient "
"error=%d, "
"used=%d, "
@@ -2859,6 +2868,9 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
cupsdAddSelect(con->file, (cupsd_selfunc_t)write_pipe, NULL, con);
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Waiting for CGI data.",
+ con->http.fd);
+
if (!con->file_ready)
{
/*
@@ -2874,9 +2886,45 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
if (con->response && con->response->state != IPP_DATA)
{
- ipp_state = ippWrite(HTTP(con), con->response);
- bytes = ipp_state != IPP_ERROR &&
- (con->file >= 0 || ipp_state != IPP_DATA);
+ int wused = con->http.wused; /* Previous write buffer use */
+
+ do
+ {
+ /*
+ * Write a single attribute or the IPP message header...
+ */
+
+ ipp_state = ippWrite(HTTP(con), con->response);
+
+ /*
+ * If the write buffer has been flushed, stop buffering up attributes...
+ */
+
+ if (con->http.wused <= wused)
+ break;
+ }
+ while (ipp_state != IPP_STATE_DATA && ipp_state != IPP_STATE_ERROR);
+
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "[Client %d] Writing IPP response, ipp_state=%s, old "
+ "wused=%d, new wused=%d", con->http.fd,
+ ipp_state == IPP_STATE_ERROR ? "ERROR" :
+ ipp_state == IPP_STATE_IDLE ? "IDLE" :
+ ipp_state == IPP_STATE_HEADER ? "HEADER" :
+ ipp_state == IPP_STATE_ATTRIBUTE ? "ATTRIBUTE" : "DATA",
+ wused, con->http.wused);
+
+ if (con->http.wused > 0)
+ httpFlushWrite(HTTP(con));
+
+ bytes = ipp_state != IPP_STATE_ERROR &&
+ (con->file >= 0 || ipp_state != IPP_STATE_DATA);
+
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "[Client %d] bytes=%d, http_state=%d, "
+ "data_remaining=" CUPS_LLFMT,
+ con->http.fd, (int)bytes, con->http.state,
+ CUPS_LLCAST con->http.data_remaining);
}
else if ((bytes = read(con->file, con->header + con->header_used,
sizeof(con->header) - con->header_used)) > 0)
@@ -3021,7 +3069,8 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
}
if (bytes <= 0 ||
- (con->http.state != HTTP_STATE_GET_SEND && con->http.state != HTTP_STATE_POST_SEND))
+ (con->http.state != HTTP_STATE_GET_SEND &&
+ con->http.state != HTTP_STATE_POST_SEND))
{
if (!con->sent_header && con->pipe_pid)
cupsdSendError(con, HTTP_SERVER_ERROR, CUPSD_AUTH_NONE);
@@ -3031,7 +3080,8 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
httpFlushWrite(HTTP(con));
- if (con->http.data_encoding == HTTP_ENCODING_CHUNKED && con->sent_header == 1)
+ if (con->http.data_encoding == HTTP_ENCODING_CHUNKED &&
+ con->sent_header == 1)
{
if (httpWrite2(HTTP(con), "", 0) < 0)
{
@@ -3049,6 +3099,9 @@ cupsdWriteClient(cupsd_client_t *con) /* I - Client connection */
cupsdAddSelect(con->http.fd, (cupsd_selfunc_t)cupsdReadClient, NULL, con);
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Waiting for request.",
+ con->http.fd);
+
if (con->file >= 0)
{
cupsdRemoveSelect(con->file);
@@ -4297,6 +4350,8 @@ write_file(cupsd_client_t *con, /* I - Client connection */
cupsdAddSelect(con->http.fd, (cupsd_selfunc_t)cupsdReadClient,
(cupsd_selfunc_t)cupsdWriteClient, con);
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] Sending file.", con->http.fd);
+
return (1);
}
@@ -4316,9 +4371,12 @@ write_pipe(cupsd_client_t *con) /* I - Client connection */
cupsdRemoveSelect(con->file);
cupsdAddSelect(con->http.fd, NULL, (cupsd_selfunc_t)cupsdWriteClient, con);
+
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "[Client %d] CGI data ready to be sent.",
+ con->http.fd);
}
/*
- * End of "$Id: client.c 10943 2013-04-09 19:26:08Z mike $".
+ * End of "$Id: client.c 10999 2013-05-30 00:48:16Z msweet $".
*/
diff --git a/scheduler/client.h b/scheduler/client.h
index 17c05d02..840e7f72 100644
--- a/scheduler/client.h
+++ b/scheduler/client.h
@@ -1,5 +1,5 @@
/*
- * "$Id: client.h 10374 2012-03-22 20:30:20Z mike $"
+ * "$Id: client.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Client definitions for the CUPS scheduler.
*
@@ -140,5 +140,5 @@ extern int cupsdStartTLS(cupsd_client_t *con);
/*
- * End of "$Id: client.h 10374 2012-03-22 20:30:20Z mike $".
+ * End of "$Id: client.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/colorman.c b/scheduler/colorman.c
index 35ef9ddd..e076a6ad 100644
--- a/scheduler/colorman.c
+++ b/scheduler/colorman.c
@@ -1,5 +1,5 @@
/*
- * "$Id: colorman.c 10949 2013-04-18 14:26:43Z mike $"
+ * "$Id: colorman.c 4297 2013-05-10 16:04:59Z msweet $"
*
* Color management routines for the CUPS scheduler.
*
@@ -1524,5 +1524,5 @@ colord_unregister_printer(
/*
- * End of "$Id: colorman.c 10949 2013-04-18 14:26:43Z mike $".
+ * End of "$Id: colorman.c 4297 2013-05-10 16:04:59Z msweet $".
*/
diff --git a/scheduler/colorman.h b/scheduler/colorman.h
index 1a8493c5..3360fd4e 100644
--- a/scheduler/colorman.h
+++ b/scheduler/colorman.h
@@ -1,5 +1,5 @@
/*
- * "$Id: colorman.h 10490 2012-05-21 17:40:22Z mike $"
+ * "$Id: colorman.h 3833 2012-05-23 22:51:18Z msweet $"
*
* Color management definitions for the CUPS scheduler.
*
@@ -24,5 +24,5 @@ extern void cupsdUnregisterColor(cupsd_printer_t *p);
/*
- * End of "$Id: colorman.h 10490 2012-05-21 17:40:22Z mike $".
+ * End of "$Id: colorman.h 3833 2012-05-23 22:51:18Z msweet $".
*/
diff --git a/scheduler/conf.c b/scheduler/conf.c
index d73899ad..3863c4d8 100644
--- a/scheduler/conf.c
+++ b/scheduler/conf.c
@@ -1,5 +1,5 @@
/*
- * "$Id: conf.c 10928 2013-04-01 16:51:23Z mike $"
+ * "$Id: conf.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Configuration routines for the CUPS scheduler.
*
@@ -4079,5 +4079,5 @@ set_policy_defaults(cupsd_policy_t *pol)/* I - Policy */
/*
- * End of "$Id: conf.c 10928 2013-04-01 16:51:23Z mike $".
+ * End of "$Id: conf.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/conf.h b/scheduler/conf.h
index 21d3290c..a1729d3d 100644
--- a/scheduler/conf.h
+++ b/scheduler/conf.h
@@ -1,5 +1,5 @@
/*
- * "$Id: conf.h 10709 2012-11-26 18:25:58Z mike $"
+ * "$Id: conf.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Configuration file definitions for the CUPS scheduler.
*
@@ -295,5 +295,5 @@ extern int cupsdWriteErrorLog(int level, const char *message);
/*
- * End of "$Id: conf.h 10709 2012-11-26 18:25:58Z mike $".
+ * End of "$Id: conf.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/cups-deviced.c b/scheduler/cups-deviced.c
index aa06ed3c..80fc7da1 100644
--- a/scheduler/cups-deviced.c
+++ b/scheduler/cups-deviced.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cups-deviced.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: cups-deviced.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Device scanning mini-daemon for CUPS.
*
@@ -806,5 +806,5 @@ start_backend(const char *name, /* I - Backend to run */
/*
- * End of "$Id: cups-deviced.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: cups-deviced.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/cups-driverd.cxx b/scheduler/cups-driverd.cxx
index 3e19413b..1439af78 100644
--- a/scheduler/cups-driverd.cxx
+++ b/scheduler/cups-driverd.cxx
@@ -1,5 +1,5 @@
/*
- * "$Id: cups-driverd.cxx 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: cups-driverd.cxx 3933 2012-10-01 03:01:10Z msweet $"
*
* PPD/driver support for CUPS.
*
@@ -2947,5 +2947,5 @@ regex_string(const char *s) /* I - String to compare */
/*
- * End of "$Id: cups-driverd.cxx 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: cups-driverd.cxx 3933 2012-10-01 03:01:10Z msweet $".
*/
diff --git a/scheduler/cups-exec.c b/scheduler/cups-exec.c
index 71f46b80..004045fb 100644
--- a/scheduler/cups-exec.c
+++ b/scheduler/cups-exec.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cups-exec.c 10934 2013-04-03 13:41:04Z mike $"
+ * "$Id: cups-exec.c 4274 2013-04-09 20:10:23Z msweet $"
*
* Sandbox helper for CUPS.
*
@@ -105,5 +105,5 @@ main(int argc, /* I - Number of command-line args */
/*
- * End of "$Id: cups-exec.c 10934 2013-04-03 13:41:04Z mike $".
+ * End of "$Id: cups-exec.c 4274 2013-04-09 20:10:23Z msweet $".
*/
diff --git a/scheduler/cups-lpd.c b/scheduler/cups-lpd.c
index b2fde688..fc80ada1 100644
--- a/scheduler/cups-lpd.c
+++ b/scheduler/cups-lpd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cups-lpd.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: cups-lpd.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Line Printer Daemon interface for CUPS.
*
@@ -1622,5 +1622,5 @@ smart_gets(char *s, /* I - Pointer to line buffer */
/*
- * End of "$Id: cups-lpd.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: cups-lpd.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/cups.sh.in b/scheduler/cups.sh.in
index ac9e2f62..77557645 100644
--- a/scheduler/cups.sh.in
+++ b/scheduler/cups.sh.in
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: cups.sh.in 10632 2012-10-01 04:07:51Z mike $"
+# "$Id: cups.sh.in 3940 2012-10-15 21:02:10Z msweet $"
#
# Startup/shutdown script for CUPS.
#
@@ -221,5 +221,5 @@ exit 0
#
-# End of "$Id: cups.sh.in 10632 2012-10-01 04:07:51Z mike $".
+# End of "$Id: cups.sh.in 3940 2012-10-15 21:02:10Z msweet $".
#
diff --git a/scheduler/cups.xml.in b/scheduler/cups.xml.in
index ba614ceb..ac635850 100644
--- a/scheduler/cups.xml.in
+++ b/scheduler/cups.xml.in
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
- $Id: cups.xml.in 9197 2010-07-08 17:23:08Z mike $
+ $Id: cups.xml.in 2309 2010-07-08 20:45:48Z msweet $
Service manifest for CUPS.
diff --git a/scheduler/cupsd.h b/scheduler/cupsd.h
index d8d0239b..379def64 100644
--- a/scheduler/cupsd.h
+++ b/scheduler/cupsd.h
@@ -1,5 +1,5 @@
/*
- * "$Id: cupsd.h 10885 2013-03-08 00:45:54Z mike $"
+ * "$Id: cupsd.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Main header file for the CUPS scheduler.
*
@@ -231,5 +231,5 @@ extern void cupsdStopServer(void);
/*
- * End of "$Id: cupsd.h 10885 2013-03-08 00:45:54Z mike $".
+ * End of "$Id: cupsd.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/cupsfilter.c b/scheduler/cupsfilter.c
index b047be7f..51845af6 100644
--- a/scheduler/cupsfilter.c
+++ b/scheduler/cupsfilter.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cupsfilter.c 10937 2013-04-03 16:16:46Z mike $"
+ * "$Id: cupsfilter.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Filtering program for CUPS.
*
@@ -1500,5 +1500,5 @@ usage(const char *opt) /* I - Incorrect option, if any */
/*
- * End of "$Id: cupsfilter.c 10937 2013-04-03 16:16:46Z mike $".
+ * End of "$Id: cupsfilter.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/dirsvc.c b/scheduler/dirsvc.c
index 5a35d9b5..0b5c5962 100644
--- a/scheduler/dirsvc.c
+++ b/scheduler/dirsvc.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dirsvc.c 10672 2012-11-01 00:57:55Z mike $"
+ * "$Id: dirsvc.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Directory services routines for the CUPS scheduler.
*
@@ -1668,5 +1668,5 @@ update_smb(int onoff) /* I - 1 = turn on, 0 = turn off */
/*
- * End of "$Id: dirsvc.c 10672 2012-11-01 00:57:55Z mike $".
+ * End of "$Id: dirsvc.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/dirsvc.h b/scheduler/dirsvc.h
index a4ffdbef..1326f8ab 100644
--- a/scheduler/dirsvc.h
+++ b/scheduler/dirsvc.h
@@ -1,5 +1,5 @@
/*
- * "$Id: dirsvc.h 10415 2012-04-16 23:26:18Z mike $"
+ * "$Id: dirsvc.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Directory services definitions for the CUPS scheduler.
*
@@ -80,5 +80,5 @@ extern void cupsdUpdateDNSSDName(void);
/*
- * End of "$Id: dirsvc.h 10415 2012-04-16 23:26:18Z mike $".
+ * End of "$Id: dirsvc.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/env.c b/scheduler/env.c
index 9ee83bcd..620c99c0 100644
--- a/scheduler/env.c
+++ b/scheduler/env.c
@@ -1,5 +1,5 @@
/*
- * "$Id: env.c 10485 2012-05-18 20:17:41Z mike $"
+ * "$Id: env.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Environment management routines for the CUPS scheduler.
*
@@ -269,5 +269,5 @@ find_env(const char *name) /* I - Variable name */
/*
- * End of "$Id: env.c 10485 2012-05-18 20:17:41Z mike $".
+ * End of "$Id: env.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/file.c b/scheduler/file.c
index 895c73a3..75df6a18 100644
--- a/scheduler/file.c
+++ b/scheduler/file.c
@@ -1,5 +1,5 @@
/*
- * "$Id: file.c 10885 2013-03-08 00:45:54Z mike $"
+ * "$Id: file.c 4216 2013-03-11 13:57:36Z msweet $"
*
* File functions for the CUPS scheduler.
*
@@ -438,5 +438,5 @@ overwrite_data(int fd, /* I - File descriptor */
/*
- * End of "$Id: file.c 10885 2013-03-08 00:45:54Z mike $".
+ * End of "$Id: file.c 4216 2013-03-11 13:57:36Z msweet $".
*/
diff --git a/scheduler/filter.c b/scheduler/filter.c
index 5cde777e..eec96119 100644
--- a/scheduler/filter.c
+++ b/scheduler/filter.c
@@ -1,5 +1,5 @@
/*
- * "$Id: filter.c 9705 2011-04-22 04:38:28Z mike $"
+ * "$Id: filter.c 10996 2013-05-29 11:51:34Z msweet $"
*
* File type conversion routines for CUPS.
*
@@ -500,5 +500,5 @@ mime_find_filters(
/*
- * End of "$Id: filter.c 9705 2011-04-22 04:38:28Z mike $".
+ * End of "$Id: filter.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
index db31154a..0963e5c5 100644
--- a/scheduler/ipp.c
+++ b/scheduler/ipp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp.c 10898 2013-03-11 18:37:27Z mike $"
+ * "$Id: ipp.c 10998 2013-05-30 00:41:43Z msweet $"
*
* IPP routines for the CUPS scheduler.
*
@@ -707,17 +707,13 @@ cupsdProcessIPPRequest(
>= IPP_BAD_REQUEST &&
con->response->request.status.status_code
!= IPP_NOT_FOUND ? CUPSD_LOG_ERROR : CUPSD_LOG_DEBUG,
- "Returning IPP %s for %s (%s) from %s",
+ "[Client %d] Returning IPP %s for %s (%s) from %s",
+ con->http.fd,
ippErrorString(con->response->request.status.status_code),
ippOpString(con->request->request.op.operation_id),
uri ? uri->values[0].string.text : "no URI",
con->http.hostname);
- if (LogLevel == CUPSD_LOG_DEBUG2)
- cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "cupsdProcessIPPRequest: ippLength(response)=%ld",
- (long)ippLength(con->response));
-
if (cupsdSendHeader(con, HTTP_OK, "application/ipp", CUPSD_AUTH_NONE))
{
#ifdef CUPSD_USE_CHUNKING
@@ -731,6 +727,10 @@ cupsdProcessIPPRequest(
if (con->http.version == HTTP_1_1)
{
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "[Client %d] Transfer-Encoding: chunked",
+ con->http.fd);
+
if (httpPrintf(HTTP(con), "Transfer-Encoding: chunked\r\n\r\n") < 0)
return (0);
@@ -755,6 +755,9 @@ cupsdProcessIPPRequest(
length += fileinfo.st_size;
}
+ cupsdLogMessage(CUPSD_LOG_DEBUG,
+ "[Client %d] Content-Length: " CUPS_LLFMT,
+ con->http.fd, CUPS_LLCAST length);
if (httpPrintf(HTTP(con), "Content-Length: " CUPS_LLFMT "\r\n\r\n",
CUPS_LLCAST length) < 0)
return (0);
@@ -9043,7 +9046,7 @@ save_auth_info(
fchown(cupsFileNumber(fp), 0, 0);
fchmod(cupsFileNumber(fp), 0400);
- cupsFilePuts(fp, "CUPSD-AUTH-V2\n");
+ cupsFilePuts(fp, "CUPSD-AUTH-V3\n");
for (i = 0;
i < (int)(sizeof(job->auth_env) / sizeof(job->auth_env[0]));
@@ -9061,9 +9064,15 @@ save_auth_info(
i < (int)(sizeof(job->auth_env) / sizeof(job->auth_env[0]));
i ++)
{
- httpEncode64_2(line, sizeof(line), auth_info->values[i].string.text,
- strlen(auth_info->values[i].string.text));
- cupsFilePutConf(fp, dest->auth_info_required[i], line);
+ if (strcmp(dest->auth_info_required[i], "negotiate"))
+ {
+ httpEncode64_2(line, sizeof(line), auth_info->values[i].string.text,
+ strlen(auth_info->values[i].string.text));
+ cupsFilePutConf(fp, dest->auth_info_required[i], line);
+ }
+ else
+ cupsFilePutConf(fp, dest->auth_info_required[i],
+ auth_info->values[i].string.text);
if (!strcmp(dest->auth_info_required[i], "username"))
cupsdSetStringf(job->auth_env + i, "AUTH_USERNAME=%s",
@@ -9576,8 +9585,8 @@ send_http_error(
uri = ippFindAttribute(con->request, "job-uri", IPP_TAG_URI);
cupsdLogMessage(status == HTTP_FORBIDDEN ? CUPSD_LOG_ERROR : CUPSD_LOG_DEBUG,
- "Returning HTTP %s for %s (%s) from %s",
- httpStatus(status),
+ "[Client %d] Returning HTTP %s for %s (%s) from %s",
+ con->http.fd, httpStatus(status),
con->request ?
ippOpString(con->request->request.op.operation_id) :
"no operation-id",
@@ -11071,5 +11080,5 @@ validate_user(cupsd_job_t *job, /* I - Job */
/*
- * End of "$Id: ipp.c 10898 2013-03-11 18:37:27Z mike $".
+ * End of "$Id: ipp.c 10998 2013-05-30 00:41:43Z msweet $".
*/
diff --git a/scheduler/job.c b/scheduler/job.c
index ffb224a5..968b70e7 100644
--- a/scheduler/job.c
+++ b/scheduler/job.c
@@ -1,5 +1,5 @@
/*
- * "$Id: job.c 10923 2013-03-20 19:42:29Z mike $"
+ * "$Id: job.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Job management routines for the CUPS scheduler.
*
@@ -1956,7 +1956,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - Job */
if (cupsFileGets(fp, line, sizeof(line)) &&
- !strcmp(line, "CUPSD-AUTH-V2"))
+ !strcmp(line, "CUPSD-AUTH-V3"))
{
i = 0;
while (cupsFileGetConf(fp, line, sizeof(line), &value, &linenum))
@@ -1965,8 +1965,11 @@ cupsdLoadJob(cupsd_job_t *job) /* I - Job */
* Decode value...
*/
- bytes = sizeof(data);
- httpDecode64_2(data, &bytes, value);
+ if (strcmp(line, "negotiate") && strcmp(line, "uid"))
+ {
+ bytes = sizeof(data);
+ httpDecode64_2(data, &bytes, value);
+ }
/*
* Assign environment variables...
@@ -1987,7 +1990,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - Job */
else if (!strcmp(line, "password"))
cupsdSetStringf(job->auth_env + i, "AUTH_PASSWORD=%s", data);
else if (!strcmp(line, "negotiate"))
- cupsdSetStringf(job->auth_env + i, "AUTH_NEGOTIATE=%s", data);
+ cupsdSetStringf(job->auth_env + i, "AUTH_NEGOTIATE=%s", value);
else
continue;
@@ -5197,5 +5200,5 @@ update_job_attrs(cupsd_job_t *job, /* I - Job to update */
/*
- * End of "$Id: job.c 10923 2013-03-20 19:42:29Z mike $".
+ * End of "$Id: job.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/job.h b/scheduler/job.h
index 9c5db0c6..efb0bd29 100644
--- a/scheduler/job.h
+++ b/scheduler/job.h
@@ -1,5 +1,5 @@
/*
- * "$Id: job.h 10502 2012-05-23 01:36:50Z mike $"
+ * "$Id: job.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Print job definitions for the CUPS scheduler.
*
@@ -171,5 +171,5 @@ extern void cupsdUpdateJobs(void);
/*
- * End of "$Id: job.h 10502 2012-05-23 01:36:50Z mike $".
+ * End of "$Id: job.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/listen.c b/scheduler/listen.c
index 5acd77dc..997956c8 100644
--- a/scheduler/listen.c
+++ b/scheduler/listen.c
@@ -1,5 +1,5 @@
/*
- * "$Id: listen.c 10672 2012-11-01 00:57:55Z mike $"
+ * "$Id: listen.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Server listening routines for the CUPS scheduler.
*
@@ -427,5 +427,5 @@ cupsdStopListening(void)
/*
- * End of "$Id: listen.c 10672 2012-11-01 00:57:55Z mike $".
+ * End of "$Id: listen.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/log.c b/scheduler/log.c
index e5079766..366d7884 100644
--- a/scheduler/log.c
+++ b/scheduler/log.c
@@ -1,5 +1,5 @@
/*
- * "$Id: log.c 10751 2012-12-12 18:02:06Z mike $"
+ * "$Id: log.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Log file routines for the CUPS scheduler.
*
@@ -1103,5 +1103,5 @@ format_log_line(const char *message, /* I - Printf-style format string */
/*
- * End of "$Id: log.c 10751 2012-12-12 18:02:06Z mike $".
+ * End of "$Id: log.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/main.c b/scheduler/main.c
index 585c531a..24d675f1 100644
--- a/scheduler/main.c
+++ b/scheduler/main.c
@@ -1,5 +1,5 @@
/*
- * "$Id: main.c 10775 2012-12-17 22:15:39Z mike $"
+ * "$Id: main.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Main loop for the CUPS scheduler.
*
@@ -1285,7 +1285,7 @@ cupsdSetStringf(char **s, /* O - New string */
const char *f, /* I - Printf-style format string */
...) /* I - Additional args as needed */
{
- char v[4096]; /* Formatting string value */
+ char v[65536 + 64]; /* Formatting string value */
va_list ap; /* Argument pointer */
char *olds; /* Old string */
@@ -2025,5 +2025,5 @@ usage(int status) /* O - Exit status */
/*
- * End of "$Id: main.c 10775 2012-12-17 22:15:39Z mike $".
+ * End of "$Id: main.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/mime-private.h b/scheduler/mime-private.h
index 54648847..078953db 100644
--- a/scheduler/mime-private.h
+++ b/scheduler/mime-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: mime-private.h 9950 2011-09-01 23:02:24Z mike $"
+ * "$Id: mime-private.h 3411 2011-09-07 22:31:27Z msweet $"
*
* Private MIME type/conversion database definitions for CUPS.
*
@@ -41,5 +41,5 @@ extern void _mimeError(mime_t *mime, const char *format, ...)
#endif /* !_CUPS_MIME_PRIVATE_H_ */
/*
- * End of "$Id: mime-private.h 9950 2011-09-01 23:02:24Z mike $".
+ * End of "$Id: mime-private.h 3411 2011-09-07 22:31:27Z msweet $".
*/
diff --git a/scheduler/mime.c b/scheduler/mime.c
index 1930dc04..158ccfa4 100644
--- a/scheduler/mime.c
+++ b/scheduler/mime.c
@@ -1,5 +1,5 @@
/*
- * "$Id: mime.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: mime.c 10996 2013-05-29 11:51:34Z msweet $"
*
* MIME database file routines for CUPS.
*
@@ -956,5 +956,5 @@ mime_load_types(mime_t *mime, /* I - MIME database */
/*
- * End of "$Id: mime.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: mime.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/mime.h b/scheduler/mime.h
index c9e21473..e193a3a7 100644
--- a/scheduler/mime.h
+++ b/scheduler/mime.h
@@ -1,5 +1,5 @@
/*
- * "$Id: mime.h 9750 2011-05-06 22:53:53Z mike $"
+ * "$Id: mime.h 10996 2013-05-29 11:51:34Z msweet $"
*
* MIME type/conversion database definitions for CUPS.
*
@@ -158,5 +158,5 @@ extern void mimeSetErrorCallback(mime_t *mime, mime_error_cb_t cb,
#endif /* !_CUPS_MIME_H_ */
/*
- * End of "$Id: mime.h 9750 2011-05-06 22:53:53Z mike $".
+ * End of "$Id: mime.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/network.c b/scheduler/network.c
index e5c29d46..cd272f6d 100644
--- a/scheduler/network.c
+++ b/scheduler/network.c
@@ -1,5 +1,5 @@
/*
- * "$Id: network.c 10672 2012-11-01 00:57:55Z mike $"
+ * "$Id: network.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Network interface functions for the CUPS scheduler.
*
@@ -296,5 +296,5 @@ compare_netif(cupsd_netif_t *a, /* I - First network interface */
/*
- * End of "$Id: network.c 10672 2012-11-01 00:57:55Z mike $".
+ * End of "$Id: network.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/network.h b/scheduler/network.h
index f16a06b0..411a6d20 100644
--- a/scheduler/network.h
+++ b/scheduler/network.h
@@ -1,5 +1,5 @@
/*
- * "$Id: network.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: network.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Network interface definitions for the CUPS scheduler.
*
@@ -48,5 +48,5 @@ extern void cupsdNetIFUpdate(void);
/*
- * End of "$Id: network.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: network.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/policy.c b/scheduler/policy.c
index fb29ce05..72e4923f 100644
--- a/scheduler/policy.c
+++ b/scheduler/policy.c
@@ -1,5 +1,5 @@
/*
- * "$Id: policy.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: policy.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Policy routines for the CUPS scheduler.
*
@@ -513,5 +513,5 @@ hash_op(cupsd_location_t *op) /* I - Operation */
/*
- * End of "$Id: policy.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: policy.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/policy.h b/scheduler/policy.h
index f718777d..8af88f55 100644
--- a/scheduler/policy.h
+++ b/scheduler/policy.h
@@ -1,5 +1,5 @@
/*
- * "$Id: policy.h 9352 2010-11-06 04:55:26Z mike $"
+ * "$Id: policy.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Policy definitions for the CUPS scheduler.
*
@@ -59,5 +59,5 @@ extern cups_array_t *cupsdGetPrivateAttrs(cupsd_policy_t *p,
/*
- * End of "$Id: policy.h 9352 2010-11-06 04:55:26Z mike $".
+ * End of "$Id: policy.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/printers.c b/scheduler/printers.c
index a4677926..b99ff8d0 100644
--- a/scheduler/printers.c
+++ b/scheduler/printers.c
@@ -1,5 +1,5 @@
/*
- * "$Id: printers.c 10897 2013-03-11 18:01:44Z mike $"
+ * "$Id: printers.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Printer routines for the CUPS scheduler.
*
@@ -5034,5 +5034,5 @@ write_xml_string(cups_file_t *fp, /* I - File to write to */
/*
- * End of "$Id: printers.c 10897 2013-03-11 18:01:44Z mike $".
+ * End of "$Id: printers.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/printers.h b/scheduler/printers.h
index 4a0089a1..dcfcaa46 100644
--- a/scheduler/printers.h
+++ b/scheduler/printers.h
@@ -1,5 +1,5 @@
/*
- * "$Id: printers.h 10467 2012-05-16 03:35:54Z mike $"
+ * "$Id: printers.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Printer definitions for the CUPS scheduler.
*
@@ -189,5 +189,5 @@ extern void cupsdWritePrintcap(void);
/*
- * End of "$Id: printers.h 10467 2012-05-16 03:35:54Z mike $".
+ * End of "$Id: printers.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/process.c b/scheduler/process.c
index c566590c..fdadedfd 100644
--- a/scheduler/process.c
+++ b/scheduler/process.c
@@ -1,5 +1,5 @@
/*
- * "$Id: process.c 10747 2012-12-11 19:24:22Z mike $"
+ * "$Id: process.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Process management routines for the CUPS scheduler.
*
@@ -655,5 +655,5 @@ cupsd_requote(char *dst, /* I - Destination buffer */
/*
- * End of "$Id: process.c 10747 2012-12-11 19:24:22Z mike $".
+ * End of "$Id: process.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/quotas.c b/scheduler/quotas.c
index 5051756c..ae8b88f4 100644
--- a/scheduler/quotas.c
+++ b/scheduler/quotas.c
@@ -1,5 +1,5 @@
/*
- * "$Id: quotas.c 9793 2011-05-20 03:49:49Z mike $"
+ * "$Id: quotas.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Quota routines for the CUPS scheduler.
*
@@ -240,5 +240,5 @@ compare_quotas(const cupsd_quota_t *q1, /* I - First quota record */
/*
- * End of "$Id: quotas.c 9793 2011-05-20 03:49:49Z mike $".
+ * End of "$Id: quotas.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/select.c b/scheduler/select.c
index f74f64ba..c442839c 100644
--- a/scheduler/select.c
+++ b/scheduler/select.c
@@ -1,5 +1,5 @@
/*
- * "$Id: select.c 10632 2012-10-01 04:07:51Z mike $"
+ * "$Id: select.c 10999 2013-05-30 00:48:16Z msweet $"
*
* Select abstraction functions for the CUPS scheduler.
*
@@ -30,6 +30,7 @@
*/
#include "cupsd.h"
+#undef HAVE_KQUEUE
#ifdef HAVE_EPOLL
# include <sys/epoll.h>
@@ -812,7 +813,7 @@ cupsdRemoveSelect(int fd) /* I - File descriptor */
void
cupsdStartSelect(void)
{
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdStartSelect()");
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdStartSelect()");
cupsd_fds = cupsArrayNew((cups_array_func_t)compare_fds, NULL);
@@ -850,7 +851,7 @@ cupsdStopSelect(void)
_cupsd_fd_t *fdptr; /* Current file descriptor */
- cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdStopSelect()");
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdStopSelect()");
for (fdptr = (_cupsd_fd_t *)cupsArrayFirst(cupsd_fds);
fdptr;
@@ -946,5 +947,5 @@ find_fd(int fd) /* I - File descriptor */
/*
- * End of "$Id: select.c 10632 2012-10-01 04:07:51Z mike $".
+ * End of "$Id: select.c 10999 2013-05-30 00:48:16Z msweet $".
*/
diff --git a/scheduler/server.c b/scheduler/server.c
index 32ffafef..dfe03d2a 100644
--- a/scheduler/server.c
+++ b/scheduler/server.c
@@ -1,5 +1,5 @@
/*
- * "$Id: server.c 10490 2012-05-21 17:40:22Z mike $"
+ * "$Id: server.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Server start/stop routines for the CUPS scheduler.
*
@@ -180,5 +180,5 @@ cupsdStopServer(void)
/*
- * End of "$Id: server.c 10490 2012-05-21 17:40:22Z mike $".
+ * End of "$Id: server.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/statbuf.c b/scheduler/statbuf.c
index feb26b35..a3f32f09 100644
--- a/scheduler/statbuf.c
+++ b/scheduler/statbuf.c
@@ -1,5 +1,5 @@
/*
- * "$Id: statbuf.c 10647 2012-10-16 00:47:35Z mike $"
+ * "$Id: statbuf.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Status buffer routines for the CUPS scheduler.
*
@@ -331,5 +331,5 @@ cupsdStatBufUpdate(
/*
- * End of "$Id: statbuf.c 10647 2012-10-16 00:47:35Z mike $".
+ * End of "$Id: statbuf.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/statbuf.h b/scheduler/statbuf.h
index acb793dd..68bf2060 100644
--- a/scheduler/statbuf.h
+++ b/scheduler/statbuf.h
@@ -1,5 +1,5 @@
/*
- * "$Id: statbuf.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: statbuf.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Status buffer definitions for the CUPS scheduler.
*
@@ -45,5 +45,5 @@ extern char *cupsdStatBufUpdate(cupsd_statbuf_t *sb, int *loglevel,
/*
- * End of "$Id: statbuf.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: statbuf.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/subscriptions.c b/scheduler/subscriptions.c
index b6be4c8f..79d75580 100644
--- a/scheduler/subscriptions.c
+++ b/scheduler/subscriptions.c
@@ -1,5 +1,5 @@
/*
- * "$Id: subscriptions.c 10253 2012-02-11 22:10:54Z mike $"
+ * "$Id: subscriptions.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Subscription routines for the CUPS scheduler.
*
@@ -1638,5 +1638,5 @@ cupsd_update_notifier(void)
/*
- * End of "$Id: subscriptions.c 10253 2012-02-11 22:10:54Z mike $".
+ * End of "$Id: subscriptions.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/subscriptions.h b/scheduler/subscriptions.h
index 20d59b7b..867a1c6e 100644
--- a/scheduler/subscriptions.h
+++ b/scheduler/subscriptions.h
@@ -1,5 +1,5 @@
/*
- * "$Id: subscriptions.h 9350 2010-11-04 23:23:25Z mike $"
+ * "$Id: subscriptions.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Subscription definitions for the CUPS scheduler.
*
@@ -162,5 +162,5 @@ extern void cupsdStopAllNotifiers(void);
/*
- * End of "$Id: subscriptions.h 9350 2010-11-04 23:23:25Z mike $".
+ * End of "$Id: subscriptions.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/sysman.c b/scheduler/sysman.c
index 2a7258ab..d3fd5f60 100644
--- a/scheduler/sysman.c
+++ b/scheduler/sysman.c
@@ -1,9 +1,9 @@
/*
- * "$Id: sysman.c 10471 2012-05-16 22:57:03Z mike $"
+ * "$Id: sysman.c 11106 2013-07-08 12:29:10Z msweet $"
*
* System management functions for the CUPS scheduler.
*
- * Copyright 2007-2011 by Apple Inc.
+ * Copyright 2007-2013 by Apple Inc.
* Copyright 2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -44,6 +44,8 @@
# include <IOKit/pwr_mgt/IOPMLib.h>
# ifdef HAVE_IOKIT_PWR_MGT_IOPMLIBPRIVATE_H
# include <IOKit/pwr_mgt/IOPMLibPrivate.h>
+# else
+# define kIOPMAssertionTypeDenySystemSleep CFSTR("DenySystemSleep")
# endif /* HAVE_IOKIT_PWR_MGT_IOPMLIBPRIVATE_H */
#endif /* __APPLE__ */
@@ -69,9 +71,9 @@
* Local globals...
*/
-#ifdef kIOPMAssertionTypeDenySystemSleep
-static IOPMAssertionID dark_wake = 0; /* "Dark wake" assertion for sharing */
-#endif /* kIOPMAssertionTypeDenySystemSleep */
+#if defined(kIOPMAssertionTypeDenySystemSleep) || defined(kIOPMAssertNetworkClientActive)
+static IOPMAssertionID keep_awake = 0; /* Keep the system awake while printing */
+#endif /* kIOPMAssertionTypeDenySystemSleep || kIOPMAssertNetworkClientActive */
/*
@@ -215,21 +217,32 @@ cupsdSetBusyState(void)
#endif /* HAVE_VPROC_TRANSACTION_BEGIN */
}
-#ifdef kIOPMAssertionTypeDenySystemSleep
- if (cupsArrayCount(PrintingJobs) > 0 && !dark_wake)
+#if defined(kIOPMAssertionTypeDenySystemSleep) || defined(kIOPMAssertNetworkClientActive)
+ if (cupsArrayCount(PrintingJobs) > 0 && !keep_awake)
{
- cupsdLogMessage(CUPSD_LOG_DEBUG, "Asserting dark wake.");
+# ifdef kIOPMAssertNetworkClientActive
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "Asserting NetworkClientActive.");
+
+ IOPMAssertionCreateWithName(kIOPMAssertNetworkClientActive,
+ kIOPMAssertionLevelOn,
+ CFSTR("org.cups.cupsd"), &keep_awake);
+
+# else
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "Asserting DenySystemSleep.");
+
IOPMAssertionCreateWithName(kIOPMAssertionTypeDenySystemSleep,
kIOPMAssertionLevelOn,
- CFSTR("org.cups.cupsd"), &dark_wake);
+ CFSTR("org.cups.cupsd"), &keep_awake);
+
+# endif /* kIOPMAssertNetworkClientActive */
}
- else if (cupsArrayCount(PrintingJobs) == 0 && dark_wake)
+ else if (cupsArrayCount(PrintingJobs) == 0 && keep_awake)
{
- cupsdLogMessage(CUPSD_LOG_DEBUG, "Releasing dark wake assertion.");
- IOPMAssertionRelease(dark_wake);
- dark_wake = 0;
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "Releasing power assertion.");
+ IOPMAssertionRelease(keep_awake);
+ keep_awake = 0;
}
-#endif /* kIOPMAssertionTypeDenySystemSleep */
+#endif /* kIOPMAssertionTypeDenySystemSleep || kIOPMAssertNetworkClientActive */
}
@@ -874,11 +887,11 @@ sysUpdate(void)
* sleep (different than idle sleep)...
*/
- if (dark_wake)
+ if (keep_awake)
{
cupsdLogMessage(CUPSD_LOG_DEBUG, "Releasing dark wake assertion.");
- IOPMAssertionRelease(dark_wake);
- dark_wake = 0;
+ IOPMAssertionRelease(keep_awake);
+ keep_awake = 0;
}
#endif /* kIOPMAssertionTypeDenySystemSleep */
@@ -935,12 +948,12 @@ sysUpdate(void)
Sleeping = 0;
#ifdef kIOPMAssertionTypeDenySystemSleep
- if (cupsArrayCount(PrintingJobs) > 0 && !dark_wake)
+ if (cupsArrayCount(PrintingJobs) > 0 && !keep_awake)
{
cupsdLogMessage(CUPSD_LOG_DEBUG, "Asserting dark wake.");
IOPMAssertionCreateWithName(kIOPMAssertionTypeDenySystemSleep,
kIOPMAssertionLevelOn,
- CFSTR("org.cups.cupsd"), &dark_wake);
+ CFSTR("org.cups.cupsd"), &keep_awake);
}
#endif /* kIOPMAssertionTypeDenySystemSleep */
@@ -1002,5 +1015,5 @@ sysUpdate(void)
/*
- * End of "$Id: sysman.c 10471 2012-05-16 22:57:03Z mike $".
+ * End of "$Id: sysman.c 11106 2013-07-08 12:29:10Z msweet $".
*/
diff --git a/scheduler/sysman.h b/scheduler/sysman.h
index 18974bb7..b911feb9 100644
--- a/scheduler/sysman.h
+++ b/scheduler/sysman.h
@@ -1,5 +1,5 @@
/*
- * "$Id: sysman.h 10104 2011-11-04 06:37:03Z mike $"
+ * "$Id: sysman.h 10996 2013-05-29 11:51:34Z msweet $"
*
* System management definitions for the CUPS scheduler.
*
@@ -60,5 +60,5 @@ extern void cupsdStopSystemMonitor(void);
/*
- * End of "$Id: sysman.h 10104 2011-11-04 06:37:03Z mike $".
+ * End of "$Id: sysman.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/testlpd.c b/scheduler/testlpd.c
index d67392e3..da86fa7a 100644
--- a/scheduler/testlpd.c
+++ b/scheduler/testlpd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testlpd.c 10884 2013-03-07 22:03:22Z mike $"
+ * "$Id: testlpd.c 10996 2013-05-29 11:51:34Z msweet $"
*
* cups-lpd test program for CUPS.
*
@@ -546,5 +546,5 @@ usage(void)
/*
- * End of "$Id: testlpd.c 10884 2013-03-07 22:03:22Z mike $".
+ * End of "$Id: testlpd.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/testmime.c b/scheduler/testmime.c
index 7ff4bc00..f42b7df5 100644
--- a/scheduler/testmime.c
+++ b/scheduler/testmime.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testmime.c 10868 2013-02-19 23:51:34Z mike $"
+ * "$Id: testmime.c 10996 2013-05-29 11:51:34Z msweet $"
*
* MIME test program for CUPS.
*
@@ -527,5 +527,5 @@ type_dir(mime_t *mime, /* I - MIME database */
/*
- * End of "$Id: testmime.c 10868 2013-02-19 23:51:34Z mike $".
+ * End of "$Id: testmime.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/testspeed.c b/scheduler/testspeed.c
index 2b449764..3e95f4a6 100644
--- a/scheduler/testspeed.c
+++ b/scheduler/testspeed.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testspeed.c 9950 2011-09-01 23:02:24Z mike $"
+ * "$Id: testspeed.c 10995 2013-05-29 11:51:03Z msweet $"
*
* Scheduler speed test for CUPS.
*
@@ -39,7 +39,7 @@
static int do_test(const char *server, int port,
http_encryption_t encryption, int requests,
- int verbose);
+ const char *opstring, int verbose);
static void usage(void) __attribute__((noreturn));
@@ -66,6 +66,7 @@ main(int argc, /* I - Number of command-line arguments */
end; /* End time */
double elapsed; /* Elapsed time */
int verbose; /* Verbosity */
+ const char *opstring; /* Operation name */
/*
@@ -78,6 +79,7 @@ main(int argc, /* I - Number of command-line arguments */
port = ippPort();
encryption = HTTP_ENCRYPT_IF_REQUESTED;
verbose = 0;
+ opstring = NULL;
for (i = 1; i < argc; i ++)
if (argv[i][0] == '-')
@@ -85,6 +87,10 @@ main(int argc, /* I - Number of command-line arguments */
for (ptr = argv[i] + 1; *ptr; ptr ++)
switch (*ptr)
{
+ case 'E' : /* Enable encryption */
+ encryption = HTTP_ENCRYPT_REQUIRED;
+ break;
+
case 'c' : /* Number of children */
i ++;
if (i >= argc)
@@ -93,16 +99,20 @@ main(int argc, /* I - Number of command-line arguments */
children = atoi(argv[i]);
break;
- case 'r' : /* Number of requests */
+ case 'o' : /* Operation */
i ++;
if (i >= argc)
usage();
- requests = atoi(argv[i]);
+ opstring = argv[i];
break;
- case 'E' : /* Enable encryption */
- encryption = HTTP_ENCRYPT_REQUIRED;
+ case 'r' : /* Number of requests */
+ i ++;
+ if (i >= argc)
+ usage();
+
+ requests = atoi(argv[i]);
break;
case 'v' : /* Verbose logging */
@@ -139,9 +149,10 @@ main(int argc, /* I - Number of command-line arguments */
start = time(NULL);
if (children < 1)
- return (do_test(server, port, encryption, requests, verbose));
+ return (do_test(server, port, encryption, requests, opstring, verbose));
else if (children == 1)
- good_children = do_test(server, port, encryption, requests, verbose) ? 0 : 1;
+ good_children = do_test(server, port, encryption, requests, opstring,
+ verbose) ? 0 : 1;
else
{
char options[255], /* Command-line options for child */
@@ -174,7 +185,12 @@ main(int argc, /* I - Number of command-line arguments */
* Child goes here...
*/
- execlp(argv[0], argv[0], options, "0", reqstr, serverstr, (char *)NULL);
+ if (opstring)
+ execlp(argv[0], argv[0], options, "0", reqstr, "-o", opstring,
+ serverstr, (char *)NULL);
+ else
+ execlp(argv[0], argv[0], options, "0", reqstr, serverstr, (char *)NULL);
+
exit(errno);
}
else if (pid < 0)
@@ -237,6 +253,7 @@ do_test(const char *server, /* I - Server to use */
int port, /* I - Port number to use */
http_encryption_t encryption, /* I - Encryption to use */
int requests, /* I - Number of requests to send */
+ const char *opstring, /* I - Operation string */
int verbose) /* I - Verbose output? */
{
int i; /* Looping var */
@@ -247,9 +264,10 @@ do_test(const char *server, /* I - Server to use */
double reqtime, /* Time for this request */
elapsed; /* Elapsed time */
int op; /* Current operation */
- static ipp_op_t ops[4] = /* Operations to test... */
+ static ipp_op_t ops[5] = /* Operations to test... */
{
IPP_PRINT_JOB,
+ CUPS_GET_DEFAULT,
CUPS_GET_PRINTERS,
CUPS_GET_CLASSES,
IPP_GET_JOBS
@@ -282,7 +300,11 @@ do_test(const char *server, /* I - Server to use */
* In addition, IPP_GET_JOBS needs a printer-uri attribute.
*/
- op = ops[i & 3];
+ if (opstring)
+ op = ippOpValue(opstring);
+ else
+ op = ops[i % (sizeof(ops) / sizeof(ops[0]))];
+
request = ippNewRequest(op);
gettimeofday(&start, NULL);
@@ -353,13 +375,13 @@ do_test(const char *server, /* I - Server to use */
static void
usage(void)
{
- puts("Usage: testspeed [-c children] [-h] [-r requests] [-v] [-E] "
- "hostname[:port]");
+ puts("Usage: testspeed [-c children] [-h] [-o operation] [-r requests] [-v] "
+ "[-E] hostname[:port]");
exit(0);
}
/*
- * End of "$Id: testspeed.c 9950 2011-09-01 23:02:24Z mike $".
+ * End of "$Id: testspeed.c 10995 2013-05-29 11:51:03Z msweet $".
*/
diff --git a/scheduler/testsub.c b/scheduler/testsub.c
index 389b9a44..01458eb1 100644
--- a/scheduler/testsub.c
+++ b/scheduler/testsub.c
@@ -1,5 +1,5 @@
/*
- * "$Id: testsub.c 10299 2012-02-16 00:33:54Z mike $"
+ * "$Id: testsub.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Scheduler notification tester for CUPS.
*
@@ -519,5 +519,5 @@ usage(void)
/*
- * End of "$Id: testsub.c 10299 2012-02-16 00:33:54Z mike $".
+ * End of "$Id: testsub.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/tls-darwin.c b/scheduler/tls-darwin.c
index 97a608b6..78cc3b71 100644
--- a/scheduler/tls-darwin.c
+++ b/scheduler/tls-darwin.c
@@ -1,5 +1,5 @@
/*
- * "$Id: tls-darwin.c 10734 2012-12-07 21:33:22Z mike $"
+ * "$Id: tls-darwin.c 4216 2013-03-11 13:57:36Z msweet $"
*
* TLS support code for the CUPS scheduler on OS X.
*
@@ -428,5 +428,5 @@ make_certificate(cupsd_client_t *con) /* I - Client connection */
/*
- * End of "$Id: tls-darwin.c 10734 2012-12-07 21:33:22Z mike $".
+ * End of "$Id: tls-darwin.c 4216 2013-03-11 13:57:36Z msweet $".
*/
diff --git a/scheduler/tls-gnutls.c b/scheduler/tls-gnutls.c
index 106dc522..5d129c88 100644
--- a/scheduler/tls-gnutls.c
+++ b/scheduler/tls-gnutls.c
@@ -1,5 +1,5 @@
/*
- * "$Id: tls-gnutls.c 10374 2012-03-22 20:30:20Z mike $"
+ * "$Id: tls-gnutls.c 3755 2012-03-30 05:59:14Z msweet $"
*
* TLS support code for the CUPS scheduler using GNU TLS.
*
@@ -288,5 +288,5 @@ make_certificate(cupsd_client_t *con) /* I - Client connection */
/*
- * End of "$Id: tls-gnutls.c 10374 2012-03-22 20:30:20Z mike $".
+ * End of "$Id: tls-gnutls.c 3755 2012-03-30 05:59:14Z msweet $".
*/
diff --git a/scheduler/tls-openssl.c b/scheduler/tls-openssl.c
index f19d28ae..19d3eefb 100644
--- a/scheduler/tls-openssl.c
+++ b/scheduler/tls-openssl.c
@@ -1,5 +1,5 @@
/*
- * "$Id: tls-openssl.c 10374 2012-03-22 20:30:20Z mike $"
+ * "$Id: tls-openssl.c 3755 2012-03-30 05:59:14Z msweet $"
*
* TLS support code for the CUPS scheduler using OpenSSL.
*
@@ -349,5 +349,5 @@ make_certificate(cupsd_client_t *con) /* I - Client connection */
/*
- * End of "$Id: tls-openssl.c 10374 2012-03-22 20:30:20Z mike $".
+ * End of "$Id: tls-openssl.c 3755 2012-03-30 05:59:14Z msweet $".
*/
diff --git a/scheduler/tls.c b/scheduler/tls.c
index 357af741..41a107ab 100644
--- a/scheduler/tls.c
+++ b/scheduler/tls.c
@@ -1,5 +1,5 @@
/*
- * "$Id: tls.c 10377 2012-03-22 21:14:02Z mike $"
+ * "$Id: tls.c 3755 2012-03-30 05:59:14Z msweet $"
*
* TLS support code for the CUPS scheduler.
*
@@ -26,5 +26,5 @@
/*
- * End of "$Id: tls.c 10377 2012-03-22 21:14:02Z mike $".
+ * End of "$Id: tls.c 3755 2012-03-30 05:59:14Z msweet $".
*/
diff --git a/scheduler/type.c b/scheduler/type.c
index 5fd16765..2b986e58 100644
--- a/scheduler/type.c
+++ b/scheduler/type.c
@@ -1,5 +1,5 @@
/*
- * "$Id: type.c 10596 2012-09-07 02:49:46Z mike $"
+ * "$Id: type.c 10996 2013-05-29 11:51:34Z msweet $"
*
* MIME typing routines for CUPS.
*
@@ -1212,5 +1212,5 @@ mime_patmatch(const char *s, /* I - String to match against */
/*
- * End of "$Id: type.c 10596 2012-09-07 02:49:46Z mike $".
+ * End of "$Id: type.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/util.c b/scheduler/util.c
index cad309bf..42d8ce73 100644
--- a/scheduler/util.c
+++ b/scheduler/util.c
@@ -1,5 +1,5 @@
/*
- * "$Id: util.c 10587 2012-08-30 20:22:22Z mike $"
+ * "$Id: util.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Mini-daemon utility functions for CUPS.
*
@@ -467,5 +467,5 @@ cupsdSendIPPTrailer(void)
/*
- * End of "$Id: util.c 10587 2012-08-30 20:22:22Z mike $".
+ * End of "$Id: util.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/scheduler/util.h b/scheduler/util.h
index 0080914f..a0774b4a 100644
--- a/scheduler/util.h
+++ b/scheduler/util.h
@@ -1,5 +1,5 @@
/*
- * "$Id: util.h 9755 2011-05-09 22:53:31Z mike $"
+ * "$Id: util.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Mini-daemon utility definitions for CUPS.
*
@@ -67,5 +67,5 @@ extern void cupsdSendIPPTrailer(void);
#endif /* !_CUPSD_UTIL_H_ */
/*
- * End of "$Id: util.h 9755 2011-05-09 22:53:31Z mike $".
+ * End of "$Id: util.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/Makefile b/systemv/Makefile
index 56e290e4..114190a2 100644
--- a/systemv/Makefile
+++ b/systemv/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# System V commands makefile for CUPS.
#
@@ -290,5 +290,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10726 2012-12-04 18:38:31Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/systemv/cancel.c b/systemv/cancel.c
index b9313dca..02c56911 100644
--- a/systemv/cancel.c
+++ b/systemv/cancel.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cancel.c 10857 2013-02-04 16:47:11Z mike $"
+ * "$Id: cancel.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "cancel" command for CUPS.
*
@@ -383,5 +383,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: cancel.c 10857 2013-02-04 16:47:11Z mike $".
+ * End of "$Id: cancel.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/cupsaccept.c b/systemv/cupsaccept.c
index 8423b11c..67a682cc 100644
--- a/systemv/cupsaccept.c
+++ b/systemv/cupsaccept.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cupsaccept.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: cupsaccept.c 2873 2010-11-30 03:16:24Z msweet $"
*
* "cupsaccept", "cupsdisable", "cupsenable", and "cupsreject" commands for
* CUPS.
@@ -235,5 +235,5 @@ main(int argc, /* I - Number of command-line arguments */
/*
- * End of "$Id: cupsaccept.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: cupsaccept.c 2873 2010-11-30 03:16:24Z msweet $".
*/
diff --git a/systemv/cupsaddsmb.c b/systemv/cupsaddsmb.c
index c307eb2c..48c99aeb 100644
--- a/systemv/cupsaddsmb.c
+++ b/systemv/cupsaddsmb.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cupsaddsmb.c 10431 2012-04-23 19:19:19Z mike $"
+ * "$Id: cupsaddsmb.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "cupsaddsmb" command for CUPS.
*
@@ -295,5 +295,5 @@ usage(void)
/*
- * End of "$Id: cupsaddsmb.c 10431 2012-04-23 19:19:19Z mike $".
+ * End of "$Id: cupsaddsmb.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/cupsctl.c b/systemv/cupsctl.c
index ef1e2565..09d66eab 100644
--- a/systemv/cupsctl.c
+++ b/systemv/cupsctl.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cupsctl.c 10431 2012-04-23 19:19:19Z mike $"
+ * "$Id: cupsctl.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Scheduler control program for CUPS.
*
@@ -223,5 +223,5 @@ usage(const char *opt) /* I - Option character/string */
/*
- * End of "$Id: cupsctl.c 10431 2012-04-23 19:19:19Z mike $".
+ * End of "$Id: cupsctl.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/cupstestdsc.c b/systemv/cupstestdsc.c
index 748cc924..5e2c8095 100644
--- a/systemv/cupstestdsc.c
+++ b/systemv/cupstestdsc.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cupstestdsc.c 9950 2011-09-01 23:02:24Z mike $"
+ * "$Id: cupstestdsc.c 10996 2013-05-29 11:51:34Z msweet $"
*
* DSC test program for CUPS.
*
@@ -438,5 +438,5 @@ usage(void)
/*
- * End of "$Id: cupstestdsc.c 9950 2011-09-01 23:02:24Z mike $".
+ * End of "$Id: cupstestdsc.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/cupstestppd.c b/systemv/cupstestppd.c
index f965167e..6faf67f1 100644
--- a/systemv/cupstestppd.c
+++ b/systemv/cupstestppd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cupstestppd.c 10951 2013-04-18 16:47:13Z mike $"
+ * "$Id: cupstestppd.c 10996 2013-05-29 11:51:34Z msweet $"
*
* PPD test program for CUPS.
*
@@ -3992,5 +3992,5 @@ valid_utf8(const char *s) /* I - String to check */
/*
- * End of "$Id: cupstestppd.c 10951 2013-04-18 16:47:13Z mike $".
+ * End of "$Id: cupstestppd.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/lp.c b/systemv/lp.c
index 99bf333f..24ee4137 100644
--- a/systemv/lp.c
+++ b/systemv/lp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lp.c 10829 2013-01-21 13:12:23Z mike $"
+ * "$Id: lp.c 11101 2013-07-08 11:20:33Z msweet $"
*
* "lp" command for CUPS.
*
@@ -146,7 +146,8 @@ main(int argc, /* I - Number of command-line arguments */
if ((instance = strrchr(printer, '/')) != NULL)
*instance++ = '\0';
- if ((dest = cupsGetNamedDest(NULL, printer, instance)) != NULL)
+ if ((dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer,
+ instance)) != NULL)
{
for (j = 0; j < dest->num_options; j ++)
if (cupsGetOption(dest->options[j].name, num_options,
@@ -155,6 +156,14 @@ main(int argc, /* I - Number of command-line arguments */
dest->options[j].value,
num_options, &options);
}
+ else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+ cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
+ {
+ _cupsLangPrintf(stderr,
+ _("%s: Error - add '/version=1.1' to server "
+ "name."), argv[0]);
+ return (1);
+ }
break;
case 'f' : /* Form */
@@ -567,6 +576,14 @@ main(int argc, /* I - Number of command-line arguments */
dest->options[j].value,
num_options, &options);
}
+ else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+ cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
+ {
+ _cupsLangPrintf(stderr,
+ _("%s: Error - add '/version=1.1' to server "
+ "name."), argv[0]);
+ return (1);
+ }
}
if (printer == NULL)
@@ -679,7 +696,15 @@ restart_job(const char *command, /* I - Command name */
ippDelete(cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/jobs"));
- if (cupsLastError() > IPP_OK_CONFLICT)
+ 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."), command);
+ return (1);
+ }
+ else if (cupsLastError() > IPP_OK_CONFLICT)
{
_cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
return (1);
@@ -720,7 +745,15 @@ set_job_attrs(const char *command, /* I - Command name */
ippDelete(cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/jobs"));
- if (cupsLastError() > IPP_OK_CONFLICT)
+ 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."), command);
+ return (1);
+ }
+ else if (cupsLastError() > IPP_OK_CONFLICT)
{
_cupsLangPrintf(stderr, "%s: %s", command, cupsLastErrorString());
return (1);
@@ -731,5 +764,5 @@ set_job_attrs(const char *command, /* I - Command name */
/*
- * End of "$Id: lp.c 10829 2013-01-21 13:12:23Z mike $".
+ * End of "$Id: lp.c 11101 2013-07-08 11:20:33Z msweet $".
*/
diff --git a/systemv/lpadmin.c b/systemv/lpadmin.c
index 19664206..7c5771fc 100644
--- a/systemv/lpadmin.c
+++ b/systemv/lpadmin.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lpadmin.c 10104 2011-11-04 06:37:03Z mike $"
+ * "$Id: lpadmin.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "lpadmin" command for CUPS.
*
@@ -1514,5 +1514,5 @@ validate_name(const char *name) /* I - Name to check */
/*
- * End of "$Id: lpadmin.c 10104 2011-11-04 06:37:03Z mike $".
+ * End of "$Id: lpadmin.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/lpinfo.c b/systemv/lpinfo.c
index 5bda1c8e..68166151 100644
--- a/systemv/lpinfo.c
+++ b/systemv/lpinfo.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lpinfo.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: lpinfo.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "lpinfo" command for CUPS.
*
@@ -494,5 +494,5 @@ show_models(
/*
- * End of "$Id: lpinfo.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: lpinfo.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/lpmove.c b/systemv/lpmove.c
index 516ef767..aff9d6d5 100644
--- a/systemv/lpmove.c
+++ b/systemv/lpmove.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lpmove.c 9384 2010-11-22 07:06:39Z mike $"
+ * "$Id: lpmove.c 10996 2013-05-29 11:51:34Z msweet $"
*
* "lpmove" command for CUPS.
*
@@ -209,5 +209,5 @@ move_job(http_t *http, /* I - HTTP connection to server */
/*
- * End of "$Id: lpmove.c 9384 2010-11-22 07:06:39Z mike $".
+ * End of "$Id: lpmove.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/lpoptions.c b/systemv/lpoptions.c
index 6b938245..ac815309 100644
--- a/systemv/lpoptions.c
+++ b/systemv/lpoptions.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lpoptions.c 9950 2011-09-01 23:02:24Z mike $"
+ * "$Id: lpoptions.c 10996 2013-05-29 11:51:34Z msweet $"
*
* Printer option program for CUPS.
*
@@ -561,5 +561,5 @@ usage(void)
/*
- * End of "$Id: lpoptions.c 9950 2011-09-01 23:02:24Z mike $".
+ * End of "$Id: lpoptions.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/lppasswd.c b/systemv/lppasswd.c
index efea0212..2da667dd 100644
--- a/systemv/lppasswd.c
+++ b/systemv/lppasswd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: lppasswd.c 9950 2011-09-01 23:02:24Z mike $"
+ * "$Id: lppasswd.c 10996 2013-05-29 11:51:34Z msweet $"
*
* MD5 password program for CUPS.
*
@@ -485,5 +485,5 @@ usage(FILE *fp) /* I - File to send usage to */
/*
- * End of "$Id: lppasswd.c 9950 2011-09-01 23:02:24Z mike $".
+ * End of "$Id: lppasswd.c 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/systemv/lpstat.c b/systemv/lpstat.c
index 7ba6a711..47d92593 100644
--- a/systemv/lpstat.c
+++ b/systemv/lpstat.c
@@ -1,9 +1,9 @@
/*
- * "$Id: lpstat.c 10632 2012-10-01 04:07:51Z mike $"
+ * "$Id: lpstat.c 11101 2013-07-08 11:20:33Z msweet $"
*
* "lpstat" command for CUPS.
*
- * Copyright 2007-2011 by Apple Inc.
+ * Copyright 2007-2013 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -199,6 +199,16 @@ main(int argc, /* I - Number of command-line arguments */
{
cupsFreeDests(num_dests, dests);
num_dests = cupsGetDests(&dests);
+
+ if (num_dests == 0 &&
+ (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);
+ }
}
status |= show_accepting(NULL, num_dests, dests);
@@ -235,6 +245,16 @@ main(int argc, /* I - Number of command-line arguments */
dests = cupsGetNamedDest(CUPS_HTTP_DEFAULT, NULL, NULL);
num_dests = dests ? 1 : 0;
+
+ if (num_dests == 0 &&
+ (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);
+ }
}
show_default(dests);
@@ -316,6 +336,16 @@ main(int argc, /* I - Number of command-line arguments */
{
cupsFreeDests(num_dests, dests);
num_dests = cupsGetDests(&dests);
+
+ if (num_dests == 0 &&
+ (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);
+ }
}
status |= show_printers(NULL, num_dests, dests, long_status);
@@ -335,6 +365,16 @@ main(int argc, /* I - Number of command-line arguments */
{
cupsFreeDests(num_dests, dests);
num_dests = cupsGetDests(&dests);
+
+ if (num_dests == 0 &&
+ (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);
+ }
}
show_default(cupsGetDest(NULL, NULL, num_dests, dests));
@@ -349,6 +389,16 @@ main(int argc, /* I - Number of command-line arguments */
{
cupsFreeDests(num_dests, dests);
num_dests = cupsGetDests(&dests);
+
+ if (num_dests == 0 &&
+ (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);
+ }
}
show_scheduler();
@@ -398,6 +448,16 @@ main(int argc, /* I - Number of command-line arguments */
{
cupsFreeDests(num_dests, dests);
num_dests = cupsGetDests(&dests);
+
+ if (num_dests == 0 &&
+ (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);
+ }
}
status |= show_devices(NULL, num_dests, dests);
@@ -457,9 +517,16 @@ check_dest(const char *command, /* I - Command name */
if ((*dests = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer, pptr)) == NULL)
{
- _cupsLangPrintf(stderr,
- _("%s: Invalid destination name in list \"%s\"."),
- command, name);
+ 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."),
+ command);
+ else
+ _cupsLangPrintf(stderr,
+ _("%s: Invalid destination name in list \"%s\"."),
+ command, name);
+
exit(1);
}
else
@@ -511,8 +578,15 @@ check_dest(const char *command, /* I - Command name */
if (!cupsGetDest(printer, NULL, *num_dests, *dests))
{
- _cupsLangPrintf(stderr,
- _("%s: Unknown destination \"%s\"."), command, printer);
+ 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."),
+ command);
+ else
+ _cupsLangPrintf(stderr,
+ _("%s: Unknown destination \"%s\"."), command, printer);
+
exit(1);
}
}
@@ -627,16 +701,27 @@ show_accepting(const char *printers, /* I - Destinations */
* Do the request and get back a response...
*/
- if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+ response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+ if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+ cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
{
- DEBUG_puts("show_accepting: request succeeded...");
+ _cupsLangPrintf(stderr,
+ _("%s: Error - add '/version=1.1' to server name."),
+ "lpstat");
+ ippDelete(response);
+ return (1);
+ }
+ else if (cupsLastError() > IPP_STATUS_OK_CONFLICTING)
+ {
+ _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+ ippDelete(response);
+ return (1);
+ }
- if (response->request.status.status_code > IPP_OK_CONFLICT)
- {
- _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
- ippDelete(response);
- return (1);
- }
+ if (response)
+ {
+ DEBUG_puts("show_accepting: request succeeded...");
/*
* Loop through the printers returned in the list and display
@@ -739,11 +824,6 @@ show_accepting(const char *printers, /* I - Destinations */
ippDelete(response);
}
- else
- {
- _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
- return (1);
- }
return (0);
}
@@ -806,7 +886,25 @@ show_classes(const char *dests) /* I - Destinations */
* Do the request and get back a response...
*/
- if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+ response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+ 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."),
+ "lpstat");
+ ippDelete(response);
+ return (1);
+ }
+ else if (cupsLastError() > IPP_STATUS_OK_CONFLICTING)
+ {
+ _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+ ippDelete(response);
+ return (1);
+ }
+
+ if (response)
{
DEBUG_puts("show_classes: request succeeded...");
@@ -944,11 +1042,6 @@ show_classes(const char *dests) /* I - Destinations */
ippDelete(response);
}
- else
- {
- _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
- return (1);
- }
return (0);
}
@@ -1054,16 +1147,27 @@ show_devices(const char *printers, /* I - Destinations */
* Do the request and get back a response...
*/
- if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+ response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+ if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+ cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
{
- DEBUG_puts("show_devices: request succeeded...");
+ _cupsLangPrintf(stderr,
+ _("%s: Error - add '/version=1.1' to server name."),
+ "lpstat");
+ ippDelete(response);
+ return (1);
+ }
+ else if (cupsLastError() > IPP_STATUS_OK_CONFLICTING)
+ {
+ _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+ ippDelete(response);
+ return (1);
+ }
- if (response->request.status.status_code > IPP_OK_CONFLICT)
- {
- _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
- ippDelete(response);
- return (1);
- }
+ if (response)
+ {
+ DEBUG_puts("show_devices: request succeeded...");
/*
* Loop through the printers returned in the list and display
@@ -1203,11 +1307,6 @@ show_devices(const char *printers, /* I - Destinations */
ippDelete(response);
}
- else
- {
- _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
- return (1);
- }
return (0);
}
@@ -1291,19 +1390,30 @@ show_jobs(const char *dests, /* I - Destinations */
* Do the request and get back a response...
*/
- if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+ response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+ 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."),
+ "lpstat");
+ ippDelete(response);
+ return (1);
+ }
+ else if (cupsLastError() > IPP_STATUS_OK_CONFLICTING)
+ {
+ _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+ ippDelete(response);
+ return (1);
+ }
+
+ if (response)
{
/*
* Loop through the job list and display them...
*/
- if (response->request.status.status_code > IPP_OK_CONFLICT)
- {
- _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
- ippDelete(response);
- return (1);
- }
-
rank = -1;
for (attr = response->attrs; attr != NULL; attr = attr->next)
@@ -1449,11 +1559,6 @@ show_jobs(const char *dests, /* I - Destinations */
ippDelete(response);
}
- else
- {
- _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
- return (1);
- }
return (0);
}
@@ -1544,16 +1649,27 @@ show_printers(const char *printers, /* I - Destinations */
* Do the request and get back a response...
*/
- if ((response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/")) != NULL)
+ response = cupsDoRequest(CUPS_HTTP_DEFAULT, request, "/");
+
+ if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+ cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
{
- DEBUG_puts("show_printers: request succeeded...");
+ _cupsLangPrintf(stderr,
+ _("%s: Error - add '/version=1.1' to server name."),
+ "lpstat");
+ ippDelete(response);
+ return (1);
+ }
+ else if (cupsLastError() > IPP_STATUS_OK_CONFLICTING)
+ {
+ _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
+ ippDelete(response);
+ return (1);
+ }
- if (response->request.status.status_code > IPP_OK_CONFLICT)
- {
- _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
- ippDelete(response);
- return (1);
- }
+ if (response)
+ {
+ DEBUG_puts("show_printers: request succeeded...");
/*
* Loop through the printers returned in the list and display
@@ -1975,11 +2091,6 @@ show_printers(const char *printers, /* I - Destinations */
ippDelete(response);
}
- else
- {
- _cupsLangPrintf(stderr, "lpstat: %s", cupsLastErrorString());
- return (1);
- }
return (0);
}
@@ -2007,5 +2118,5 @@ show_scheduler(void)
/*
- * End of "$Id: lpstat.c 10632 2012-10-01 04:07:51Z mike $".
+ * End of "$Id: lpstat.c 11101 2013-07-08 11:20:33Z msweet $".
*/
diff --git a/templates/Makefile b/templates/Makefile
index fe2d9827..736f1b49 100644
--- a/templates/Makefile
+++ b/templates/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $"
+# "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $"
#
# Template makefile for CUPS.
#
@@ -200,5 +200,5 @@ uninstall-langbundle:
#
-# End of "$Id: Makefile 9771 2011-05-12 05:21:56Z mike $".
+# End of "$Id: Makefile 10996 2013-05-29 11:51:34Z msweet $".
#
diff --git a/templates/ru/Makefile b/templates/ru/Makefile
index 369e25fb..bc011652 100644
--- a/templates/ru/Makefile
+++ b/templates/ru/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10888 2013-03-08 18:24:25Z mike $"
+# "$Id: Makefile 4216 2013-03-11 13:57:36Z msweet $"
#
# Template makefile for CUPS.
#
@@ -200,5 +200,5 @@ uninstall-langbundle:
#
-# End of "$Id: Makefile 10888 2013-03-08 18:24:25Z mike $".
+# End of "$Id: Makefile 4216 2013-03-11 13:57:36Z msweet $".
#
diff --git a/test/4.1-requests.test b/test/4.1-requests.test
index e2eb79ca..fbd2a97f 100644
--- a/test/4.1-requests.test
+++ b/test/4.1-requests.test
@@ -1,5 +1,5 @@
#
-# "$Id: 4.1-requests.test 9084 2010-04-07 06:54:31Z mike $"
+# "$Id: 4.1-requests.test 8144 2008-11-19 19:23:12Z mike $"
#
# Verify that the server requires the following attributes:
#
@@ -155,5 +155,5 @@
STATUS server-error-version-not-supported
}
#
-# End of "$Id: 4.1-requests.test 9084 2010-04-07 06:54:31Z mike $"
+# End of "$Id: 4.1-requests.test 8144 2008-11-19 19:23:12Z mike $"
#
diff --git a/test/4.2-cups-printer-ops.test b/test/4.2-cups-printer-ops.test
index 5fa828eb..67c515df 100644
--- a/test/4.2-cups-printer-ops.test
+++ b/test/4.2-cups-printer-ops.test
@@ -1,5 +1,5 @@
#
-# "$Id: 4.2-cups-printer-ops.test 9084 2010-04-07 06:54:31Z mike $"
+# "$Id: 4.2-cups-printer-ops.test 6379 2007-03-21 14:57:22Z mike $"
#
# Verify that the CUPS printer operations work.
#
@@ -323,5 +323,5 @@
}
#
-# End of "$Id: 4.2-cups-printer-ops.test 9084 2010-04-07 06:54:31Z mike $"
+# End of "$Id: 4.2-cups-printer-ops.test 6379 2007-03-21 14:57:22Z mike $"
#
diff --git a/test/4.3-job-ops.test b/test/4.3-job-ops.test
index e82de18d..2f2236b0 100644
--- a/test/4.3-job-ops.test
+++ b/test/4.3-job-ops.test
@@ -1,5 +1,5 @@
#
-# "$Id: 4.3-job-ops.test 9084 2010-04-07 06:54:31Z mike $"
+# "$Id: 4.3-job-ops.test 7550 2008-05-12 16:40:40Z mike $"
#
# Verify that the IPP job operations work.
#
@@ -326,5 +326,5 @@
}
#
-# End of "$Id: 4.3-job-ops.test 9084 2010-04-07 06:54:31Z mike $"
+# End of "$Id: 4.3-job-ops.test 7550 2008-05-12 16:40:40Z mike $"
#
diff --git a/test/4.4-subscription-ops.test b/test/4.4-subscription-ops.test
index 720add80..f6cf820f 100644
--- a/test/4.4-subscription-ops.test
+++ b/test/4.4-subscription-ops.test
@@ -1,5 +1,5 @@
#
-# "$Id: 4.4-subscription-ops.test 9352 2010-11-06 04:55:26Z mike $"
+# "$Id: 4.4-subscription-ops.test 6635 2007-07-09 20:34:48Z mike $"
#
# Verify that the CUPS subscription operations work.
#
@@ -149,5 +149,5 @@
}
#
-# End of "$Id: 4.4-subscription-ops.test 9352 2010-11-06 04:55:26Z mike $"
+# End of "$Id: 4.4-subscription-ops.test 6635 2007-07-09 20:34:48Z mike $"
#
diff --git a/test/5.1-lpadmin.sh b/test/5.1-lpadmin.sh
index 545d7365..e4a8ed4a 100644
--- a/test/5.1-lpadmin.sh
+++ b/test/5.1-lpadmin.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: 5.1-lpadmin.sh 10448 2012-05-04 18:34:39Z mike $"
+# "$Id: 5.1-lpadmin.sh 7494 2008-04-25 18:36:46Z mike $"
#
# Test the lpadmin command.
#
@@ -63,5 +63,5 @@ fi
echo ""
#
-# End of "$Id: 5.1-lpadmin.sh 10448 2012-05-04 18:34:39Z mike $".
+# End of "$Id: 5.1-lpadmin.sh 7494 2008-04-25 18:36:46Z mike $".
#
diff --git a/test/5.2-lpc.sh b/test/5.2-lpc.sh
index 1079900b..ff15a871 100644
--- a/test/5.2-lpc.sh
+++ b/test/5.2-lpc.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: 5.2-lpc.sh 10097 2011-11-02 05:35:38Z mike $"
+# "$Id: 5.2-lpc.sh 6649 2007-07-11 21:46:42Z mike $"
#
# Test the lpc command.
#
@@ -27,5 +27,5 @@ fi
echo ""
#
-# End of "$Id: 5.2-lpc.sh 10097 2011-11-02 05:35:38Z mike $".
+# End of "$Id: 5.2-lpc.sh 6649 2007-07-11 21:46:42Z mike $".
#
diff --git a/test/5.3-lpq.sh b/test/5.3-lpq.sh
index 24f2a24a..633508c5 100644
--- a/test/5.3-lpq.sh
+++ b/test/5.3-lpq.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: 5.3-lpq.sh 10097 2011-11-02 05:35:38Z mike $"
+# "$Id: 5.3-lpq.sh 6649 2007-07-11 21:46:42Z mike $"
#
# Test the lpq command.
#
@@ -27,5 +27,5 @@ fi
echo ""
#
-# End of "$Id: 5.3-lpq.sh 10097 2011-11-02 05:35:38Z mike $".
+# End of "$Id: 5.3-lpq.sh 6649 2007-07-11 21:46:42Z mike $".
#
diff --git a/test/5.4-lpstat.sh b/test/5.4-lpstat.sh
index 3d5d956e..b2e38f12 100644
--- a/test/5.4-lpstat.sh
+++ b/test/5.4-lpstat.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: 5.4-lpstat.sh 10097 2011-11-02 05:35:38Z mike $"
+# "$Id: 5.4-lpstat.sh 6649 2007-07-11 21:46:42Z mike $"
#
# Test the lpstat command.
#
@@ -39,5 +39,5 @@ fi
echo ""
#
-# End of "$Id: 5.4-lpstat.sh 10097 2011-11-02 05:35:38Z mike $".
+# End of "$Id: 5.4-lpstat.sh 6649 2007-07-11 21:46:42Z mike $".
#
diff --git a/test/5.5-lp.sh b/test/5.5-lp.sh
index c8834ca9..aa326a8f 100644
--- a/test/5.5-lp.sh
+++ b/test/5.5-lp.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: 5.5-lp.sh 10448 2012-05-04 18:34:39Z mike $"
+# "$Id: 5.5-lp.sh 7415 2008-03-31 22:33:20Z mike $"
#
# Test the lp command.
#
@@ -80,5 +80,5 @@ echo ""
./waitjobs.sh
#
-# End of "$Id: 5.5-lp.sh 10448 2012-05-04 18:34:39Z mike $".
+# End of "$Id: 5.5-lp.sh 7415 2008-03-31 22:33:20Z mike $".
#
diff --git a/test/5.6-lpr.sh b/test/5.6-lpr.sh
index fa40b740..9a26e75c 100644
--- a/test/5.6-lpr.sh
+++ b/test/5.6-lpr.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: 5.6-lpr.sh 10448 2012-05-04 18:34:39Z mike $"
+# "$Id: 5.6-lpr.sh 7409 2008-03-29 00:26:03Z mike $"
#
# Test the lpr command.
#
@@ -80,5 +80,5 @@ echo ""
./waitjobs.sh
#
-# End of "$Id: 5.6-lpr.sh 10448 2012-05-04 18:34:39Z mike $".
+# End of "$Id: 5.6-lpr.sh 7409 2008-03-29 00:26:03Z mike $".
#
diff --git a/test/5.7-lprm.sh b/test/5.7-lprm.sh
index acaaca99..4b96920b 100644
--- a/test/5.7-lprm.sh
+++ b/test/5.7-lprm.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: 5.7-lprm.sh 10097 2011-11-02 05:35:38Z mike $"
+# "$Id: 5.7-lprm.sh 7409 2008-03-29 00:26:03Z mike $"
#
# Test the lprm command.
#
@@ -43,5 +43,5 @@ fi
echo ""
#
-# End of "$Id: 5.7-lprm.sh 10097 2011-11-02 05:35:38Z mike $".
+# End of "$Id: 5.7-lprm.sh 7409 2008-03-29 00:26:03Z mike $".
#
diff --git a/test/5.8-cancel.sh b/test/5.8-cancel.sh
index 9e1d4e8f..9ecb3f3a 100644
--- a/test/5.8-cancel.sh
+++ b/test/5.8-cancel.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: 5.8-cancel.sh 10857 2013-02-04 16:47:11Z mike $"
+# "$Id: 5.8-cancel.sh 7409 2008-03-29 00:26:03Z mike $"
#
# Test the cancel command.
#
@@ -53,5 +53,5 @@ fi
echo ""
#
-# End of "$Id: 5.8-cancel.sh 10857 2013-02-04 16:47:11Z mike $".
+# End of "$Id: 5.8-cancel.sh 7409 2008-03-29 00:26:03Z mike $".
#
diff --git a/test/5.9-lpinfo.sh b/test/5.9-lpinfo.sh
index 3ecaf254..a6ea3645 100644
--- a/test/5.9-lpinfo.sh
+++ b/test/5.9-lpinfo.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: 5.9-lpinfo.sh 10097 2011-11-02 05:35:38Z mike $"
+# "$Id: 5.9-lpinfo.sh 7711 2008-07-02 04:39:27Z mike $"
#
# Test the lpinfo command.
#
@@ -51,5 +51,5 @@ fi
echo ""
#
-# End of "$Id: 5.9-lpinfo.sh 10097 2011-11-02 05:35:38Z mike $".
+# End of "$Id: 5.9-lpinfo.sh 7711 2008-07-02 04:39:27Z mike $".
#
diff --git a/test/Dependencies b/test/Dependencies
index 69b96a6f..9686a1f6 100644
--- a/test/Dependencies
+++ b/test/Dependencies
@@ -1,18 +1,23 @@
-ippserver.o: ippserver.c ../cups/cups-private.h ../cups/string-private.h \
+ippfind.o: ippfind.c ../cups/cups-private.h ../cups/string-private.h \
../config.h ../cups/debug-private.h ../cups/versioning.h \
- ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
- ../cups/http-private.h ../cups/md5-private.h \
- ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
- ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
- ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \
+ ../cups/ipp.h ../cups/http.h ../cups/http-private.h \
+ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+ ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+ ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \
+ ../cups/thread-private.h
+ippserver.o: ippserver.c ../cups/cups.h ../cups/file.h \
+ ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+ ../cups/language.h ../cups/pwg.h ../config.h ../cups/string-private.h \
+ ../cups/thread-private.h
ipptool.o: ipptool.c ../cups/cups-private.h ../cups/string-private.h \
../config.h ../cups/debug-private.h ../cups/versioning.h \
- ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
- ../cups/http-private.h ../cups/md5-private.h \
- ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
- ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
- ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
- ../cups/file-private.h
+ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \
+ ../cups/ipp.h ../cups/http.h ../cups/http-private.h \
+ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+ ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+ ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \
+ ../cups/thread-private.h ../cups/file-private.h
xmltotest.o: xmltotest.c ../config.h ../cups/cups.h ../cups/file.h \
../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
- ../cups/language.h
+ ../cups/language.h ../cups/pwg.h
diff --git a/test/Makefile b/test/Makefile
index 39d7190b..9a9e3fa0 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 10955 2013-04-18 19:24:44Z mike $"
+# "$Id: Makefile 11129 2013-07-11 20:39:46Z msweet $"
#
# IPP test makefile for CUPS.
#
@@ -53,10 +53,12 @@ TESTFILES = \
print-job-gzip.test \
validate-job.test
OBJS = \
+ ippfind.o \
ippserver.o \
ipptool.o \
xmltotest.o
TARGETS = \
+ $(IPPFIND_BIN) \
ippserver \
ipptool \
ipptool-static
@@ -129,8 +131,13 @@ install-exec:
echo Installing ipptool in $(BINDIR)...
$(INSTALL_DIR) -m 755 $(BINDIR)
$(INSTALL_BIN) ipptool $(BINDIR)
+ if test -x ippfind; then \
+ $(INSTALL_BIN) ippfind $(BINDIR); \
+ fi
if test "x$(SYMROOT)" != "x"; then \
$(INSTALL_DIR) $(SYMROOT); \
+ cp ippfind $(SYMROOT); \
+ dsymutil $(SYMROOT)/ippfind; \
cp ipptool $(SYMROOT); \
dsymutil $(SYMROOT)/ipptool; \
fi
@@ -166,6 +173,18 @@ uninstall:
#
+# ippfind
+#
+
+ippfind: ippfind.o ../cups/$(LIBCUPS) ../cups/$(LIBCUPSSTATIC)
+ echo Linking $@...
+ $(CC) $(LDFLAGS) -o $@ ippfind.o $(LIBS)
+ echo Linking $@-static...
+ $(CC) $(LDFLAGS) -o $@-static ippfind.o ../cups/$(LIBCUPSSTATIC) \
+ $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+
+
+#
# ippserver
#
@@ -222,5 +241,5 @@ include Dependencies
#
-# End of "$Id: Makefile 10955 2013-04-18 19:24:44Z mike $".
+# End of "$Id: Makefile 11129 2013-07-11 20:39:46Z msweet $".
#
diff --git a/test/cancel-current-job.test b/test/cancel-current-job.test
index cd4c2265..be621b2e 100644
--- a/test/cancel-current-job.test
+++ b/test/cancel-current-job.test
@@ -1,5 +1,5 @@
#
-# "$Id: cancel-current-job.test 10839 2013-01-24 21:31:59Z mike $"
+# "$Id$"
#
# Cancel the currently printing job.
#
@@ -61,5 +61,5 @@
#
-# End of "$Id: cancel-current-job.test 10839 2013-01-24 21:31:59Z mike $".
+# End of "$Id$".
#
diff --git a/test/color.jpg b/test/color.jpg
index 170e28b1..46cbfd78 100644
--- a/test/color.jpg
+++ b/test/color.jpg
Binary files differ
diff --git a/test/create-job-format.test b/test/create-job-format.test
index 87d94a5b..60769a03 100644
--- a/test/create-job-format.test
+++ b/test/create-job-format.test
@@ -21,8 +21,8 @@
ATTR integer copies 1
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
# What attributes do we expect?
EXPECT job-id
@@ -51,6 +51,6 @@
FILE ../data/testprint.ps
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
}
diff --git a/test/create-job-sheets.test b/test/create-job-sheets.test
index d15bb7d4..08861863 100644
--- a/test/create-job-sheets.test
+++ b/test/create-job-sheets.test
@@ -21,8 +21,8 @@
ATTR name job-sheets standard
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
# What attributes do we expect?
EXPECT job-id
@@ -50,6 +50,6 @@
FILE ../data/testprint.ps
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
}
diff --git a/test/create-printer-subscription.test b/test/create-printer-subscription.test
index 759be930..91c98f76 100644
--- a/test/create-printer-subscription.test
+++ b/test/create-printer-subscription.test
@@ -1,5 +1,5 @@
#
-# "$Id: create-printer-subscription.test 10839 2013-01-24 21:31:59Z mike $"
+# "$Id$"
#
# Create a printer subscription.
#
@@ -71,5 +71,5 @@
#
-# End of "$Id: create-printer-subscription.test 10839 2013-01-24 21:31:59Z mike $"
+# End of "$Id$"
#
diff --git a/test/get-completed-jobs.test b/test/get-completed-jobs.test
index 07311364..eca22793 100644
--- a/test/get-completed-jobs.test
+++ b/test/get-completed-jobs.test
@@ -1,5 +1,5 @@
#
-# "$Id: get-completed-jobs.test 10286 2012-02-15 05:04:50Z mike $"
+# "$Id$"
#
# Get list of completed jobs.
#
@@ -47,5 +47,5 @@
#
-# End of "$Id: get-completed-jobs.test 10286 2012-02-15 05:04:50Z mike $".
+# End of "$Id$".
#
diff --git a/test/get-devices.test b/test/get-devices.test
index 76bb5ec7..c31a1b12 100644
--- a/test/get-devices.test
+++ b/test/get-devices.test
@@ -16,6 +16,6 @@
ATTR uri printer-uri $uri
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
}
diff --git a/test/get-job-attributes.test b/test/get-job-attributes.test
index ba62bd7f..c40e242c 100644
--- a/test/get-job-attributes.test
+++ b/test/get-job-attributes.test
@@ -18,8 +18,8 @@
# ATTR keyword requested-attributes job-media-sheets-completed,job-state
# What statuses are OK?
- #STATUS ok
- #STATUS ok-subst
+ #STATUS successful-ok
+ #STATUS successful-ok-ignored-or-substituted-attributes
# What attributes do we expect?
EXPECT job-uri
diff --git a/test/get-job-attributes2.test b/test/get-job-attributes2.test
index 6a8673f8..d0891b56 100644
--- a/test/get-job-attributes2.test
+++ b/test/get-job-attributes2.test
@@ -16,8 +16,8 @@
ATTR uri job-uri $uri
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
# What attributes do we expect?
EXPECT job-uri
diff --git a/test/get-jobs.test b/test/get-jobs.test
index 7c2353b5..13b9959c 100644
--- a/test/get-jobs.test
+++ b/test/get-jobs.test
@@ -1,5 +1,5 @@
#
-# "$Id: get-jobs.test 10286 2012-02-15 05:04:50Z mike $"
+# "$Id: get-jobs.test 9702 2011-04-20 21:16:08Z mike $"
#
# Get list of not-completed jobs.
#
@@ -49,5 +49,5 @@
#
-# End of "$Id: get-jobs.test 10286 2012-02-15 05:04:50Z mike $".
+# End of "$Id: get-jobs.test 9702 2011-04-20 21:16:08Z mike $".
#
diff --git a/test/get-notifications.test b/test/get-notifications.test
index 18c383f3..8019cec1 100644
--- a/test/get-notifications.test
+++ b/test/get-notifications.test
@@ -1,5 +1,5 @@
#
-# "$Id: get-notifications.test 10839 2013-01-24 21:31:59Z mike $"
+# "$Id$"
#
# Get subscription events.
#
@@ -42,5 +42,5 @@
#
-# End of "$Id: get-notifications.test 10839 2013-01-24 21:31:59Z mike $"
+# End of "$Id$"
#
diff --git a/test/get-ppds-drv-only.test b/test/get-ppds-drv-only.test
index ccb1828d..e5c6de78 100644
--- a/test/get-ppds-drv-only.test
+++ b/test/get-ppds-drv-only.test
@@ -17,8 +17,8 @@
ATTR name include-schemes drv
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
EXPECT ppd-name
}
diff --git a/test/get-ppds.test b/test/get-ppds.test
index 90f59eb6..a82daf89 100644
--- a/test/get-ppds.test
+++ b/test/get-ppds.test
@@ -16,6 +16,6 @@
ATTR uri printer-uri $uri
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
}
diff --git a/test/get-subscriptions.test b/test/get-subscriptions.test
index 686059df..09766ffd 100644
--- a/test/get-subscriptions.test
+++ b/test/get-subscriptions.test
@@ -16,6 +16,6 @@
ATTR uri printer-uri $uri
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
}
diff --git a/test/ipp-1.1.test b/test/ipp-1.1.test
index e71944ee..620282a3 100644
--- a/test/ipp-1.1.test
+++ b/test/ipp-1.1.test
@@ -1,5 +1,5 @@
#
-# "$Id: ipp-1.1.test 10874 2013-02-20 12:48:28Z mike $"
+# "$Id$"
#
# IPP/1.1 test suite.
#
@@ -2346,5 +2346,5 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
#
-# End of "$Id: ipp-1.1.test 10874 2013-02-20 12:48:28Z mike $".
+# End of "$Id$".
#
diff --git a/test/ipp-2.0.test b/test/ipp-2.0.test
index cb7fb66f..0ee0e94e 100644
--- a/test/ipp-2.0.test
+++ b/test/ipp-2.0.test
@@ -1,5 +1,5 @@
#
-# "$Id: ipp-2.0.test 10314 2012-02-29 04:27:56Z mike $"
+# "$Id$"
#
# IPP/2.0 test suite.
#
@@ -111,5 +111,5 @@ DEFINE MEDIA_REGEX "/^(choice(_((custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_
#
-# End of "$Id: ipp-2.0.test 10314 2012-02-29 04:27:56Z mike $".
+# End of "$Id$".
#
diff --git a/test/ipp-2.1.test b/test/ipp-2.1.test
index 738aefab..e8ddae4d 100644
--- a/test/ipp-2.1.test
+++ b/test/ipp-2.1.test
@@ -1,5 +1,5 @@
#
-# "$Id: ipp-2.1.test 10010 2011-09-21 06:01:12Z mike $"
+# "$Id$"
#
# IPP/2.1 test suite.
#
@@ -92,5 +92,5 @@ INCLUDE "ipp-2.0.test"
#
-# End of "$Id: ipp-2.1.test 10010 2011-09-21 06:01:12Z mike $".
+# End of "$Id$".
#
diff --git a/test/ipp-2.2.test b/test/ipp-2.2.test
index 1586dc17..3042ec24 100644
--- a/test/ipp-2.2.test
+++ b/test/ipp-2.2.test
@@ -1,5 +1,5 @@
#
-# "$Id: ipp-2.2.test 10029 2011-09-29 23:49:56Z mike $"
+# "$Id$"
#
# IPP/2.2 test suite.
#
@@ -82,5 +82,5 @@ INCLUDE "ipp-2.1.test"
#
-# End of "$Id: ipp-2.2.test 10029 2011-09-29 23:49:56Z mike $".
+# End of "$Id$".
#
diff --git a/test/ipp-everywhere.test b/test/ipp-everywhere.test
index 195d2ded..d1e5b2ce 100644
--- a/test/ipp-everywhere.test
+++ b/test/ipp-everywhere.test
@@ -1,5 +1,5 @@
#
-# "$Id: ipp-everywhere.test 10870 2013-02-20 01:39:36Z mike $"
+# "$Id$"
#
# IPP Everywhere test suite.
#
@@ -9685,5 +9685,5 @@ INCLUDE "ipp-2.0.test"
#
-# End of "$Id: ipp-everywhere.test 10870 2013-02-20 01:39:36Z mike $".
+# End of "$Id$".
#
diff --git a/test/ippdiscover.c b/test/ippdiscover.c
new file mode 100644
index 00000000..cd354013
--- /dev/null
+++ b/test/ippdiscover.c
@@ -0,0 +1,829 @@
+/*
+ * "$Id: ippdiscover.c 10983 2013-05-13 23:57:32Z msweet $"
+ *
+ * ippdiscover command for CUPS.
+ *
+ * Copyright 2007-2013 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/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
+ *
+ * Contents:
+ *
+ */
+
+
+/*
+ * Include necessary headers.
+ */
+
+#include <cups/cups-private.h>
+#ifdef HAVE_DNSSD
+# include <dns_sd.h>
+# ifdef WIN32
+# pragma comment(lib, "dnssd.lib")
+# endif /* WIN32 */
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+# include <avahi-client/client.h>
+# include <avahi-client/lookup.h>
+# include <avahi-common/simple-watch.h>
+# include <avahi-common/domain.h>
+# include <avahi-common/error.h>
+# include <avahi-common/malloc.h>
+#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX
+#endif /* HAVE_AVAHI */
+
+
+/*
+ * Local globals...
+ */
+
+#ifdef HAVE_AVAHI
+static int got_data = 0; /* Got data from poll? */
+static AvahiSimplePoll *simple_poll = NULL;
+ /* Poll information */
+#endif /* HAVE_AVAHI */
+static const char *program = NULL;/* Program to run */
+
+
+/*
+ * Local functions...
+ */
+
+#ifdef HAVE_DNSSD
+static void DNSSD_API browse_callback(DNSServiceRef sdRef,
+ DNSServiceFlags flags,
+ uint32_t interfaceIndex,
+ DNSServiceErrorType errorCode,
+ const char *serviceName,
+ const char *regtype,
+ const char *replyDomain, void *context)
+ __attribute__((nonnull(1,5,6,7,8)));
+static void DNSSD_API resolve_cb(DNSServiceRef sdRef,
+ DNSServiceFlags flags,
+ uint32_t interfaceIndex,
+ DNSServiceErrorType errorCode,
+ const char *fullName,
+ const char *hostTarget,
+ uint16_t port, uint16_t txtLen,
+ const unsigned char *txtRecord,
+ void *context);
+#endif /* HAVE_DNSSD */
+
+#ifdef HAVE_AVAHI
+static void browse_callback(AvahiServiceBrowser *browser,
+ AvahiIfIndex interface,
+ AvahiProtocol protocol,
+ AvahiBrowserEvent event,
+ const char *serviceName,
+ const char *regtype,
+ const char *replyDomain,
+ AvahiLookupResultFlags flags,
+ void *context);
+static void client_cb(AvahiClient *client, AvahiClientState state,
+ void *simple_poll);
+static int poll_cb(struct pollfd *pollfds, unsigned int num_pollfds,
+ int timeout, void *context);
+static void resolve_cb(AvahiServiceResolver *resolver,
+ AvahiIfIndex interface,
+ AvahiProtocol protocol,
+ AvahiResolverEvent event,
+ const char *name, const char *type,
+ const char *domain, const char *host_name,
+ const AvahiAddress *address, uint16_t port,
+ AvahiStringList *txt,
+ AvahiLookupResultFlags flags, void *context);
+#endif /* HAVE_AVAHI */
+
+static void resolve_and_run(const char *name, const char *type,
+ const char *domain);
+static void unquote(char *dst, const char *src, size_t dstsize);
+static void usage(void) __attribute__((noreturn));
+
+
+/*
+ * 'main()' - Browse for printers and run the specified command.
+ */
+
+int /* O - Exit status */
+main(int argc, /* I - Number of command-line args */
+ char *argv[]) /* I - Command-line arguments */
+{
+ int i; /* Looping var */
+ const char *opt, /* Current option character */
+ *name = NULL, /* Service name */
+ *type = "_ipp._tcp", /* Service type */
+ *domain = "local."; /* Service domain */
+#ifdef HAVE_DNSSD
+ DNSServiceRef ref; /* Browsing service reference */
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+ AvahiClient *client; /* Client information */
+ int error; /* Error code, if any */
+#endif /* HAVE_AVAHI */
+
+
+ for (i = 1; i < argc; i ++)
+ if (!strcmp(argv[i], "snmp"))
+ snmponly = 1;
+ else if (!strcmp(argv[i], "ipp"))
+ ipponly = 1;
+ else
+ {
+ puts("Usage: ./ipp-printers [{ipp | snmp}]");
+ return (1);
+ }
+
+ /*
+ * Create an array to track devices...
+ */
+
+ devices = cupsArrayNew((cups_array_func_t)compare_devices, NULL);
+
+ /*
+ * Browse for different kinds of printers...
+ */
+
+ if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError)
+ {
+ perror("ERROR: Unable to create service connection");
+ return (1);
+ }
+
+ fd = DNSServiceRefSockFD(main_ref);
+
+ ipp_ref = main_ref;
+ DNSServiceBrowse(&ipp_ref, kDNSServiceFlagsShareConnection, 0,
+ "_ipp._tcp", NULL, browse_callback, devices);
+
+ /*
+ * Loop until we are killed...
+ */
+
+ progress();
+
+ for (;;)
+ {
+ FD_ZERO(&input);
+ FD_SET(fd, &input);
+
+ timeout.tv_sec = 2;
+ timeout.tv_usec = 500000;
+
+ if (select(fd + 1, &input, NULL, NULL, &timeout) <= 0)
+ {
+ time_t curtime = time(NULL);
+
+ for (device = (cups_device_t *)cupsArrayFirst(devices);
+ device;
+ device = (cups_device_t *)cupsArrayNext(devices))
+ if (!device->got_resolve)
+ {
+ if (!device->ref)
+ break;
+
+ if ((curtime - device->resolve_time) > 10)
+ {
+ device->got_resolve = -1;
+ fprintf(stderr, "\rUnable to resolve \"%s\": timeout\n",
+ device->name);
+ progress();
+ }
+ else
+ break;
+ }
+
+ if (!device)
+ break;
+ }
+
+ if (FD_ISSET(fd, &input))
+ {
+ /*
+ * Process results of our browsing...
+ */
+
+ progress();
+ DNSServiceProcessResult(main_ref);
+ }
+ else
+ {
+ /*
+ * Query any devices we've found...
+ */
+
+ DNSServiceErrorType status; /* DNS query status */
+ int count; /* Number of queries */
+
+
+ for (device = (cups_device_t *)cupsArrayFirst(devices), count = 0;
+ device;
+ device = (cups_device_t *)cupsArrayNext(devices))
+ {
+ if (!device->ref && !device->sent)
+ {
+ /*
+ * Found the device, now get the TXT record(s) for it...
+ */
+
+ if (count < 50)
+ {
+ device->resolve_time = time(NULL);
+ device->ref = main_ref;
+
+ status = DNSServiceResolve(&(device->ref),
+ kDNSServiceFlagsShareConnection,
+ 0, device->name, device->regtype,
+ device->domain, resolve_callback,
+ device);
+ if (status != kDNSServiceErr_NoError)
+ {
+ fprintf(stderr, "\rUnable to resolve \"%s\": %d\n",
+ device->name, status);
+ progress();
+ }
+ else
+ count ++;
+ }
+ }
+ else if (!device->sent && device->got_resolve)
+ {
+ /*
+ * Got the TXT records, now report the device...
+ */
+
+ DNSServiceRefDeallocate(device->ref);
+ device->ref = 0;
+ device->sent = 1;
+ }
+ }
+ }
+ }
+
+#ifndef DEBUG
+ fprintf(stderr, "\rFound %d printers. Now querying for capabilities...\n",
+ cupsArrayCount(devices));
+#endif /* !DEBUG */
+
+ puts("#!/bin/sh -x");
+ puts("test -d results && rm -rf results");
+ puts("mkdir results");
+ puts("CUPS_DEBUG_LEVEL=6; export CUPS_DEBUG_LEVEL");
+ puts("CUPS_DEBUG_FILTER='^(ipp|http|_ipp|_http|cupsGetResponse|cupsSend|"
+ "cupsWrite|cupsDo).*'; export CUPS_DEBUG_FILTER");
+
+ for (device = (cups_device_t *)cupsArrayFirst(devices);
+ device;
+ device = (cups_device_t *)cupsArrayNext(devices))
+ {
+ if (device->got_resolve <= 0 || device->cups_shared)
+ continue;
+
+#ifdef DEBUG
+ fprintf(stderr, "Checking \"%s\" (got_resolve=%d, cups_shared=%d, uri=%s)\n",
+ device->name, device->got_resolve, device->cups_shared, device->uri);
+#else
+ fprintf(stderr, "Checking \"%s\"...\n", device->name);
+#endif /* DEBUG */
+
+ if ((http = httpConnect(device->host, device->port)) == NULL)
+ {
+ fprintf(stderr, "Failed to connect to \"%s\": %s\n", device->name,
+ cupsLastErrorString());
+ continue;
+ }
+
+ request = ippNewRequest(IPP_GET_PRINTER_ATTRIBUTES);
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
+ device->uri);
+
+ response = cupsDoRequest(http, request, device->rp);
+
+ if (cupsLastError() > IPP_OK_SUBST)
+ fprintf(stderr, "Failed to query \"%s\": %s\n", device->name,
+ cupsLastErrorString());
+ else
+ {
+ if ((attr = ippFindAttribute(response, "ipp-versions-supported",
+ IPP_TAG_KEYWORD)) != NULL)
+ {
+ version = attr->values[0].string.text;
+
+ for (i = 1; i < attr->num_values; i ++)
+ if (strcmp(attr->values[i].string.text, version) > 0)
+ version = attr->values[i].string.text;
+ }
+ else
+ version = "1.0";
+
+ testfile = NULL;
+
+ if ((attr = ippFindAttribute(response, "document-format-supported",
+ IPP_TAG_MIMETYPE)) != NULL)
+ {
+ /*
+ * Figure out the test file for printing, preferring PDF and PostScript
+ * over JPEG and plain text...
+ */
+
+ for (i = 0; i < attr->num_values; i ++)
+ {
+ if (!strcasecmp(attr->values[i].string.text, "application/pdf"))
+ {
+ testfile = "testfile.pdf";
+ break;
+ }
+ else if (!strcasecmp(attr->values[i].string.text,
+ "application/postscript"))
+ testfile = "testfile.ps";
+ else if (!strcasecmp(attr->values[i].string.text, "image/jpeg") &&
+ !testfile)
+ testfile = "testfile.jpg";
+ else if (!strcasecmp(attr->values[i].string.text, "text/plain") &&
+ !testfile)
+ testfile = "testfile.txt";
+ else if (!strcasecmp(attr->values[i].string.text,
+ "application/vnd.hp-PCL") && !testfile)
+ testfile = "testfile.pcl";
+ }
+
+ if (!testfile)
+ {
+ fprintf(stderr,
+ "Printer \"%s\" reports the following IPP file formats:\n",
+ device->name);
+ for (i = 0; i < attr->num_values; i ++)
+ fprintf(stderr, " \"%s\"\n", attr->values[i].string.text);
+ }
+ }
+
+ if (!testfile && device->pdl)
+ {
+ char *pdl, /* Copy of pdl string */
+ *start, *end; /* Pointers into pdl string */
+
+
+ pdl = strdup(device->pdl);
+ for (start = device->pdl; start && *start; start = end)
+ {
+ if ((end = strchr(start, ',')) != NULL)
+ *end++ = '\0';
+
+ if (!strcasecmp(start, "application/pdf"))
+ {
+ testfile = "testfile.pdf";
+ break;
+ }
+ else if (!strcasecmp(start, "application/postscript"))
+ testfile = "testfile.ps";
+ else if (!strcasecmp(start, "image/jpeg") && !testfile)
+ testfile = "testfile.jpg";
+ else if (!strcasecmp(start, "text/plain") && !testfile)
+ testfile = "testfile.txt";
+ else if (!strcasecmp(start, "application/vnd.hp-PCL") && !testfile)
+ testfile = "testfile.pcl";
+ }
+ free(pdl);
+
+ if (testfile)
+ {
+ fprintf(stderr,
+ "Using \"%s\" for printer \"%s\" based on TXT record pdl "
+ "info.\n", testfile, device->name);
+ }
+ else
+ {
+ fprintf(stderr,
+ "Printer \"%s\" reports the following TXT file formats:\n",
+ device->name);
+ fprintf(stderr, " \"%s\"\n", device->pdl);
+ }
+ }
+
+ if (!device->ty &&
+ (attr = ippFindAttribute(response, "printer-make-and-model",
+ IPP_TAG_TEXT)) != NULL)
+ device->ty = strdup(attr->values[0].string.text);
+
+ if (strcmp(version, "1.0") && testfile && device->ty)
+ {
+ char filename[1024], /* Filename */
+ *fileptr; /* Pointer into filename */
+ const char *typtr; /* Pointer into ty */
+
+ if (!strncasecmp(device->ty, "DeskJet", 7) ||
+ !strncasecmp(device->ty, "DesignJet", 9) ||
+ !strncasecmp(device->ty, "OfficeJet", 9) ||
+ !strncasecmp(device->ty, "Photosmart", 10))
+ strlcpy(filename, "HP_", sizeof(filename));
+ else
+ filename[0] = '\0';
+
+ fileptr = filename + strlen(filename);
+
+ if (!strncasecmp(device->ty, "Lexmark International Lexmark", 29))
+ typtr = device->ty + 22;
+ else
+ typtr = device->ty;
+
+ while (*typtr && fileptr < (filename + sizeof(filename) - 1))
+ {
+ if (isalnum(*typtr & 255) || *typtr == '-')
+ *fileptr++ = *typtr++;
+ else
+ {
+ *fileptr++ = '_';
+ typtr++;
+ }
+ }
+
+ *fileptr = '\0';
+
+ printf("# %s\n", device->name);
+ printf("echo \"Testing %s...\"\n", device->name);
+
+ if (!ipponly)
+ {
+ printf("echo \"snmpwalk -c public -v 1 -Cc %s 1.3.6.1.2.1.25 "
+ "1.3.6.1.2.1.43 1.3.6.1.4.1.2699.1\" > results/%s.snmpwalk\n",
+ device->host, filename);
+ printf("snmpwalk -c public -v 1 -Cc %s 1.3.6.1.2.1.25 "
+ "1.3.6.1.2.1.43 1.3.6.1.4.1.2699.1 | "
+ "tee -a results/%s.snmpwalk\n",
+ device->host, filename);
+ }
+
+ if (!snmponly)
+ {
+ printf("echo \"./ipptool-static -tIf %s -T 30 -d NOPRINT=1 -V %s %s "
+ "ipp-%s.test\" > results/%s.log\n", testfile, version,
+ device->uri, version, filename);
+ printf("CUPS_DEBUG_LOG=results/%s.debug_log "
+ "./ipptool-static -tIf %s -T 30 -d NOPRINT=1 -V %s %s "
+ "ipp-%s.test | tee -a results/%s.log\n", filename,
+ testfile, version, device->uri,
+ version, filename);
+ }
+
+ puts("");
+ }
+ else if (!device->ty)
+ fprintf(stderr,
+ "Ignoring \"%s\" since it doesn't provide a make and model.\n",
+ device->name);
+ else if (!testfile)
+ fprintf(stderr,
+ "Ignoring \"%s\" since it does not support a common format.\n",
+ device->name);
+ else
+ fprintf(stderr, "Ignoring \"%s\" since it only supports IPP/1.0.\n",
+ device->name);
+ }
+
+ ippDelete(response);
+ httpClose(http);
+ }
+
+ return (0);
+}
+
+
+/*
+ * 'browse_callback()' - Browse devices.
+ */
+
+static void
+browse_callback(
+ DNSServiceRef sdRef, /* I - Service reference */
+ DNSServiceFlags flags, /* I - Option flags */
+ uint32_t interfaceIndex, /* I - Interface number */
+ DNSServiceErrorType errorCode, /* I - Error, if any */
+ const char *serviceName, /* I - Name of service/device */
+ const char *regtype, /* I - Type of service */
+ const char *replyDomain, /* I - Service domain */
+ void *context) /* I - Devices array */
+{
+#ifdef DEBUG
+ fprintf(stderr, "browse_callback(sdRef=%p, flags=%x, "
+ "interfaceIndex=%d, errorCode=%d, serviceName=\"%s\", "
+ "regtype=\"%s\", replyDomain=\"%s\", context=%p)\n",
+ sdRef, flags, interfaceIndex, errorCode,
+ serviceName ? serviceName : "(null)",
+ regtype ? regtype : "(null)",
+ replyDomain ? replyDomain : "(null)",
+ context);
+#endif /* DEBUG */
+
+ /*
+ * Only process "add" data...
+ */
+
+ if (errorCode != kDNSServiceErr_NoError || !(flags & kDNSServiceFlagsAdd))
+ return;
+
+ /*
+ * Get the device...
+ */
+
+ get_device((cups_array_t *)context, serviceName, regtype, replyDomain);
+}
+
+
+/*
+ * 'compare_devices()' - Compare two devices.
+ */
+
+static int /* O - Result of comparison */
+compare_devices(cups_device_t *a, /* I - First device */
+ cups_device_t *b) /* I - Second device */
+{
+ int retval = strcmp(a->name, b->name);
+
+ if (retval)
+ return (retval);
+ else
+ return (-strcmp(a->regtype, b->regtype));
+}
+
+
+/*
+ * 'get_device()' - Create or update a device.
+ */
+
+static cups_device_t * /* O - Device */
+get_device(cups_array_t *devices, /* I - Device array */
+ const char *serviceName, /* I - Name of service/device */
+ const char *regtype, /* I - Type of service */
+ const char *replyDomain) /* I - Service domain */
+{
+ cups_device_t key, /* Search key */
+ *device; /* Device */
+ char fullName[kDNSServiceMaxDomainName];
+ /* Full name for query */
+
+
+ /*
+ * See if this is a new device...
+ */
+
+ key.name = (char *)serviceName;
+ key.regtype = (char *)regtype;
+
+ for (device = cupsArrayFind(devices, &key);
+ device;
+ device = cupsArrayNext(devices))
+ if (strcasecmp(device->name, key.name))
+ break;
+ else
+ {
+ if (!strcasecmp(device->domain, "local.") &&
+ strcasecmp(device->domain, replyDomain))
+ {
+ /*
+ * Update the .local listing to use the "global" domain name instead.
+ * The backend will try local lookups first, then the global domain name.
+ */
+
+ free(device->domain);
+ device->domain = strdup(replyDomain);
+
+ DNSServiceConstructFullName(fullName, device->name, regtype,
+ replyDomain);
+ free(device->fullName);
+ device->fullName = strdup(fullName);
+ }
+
+ return (device);
+ }
+
+ /*
+ * Yes, add the device...
+ */
+
+ device = calloc(sizeof(cups_device_t), 1);
+ device->name = strdup(serviceName);
+ device->domain = strdup(replyDomain);
+ device->regtype = strdup(regtype);
+
+ cupsArrayAdd(devices, device);
+
+ /*
+ * Set the "full name" of this service, which is used for queries...
+ */
+
+ DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain);
+ device->fullName = strdup(fullName);
+
+#ifdef DEBUG
+ fprintf(stderr, "get_device: fullName=\"%s\"...\n", fullName);
+#endif /* DEBUG */
+
+ return (device);
+}
+
+
+/*
+ * 'progress()' - Show query progress.
+ */
+
+static void
+progress(void)
+{
+#ifndef DEBUG
+ const char *chars = "|/-\\";
+ static int count = 0;
+
+
+ fprintf(stderr, "\rLooking for printers %c", chars[count]);
+ fflush(stderr);
+ count = (count + 1) & 3;
+#endif /* !DEBUG */
+}
+
+
+/*
+ * 'resolve_callback()' - Process resolve data.
+ */
+
+static void
+resolve_callback(
+ DNSServiceRef sdRef, /* I - Service reference */
+ DNSServiceFlags flags, /* I - Data flags */
+ uint32_t interfaceIndex, /* I - Interface */
+ DNSServiceErrorType errorCode, /* I - Error, if any */
+ const char *fullName, /* I - Full service name */
+ const char *hostTarget, /* I - Hostname */
+ uint16_t port, /* I - Port number (network byte order) */
+ uint16_t txtLen, /* I - Length of TXT record data */
+ const unsigned char *txtRecord, /* I - TXT record data */
+ void *context) /* I - Device */
+{
+ char temp[257], /* TXT key value */
+ uri[1024]; /* Printer URI */
+ const void *value; /* Value from TXT record */
+ uint8_t valueLen; /* Length of value */
+ cups_device_t *device = (cups_device_t *)context;
+ /* Device */
+
+
+#ifdef DEBUG
+ fprintf(stderr, "\rresolve_callback(sdRef=%p, flags=%x, "
+ "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
+ "hostTarget=\"%s\", port=%d, txtLen=%u, txtRecord=%p, "
+ "context=%p)\n",
+ sdRef, flags, interfaceIndex, errorCode,
+ fullName ? fullName : "(null)", hostTarget ? hostTarget : "(null)",
+ ntohs(port), txtLen, txtRecord, context);
+#endif /* DEBUG */
+
+ /*
+ * Only process "add" data...
+ */
+
+ if (errorCode != kDNSServiceErr_NoError)
+ return;
+
+ device->got_resolve = 1;
+ device->host = strdup(hostTarget);
+ device->port = ntohs(port);
+
+ /*
+ * Extract the "remote printer" key from the TXT record and save the URI...
+ */
+
+ if ((value = TXTRecordGetValuePtr(txtLen, txtRecord, "rp",
+ &valueLen)) != NULL)
+ {
+ if (((char *)value)[0] == '/')
+ {
+ /*
+ * "rp" value (incorrectly) has a leading slash already...
+ */
+
+ memcpy(temp, value, valueLen);
+ temp[valueLen] = '\0';
+ }
+ else
+ {
+ /*
+ * Convert to resource by concatenating with a leading "/"...
+ */
+
+ temp[0] = '/';
+ memcpy(temp + 1, value, valueLen);
+ temp[valueLen + 1] = '\0';
+ }
+ }
+ else
+ {
+ /*
+ * Default "rp" value is blank, mapping to a path of "/"...
+ */
+
+ temp[0] = '/';
+ temp[1] = '\0';
+ }
+
+ if (!strncmp(temp, "/printers/", 10))
+ device->cups_shared = -1;
+
+ httpAssembleURI(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp",
+ NULL, hostTarget, ntohs(port), temp);
+ device->uri = strdup(uri);
+ device->rp = strdup(temp);
+
+ if ((value = TXTRecordGetValuePtr(txtLen, txtRecord, "ty",
+ &valueLen)) != NULL)
+ {
+ memcpy(temp, value, valueLen);
+ temp[valueLen] = '\0';
+
+ device->ty = strdup(temp);
+ }
+
+ if ((value = TXTRecordGetValuePtr(txtLen, txtRecord, "pdl",
+ &valueLen)) != NULL)
+ {
+ memcpy(temp, value, valueLen);
+ temp[valueLen] = '\0';
+
+ device->pdl = strdup(temp);
+ }
+
+ if ((value = TXTRecordGetValuePtr(txtLen, txtRecord, "printer-type",
+ &valueLen)) != NULL)
+ device->cups_shared = 1;
+
+ if (device->cups_shared)
+ fprintf(stderr, "\rIgnoring CUPS printer %s\n", uri);
+ else
+ fprintf(stderr, "\rFound IPP printer %s\n", uri);
+
+ progress();
+}
+
+
+/*
+ * 'unquote()' - Unquote a name string.
+ */
+
+static void
+unquote(char *dst, /* I - Destination buffer */
+ const char *src, /* I - Source string */
+ size_t dstsize) /* I - Size of destination buffer */
+{
+ char *dstend = dst + dstsize - 1; /* End of destination buffer */
+
+
+ while (*src && dst < dstend)
+ {
+ if (*src == '\\')
+ {
+ src ++;
+ if (isdigit(src[0] & 255) && isdigit(src[1] & 255) &&
+ isdigit(src[2] & 255))
+ {
+ *dst++ = ((((src[0] - '0') * 10) + src[1] - '0') * 10) + src[2] - '0';
+ src += 3;
+ }
+ else
+ *dst++ = *src++;
+ }
+ else
+ *dst++ = *src ++;
+ }
+
+ *dst = '\0';
+}
+
+
+/*
+ * 'usage()' - Show program usage and exit.
+ */
+
+static void
+usage(void)
+{
+ _cupsLangPuts(stdout, _("Usage: ippdiscover [options] -a\n"
+ " ippdiscover [options] \"service name\"\n"
+ "\n"
+ "Options:"));
+ _cupsLangPuts(stdout, _(" -a Browse for all services."));
+ _cupsLangPuts(stdout, _(" -d domain Browse/resolve in specified domain."));
+ _cupsLangPuts(stdout, _(" -p program Run specified program for each service."));
+ _cupsLangPuts(stdout, _(" -t type Browse/resolve with specified type."));
+
+ exit(0);
+}
+
+
+/*
+ * End of "$Id: ippdiscover.c 10983 2013-05-13 23:57:32Z msweet $".
+ */
diff --git a/test/ippfind.c b/test/ippfind.c
new file mode 100644
index 00000000..7b468537
--- /dev/null
+++ b/test/ippfind.c
@@ -0,0 +1,2824 @@
+/*
+ * "$Id: ippfind.c 11100 2013-07-05 15:11:29Z msweet $"
+ *
+ * Utility to find IPP printers via Bonjour/DNS-SD and optionally run
+ * commands such as IPP and Bonjour conformance tests. This tool is
+ * inspired by the UNIX "find" command, thus its name.
+ *
+ * Copyright 2008-2013 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/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
+ *
+ * Contents:
+ *
+ * main() - Browse for printers.
+ * browse_callback() - Browse devices.
+ * browse_local_callback() - Browse local devices.
+ * browse_callback() - Browse devices.
+ * client_callback() - Avahi client callback function.
+ * compare_services() - Compare two devices.
+ * dnssd_error_string() - Return an error string for an error code.
+ * eval_expr() - Evaluate the expressions against the specified
+ * service.
+ * exec_program() - Execute a program for a service.
+ * get_service() - Create or update a device.
+ * get_time() - Get the current time-of-day in seconds.
+ * list_service() - List the contents of a service.
+ * new_expr() - Create a new expression.
+ * poll_callback() - Wait for input on the specified file
+ * descriptors.
+ * resolve_callback() - Process resolve data.
+ * set_service_uri() - Set the URI of the service.
+ * show_usage() - Show program usage.
+ * show_version() - Show program version.
+ */
+
+/*
+ * Include necessary headers.
+ */
+
+#define _CUPS_NO_DEPRECATED
+#include <cups/cups-private.h>
+#ifdef WIN32
+# include <process.h>
+# include <sys/timeb.h>
+#else
+# include <sys/wait.h>
+#endif /* WIN32 */
+#include <regex.h>
+#ifdef HAVE_DNSSD
+# include <dns_sd.h>
+#elif defined(HAVE_AVAHI)
+# include <avahi-client/client.h>
+# include <avahi-client/lookup.h>
+# include <avahi-common/simple-watch.h>
+# include <avahi-common/domain.h>
+# include <avahi-common/error.h>
+# include <avahi-common/malloc.h>
+# define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX
+#endif /* HAVE_DNSSD */
+
+#ifndef WIN32
+extern char **environ; /* Process environment variables */
+#endif /* !WIN32 */
+
+
+/*
+ * Structures...
+ */
+
+typedef enum ippfind_exit_e /* Exit codes */
+{
+ IPPFIND_EXIT_TRUE = 0, /* OK and result is true */
+ IPPFIND_EXIT_FALSE, /* OK but result is false*/
+ IPPFIND_EXIT_BONJOUR, /* Browse/resolve failure */
+ IPPFIND_EXIT_SYNTAX, /* Bad option or syntax error */
+ IPPFIND_EXIT_MEMORY /* Out of memory */
+} ippfind_exit_t;
+
+typedef enum ippfind_op_e /* Operations for expressions */
+{
+ /* "Evaluation" operations */
+ IPPFIND_OP_NONE, /* No operation */
+ IPPFIND_OP_AND, /* Logical AND of all children */
+ IPPFIND_OP_OR, /* Logical OR of all children */
+ IPPFIND_OP_TRUE, /* Always true */
+ IPPFIND_OP_FALSE, /* Always false */
+ IPPFIND_OP_IS_LOCAL, /* Is a local service */
+ IPPFIND_OP_IS_REMOTE, /* Is a remote service */
+ IPPFIND_OP_DOMAIN_REGEX, /* Domain matches regular expression */
+ IPPFIND_OP_NAME_REGEX, /* Name matches regular expression */
+ IPPFIND_OP_HOST_REGEX, /* Hostname matches regular expression */
+ IPPFIND_OP_PORT_RANGE, /* Port matches range */
+ IPPFIND_OP_PATH_REGEX, /* Path matches regular expression */
+ IPPFIND_OP_TXT_EXISTS, /* TXT record key exists */
+ IPPFIND_OP_TXT_REGEX, /* TXT record key matches regular expression */
+ IPPFIND_OP_URI_REGEX, /* URI matches regular expression */
+
+ /* "Output" operations */
+ IPPFIND_OP_EXEC, /* Execute when true */
+ IPPFIND_OP_LIST, /* List when true */
+ IPPFIND_OP_PRINT_NAME, /* Print URI when true */
+ IPPFIND_OP_PRINT_URI, /* Print name when true */
+ IPPFIND_OP_QUIET /* No output when true */
+} ippfind_op_t;
+
+typedef struct ippfind_expr_s /* Expression */
+{
+ struct ippfind_expr_s
+ *prev, /* Previous expression */
+ *next, /* Next expression */
+ *parent, /* Parent expressions */
+ *child; /* Child expressions */
+ ippfind_op_t op; /* Operation code (see above) */
+ int invert; /* Invert the result */
+ char *key; /* TXT record key */
+ regex_t re; /* Regular expression for matching */
+ int range[2]; /* Port number range */
+ int num_args; /* Number of arguments for exec */
+ char **args; /* Arguments for exec */
+} ippfind_expr_t;
+
+typedef struct ippfind_srv_s /* Service information */
+{
+#ifdef HAVE_DNSSD
+ DNSServiceRef ref; /* Service reference for query */
+#elif defined(HAVE_AVAHI)
+ AvahiServiceResolver *ref; /* Resolver */
+#endif /* HAVE_DNSSD */
+ char *name, /* Service name */
+ *domain, /* Domain name */
+ *regtype, /* Registration type */
+ *fullName, /* Full name */
+ *host, /* Hostname */
+ *resource, /* Resource path */
+ *uri; /* URI */
+ int num_txt; /* Number of TXT record keys */
+ cups_option_t *txt; /* TXT record keys */
+ int port, /* Port number */
+ is_local, /* Is a local service? */
+ is_processed, /* Did we process the service? */
+ is_resolved; /* Got the resolve data? */
+} ippfind_srv_t;
+
+
+/*
+ * Local globals...
+ */
+
+#ifdef HAVE_DNSSD
+static DNSServiceRef dnssd_ref; /* Master service reference */
+#elif defined(HAVE_AVAHI)
+static AvahiClient *avahi_client = NULL;/* Client information */
+static int avahi_got_data = 0; /* Got data from poll? */
+static AvahiSimplePoll *avahi_poll = NULL;
+ /* Poll information */
+#endif /* HAVE_DNSSD */
+
+static int address_family = AF_UNSPEC;
+ /* Address family for LIST */
+static int bonjour_error = 0; /* Error browsing/resolving? */
+static double bonjour_timeout = 1.0; /* Timeout in seconds */
+static int ipp_version = 20; /* IPP version for LIST */
+
+
+/*
+ * Local functions...
+ */
+
+#ifdef HAVE_DNSSD
+static void DNSSD_API browse_callback(DNSServiceRef sdRef,
+ DNSServiceFlags flags,
+ uint32_t interfaceIndex,
+ DNSServiceErrorType errorCode,
+ const char *serviceName,
+ const char *regtype,
+ const char *replyDomain, void *context)
+ __attribute__((nonnull(1,5,6,7,8)));
+static void DNSSD_API browse_local_callback(DNSServiceRef sdRef,
+ DNSServiceFlags flags,
+ uint32_t interfaceIndex,
+ DNSServiceErrorType errorCode,
+ const char *serviceName,
+ const char *regtype,
+ const char *replyDomain,
+ void *context)
+ __attribute__((nonnull(1,5,6,7,8)));
+#elif defined(HAVE_AVAHI)
+static void browse_callback(AvahiServiceBrowser *browser,
+ AvahiIfIndex interface,
+ AvahiProtocol protocol,
+ AvahiBrowserEvent event,
+ const char *serviceName,
+ const char *regtype,
+ const char *replyDomain,
+ AvahiLookupResultFlags flags,
+ void *context);
+static void client_callback(AvahiClient *client,
+ AvahiClientState state,
+ void *context);
+#endif /* HAVE_AVAHI */
+
+static int compare_services(ippfind_srv_t *a, ippfind_srv_t *b);
+static const char *dnssd_error_string(int error);
+static int eval_expr(ippfind_srv_t *service,
+ ippfind_expr_t *expressions);
+static int exec_program(ippfind_srv_t *service, int num_args,
+ char **args);
+static ippfind_srv_t *get_service(cups_array_t *services,
+ const char *serviceName,
+ const char *regtype,
+ const char *replyDomain)
+ __attribute__((nonnull(1,2,3,4)));
+static double get_time(void);
+static int list_service(ippfind_srv_t *service);
+static ippfind_expr_t *new_expr(ippfind_op_t op, int invert,
+ const char *value, const char *regex,
+ char **args);
+#ifdef HAVE_DNSSD
+static void DNSSD_API resolve_callback(DNSServiceRef sdRef,
+ DNSServiceFlags flags,
+ uint32_t interfaceIndex,
+ DNSServiceErrorType errorCode,
+ const char *fullName,
+ const char *hostTarget, uint16_t port,
+ uint16_t txtLen,
+ const unsigned char *txtRecord,
+ void *context)
+ __attribute__((nonnull(1,5,6,9, 10)));
+#elif defined(HAVE_AVAHI)
+static int poll_callback(struct pollfd *pollfds,
+ unsigned int num_pollfds, int timeout,
+ void *context);
+static void resolve_callback(AvahiServiceResolver *res,
+ AvahiIfIndex interface,
+ AvahiProtocol protocol,
+ AvahiResolverEvent event,
+ const char *serviceName,
+ const char *regtype,
+ const char *replyDomain,
+ const char *host_name,
+ const AvahiAddress *address,
+ uint16_t port,
+ AvahiStringList *txt,
+ AvahiLookupResultFlags flags,
+ void *context);
+#endif /* HAVE_DNSSD */
+static void set_service_uri(ippfind_srv_t *service);
+static void show_usage(void) __attribute__((noreturn));
+static void show_version(void) __attribute__((noreturn));
+
+
+/*
+ * 'main()' - Browse for printers.
+ */
+
+int /* O - Exit status */
+main(int argc, /* I - Number of command-line args */
+ char *argv[]) /* I - Command-line arguments */
+{
+ int i, /* Looping var */
+ have_output = 0,/* Have output expression */
+ status = IPPFIND_EXIT_TRUE;
+ /* Exit status */
+ const char *opt, /* Option character */
+ *search; /* Current browse/resolve string */
+ cups_array_t *searches; /* Things to browse/resolve */
+ cups_array_t *services; /* Service array */
+ ippfind_srv_t *service; /* Current service */
+ ippfind_expr_t *expressions = NULL,
+ /* Expression tree */
+ *temp = NULL, /* New expression */
+ *parent = NULL, /* Parent expression */
+ *current = NULL,/* Current expression */
+ *parens[100]; /* Markers for parenthesis */
+ int num_parens = 0; /* Number of parenthesis */
+ ippfind_op_t logic = IPPFIND_OP_AND;
+ /* Logic for next expression */
+ int invert = 0; /* Invert expression? */
+ int err; /* DNS-SD error */
+#ifdef HAVE_DNSSD
+ fd_set sinput; /* Input set for select() */
+ struct timeval stimeout; /* Timeout for select() */
+#endif /* HAVE_DNSSD */
+ double endtime; /* End time */
+ static const char * const ops[] = /* Node operation names */
+ {
+ "NONE",
+ "AND",
+ "OR",
+ "TRUE",
+ "FALSE",
+ "IS_LOCAL",
+ "IS_REMOTE",
+ "DOMAIN_REGEX",
+ "NAME_REGEX",
+ "HOST_REGEX",
+ "PORT_RANGE",
+ "PATH_REGEX",
+ "TXT_EXISTS",
+ "TXT_REGEX",
+ "URI_REGEX",
+ "EXEC",
+ "LIST",
+ "PRINT_NAME",
+ "PRINT_URI",
+ "QUIET"
+ };
+
+
+ /*
+ * Initialize the locale...
+ */
+
+ _cupsSetLocale(argv);
+
+ /*
+ * Create arrays to track services and things we want to browse/resolve...
+ */
+
+ searches = cupsArrayNew(NULL, NULL);
+ services = cupsArrayNew((cups_array_func_t)compare_services, NULL);
+
+ /*
+ * Parse command-line...
+ */
+
+ for (i = 1; i < argc; i ++)
+ {
+ if (argv[i][0] == '-')
+ {
+ if (argv[i][1] == '-')
+ {
+ /*
+ * Parse --option options...
+ */
+
+ if (!strcmp(argv[i], "--and"))
+ {
+ if (logic == IPPFIND_OP_OR)
+ {
+ _cupsLangPuts(stderr, _("ippfind: Cannot use --and after --or."));
+ show_usage();
+ }
+
+ if (!current)
+ {
+ _cupsLangPuts(stderr,
+ _("ippfind: Missing expression before \"--and\"."));
+ show_usage();
+ }
+
+ temp = NULL;
+ }
+ else if (!strcmp(argv[i], "--domain"))
+ {
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after %s."),
+ "--domain");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_DOMAIN_REGEX, invert, NULL, argv[i],
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--exec"))
+ {
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Expected program after %s."),
+ "--exec");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_EXEC, invert, NULL, NULL,
+ argv + i)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ while (i < argc)
+ if (!strcmp(argv[i], ";"))
+ break;
+ else
+ i ++;
+
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Expected semi-colon after %s."),
+ "--exec");
+ show_usage();
+ }
+
+ have_output = 1;
+ }
+ else if (!strcmp(argv[i], "--false"))
+ {
+ if ((temp = new_expr(IPPFIND_OP_FALSE, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--help"))
+ {
+ show_usage();
+ }
+ else if (!strcmp(argv[i], "--host"))
+ {
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after %s."),
+ "--host");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_HOST_REGEX, invert, NULL, argv[i],
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--ls"))
+ {
+ if ((temp = new_expr(IPPFIND_OP_LIST, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ have_output = 1;
+ }
+ else if (!strcmp(argv[i], "--local"))
+ {
+ if ((temp = new_expr(IPPFIND_OP_IS_LOCAL, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--name"))
+ {
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after %s."),
+ "--name");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_NAME_REGEX, invert, NULL, argv[i],
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--not"))
+ {
+ invert = 1;
+ }
+ else if (!strcmp(argv[i], "--or"))
+ {
+ if (!current)
+ {
+ _cupsLangPuts(stderr,
+ _("ippfind: Missing expression before \"--or\"."));
+ show_usage();
+ }
+
+ logic = IPPFIND_OP_OR;
+
+ if (parent && parent->op == IPPFIND_OP_OR)
+ {
+ /*
+ * Already setup to do "foo --or bar --or baz"...
+ */
+
+ temp = NULL;
+ }
+ else if (!current->prev && parent)
+ {
+ /*
+ * Change parent node into an OR node...
+ */
+
+ parent->op = IPPFIND_OP_OR;
+ temp = NULL;
+ }
+ else if (!current->prev)
+ {
+ /*
+ * Need to group "current" in a new OR node...
+ */
+
+ if ((temp = new_expr(IPPFIND_OP_OR, 0, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ temp->parent = parent;
+ temp->child = current;
+ current->parent = temp;
+
+ if (parent)
+ parent->child = temp;
+ else
+ expressions = temp;
+
+ parent = temp;
+ temp = NULL;
+ }
+ else
+ {
+ /*
+ * Need to group previous expressions in an AND node, and then
+ * put that in an OR node...
+ */
+
+ if ((temp = new_expr(IPPFIND_OP_AND, 0, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ while (current->prev)
+ {
+ current->parent = temp;
+ current = current->prev;
+ }
+
+ current->parent = temp;
+ temp->child = current;
+ current = temp;
+
+ if ((temp = new_expr(IPPFIND_OP_OR, 0, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ temp->parent = parent;
+ current->parent = temp;
+
+ if (parent)
+ parent->child = temp;
+ else
+ expressions = temp;
+
+ parent = temp;
+ temp = NULL;
+ }
+ }
+ else if (!strcmp(argv[i], "--path"))
+ {
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after %s."),
+ "--path");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_PATH_REGEX, invert, NULL, argv[i],
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--port"))
+ {
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Expected port range after %s."),
+ "--port");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_PORT_RANGE, invert, argv[i], NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--print"))
+ {
+ if ((temp = new_expr(IPPFIND_OP_PRINT_URI, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ have_output = 1;
+ }
+ else if (!strcmp(argv[i], "--print-name"))
+ {
+ if ((temp = new_expr(IPPFIND_OP_PRINT_NAME, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ have_output = 1;
+ }
+ else if (!strcmp(argv[i], "--quiet"))
+ {
+ if ((temp = new_expr(IPPFIND_OP_QUIET, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ have_output = 1;
+ }
+ else if (!strcmp(argv[i], "--remote"))
+ {
+ if ((temp = new_expr(IPPFIND_OP_IS_REMOTE, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--true"))
+ {
+ if ((temp = new_expr(IPPFIND_OP_TRUE, invert, NULL, argv[i],
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--txt"))
+ {
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Expected key name after %s."),
+ "--txt");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_TXT_EXISTS, invert, argv[i], NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strncmp(argv[i], "--txt-", 5))
+ {
+ const char *key = argv[i] + 5;/* TXT key */
+
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after %s."),
+ argv[i - 1]);
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_TXT_REGEX, invert, key, argv[i],
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--uri"))
+ {
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after %s."),
+ "--uri");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_URI_REGEX, invert, NULL, argv[i],
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ }
+ else if (!strcmp(argv[i], "--version"))
+ {
+ show_version();
+ }
+ else
+ {
+ _cupsLangPrintf(stderr, _("%s: Unknown option \"%s\"."),
+ "ippfind", argv[i]);
+ show_usage();
+ }
+
+ if (temp)
+ {
+ /*
+ * Add new expression...
+ */
+
+ if (logic == IPPFIND_OP_AND &&
+ current && current->prev &&
+ parent && parent->op != IPPFIND_OP_AND)
+ {
+ /*
+ * Need to re-group "current" in a new AND node...
+ */
+
+ ippfind_expr_t *tempand; /* Temporary AND node */
+
+ if ((tempand = new_expr(IPPFIND_OP_AND, 0, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ /*
+ * Replace "current" with new AND node at the end of this list...
+ */
+
+ current->prev->next = tempand;
+ tempand->prev = current->prev;
+ tempand->parent = parent;
+
+ /*
+ * Add "current to the new AND node...
+ */
+
+ tempand->child = current;
+ current->parent = tempand;
+ current->prev = NULL;
+ parent = tempand;
+ }
+
+ /*
+ * Add the new node at current level...
+ */
+
+ temp->parent = parent;
+ temp->prev = current;
+
+ if (current)
+ current->next = temp;
+ else if (parent)
+ parent->child = temp;
+ else
+ expressions = temp;
+
+ current = temp;
+ invert = 0;
+ logic = IPPFIND_OP_AND;
+ temp = NULL;
+ }
+ }
+ else
+ {
+ /*
+ * Parse -o options
+ */
+
+ for (opt = argv[i] + 1; *opt; opt ++)
+ {
+ switch (*opt)
+ {
+ case '4' :
+ address_family = AF_INET;
+ break;
+
+ case '6' :
+ address_family = AF_INET6;
+ break;
+
+ case 'P' :
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Expected port range after %s."),
+ "-P");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_PORT_RANGE, invert, argv[i],
+ NULL, NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ break;
+
+ case 'T' :
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("%s: Missing timeout for \"-T\"."),
+ "ippfind");
+ show_usage();
+ }
+
+ bonjour_timeout = atof(argv[i]);
+ break;
+
+ case 'V' :
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("%s: Missing version for \"-V\"."),
+ "ippfind");
+ show_usage();
+ }
+ show_usage();
+
+ if (!strcmp(argv[i], "1.1"))
+ ipp_version = 11;
+ else if (!strcmp(argv[i], "2.0"))
+ ipp_version = 20;
+ else if (!strcmp(argv[i], "2.1"))
+ ipp_version = 21;
+ else if (!strcmp(argv[i], "2.2"))
+ ipp_version = 22;
+ else
+ {
+ _cupsLangPrintf(stderr, _("%s: Bad version %s for \"-V\"."),
+ "ippfind", argv[i]);
+ show_usage();
+ }
+ break;
+
+ case 'd' :
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after "
+ "%s."), "-d");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_DOMAIN_REGEX, invert, NULL,
+ argv[i], NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ break;
+
+ case 'h' :
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after "
+ "%s."), "-h");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_HOST_REGEX, invert, NULL,
+ argv[i], NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ break;
+
+ case 'l' :
+ if ((temp = new_expr(IPPFIND_OP_LIST, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ have_output = 1;
+ break;
+
+ case 'n' :
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after "
+ "%s."), "-n");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_NAME_REGEX, invert, NULL,
+ argv[i], NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ break;
+
+ case 'p' :
+ if ((temp = new_expr(IPPFIND_OP_PRINT_URI, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ have_output = 1;
+ break;
+
+ case 'q' :
+ if ((temp = new_expr(IPPFIND_OP_QUIET, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ have_output = 1;
+ break;
+
+ case 'r' :
+ if ((temp = new_expr(IPPFIND_OP_IS_REMOTE, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ break;
+
+ case 's' :
+ if ((temp = new_expr(IPPFIND_OP_PRINT_NAME, invert, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ have_output = 1;
+ break;
+
+ case 't' :
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing key name after %s."),
+ "-t");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_TXT_EXISTS, invert, argv[i],
+ NULL, NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ break;
+
+ case 'u' :
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing regular expression after "
+ "%s."), "-u");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_URI_REGEX, invert, NULL,
+ argv[i], NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+ break;
+
+ case 'x' :
+ i ++;
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing program after %s."),
+ "-x");
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_EXEC, invert, NULL, NULL,
+ argv + i)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ while (i < argc)
+ if (!strcmp(argv[i], ";"))
+ break;
+ else
+ i ++;
+
+ if (i >= argc)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Missing semi-colon after %s."),
+ "-x");
+ show_usage();
+ }
+
+ have_output = 1;
+ break;
+
+ default :
+ _cupsLangPrintf(stderr, _("%s: Unknown option \"-%c\"."),
+ "ippfind", *opt);
+ show_usage();
+ break;
+ }
+
+ if (temp)
+ {
+ /*
+ * Add new expression...
+ */
+
+ if (logic == IPPFIND_OP_AND &&
+ current && current->prev &&
+ parent && parent->op != IPPFIND_OP_AND)
+ {
+ /*
+ * Need to re-group "current" in a new AND node...
+ */
+
+ ippfind_expr_t *tempand; /* Temporary AND node */
+
+ if ((tempand = new_expr(IPPFIND_OP_AND, 0, NULL, NULL,
+ NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ /*
+ * Replace "current" with new AND node at the end of this list...
+ */
+
+ current->prev->next = tempand;
+ tempand->prev = current->prev;
+ tempand->parent = parent;
+
+ /*
+ * Add "current to the new AND node...
+ */
+
+ tempand->child = current;
+ current->parent = tempand;
+ current->prev = NULL;
+ parent = tempand;
+ }
+
+ /*
+ * Add the new node at current level...
+ */
+
+ temp->parent = parent;
+ temp->prev = current;
+
+ if (current)
+ current->next = temp;
+ else if (parent)
+ parent->child = temp;
+ else
+ expressions = temp;
+
+ current = temp;
+ invert = 0;
+ logic = IPPFIND_OP_AND;
+ temp = NULL;
+ }
+ }
+ }
+ }
+ else if (!strcmp(argv[i], "("))
+ {
+ if (num_parens >= 100)
+ {
+ _cupsLangPuts(stderr, _("ippfind: Too many parenthesis."));
+ show_usage();
+ }
+
+ if ((temp = new_expr(IPPFIND_OP_AND, invert, NULL, NULL, NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ parens[num_parens++] = temp;
+
+ if (current)
+ {
+ temp->parent = current->parent;
+ current->next = temp;
+ temp->prev = current;
+ }
+ else
+ expressions = temp;
+
+ parent = temp;
+ current = NULL;
+ invert = 0;
+ logic = IPPFIND_OP_AND;
+ }
+ else if (!strcmp(argv[i], ")"))
+ {
+ if (num_parens <= 0)
+ {
+ _cupsLangPuts(stderr, _("ippfind: Missing open parenthesis."));
+ show_usage();
+ }
+
+ current = parens[--num_parens];
+ parent = current->parent;
+ invert = 0;
+ logic = IPPFIND_OP_AND;
+ }
+ else if (!strcmp(argv[i], "!"))
+ {
+ invert = 1;
+ }
+ else
+ {
+ /*
+ * _regtype._tcp[,subtype][.domain]
+ *
+ * OR
+ *
+ * service-name[._regtype._tcp[.domain]]
+ */
+
+ cupsArrayAdd(searches, argv[i]);
+ }
+ }
+
+ if (num_parens > 0)
+ {
+ _cupsLangPuts(stderr, _("ippfind: Missing close parenthesis."));
+ show_usage();
+ }
+
+ if (!have_output)
+ {
+ /*
+ * Add an implicit --print-uri to the end...
+ */
+
+ if ((temp = new_expr(IPPFIND_OP_PRINT_URI, 0, NULL, NULL, NULL)) == NULL)
+ return (IPPFIND_EXIT_MEMORY);
+
+ if (current)
+ {
+ while (current->parent)
+ current = current->parent;
+
+ current->next = temp;
+ temp->prev = current;
+ }
+ else
+ expressions = temp;
+ }
+
+ if (cupsArrayCount(searches) == 0)
+ {
+ /*
+ * Add an implicit browse for IPP printers ("_ipp._tcp")...
+ */
+
+ cupsArrayAdd(searches, "_ipp._tcp");
+ }
+
+ if (getenv("IPPFIND_DEBUG"))
+ {
+ int indent = 4; /* Indentation */
+
+ puts("Expression tree:");
+ current = expressions;
+ while (current)
+ {
+ /*
+ * Print the current node...
+ */
+
+ printf("%*s%s%s\n", indent, "", current->invert ? "!" : "",
+ ops[current->op]);
+
+ /*
+ * Advance to the next node...
+ */
+
+ if (current->child)
+ {
+ current = current->child;
+ indent += 4;
+ }
+ else if (current->next)
+ current = current->next;
+ else if (current->parent)
+ {
+ while (current->parent)
+ {
+ indent -= 4;
+ current = current->parent;
+ if (current->next)
+ break;
+ }
+
+ current = current->next;
+ }
+ else
+ current = NULL;
+ }
+
+ puts("\nSearch items:");
+ for (search = (const char *)cupsArrayFirst(searches);
+ search;
+ search = (const char *)cupsArrayNext(searches))
+ printf(" %s\n", search);
+ }
+
+ /*
+ * Start up browsing/resolving...
+ */
+
+#ifdef HAVE_DNSSD
+ if ((err = DNSServiceCreateConnection(&dnssd_ref)) != kDNSServiceErr_NoError)
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Unable to use Bonjour: %s"),
+ dnssd_error_string(err));
+ return (IPPFIND_EXIT_BONJOUR);
+ }
+
+#elif defined(HAVE_AVAHI)
+ if ((avahi_poll = avahi_simple_poll_new()) == NULL)
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Unable to use Bonjour: %s"),
+ strerror(errno));
+ return (IPPFIND_EXIT_BONJOUR);
+ }
+
+ avahi_simple_poll_set_func(avahi_poll, poll_callback, NULL);
+
+ avahi_client = avahi_client_new(avahi_simple_poll_get(avahi_poll),
+ 0, client_callback, avahi_poll, &err);
+ if (!avahi_client)
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Unable to use Bonjour: %s"),
+ dnssd_error_string(err));
+ return (IPPFIND_EXIT_BONJOUR);
+ }
+#endif /* HAVE_DNSSD */
+
+ for (search = (const char *)cupsArrayFirst(searches);
+ search;
+ search = (const char *)cupsArrayNext(searches))
+ {
+ char buf[1024], /* Full name string */
+ *name = NULL, /* Service instance name */
+ *regtype, /* Registration type */
+ *domain; /* Domain, if any */
+
+ strlcpy(buf, search, sizeof(buf));
+ if (buf[0] == '_')
+ {
+ regtype = buf;
+ }
+ else if ((regtype = strstr(buf, "._")) != NULL)
+ {
+ name = buf;
+ *regtype++ = '\0';
+ }
+ else
+ {
+ name = buf;
+ regtype = "_ipp._tcp";
+ }
+
+ for (domain = regtype; *domain; domain ++)
+ if (*domain == '.' && domain[1] != '_')
+ {
+ *domain++ = '\0';
+ break;
+ }
+
+ if (!*domain)
+ domain = NULL;
+
+ if (name)
+ {
+ /*
+ * Resolve the given service instance name, regtype, and domain...
+ */
+
+ if (!domain)
+ domain = "local.";
+
+ service = get_service(services, name, regtype, domain);
+
+#ifdef HAVE_DNSSD
+ service->ref = dnssd_ref;
+ err = DNSServiceResolve(&(service->ref),
+ kDNSServiceFlagsShareConnection, 0, name,
+ regtype, domain, resolve_callback,
+ service);
+
+#elif defined(HAVE_AVAHI)
+ service->ref = avahi_service_resolver_new(avahi_client, AVAHI_IF_UNSPEC,
+ AVAHI_PROTO_UNSPEC, name,
+ regtype, domain,
+ AVAHI_PROTO_UNSPEC, 0,
+ resolve_callback, service);
+ if (service->ref)
+ err = 0;
+ else
+ err = avahi_client_errno(avahi_client);
+#endif /* HAVE_DNSSD */
+ }
+ else
+ {
+ /*
+ * Browse for services of the given type...
+ */
+
+#ifdef HAVE_DNSSD
+ DNSServiceRef ref; /* Browse reference */
+
+ ref = dnssd_ref;
+ err = DNSServiceBrowse(&ref, kDNSServiceFlagsShareConnection, 0, regtype,
+ domain, browse_callback, services);
+
+ if (!err)
+ {
+ ref = dnssd_ref;
+ err = DNSServiceBrowse(&ref, kDNSServiceFlagsShareConnection,
+ kDNSServiceInterfaceIndexLocalOnly, regtype,
+ domain, browse_local_callback, services);
+ }
+
+#elif defined(HAVE_AVAHI)
+ if (avahi_service_browser_new(avahi_client, AVAHI_IF_UNSPEC,
+ AVAHI_PROTO_UNSPEC, regtype, domain, 0,
+ browse_callback, services))
+ err = 0;
+ else
+ err = avahi_client_errno(avahi_client);
+#endif /* HAVE_DNSSD */
+ }
+
+ if (err)
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Unable to browse or resolve: %s"),
+ dnssd_error_string(err));
+
+ if (name)
+ printf("name=\"%s\"\n", name);
+
+ printf("regtype=\"%s\"\n", regtype);
+
+ if (domain)
+ printf("domain=\"%s\"\n", domain);
+
+ return (IPPFIND_EXIT_BONJOUR);
+ }
+ }
+
+ /*
+ * Process browse/resolve requests...
+ */
+
+ if (bonjour_timeout > 1.0)
+ endtime = get_time() + bonjour_timeout;
+ else
+ endtime = get_time() + 300.0;
+
+ while (get_time() < endtime)
+ {
+ int process = 0; /* Process services? */
+
+#ifdef HAVE_DNSSD
+ int fd = DNSServiceRefSockFD(dnssd_ref);
+ /* File descriptor for DNS-SD */
+
+ FD_ZERO(&sinput);
+ FD_SET(fd, &sinput);
+
+ stimeout.tv_sec = 0;
+ stimeout.tv_usec = 500000;
+
+ if (select(fd + 1, &sinput, NULL, NULL, &stimeout) < 0)
+ continue;
+
+ if (FD_ISSET(fd, &sinput))
+ {
+ /*
+ * Process responses...
+ */
+
+ DNSServiceProcessResult(dnssd_ref);
+ }
+ else
+ {
+ /*
+ * Time to process services...
+ */
+
+ process = 1;
+ }
+
+#elif defined(HAVE_AVAHI)
+ avahi_got_data = 0;
+
+ if (avahi_simple_poll_iterate(avahi_poll, 500) > 0)
+ {
+ /*
+ * We've been told to exit the loop. Perhaps the connection to
+ * Avahi failed.
+ */
+
+ return (IPPFIND_EXIT_BONJOUR);
+ }
+
+ if (!avahi_got_data)
+ {
+ /*
+ * Time to process services...
+ */
+
+ process = 1;
+ }
+#endif /* HAVE_DNSSD */
+
+ if (process)
+ {
+ /*
+ * Process any services that we have found...
+ */
+
+ int active = 0, /* Number of active resolves */
+ resolved = 0, /* Number of resolved services */
+ processed = 0; /* Number of processed services */
+
+ for (service = (ippfind_srv_t *)cupsArrayFirst(services);
+ service;
+ service = (ippfind_srv_t *)cupsArrayNext(services))
+ {
+ if (service->is_processed)
+ processed ++;
+
+ if (service->is_resolved)
+ resolved ++;
+
+ if (!service->ref && !service->is_resolved)
+ {
+ /*
+ * Found a service, now resolve it (but limit to 50 active resolves...)
+ */
+
+ if (active < 50)
+ {
+#ifdef HAVE_DNSSD
+ service->ref = dnssd_ref;
+ err = DNSServiceResolve(&(service->ref),
+ kDNSServiceFlagsShareConnection, 0,
+ service->name, service->regtype,
+ service->domain, resolve_callback,
+ service);
+
+#elif defined(HAVE_AVAHI)
+ service->ref = avahi_service_resolver_new(avahi_client,
+ AVAHI_IF_UNSPEC,
+ AVAHI_PROTO_UNSPEC,
+ service->name,
+ service->regtype,
+ service->domain,
+ AVAHI_PROTO_UNSPEC, 0,
+ resolve_callback,
+ service);
+ if (service->ref)
+ err = 0;
+ else
+ err = avahi_client_errno(avahi_client);
+#endif /* HAVE_DNSSD */
+
+ if (err)
+ {
+ _cupsLangPrintf(stderr,
+ _("ippfind: Unable to browse or resolve: %s"),
+ dnssd_error_string(err));
+ return (IPPFIND_EXIT_BONJOUR);
+ }
+
+ active ++;
+ }
+ }
+ else if (service->is_resolved && !service->is_processed)
+ {
+ /*
+ * Resolved, not process this service against the expressions...
+ */
+
+ if (service->ref)
+ {
+#ifdef HAVE_DNSSD
+ DNSServiceRefDeallocate(service->ref);
+#else
+ avahi_service_resolver_free(service->ref);
+#endif /* HAVE_DNSSD */
+
+ service->ref = NULL;
+ }
+
+ if (!eval_expr(service, expressions))
+ status = IPPFIND_EXIT_FALSE;
+
+ service->is_processed = 1;
+ }
+ else if (service->ref)
+ active ++;
+ }
+
+ /*
+ * If we have processed all services we have discovered, then we are done.
+ */
+
+ if (processed == cupsArrayCount(services) && bonjour_timeout <= 1.0)
+ break;
+ }
+ }
+
+ if (bonjour_error)
+ return (IPPFIND_EXIT_BONJOUR);
+ else
+ return (status);
+}
+
+
+#ifdef HAVE_DNSSD
+/*
+ * 'browse_callback()' - Browse devices.
+ */
+
+static void DNSSD_API
+browse_callback(
+ DNSServiceRef sdRef, /* I - Service reference */
+ DNSServiceFlags flags, /* I - Option flags */
+ uint32_t interfaceIndex, /* I - Interface number */
+ DNSServiceErrorType errorCode, /* I - Error, if any */
+ const char *serviceName, /* I - Name of service/device */
+ const char *regtype, /* I - Type of service */
+ const char *replyDomain, /* I - Service domain */
+ void *context) /* I - Services array */
+{
+ /*
+ * Only process "add" data...
+ */
+
+ if (errorCode != kDNSServiceErr_NoError || !(flags & kDNSServiceFlagsAdd))
+ return;
+
+ /*
+ * Get the device...
+ */
+
+ get_service((cups_array_t *)context, serviceName, regtype, replyDomain);
+}
+
+
+/*
+ * 'browse_local_callback()' - Browse local devices.
+ */
+
+static void DNSSD_API
+browse_local_callback(
+ DNSServiceRef sdRef, /* I - Service reference */
+ DNSServiceFlags flags, /* I - Option flags */
+ uint32_t interfaceIndex, /* I - Interface number */
+ DNSServiceErrorType errorCode, /* I - Error, if any */
+ const char *serviceName, /* I - Name of service/device */
+ const char *regtype, /* I - Type of service */
+ const char *replyDomain, /* I - Service domain */
+ void *context) /* I - Services array */
+{
+ ippfind_srv_t *service; /* Service */
+
+
+ /*
+ * Only process "add" data...
+ */
+
+ if (errorCode != kDNSServiceErr_NoError || !(flags & kDNSServiceFlagsAdd))
+ return;
+
+ /*
+ * Get the device...
+ */
+
+ service = get_service((cups_array_t *)context, serviceName, regtype,
+ replyDomain);
+ service->is_local = 1;
+}
+#endif /* HAVE_DNSSD */
+
+
+#ifdef HAVE_AVAHI
+/*
+ * 'browse_callback()' - Browse devices.
+ */
+
+static void
+browse_callback(
+ AvahiServiceBrowser *browser, /* I - Browser */
+ AvahiIfIndex interface, /* I - Interface index (unused) */
+ AvahiProtocol protocol, /* I - Network protocol (unused) */
+ AvahiBrowserEvent event, /* I - What happened */
+ const char *name, /* I - Service name */
+ const char *type, /* I - Registration type */
+ const char *domain, /* I - Domain */
+ AvahiLookupResultFlags flags, /* I - Flags */
+ void *context) /* I - Services array */
+{
+ AvahiClient *client = avahi_service_browser_get_client(browser);
+ /* Client information */
+ ippfind_srv_t *service; /* Service information */
+
+
+ (void)interface;
+ (void)protocol;
+ (void)context;
+
+ switch (event)
+ {
+ case AVAHI_BROWSER_FAILURE:
+ fprintf(stderr, "DEBUG: browse_callback: %s\n",
+ avahi_strerror(avahi_client_errno(client)));
+ bonjour_error = 1;
+ avahi_simple_poll_quit(avahi_poll);
+ break;
+
+ case AVAHI_BROWSER_NEW:
+ /*
+ * This object is new on the network. Create a device entry for it if
+ * it doesn't yet exist.
+ */
+
+ service = get_service((cups_array_t *)context, name, type, domain);
+
+ if (flags & AVAHI_LOOKUP_RESULT_LOCAL)
+ service->is_local = 1;
+ break;
+
+ case AVAHI_BROWSER_REMOVE:
+ case AVAHI_BROWSER_ALL_FOR_NOW:
+ case AVAHI_BROWSER_CACHE_EXHAUSTED:
+ break;
+ }
+}
+
+
+/*
+ * 'client_callback()' - Avahi client callback function.
+ */
+
+static void
+client_callback(
+ AvahiClient *client, /* I - Client information (unused) */
+ AvahiClientState state, /* I - Current state */
+ void *context) /* I - User data (unused) */
+{
+ (void)client;
+ (void)context;
+
+ /*
+ * If the connection drops, quit.
+ */
+
+ if (state == AVAHI_CLIENT_FAILURE)
+ {
+ fputs("DEBUG: Avahi connection failed.\n", stderr);
+ bonjour_error = 1;
+ avahi_simple_poll_quit(avahi_poll);
+ }
+}
+#endif /* HAVE_AVAHI */
+
+
+/*
+ * 'compare_services()' - Compare two devices.
+ */
+
+static int /* O - Result of comparison */
+compare_services(ippfind_srv_t *a, /* I - First device */
+ ippfind_srv_t *b) /* I - Second device */
+{
+ return (strcmp(a->name, b->name));
+}
+
+
+/*
+ * 'dnssd_error_string()' - Return an error string for an error code.
+ */
+
+static const char * /* O - Error message */
+dnssd_error_string(int error) /* I - Error number */
+{
+# ifdef HAVE_DNSSD
+ switch (error)
+ {
+ case kDNSServiceErr_NoError :
+ return ("OK.");
+
+ default :
+ case kDNSServiceErr_Unknown :
+ return ("Unknown error.");
+
+ case kDNSServiceErr_NoSuchName :
+ return ("Service not found.");
+
+ case kDNSServiceErr_NoMemory :
+ return ("Out of memory.");
+
+ case kDNSServiceErr_BadParam :
+ return ("Bad parameter.");
+
+ case kDNSServiceErr_BadReference :
+ return ("Bad service reference.");
+
+ case kDNSServiceErr_BadState :
+ return ("Bad state.");
+
+ case kDNSServiceErr_BadFlags :
+ return ("Bad flags.");
+
+ case kDNSServiceErr_Unsupported :
+ return ("Unsupported.");
+
+ case kDNSServiceErr_NotInitialized :
+ return ("Not initialized.");
+
+ case kDNSServiceErr_AlreadyRegistered :
+ return ("Already registered.");
+
+ case kDNSServiceErr_NameConflict :
+ return ("Name conflict.");
+
+ case kDNSServiceErr_Invalid :
+ return ("Invalid name.");
+
+ case kDNSServiceErr_Firewall :
+ return ("Firewall prevents registration.");
+
+ case kDNSServiceErr_Incompatible :
+ return ("Client library incompatible.");
+
+ case kDNSServiceErr_BadInterfaceIndex :
+ return ("Bad interface index.");
+
+ case kDNSServiceErr_Refused :
+ return ("Server prevents registration.");
+
+ case kDNSServiceErr_NoSuchRecord :
+ return ("Record not found.");
+
+ case kDNSServiceErr_NoAuth :
+ return ("Authentication required.");
+
+ case kDNSServiceErr_NoSuchKey :
+ return ("Encryption key not found.");
+
+ case kDNSServiceErr_NATTraversal :
+ return ("Unable to traverse NAT boundary.");
+
+ case kDNSServiceErr_DoubleNAT :
+ return ("Unable to traverse double-NAT boundary.");
+
+ case kDNSServiceErr_BadTime :
+ return ("Bad system time.");
+
+ case kDNSServiceErr_BadSig :
+ return ("Bad signature.");
+
+ case kDNSServiceErr_BadKey :
+ return ("Bad encryption key.");
+
+ case kDNSServiceErr_Transient :
+ return ("Transient error occurred - please try again.");
+
+ case kDNSServiceErr_ServiceNotRunning :
+ return ("Server not running.");
+
+ case kDNSServiceErr_NATPortMappingUnsupported :
+ return ("NAT doesn't support NAT-PMP or UPnP.");
+
+ case kDNSServiceErr_NATPortMappingDisabled :
+ return ("NAT supports NAT-PNP or UPnP but it is disabled.");
+
+ case kDNSServiceErr_NoRouter :
+ return ("No Internet/default router configured.");
+
+ case kDNSServiceErr_PollingMode :
+ return ("Service polling mode error.");
+
+#ifndef WIN32
+ case kDNSServiceErr_Timeout :
+ return ("Service timeout.");
+#endif /* !WIN32 */
+ }
+
+# elif defined(HAVE_AVAHI)
+ return (avahi_strerror(error));
+# endif /* HAVE_DNSSD */
+}
+
+
+/*
+ * 'eval_expr()' - Evaluate the expressions against the specified service.
+ *
+ * Returns 1 for true and 0 for false.
+ */
+
+static int /* O - Result of evaluation */
+eval_expr(ippfind_srv_t *service, /* I - Service */
+ ippfind_expr_t *expressions) /* I - Expressions */
+{
+ int logic, /* Logical operation */
+ result; /* Result of current expression */
+ ippfind_expr_t *expression; /* Current expression */
+ const char *val; /* TXT value */
+
+ /*
+ * Loop through the expressions...
+ */
+
+ if (expressions && expressions->parent)
+ logic = expressions->parent->op;
+ else
+ logic = IPPFIND_OP_AND;
+
+ for (expression = expressions; expression; expression = expression->next)
+ {
+ switch (expression->op)
+ {
+ default :
+ case IPPFIND_OP_AND :
+ case IPPFIND_OP_OR :
+ if (expression->child)
+ result = eval_expr(service, expression->child);
+ else
+ result = expression->op == IPPFIND_OP_AND;
+ break;
+ case IPPFIND_OP_TRUE :
+ result = 1;
+ break;
+ case IPPFIND_OP_FALSE :
+ result = 0;
+ break;
+ case IPPFIND_OP_IS_LOCAL :
+ result = service->is_local;
+ break;
+ case IPPFIND_OP_IS_REMOTE :
+ result = !service->is_local;
+ break;
+ case IPPFIND_OP_DOMAIN_REGEX :
+ result = !regexec(&(expression->re), service->domain, 0, NULL, 0);
+ break;
+ case IPPFIND_OP_NAME_REGEX :
+ result = !regexec(&(expression->re), service->name, 0, NULL, 0);
+ break;
+ case IPPFIND_OP_HOST_REGEX :
+ result = !regexec(&(expression->re), service->host, 0, NULL, 0);
+ break;
+ case IPPFIND_OP_PORT_RANGE :
+ result = service->port >= expression->range[0] &&
+ service->port <= expression->range[1];
+ break;
+ case IPPFIND_OP_PATH_REGEX :
+ result = !regexec(&(expression->re), service->resource, 0, NULL, 0);
+ break;
+ case IPPFIND_OP_TXT_EXISTS :
+ result = cupsGetOption(expression->key, service->num_txt,
+ service->txt) != NULL;
+ break;
+ case IPPFIND_OP_TXT_REGEX :
+ val = cupsGetOption(expression->key, service->num_txt,
+ service->txt);
+ if (val)
+ result = !regexec(&(expression->re), val, 0, NULL, 0);
+ else
+ result = 0;
+ break;
+ case IPPFIND_OP_URI_REGEX :
+ result = !regexec(&(expression->re), service->uri, 0, NULL, 0);
+ break;
+ case IPPFIND_OP_EXEC :
+ result = exec_program(service, expression->num_args,
+ expression->args);
+ break;
+ case IPPFIND_OP_LIST :
+ result = list_service(service);
+ break;
+ case IPPFIND_OP_PRINT_NAME :
+ _cupsLangPuts(stdout, service->name);
+ result = 1;
+ break;
+ case IPPFIND_OP_PRINT_URI :
+ _cupsLangPuts(stdout, service->uri);
+ result = 1;
+ break;
+ case IPPFIND_OP_QUIET :
+ result = 1;
+ break;
+ }
+
+ if (expression->invert)
+ result = !result;
+
+ if (logic == IPPFIND_OP_AND && !result)
+ return (0);
+ else if (logic == IPPFIND_OP_OR && result)
+ return (1);
+ }
+
+ return (logic == IPPFIND_OP_AND);
+}
+
+
+/*
+ * 'exec_program()' - Execute a program for a service.
+ */
+
+static int /* O - 1 if program terminated
+ successfully, 0 otherwise. */
+exec_program(ippfind_srv_t *service, /* I - Service */
+ int num_args, /* I - Number of command-line args */
+ char **args) /* I - Command-line arguments */
+{
+ char **myargv, /* Command-line arguments */
+ **myenvp, /* Environment variables */
+ *ptr, /* Pointer into variable */
+ domain[1024], /* IPPFIND_SERVICE_DOMAIN */
+ hostname[1024], /* IPPFIND_SERVICE_HOSTNAME */
+ name[256], /* IPPFIND_SERVICE_NAME */
+ port[32], /* IPPFIND_SERVICE_PORT */
+ regtype[256], /* IPPFIND_SERVICE_REGTYPE */
+ scheme[128], /* IPPFIND_SERVICE_SCHEME */
+ uri[1024], /* IPPFIND_SERVICE_URI */
+ txt[100][256]; /* IPPFIND_TXT_foo */
+ int i, /* Looping var */
+ myenvc, /* Number of environment variables */
+ status; /* Exit status of program */
+#ifndef WIN32
+ char program[1024]; /* Program to execute */
+ int pid; /* Process ID */
+#endif /* !WIN32 */
+
+
+ /*
+ * Environment variables...
+ */
+
+ snprintf(domain, sizeof(domain), "IPPFIND_SERVICE_DOMAIN=%s",
+ service->domain);
+ snprintf(hostname, sizeof(hostname), "IPPFIND_SERVICE_HOSTNAME=%s",
+ service->host);
+ snprintf(name, sizeof(name), "IPPFIND_SERVICE_NAME=%s", service->name);
+ snprintf(port, sizeof(port), "IPPFIND_SERVICE_PORT=%d", service->port);
+ snprintf(regtype, sizeof(regtype), "IPPFIND_SERVICE_REGTYPE=%s",
+ service->regtype);
+ snprintf(scheme, sizeof(scheme), "IPPFIND_SERVICE_SCHEME=%s",
+ !strncmp(service->regtype, "_http._tcp", 10) ? "http" :
+ !strncmp(service->regtype, "_https._tcp", 11) ? "https" :
+ !strncmp(service->regtype, "_ipp._tcp", 9) ? "ipp" :
+ !strncmp(service->regtype, "_ipps._tcp", 10) ? "ipps" : "lpd");
+ snprintf(uri, sizeof(uri), "IPPFIND_SERVICE_URI=%s", service->uri);
+ for (i = 0; i < service->num_txt && i < 100; i ++)
+ {
+ snprintf(txt[i], sizeof(txt[i]), "IPPFIND_TXT_%s=%s", service->txt[i].name,
+ service->txt[i].value);
+ for (ptr = txt[i] + 12; *ptr && *ptr != '='; ptr ++)
+ *ptr = _cups_toupper(*ptr);
+ }
+
+ for (i = 0, myenvc = 7 + service->num_txt; environ[i]; i ++)
+ if (strncmp(environ[i], "IPPFIND_", 8))
+ myenvc ++;
+
+ if ((myenvp = calloc(sizeof(char *), myenvc + 1)) == NULL)
+ {
+ _cupsLangPuts(stderr, _("ippfind: Out of memory."));
+ exit(IPPFIND_EXIT_MEMORY);
+ }
+
+ for (i = 0, myenvc = 0; environ[i]; i ++)
+ if (strncmp(environ[i], "IPPFIND_", 8))
+ myenvp[myenvc++] = environ[i];
+
+ myenvp[myenvc++] = domain;
+ myenvp[myenvc++] = hostname;
+ myenvp[myenvc++] = name;
+ myenvp[myenvc++] = port;
+ myenvp[myenvc++] = regtype;
+ myenvp[myenvc++] = scheme;
+ myenvp[myenvc++] = uri;
+
+ for (i = 0; i < service->num_txt && i < 100; i ++)
+ myenvp[myenvc++] = txt[i];
+
+ /*
+ * Allocate and copy command-line arguments...
+ */
+
+ if ((myargv = calloc(sizeof(char *), num_args + 1)) == NULL)
+ {
+ _cupsLangPuts(stderr, _("ippfind: Out of memory."));
+ exit(IPPFIND_EXIT_MEMORY);
+ }
+
+ for (i = 0; i < num_args; i ++)
+ {
+ if (strchr(args[i], '{'))
+ {
+ char temp[2048], /* Temporary string */
+ *tptr, /* Pointer into temporary string */
+ keyword[256], /* {keyword} */
+ *kptr; /* Pointer into keyword */
+
+ for (ptr = args[i], tptr = temp; *ptr; ptr ++)
+ {
+ if (*ptr == '{')
+ {
+ /*
+ * Do a {var} substitution...
+ */
+
+ for (kptr = keyword, ptr ++; *ptr && *ptr != '}'; ptr ++)
+ if (kptr < (keyword + sizeof(keyword) - 1))
+ *kptr++ = *ptr;
+
+ if (*ptr != '}')
+ {
+ _cupsLangPuts(stderr,
+ _("ippfind: Missing close brace in substitution."));
+ exit(IPPFIND_EXIT_SYNTAX);
+ }
+
+ *kptr = '\0';
+ if (!keyword[0] || !strcmp(keyword, "service_uri"))
+ strlcpy(tptr, service->uri, sizeof(temp) - (tptr - temp));
+ else if (!strcmp(keyword, "service_domain"))
+ strlcpy(tptr, service->domain, sizeof(temp) - (tptr - temp));
+ else if (!strcmp(keyword, "service_hostname"))
+ strlcpy(tptr, service->host, sizeof(temp) - (tptr - temp));
+ else if (!strcmp(keyword, "service_name"))
+ strlcpy(tptr, service->name, sizeof(temp) - (tptr - temp));
+ else if (!strcmp(keyword, "service_path"))
+ strlcpy(tptr, service->resource, sizeof(temp) - (tptr - temp));
+ else if (!strcmp(keyword, "service_port"))
+ strlcpy(tptr, port + 20, sizeof(temp) - (tptr - temp));
+ else if (!strcmp(keyword, "service_scheme"))
+ strlcpy(tptr, scheme + 22, sizeof(temp) - (tptr - temp));
+ else if (!strncmp(keyword, "txt_", 4))
+ {
+ if ((ptr = (char *)cupsGetOption(keyword + 4, service->num_txt,
+ service->txt)) != NULL)
+ strlcpy(tptr, strdup(ptr), sizeof(temp) - (tptr - temp));
+ else
+ *tptr = '\0';
+ }
+ else
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Unknown variable \"{%s}\"."),
+ keyword);
+ exit(IPPFIND_EXIT_SYNTAX);
+ }
+
+ tptr += strlen(tptr);
+ }
+ else if (tptr < (temp + sizeof(temp) - 1))
+ *tptr++ = *ptr;
+ }
+
+ *tptr = '\0';
+ myargv[i] = strdup(temp);
+ }
+ else
+ myargv[i] = strdup(args[i]);
+ }
+
+#ifdef WIN32
+ status = _spawnvpe(_P_WAIT, args[0], myargv, myenvp);
+
+#else
+ /*
+ * Execute the program...
+ */
+
+ if (strchr(args[0], '/') && !access(args[0], X_OK))
+ strlcpy(program, args[0], sizeof(program));
+ else if (!cupsFileFind(args[0], getenv("PATH"), 1, program, sizeof(program)))
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Unable to execute \"%s\": %s"),
+ args[0], strerror(ENOENT));
+ exit(IPPFIND_EXIT_SYNTAX);
+ }
+
+ if (getenv("IPPFIND_DEBUG"))
+ {
+ printf("\nProgram:\n %s\n", program);
+ puts("\nArguments:");
+ for (i = 0; i < num_args; i ++)
+ printf(" %s\n", myargv[i]);
+ puts("\nEnvironment:");
+ for (i = 0; i < myenvc; i ++)
+ printf(" %s\n", myenvp[i]);
+ }
+
+ if ((pid = fork()) == 0)
+ {
+ /*
+ * Child comes here...
+ */
+
+ execve(program, myargv, myenvp);
+ exit(1);
+ }
+ else if (pid < 0)
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Unable to execute \"%s\": %s"),
+ args[0], strerror(errno));
+ exit(IPPFIND_EXIT_SYNTAX);
+ }
+ else
+ {
+ /*
+ * Wait for it to complete...
+ */
+
+ while (wait(&status) != pid)
+ ;
+ }
+#endif /* WIN32 */
+
+ /*
+ * Free memory...
+ */
+
+ for (i = 0; i < num_args; i ++)
+ free(myargv[i]);
+
+ /*
+ * Return whether the program succeeded or crashed...
+ */
+
+ return (status == 0);
+}
+
+
+/*
+ * 'get_service()' - Create or update a device.
+ */
+
+static ippfind_srv_t * /* O - Service */
+get_service(cups_array_t *services, /* I - Service array */
+ const char *serviceName, /* I - Name of service/device */
+ const char *regtype, /* I - Type of service */
+ const char *replyDomain) /* I - Service domain */
+{
+ ippfind_srv_t key, /* Search key */
+ *service; /* Service */
+ char fullName[kDNSServiceMaxDomainName];
+ /* Full name for query */
+
+
+ /*
+ * See if this is a new device...
+ */
+
+ key.name = (char *)serviceName;
+ key.regtype = (char *)regtype;
+
+ for (service = cupsArrayFind(services, &key);
+ service;
+ service = cupsArrayNext(services))
+ if (_cups_strcasecmp(service->name, key.name))
+ break;
+ else if (!strcmp(service->regtype, key.regtype))
+ return (service);
+
+ /*
+ * Yes, add the service...
+ */
+
+ service = calloc(sizeof(ippfind_srv_t), 1);
+ service->name = strdup(serviceName);
+ service->domain = strdup(replyDomain);
+ service->regtype = strdup(regtype);
+
+ cupsArrayAdd(services, service);
+
+ /*
+ * Set the "full name" of this service, which is used for queries and
+ * resolves...
+ */
+
+#ifdef HAVE_DNSSD
+ DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain);
+#else /* HAVE_AVAHI */
+ avahi_service_name_join(fullName, kDNSServiceMaxDomainName, serviceName,
+ regtype, replyDomain);
+#endif /* HAVE_DNSSD */
+
+ service->fullName = strdup(fullName);
+
+ return (service);
+}
+
+
+/*
+ * 'get_time()' - Get the current time-of-day in seconds.
+ */
+
+static double
+get_time(void)
+{
+#ifdef WIN32
+ struct _timeb curtime; /* Current Windows time */
+
+ _ftime(&curtime);
+
+ return (curtime.time + 0.001 * curtime.millitm);
+
+#else
+ struct timeval curtime; /* Current UNIX time */
+
+ if (gettimeofday(&curtime, NULL))
+ return (0.0);
+ else
+ return (curtime.tv_sec + 0.000001 * curtime.tv_usec);
+#endif /* WIN32 */
+}
+
+
+/*
+ * 'list_service()' - List the contents of a service.
+ */
+
+static int /* O - 1 if successful, 0 otherwise */
+list_service(ippfind_srv_t *service) /* I - Service */
+{
+ http_addrlist_t *addrlist; /* Address(es) of service */
+ char port[10]; /* Port number of service */
+
+
+ snprintf(port, sizeof(port), "%d", service->port);
+
+ if ((addrlist = httpAddrGetList(service->host, address_family, port)) == NULL)
+ {
+ _cupsLangPrintf(stdout, "%s unreachable", service->uri);
+ return (0);
+ }
+
+ if (!strncmp(service->regtype, "_ipp._tcp", 9) ||
+ !strncmp(service->regtype, "_ipps._tcp", 10))
+ {
+ /*
+ * IPP/IPPS printer
+ */
+
+ http_t *http; /* HTTP connection */
+ ipp_t *request, /* IPP request */
+ *response; /* IPP response */
+ ipp_attribute_t *attr; /* IPP attribute */
+ int i, /* Looping var */
+ count, /* Number of values */
+ version, /* IPP version */
+ paccepting; /* printer-is-accepting-jobs value */
+ ipp_pstate_t pstate; /* printer-state value */
+ char preasons[1024], /* Comma-delimited printer-state-reasons */
+ *ptr, /* Pointer into reasons */
+ *end; /* End of reasons buffer */
+ static const char * const rattrs[] =/* Requested attributes */
+ {
+ "printer-is-accepting-jobs",
+ "printer-state",
+ "printer-state-reasons"
+ };
+
+ /*
+ * Connect to the printer...
+ */
+
+ http = httpConnect2(service->host, service->port, addrlist, address_family,
+ !strncmp(service->regtype, "_ipps._tcp", 10) ?
+ HTTP_ENCRYPTION_ALWAYS :
+ HTTP_ENCRYPTION_IF_REQUESTED,
+ 1, 30000, NULL);
+
+ httpAddrFreeList(addrlist);
+
+ if (!http)
+ {
+ _cupsLangPrintf(stdout, "%s unavailable", service->uri);
+ return (0);
+ }
+
+ /*
+ * Get the current printer state...
+ */
+
+ response = NULL;
+ version = ipp_version;
+
+ do
+ {
+ request = ippNewRequest(IPP_OP_GET_PRINTER_ATTRIBUTES);
+ ippSetVersion(request, version / 10, version % 10);
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
+ service->uri);
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
+ "requesting-user-name", NULL, cupsUser());
+ ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD,
+ "requested-attributes",
+ (int)(sizeof(rattrs) / sizeof(rattrs[0])), NULL, rattrs);
+
+ response = cupsDoRequest(http, request, service->resource);
+
+ if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST && version > 11)
+ version = 11;
+ }
+ while (cupsLastError() > IPP_STATUS_OK_EVENTS_COMPLETE && version > 11);
+
+ /*
+ * Show results...
+ */
+
+ if (cupsLastError() > IPP_STATUS_OK_EVENTS_COMPLETE)
+ {
+ _cupsLangPrintf(stdout, "%s: unavailable", service->uri);
+ return (0);
+ }
+
+ if ((attr = ippFindAttribute(response, "printer-state",
+ IPP_TAG_ENUM)) != NULL)
+ pstate = ippGetInteger(attr, 0);
+ else
+ pstate = IPP_PSTATE_STOPPED;
+
+ if ((attr = ippFindAttribute(response, "printer-is-accepting-jobs",
+ IPP_TAG_BOOLEAN)) != NULL)
+ paccepting = ippGetBoolean(attr, 0);
+ else
+ paccepting = 0;
+
+ if ((attr = ippFindAttribute(response, "printer-state-reasons",
+ IPP_TAG_KEYWORD)) != NULL)
+ {
+ strlcpy(preasons, ippGetString(attr, 0, NULL), sizeof(preasons));
+
+ for (i = 1, count = ippGetCount(attr), ptr = preasons + strlen(preasons),
+ end = preasons + sizeof(preasons) - 1;
+ i < count && ptr < end;
+ i ++, ptr += strlen(ptr))
+ {
+ *ptr++ = ',';
+ strlcpy(ptr, ippGetString(attr, i, NULL), end - ptr + 1);
+ }
+ }
+ else
+ strlcpy(preasons, "none", sizeof(preasons));
+
+ ippDelete(response);
+ httpClose(http);
+
+ _cupsLangPrintf(stdout, "%s %s %s %s", service->uri,
+ ippEnumString("printer-state", pstate),
+ paccepting ? "accepting-jobs" : "not-accepting-jobs",
+ preasons);
+ }
+ else if (!strncmp(service->regtype, "_http._tcp", 10) ||
+ !strncmp(service->regtype, "_https._tcp", 11))
+ {
+ /*
+ * HTTP/HTTPS web page
+ */
+
+ http_t *http; /* HTTP connection */
+ http_status_t status; /* HEAD status */
+
+
+ /*
+ * Connect to the web server...
+ */
+
+ http = httpConnect2(service->host, service->port, addrlist, address_family,
+ !strncmp(service->regtype, "_ipps._tcp", 10) ?
+ HTTP_ENCRYPTION_ALWAYS :
+ HTTP_ENCRYPTION_IF_REQUESTED,
+ 1, 30000, NULL);
+
+ httpAddrFreeList(addrlist);
+
+ if (!http)
+ {
+ _cupsLangPrintf(stdout, "%s unavailable", service->uri);
+ return (0);
+ }
+
+ if (httpGet(http, service->resource))
+ {
+ _cupsLangPrintf(stdout, "%s unavailable", service->uri);
+ return (0);
+ }
+
+ do
+ {
+ status = httpUpdate(http);
+ }
+ while (status == HTTP_STATUS_CONTINUE);
+
+ httpFlush(http);
+ httpClose(http);
+
+ if (status >= HTTP_STATUS_BAD_REQUEST)
+ {
+ _cupsLangPrintf(stdout, "%s unavailable", service->uri);
+ return (0);
+ }
+
+ _cupsLangPrintf(stdout, "%s available", service->uri);
+ }
+ else if (!strncmp(service->regtype, "_printer._tcp", 13))
+ {
+ /*
+ * LPD printer
+ */
+
+ int sock; /* Socket */
+
+
+ if (!httpAddrConnect(addrlist, &sock))
+ {
+ _cupsLangPrintf(stdout, "%s unavailable", service->uri);
+ httpAddrFreeList(addrlist);
+ return (0);
+ }
+
+ _cupsLangPrintf(stdout, "%s available", service->uri);
+ httpAddrFreeList(addrlist);
+
+#ifdef WIN32
+ closesocket(sock);
+#else
+ close(sock);
+#endif /* WIN32 */
+ }
+ else
+ {
+ _cupsLangPrintf(stdout, "%s unsupported", service->uri);
+ httpAddrFreeList(addrlist);
+ return (0);
+ }
+
+ return (1);
+}
+
+
+/*
+ * 'new_expr()' - Create a new expression.
+ */
+
+static ippfind_expr_t * /* O - New expression */
+new_expr(ippfind_op_t op, /* I - Operation */
+ int invert, /* I - Invert result? */
+ const char *value, /* I - TXT key or port range */
+ const char *regex, /* I - Regular expression */
+ char **args) /* I - Pointer to argument strings */
+{
+ ippfind_expr_t *temp; /* New expression */
+
+
+ if ((temp = calloc(1, sizeof(ippfind_expr_t))) == NULL)
+ return (NULL);
+
+ temp->op = op;
+ temp->invert = invert;
+
+ if (op == IPPFIND_OP_TXT_EXISTS || op == IPPFIND_OP_TXT_REGEX)
+ temp->key = (char *)value;
+ else if (op == IPPFIND_OP_PORT_RANGE)
+ {
+ /*
+ * Pull port number range of the form "number", "-number" (0-number),
+ * "number-" (number-65535), and "number-number".
+ */
+
+ if (*value == '-')
+ {
+ temp->range[1] = atoi(value + 1);
+ }
+ else if (strchr(value, '-'))
+ {
+ if (sscanf(value, "%d-%d", temp->range, temp->range + 1) == 1)
+ temp->range[1] = 65535;
+ }
+ else
+ {
+ temp->range[0] = temp->range[1] = atoi(value);
+ }
+ }
+
+ if (regex)
+ {
+ int err = regcomp(&(temp->re), regex, REG_NOSUB | REG_ICASE | REG_EXTENDED);
+
+ if (err)
+ {
+ char message[256]; /* Error message */
+
+ regerror(err, &(temp->re), message, sizeof(message));
+ _cupsLangPrintf(stderr, _("ippfind: Bad regular expression: %s"),
+ message);
+ exit(IPPFIND_EXIT_SYNTAX);
+ }
+ }
+
+ if (args)
+ {
+ int num_args; /* Number of arguments */
+
+ for (num_args = 1; args[num_args]; num_args ++)
+ if (!strcmp(args[num_args], ";"))
+ break;
+
+ temp->num_args = num_args;
+ temp->args = malloc(num_args * sizeof(char *));
+ memcpy(temp->args, args, num_args * sizeof(char *));
+ }
+
+ return (temp);
+}
+
+
+#ifdef HAVE_AVAHI
+/*
+ * 'poll_callback()' - Wait for input on the specified file descriptors.
+ *
+ * Note: This function is needed because avahi_simple_poll_iterate is broken
+ * and always uses a timeout of 0 (!) milliseconds.
+ * (Avahi Ticket #364)
+ */
+
+static int /* O - Number of file descriptors matching */
+poll_callback(
+ struct pollfd *pollfds, /* I - File descriptors */
+ unsigned int num_pollfds, /* I - Number of file descriptors */
+ int timeout, /* I - Timeout in milliseconds (unused) */
+ void *context) /* I - User data (unused) */
+{
+ int val; /* Return value */
+
+
+ (void)timeout;
+ (void)context;
+
+ val = poll(pollfds, num_pollfds, 500);
+
+ if (val > 0)
+ avahi_got_data = 1;
+
+ return (val);
+}
+#endif /* HAVE_AVAHI */
+
+
+/*
+ * 'resolve_callback()' - Process resolve data.
+ */
+
+#ifdef HAVE_DNSSD
+static void DNSSD_API
+resolve_callback(
+ DNSServiceRef sdRef, /* I - Service reference */
+ DNSServiceFlags flags, /* I - Data flags */
+ uint32_t interfaceIndex, /* I - Interface */
+ DNSServiceErrorType errorCode, /* I - Error, if any */
+ const char *fullName, /* I - Full service name */
+ const char *hostTarget, /* I - Hostname */
+ uint16_t port, /* I - Port number (network byte order) */
+ uint16_t txtLen, /* I - Length of TXT record data */
+ const unsigned char *txtRecord, /* I - TXT record data */
+ void *context) /* I - Service */
+{
+ char key[256], /* TXT key value */
+ *value; /* Value from TXT record */
+ const unsigned char *txtEnd; /* End of TXT record */
+ uint8_t valueLen; /* Length of value */
+ ippfind_srv_t *service = (ippfind_srv_t *)context;
+ /* Service */
+
+
+ /*
+ * Only process "add" data...
+ */
+
+ if (errorCode != kDNSServiceErr_NoError)
+ {
+ _cupsLangPrintf(stderr, _("ippfind: Unable to browse or resolve: %s"),
+ dnssd_error_string(errorCode));
+ bonjour_error = 1;
+ return;
+ }
+
+ service->is_resolved = 1;
+ service->host = strdup(hostTarget);
+ service->port = ntohs(port);
+
+ /*
+ * Loop through the TXT key/value pairs and add them to an array...
+ */
+
+ for (txtEnd = txtRecord + txtLen; txtRecord < txtEnd; txtRecord += valueLen)
+ {
+ /*
+ * Ignore bogus strings...
+ */
+
+ valueLen = *txtRecord++;
+
+ memcpy(key, txtRecord, valueLen);
+ key[valueLen] = '\0';
+
+ if ((value = strchr(key, '=')) == NULL)
+ continue;
+
+ *value++ = '\0';
+
+ /*
+ * Add to array of TXT values...
+ */
+
+ service->num_txt = cupsAddOption(key, value, service->num_txt,
+ &(service->txt));
+ }
+
+ set_service_uri(service);
+}
+
+
+#elif defined(HAVE_AVAHI)
+static void
+resolve_callback(
+ AvahiServiceResolver *resolver, /* I - Resolver */
+ AvahiIfIndex interface, /* I - Interface */
+ AvahiProtocol protocol, /* I - Address protocol */
+ AvahiResolverEvent event, /* I - Event */
+ const char *serviceName,/* I - Service name */
+ const char *regtype, /* I - Registration type */
+ const char *replyDomain,/* I - Domain name */
+ const char *hostTarget, /* I - FQDN */
+ const AvahiAddress *address, /* I - Address */
+ uint16_t port, /* I - Port number */
+ AvahiStringList *txt, /* I - TXT records */
+ AvahiLookupResultFlags flags, /* I - Lookup flags */
+ void *context) /* I - Service */
+{
+ char key[256], /* TXT key */
+ *value; /* TXT value */
+ ippfind_srv_t *service = (ippfind_srv_t *)context;
+ /* Service */
+ AvahiStringList *current; /* Current TXT key/value pair */
+
+
+ (void)address;
+
+ if (event != AVAHI_RESOLVER_FOUND)
+ {
+ bonjour_error = 1;
+
+ avahi_service_resolver_free(resolver);
+ avahi_simple_poll_quit(avahi_poll);
+ return;
+ }
+
+ service->is_resolved = 1;
+ service->host = strdup(hostTarget);
+ service->port = ntohs(port);
+
+ /*
+ * Loop through the TXT key/value pairs and add them to an array...
+ */
+
+ for (current = txt; current; current = current->next)
+ {
+ /*
+ * Ignore bogus strings...
+ */
+
+ if (current->size > (sizeof(key) - 1))
+ continue;
+
+ memcpy(key, current->text, current->size);
+ key[current->size] = '\0';
+
+ if ((value = strchr(key, '=')) == NULL)
+ continue;
+
+ *value++ = '\0';
+
+ /*
+ * Add to array of TXT values...
+ */
+
+ service->num_txt = cupsAddOption(key, value, service->num_txt,
+ &(service->txt));
+ }
+
+ set_service_uri(service);
+}
+#endif /* HAVE_DNSSD */
+
+
+/*
+ * 'set_service_uri()' - Set the URI of the service.
+ */
+
+static void
+set_service_uri(ippfind_srv_t *service) /* I - Service */
+{
+ char uri[1024]; /* URI */
+ const char *path, /* Resource path */
+ *scheme; /* URI scheme */
+
+
+ if (!strncmp(service->regtype, "_http.", 6))
+ {
+ scheme = "http";
+ path = cupsGetOption("path", service->num_txt, service->txt);
+ }
+ else if (!strncmp(service->regtype, "_https.", 7))
+ {
+ scheme = "https";
+ path = cupsGetOption("path", service->num_txt, service->txt);
+ }
+ else if (!strncmp(service->regtype, "_ipp.", 5))
+ {
+ scheme = "ipp";
+ path = cupsGetOption("rp", service->num_txt, service->txt);
+ }
+ else if (!strncmp(service->regtype, "_ipps.", 6))
+ {
+ scheme = "ipps";
+ path = cupsGetOption("rp", service->num_txt, service->txt);
+ }
+ else if (!strncmp(service->regtype, "_printer.", 9))
+ {
+ scheme = "lpd";
+ path = cupsGetOption("rp", service->num_txt, service->txt);
+ }
+ else
+ return;
+
+ if (!path || !*path)
+ path = "/";
+
+ if (*path == '/')
+ {
+ service->resource = strdup(path);
+ }
+ else
+ {
+ snprintf(uri, sizeof(uri), "/%s", path);
+ service->resource = strdup(uri);
+ }
+
+ httpAssembleURI(HTTP_URI_CODING_ALL, uri, sizeof(uri), scheme, NULL,
+ service->host, service->port, service->resource);
+ service->uri = strdup(uri);
+}
+
+
+/*
+ * 'show_usage()' - Show program usage.
+ */
+
+static void
+show_usage(void)
+{
+ _cupsLangPuts(stderr, _("Usage: ippfind [options] regtype[,subtype]"
+ "[.domain.] ... [expression]\n"
+ " ippfind [options] name[.regtype[.domain.]] "
+ "... [expression]\n"
+ " ippfind --help\n"
+ " ippfind --version"));
+ _cupsLangPuts(stderr, "");
+ _cupsLangPuts(stderr, _("Options:"));
+ _cupsLangPuts(stderr, _(" -4 Connect using IPv4."));
+ _cupsLangPuts(stderr, _(" -6 Connect using IPv6."));
+ _cupsLangPuts(stderr, _(" -T seconds Set the browse timeout in "
+ "seconds."));
+ _cupsLangPuts(stderr, _(" -V version Set default IPP "
+ "version."));
+ _cupsLangPuts(stderr, _(" --help Show this help."));
+ _cupsLangPuts(stderr, _(" --version Show program version."));
+ _cupsLangPuts(stderr, "");
+ _cupsLangPuts(stderr, _("Expressions:"));
+ _cupsLangPuts(stderr, _(" -P number[-number] Match port to number or range."));
+ _cupsLangPuts(stderr, _(" -d regex Match domain to regular expression."));
+ _cupsLangPuts(stderr, _(" -h regex Match hostname to regular expression."));
+ _cupsLangPuts(stderr, _(" -l List attributes."));
+ _cupsLangPuts(stderr, _(" -n regex Match service name to regular expression."));
+ _cupsLangPuts(stderr, _(" -p Print URI if true."));
+ _cupsLangPuts(stderr, _(" -q Quietly report match via exit code."));
+ _cupsLangPuts(stderr, _(" -r True if service is remote."));
+ _cupsLangPuts(stderr, _(" -s Print service name if true."));
+ _cupsLangPuts(stderr, _(" -t key True if the TXT record contains the key."));
+ _cupsLangPuts(stderr, _(" -u regex Match URI to regular expression."));
+ _cupsLangPuts(stderr, _(" -x utility [argument ...] ;\n"
+ " Execute program if true."));
+ _cupsLangPuts(stderr, _(" --domain regex Match domain to regular expression."));
+ _cupsLangPuts(stderr, _(" --exec utility [argument ...] ;\n"
+ " Execute program if true."));
+ _cupsLangPuts(stderr, _(" --host regex Match hostname to regular expression."));
+ _cupsLangPuts(stderr, _(" --ls List attributes."));
+ _cupsLangPuts(stderr, _(" --local True if service is local."));
+ _cupsLangPuts(stderr, _(" --name regex Match service name to regular expression."));
+ _cupsLangPuts(stderr, _(" --path regex Match resource path to regular expression."));
+ _cupsLangPuts(stderr, _(" --port number[-number] Match port to number or range."));
+ _cupsLangPuts(stderr, _(" --print Print URI if true."));
+ _cupsLangPuts(stderr, _(" --print-name Print service name if true."));
+ _cupsLangPuts(stderr, _(" --quiet Quietly report match via exit code."));
+ _cupsLangPuts(stderr, _(" --remote True if service is remote."));
+ _cupsLangPuts(stderr, _(" --txt key True if the TXT record contains the key."));
+ _cupsLangPuts(stderr, _(" --txt-* regex Match TXT record key to regular expression."));
+ _cupsLangPuts(stderr, _(" --uri regex Match URI to regular expression."));
+ _cupsLangPuts(stderr, "");
+ _cupsLangPuts(stderr, _("Modifiers:"));
+ _cupsLangPuts(stderr, _(" ( expressions ) Group expressions."));
+ _cupsLangPuts(stderr, _(" ! expression Unary NOT of expression."));
+ _cupsLangPuts(stderr, _(" --not expression Unary NOT of expression."));
+ _cupsLangPuts(stderr, _(" --false Always false."));
+ _cupsLangPuts(stderr, _(" --true Always true."));
+ _cupsLangPuts(stderr, _(" expression expression Logical AND."));
+ _cupsLangPuts(stderr, _(" expression --and expression\n"
+ " Logical AND."));
+ _cupsLangPuts(stderr, _(" expression --or expression\n"
+ " Logical OR."));
+ _cupsLangPuts(stderr, "");
+ _cupsLangPuts(stderr, _("Substitutions:"));
+ _cupsLangPuts(stderr, _(" {} URI"));
+ _cupsLangPuts(stderr, _(" {service_domain} Domain name"));
+ _cupsLangPuts(stderr, _(" {service_hostname} Fully-qualified domain name"));
+ _cupsLangPuts(stderr, _(" {service_name} Service instance name"));
+ _cupsLangPuts(stderr, _(" {service_port} Port number"));
+ _cupsLangPuts(stderr, _(" {service_regtype} DNS-SD registration type"));
+ _cupsLangPuts(stderr, _(" {service_scheme} URI scheme"));
+ _cupsLangPuts(stderr, _(" {service_uri} URI"));
+ _cupsLangPuts(stderr, _(" {txt_*} Value of TXT record key"));
+ _cupsLangPuts(stderr, "");
+ _cupsLangPuts(stderr, _("Environment Variables:"));
+ _cupsLangPuts(stderr, _(" IPPFIND_SERVICE_DOMAIN Domain name"));
+ _cupsLangPuts(stderr, _(" IPPFIND_SERVICE_HOSTNAME\n"
+ " Fully-qualified domain name"));
+ _cupsLangPuts(stderr, _(" IPPFIND_SERVICE_NAME Service instance name"));
+ _cupsLangPuts(stderr, _(" IPPFIND_SERVICE_PORT Port number"));
+ _cupsLangPuts(stderr, _(" IPPFIND_SERVICE_REGTYPE DNS-SD registration type"));
+ _cupsLangPuts(stderr, _(" IPPFIND_SERVICE_SCHEME URI scheme"));
+ _cupsLangPuts(stderr, _(" IPPFIND_SERVICE_URI URI"));
+ _cupsLangPuts(stderr, _(" IPPFIND_TXT_* Value of TXT record key"));
+
+ exit(IPPFIND_EXIT_TRUE);
+}
+
+
+/*
+ * 'show_version()' - Show program version.
+ */
+
+static void
+show_version(void)
+{
+ _cupsLangPuts(stderr, CUPS_SVERSION);
+
+ exit(IPPFIND_EXIT_TRUE);
+}
+
+
+/*
+ * End of "$Id: ippfind.c 11100 2013-07-05 15:11:29Z msweet $".
+ */
diff --git a/test/ippserver.c b/test/ippserver.c
index a5c62733..32a7eb1c 100644
--- a/test/ippserver.c
+++ b/test/ippserver.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ippserver.c 10851 2013-01-31 16:06:14Z mike $"
+ * "$Id: ippserver.c 11097 2013-07-04 15:54:36Z msweet $"
*
* Sample IPP/2.0 server for CUPS.
*
@@ -4200,77 +4200,82 @@ process_ipp(_ipp_client_t *client) /* I - Client */
respond_ipp(client, IPP_STATUS_ERROR_BAD_REQUEST,
"Missing required attributes.");
}
- else if (strcmp(ippGetString(uri, 0, NULL), client->printer->uri) &&
- strncmp(ippGetString(uri, 0, NULL), client->printer->uri,
- client->printer->urilen))
- {
- respond_ipp(client, IPP_STATUS_ERROR_NOT_FOUND, "%s %s not found.",
- ippGetName(uri), ippGetString(uri, 0, NULL));
- }
else
{
- /*
- * Try processing the operation...
- */
-
-#if 0 /* Already doing this in process_http()... */
- if (httpGetExpect(client->http) == HTTP_STATUS_CONTINUE)
+ char scheme[32], /* URI scheme */
+ userpass[32], /* Username/password in URI */
+ host[256], /* Host name in URI */
+ resource[256]; /* Resource path in URI */
+ int port; /* Port number in URI */
+
+ name = ippGetName(uri);
+
+ if (httpSeparateURI(HTTP_URI_CODING_ALL, ippGetString(uri, 0, NULL),
+ scheme, sizeof(scheme),
+ userpass, sizeof(userpass),
+ host, sizeof(host), &port,
+ resource, sizeof(resource)) < HTTP_URI_STATUS_OK)
+ respond_ipp(client, IPP_STATUS_ERROR_ATTRIBUTES_OR_VALUES,
+ "Bad %s value '%s'.", name, ippGetString(uri, 0, NULL));
+ else if ((!strcmp(name, "job-uri") &&
+ strncmp(resource, "/ipp/print/", 11)) ||
+ (!strcmp(name, "printer-uri") &&
+ strcmp(resource, "/ipp/print")))
+ respond_ipp(client, IPP_STATUS_ERROR_NOT_FOUND, "%s %s not found.",
+ name, ippGetString(uri, 0, NULL));
+ else
{
/*
- * Send 100-continue header...
+ * Try processing the operation...
*/
- if (!respond_http(client, HTTP_STATUS_CONTINUE, NULL, NULL, 0))
- return (0);
- }
-#endif /* 0 */
-
- switch (ippGetOperation(client->request))
- {
- case IPP_OP_PRINT_JOB :
- ipp_print_job(client);
- break;
-
- case IPP_OP_PRINT_URI :
- ipp_print_uri(client);
- break;
-
- case IPP_OP_VALIDATE_JOB :
- ipp_validate_job(client);
- break;
-
- case IPP_OP_CREATE_JOB :
- ipp_create_job(client);
- break;
-
- case IPP_OP_SEND_DOCUMENT :
- ipp_send_document(client);
- break;
-
- case IPP_OP_SEND_URI :
- ipp_send_uri(client);
- break;
-
- case IPP_OP_CANCEL_JOB :
- ipp_cancel_job(client);
- break;
-
- case IPP_OP_GET_JOB_ATTRIBUTES :
- ipp_get_job_attributes(client);
- break;
-
- case IPP_OP_GET_JOBS :
- ipp_get_jobs(client);
- break;
-
- case IPP_OP_GET_PRINTER_ATTRIBUTES :
- ipp_get_printer_attributes(client);
- break;
-
- default :
- respond_ipp(client, IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED,
- "Operation not supported.");
- break;
+ switch (ippGetOperation(client->request))
+ {
+ case IPP_OP_PRINT_JOB :
+ ipp_print_job(client);
+ break;
+
+ case IPP_OP_PRINT_URI :
+ ipp_print_uri(client);
+ break;
+
+ case IPP_OP_VALIDATE_JOB :
+ ipp_validate_job(client);
+ break;
+
+ case IPP_OP_CREATE_JOB :
+ ipp_create_job(client);
+ break;
+
+ case IPP_OP_SEND_DOCUMENT :
+ ipp_send_document(client);
+ break;
+
+ case IPP_OP_SEND_URI :
+ ipp_send_uri(client);
+ break;
+
+ case IPP_OP_CANCEL_JOB :
+ ipp_cancel_job(client);
+ break;
+
+ case IPP_OP_GET_JOB_ATTRIBUTES :
+ ipp_get_job_attributes(client);
+ break;
+
+ case IPP_OP_GET_JOBS :
+ ipp_get_jobs(client);
+ break;
+
+ case IPP_OP_GET_PRINTER_ATTRIBUTES :
+ ipp_get_printer_attributes(client);
+ break;
+
+ default :
+ respond_ipp(client, IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED,
+ "Operation not supported.");
+ break;
+ }
}
}
}
@@ -4418,7 +4423,7 @@ register_printer(
snprintf(product, sizeof(product), "(%s)", model);
TXTRecordCreate(&(printer->ipp_txt), 1024, NULL);
- TXTRecordSetValue(&(printer->ipp_txt), "rp", 3, "ipp");
+ TXTRecordSetValue(&(printer->ipp_txt), "rp", 9, "ipp/print");
TXTRecordSetValue(&(printer->ipp_txt), "ty", (uint8_t)strlen(make_model),
make_model);
TXTRecordSetValue(&(printer->ipp_txt), "adminurl", (uint8_t)strlen(adminurl),
@@ -4496,7 +4501,7 @@ register_printer(
return (0);
}
-# ifdef HAVE_SSL
+# if 0 /* ifdef HAVE_SSL */
/*
* Then register the _ipps._tcp (IPP) service type with the real port number to
* advertise our IPP printer...
@@ -4810,7 +4815,7 @@ usage(int status) /* O - Exit status */
{
if (!status)
{
- puts(CUPS_SVERSION " - Copyright 2010-2012 by Apple Inc. All rights "
+ puts(CUPS_SVERSION " - Copyright 2010-2013 by Apple Inc. All rights "
"reserved.");
puts("");
}
@@ -4820,17 +4825,22 @@ usage(int status) /* O - Exit status */
puts("Options:");
puts("-2 Supports 2-sided printing (default=1-sided)");
puts("-M manufacturer Manufacturer name (default=Test)");
+ puts("-P PIN printing mode");
+ puts("-c command Run command for every print job");
printf("-d spool-directory Spool directory "
"(default=/tmp/ippserver.%d)\n", (int)getpid());
puts("-f type/subtype[,...] List of supported types "
"(default=application/pdf,image/jpeg)");
puts("-h Show program help");
puts("-i iconfile.png PNG icon file (default=printer.png)");
+ puts("-k Keep job spool files");
puts("-l location Location of printer (default=empty string)");
puts("-m model Model name (default=Printer)");
puts("-n hostname Hostname for printer");
puts("-p port Port number (default=auto)");
+#ifdef HAVE_DNSSD
puts("-r subtype Bonjour service subtype (default=_print)");
+#endif /* HAVE_DNSSD */
puts("-s speed[,color-speed] Speed in pages per minute (default=10,0)");
puts("-v[vvv] Be (very) verbose");
@@ -4920,9 +4930,14 @@ valid_doc_attributes(
}
else
{
- format = "application/octet-stream";
- attr = ippAddString(client->request, IPP_TAG_JOB, IPP_TAG_MIMETYPE,
- "document-format", NULL, format);
+ format = ippGetString(ippFindAttribute(client->printer->attrs,
+ "document-format-default",
+ IPP_TAG_MIMETYPE), 0, NULL);
+ if (!format)
+ format = "application/octet-stream"; /* Should never happen */
+
+ attr = ippAddString(client->request, IPP_TAG_JOB, IPP_TAG_MIMETYPE,
+ "document-format", NULL, format);
}
if (!strcmp(format, "application/octet-stream") &&
@@ -5166,29 +5181,26 @@ valid_job_attributes(
if ((attr = ippFindAttribute(client->request, "sides",
IPP_TAG_ZERO)) != NULL)
{
+ const char *sides = NULL; /* "sides" value... */
+
if (ippGetCount(attr) != 1 || ippGetValueTag(attr) != IPP_TAG_KEYWORD)
{
respond_unsupported(client, attr);
valid = 0;
}
- if ((supported = ippFindAttribute(client->printer->attrs, "sides",
+ sides = ippGetString(attr, 0, NULL);
+
+ if ((supported = ippFindAttribute(client->printer->attrs, "sides-supported",
IPP_TAG_KEYWORD)) != NULL)
{
- int count = ippGetCount(supported);
- const char *sides = ippGetString(attr, 0, NULL);
-
- for (i = 0; i < count; i ++)
- if (!strcmp(sides, ippGetString(supported, i, NULL)))
- break;
-
- if (i >= count)
+ if (!ippContainsString(supported, sides))
{
respond_unsupported(client, attr);
valid = 0;
}
}
- else
+ else if (strcmp(sides, "one-sided"))
{
respond_unsupported(client, attr);
valid = 0;
@@ -5200,5 +5212,5 @@ valid_job_attributes(
/*
- * End of "$Id: ippserver.c 10851 2013-01-31 16:06:14Z mike $".
+ * End of "$Id: ippserver.c 11097 2013-07-04 15:54:36Z msweet $".
*/
diff --git a/test/ipptool.c b/test/ipptool.c
index 55d19dee..bbd950df 100644
--- a/test/ipptool.c
+++ b/test/ipptool.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipptool.c 10941 2013-04-09 19:05:29Z mike $"
+ * "$Id: ipptool.c 11020 2013-06-06 19:19:26Z msweet $"
*
* ipptool command for CUPS.
*
@@ -87,7 +87,10 @@ typedef enum _cups_with_e /**** WITH flags ****/
{
_CUPS_WITH_LITERAL = 0, /* Match string is a literal value */
_CUPS_WITH_ALL = 1, /* Must match all values */
- _CUPS_WITH_REGEX = 2 /* Match string is a regular expression */
+ _CUPS_WITH_REGEX = 2, /* Match string is a regular expression */
+ _CUPS_WITH_HOSTNAME = 4, /* Match string is a URI hostname */
+ _CUPS_WITH_RESOURCE = 8, /* Match string is a URI resource */
+ _CUPS_WITH_SCHEME = 16 /* Match string is a URI scheme */
} _cups_with_t;
typedef struct _cups_expect_s /**** Expected attribute info ****/
@@ -156,6 +159,8 @@ _cups_output_t Output = _CUPS_OUTPUT_LIST;
/* Output mode */
int Cancel = 0, /* Cancel test? */
IgnoreErrors = 0, /* Ignore errors? */
+ StopAfterIncludeError = 0,
+ /* Stop after include errors? */
Verbosity = 0, /* Show all attributes? */
Version = 11, /* Default IPP version */
XMLHeader = 0, /* 1 if header is written */
@@ -195,6 +200,8 @@ static int expect_matches(_cups_expect_t *expect, ipp_tag_t value_tag);
static ipp_t *get_collection(_cups_vars_t *vars, FILE *fp, int *linenum);
static char *get_filename(const char *testfile, char *dst, const char *src,
size_t dstsize);
+static char *get_string(ipp_attribute_t *attr, int element, int flags,
+ char *buffer, size_t bufsize);
static char *get_token(FILE *fp, char *buf, int buflen,
int *linenum);
static char *get_variable(_cups_vars_t *vars, const char *name);
@@ -282,7 +289,20 @@ main(int argc, /* I - Number of command-line args */
for (i = 1; i < argc; i ++)
{
- if (argv[i][0] == '-')
+ if (!strcmp(argv[i], "--help"))
+ {
+ usage();
+ }
+ else if (!strcmp(argv[i], "--stop-after-include-error"))
+ {
+ StopAfterIncludeError = 1;
+ }
+ else if (!strcmp(argv[i], "--version"))
+ {
+ puts(CUPS_SVERSION);
+ return (0);
+ }
+ else if (argv[i][0] == '-')
{
for (opt = argv[i] + 1; *opt; opt ++)
{
@@ -333,8 +353,9 @@ main(int argc, /* I - Number of command-line args */
if (i >= argc)
{
- _cupsLangPuts(stderr,
- _("ipptool: Missing timeout for \"-T\"."));
+ _cupsLangPrintf(stderr,
+ _("%s: Missing timeout for \"-T\"."),
+ "ipptool");
usage();
}
@@ -346,8 +367,9 @@ main(int argc, /* I - Number of command-line args */
if (i >= argc)
{
- _cupsLangPuts(stderr,
- _("ipptool: Missing version for \"-V\"."));
+ _cupsLangPrintf(stderr,
+ _("%s: Missing version for \"-V\"."),
+ "ipptool");
usage();
}
@@ -364,8 +386,8 @@ main(int argc, /* I - Number of command-line args */
else
{
_cupsLangPrintf(stderr,
- _("ipptool: Bad version %s for \"-V\"."),
- argv[i]);
+ _("%s: Bad version %s for \"-V\"."),
+ "ipptool", argv[i]);
usage();
}
break;
@@ -792,7 +814,9 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
ipp_attribute_t *attrptr, /* Attribute pointer */
*found, /* Found attribute */
*lastcol = NULL; /* Last collection attribute */
- char name[1024]; /* Name of test */
+ char name[1024], /* Name of test */
+ file_id[1024], /* File identifier */
+ test_id[1024]; /* Test identifier */
char filename[1024]; /* Filename */
_cups_transfer_t transfer; /* To chunk or not to chunk */
int version, /* IPP version number to use */
@@ -855,6 +879,7 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
errors = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup,
(cups_afree_func_t)free);
+ file_id[0] = '\0';
pass = 1;
linenum = 1;
request_id = (CUPS_RAND() % 1000) * 137 + 1;
@@ -910,6 +935,25 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
continue;
}
+ else if (!strcmp(token, "FILE-ID"))
+ {
+ /*
+ * FILE-ID "string"
+ */
+
+ if (get_token(fp, temp, sizeof(temp), &linenum))
+ {
+ expand_variables(vars, file_id, temp, sizeof(file_id));
+ }
+ else
+ {
+ print_fatal_error("Missing FILE-ID value on line %d.", linenum);
+ pass = 0;
+ goto test_exit;
+ }
+
+ continue;
+ }
else if (!strcmp(token, "IGNORE-ERRORS"))
{
/*
@@ -949,7 +993,7 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
{
pass = 0;
- if (!IgnoreErrors)
+ if (StopAfterIncludeError)
goto test_exit;
}
}
@@ -983,7 +1027,7 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
{
pass = 0;
- if (!IgnoreErrors)
+ if (StopAfterIncludeError)
goto test_exit;
}
}
@@ -1018,7 +1062,7 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
{
pass = 0;
- if (!IgnoreErrors)
+ if (StopAfterIncludeError)
goto test_exit;
}
}
@@ -1071,6 +1115,28 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
goto test_exit;
}
}
+ else if (!strcmp(token, "STOP-AFTER-INCLUDE-ERROR"))
+ {
+ /*
+ * STOP-AFTER-INCLUDE-ERROR yes
+ * STOP-AFTER-INCLUDE-ERROR no
+ */
+
+ if (get_token(fp, temp, sizeof(temp), &linenum) &&
+ (!_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "no")))
+ {
+ StopAfterIncludeError = !_cups_strcasecmp(temp, "yes");
+ }
+ else
+ {
+ print_fatal_error("Missing STOP-AFTER-INCLUDE-ERROR value on line %d.",
+ linenum);
+ pass = 0;
+ goto test_exit;
+ }
+
+ continue;
+ }
else if (!strcmp(token, "TRANSFER"))
{
/*
@@ -1167,6 +1233,7 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
filename[0] = '\0';
skip_previous = 0;
skip_test = 0;
+ test_id[0] = '\0';
version = Version;
transfer = Transfer;
compression[0] = '\0';
@@ -1194,6 +1261,12 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
_cups_strcasecmp(token, "REPEAT-NO-MATCH") &&
_cups_strcasecmp(token, "SAME-COUNT-AS") &&
_cups_strcasecmp(token, "WITH-ALL-VALUES") &&
+ _cups_strcasecmp(token, "WITH-ALL-HOSTNAMES") &&
+ _cups_strcasecmp(token, "WITH-ALL-RESOURCES") &&
+ _cups_strcasecmp(token, "WITH-ALL-SCHEMES") &&
+ _cups_strcasecmp(token, "WITH-HOSTNAME") &&
+ _cups_strcasecmp(token, "WITH-RESOURCE") &&
+ _cups_strcasecmp(token, "WITH-SCHEME") &&
_cups_strcasecmp(token, "WITH-VALUE"))
last_expect = NULL;
@@ -1450,6 +1523,25 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
continue;
}
+ else if (!strcmp(token, "TEST-ID"))
+ {
+ /*
+ * TEST-ID "string"
+ */
+
+ if (get_token(fp, temp, sizeof(temp), &linenum))
+ {
+ expand_variables(vars, test_id, temp, sizeof(test_id));
+ }
+ else
+ {
+ print_fatal_error("Missing TEST-ID value on line %d.", linenum);
+ pass = 0;
+ goto test_exit;
+ }
+
+ continue;
+ }
else if (!strcmp(token, "TRANSFER"))
{
/*
@@ -2197,10 +2289,29 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
}
}
else if (!_cups_strcasecmp(token, "WITH-ALL-VALUES") ||
+ !_cups_strcasecmp(token, "WITH-ALL-HOSTNAMES") ||
+ !_cups_strcasecmp(token, "WITH-ALL-RESOURCES") ||
+ !_cups_strcasecmp(token, "WITH-ALL-SCHEMES") ||
+ !_cups_strcasecmp(token, "WITH-HOSTNAME") ||
+ !_cups_strcasecmp(token, "WITH-RESOURCE") ||
+ !_cups_strcasecmp(token, "WITH-SCHEME") ||
!_cups_strcasecmp(token, "WITH-VALUE"))
{
- if (!_cups_strcasecmp(token, "WITH-ALL-VALUES") && last_expect)
- last_expect->with_flags = _CUPS_WITH_ALL;
+ if (last_expect)
+ {
+ if (!_cups_strcasecmp(token, "WITH-ALL-HOSTNAMES") ||
+ !_cups_strcasecmp(token, "WITH-HOSTNAME"))
+ last_expect->with_flags = _CUPS_WITH_HOSTNAME;
+ else if (!_cups_strcasecmp(token, "WITH-ALL-RESOURCES") ||
+ !_cups_strcasecmp(token, "WITH-RESOURCE"))
+ last_expect->with_flags = _CUPS_WITH_RESOURCE;
+ else if (!_cups_strcasecmp(token, "WITH-ALL-SCHEMES") ||
+ !_cups_strcasecmp(token, "WITH-SCHEME"))
+ last_expect->with_flags = _CUPS_WITH_SCHEME;
+
+ if (!_cups_strncasecmp(token, "WITH-ALL-", 9))
+ last_expect->with_flags |= _CUPS_WITH_ALL;
+ }
if (!get_token(fp, temp, sizeof(temp), &linenum))
{
@@ -2311,8 +2422,22 @@ do_tests(_cups_vars_t *vars, /* I - Variables */
puts("<dict>");
puts("<key>Name</key>");
print_xml_string("string", name);
+ if (file_id[0])
+ {
+ puts("<key>FileId</key>");
+ print_xml_string("string", file_id);
+ }
+ if (test_id[0])
+ {
+ puts("<key>TestId</key>");
+ print_xml_string("string", test_id);
+ }
+ puts("<key>Version</key>");
+ printf("<string>%d.%d</string>\n", version / 10, version % 10);
puts("<key>Operation</key>");
print_xml_string("string", ippOpString(op));
+ puts("<key>RequestId</key>");
+ printf("<integer>%d</integer>\n", request_id);
puts("<key>RequestAttributes</key>");
puts("<array>");
if (request->attrs)
@@ -3683,6 +3808,59 @@ get_filename(const char *testfile, /* I - Current test file */
/*
+ * 'get_string()' - Get a pointer to a string value or the portion of interest.
+ */
+
+static char * /* O - Pointer to string */
+get_string(ipp_attribute_t *attr, /* I - IPP attribute */
+ int element, /* I - Element to fetch */
+ int flags, /* I - Value ("with") flags */
+ char *buffer, /* I - Temporary buffer */
+ size_t bufsize) /* I - Size of temporary buffer */
+{
+ char *ptr, /* Value */
+ scheme[256], /* URI scheme */
+ userpass[256], /* Username/password */
+ hostname[256], /* Hostname */
+ resource[1024]; /* Resource */
+ int port; /* Port number */
+
+
+ ptr = attr->values[element].string.text;
+
+ if (flags & _CUPS_WITH_HOSTNAME)
+ {
+ if (httpSeparateURI(HTTP_URI_CODING_ALL, ptr, scheme, sizeof(scheme),
+ userpass, sizeof(userpass), buffer, bufsize, &port,
+ resource, sizeof(resource)) < HTTP_URI_STATUS_OK)
+ return ("");
+ else
+ return (buffer);
+ }
+ else if (flags & _CUPS_WITH_RESOURCE)
+ {
+ if (httpSeparateURI(HTTP_URI_CODING_ALL, ptr, scheme, sizeof(scheme),
+ userpass, sizeof(userpass), hostname, sizeof(hostname),
+ &port, buffer, bufsize) < HTTP_URI_STATUS_OK)
+ return ("");
+ else
+ return (buffer);
+ }
+ else if (flags & _CUPS_WITH_SCHEME)
+ {
+ if (httpSeparateURI(HTTP_URI_CODING_ALL, ptr, buffer, bufsize,
+ userpass, sizeof(userpass), hostname, sizeof(hostname),
+ &port, resource, sizeof(resource)) < HTTP_URI_STATUS_OK)
+ return ("");
+ else
+ return (buffer);
+ }
+ else
+ return (ptr);
+}
+
+
+/*
* 'get_token()' - Get a token from a file.
*/
@@ -4369,6 +4547,8 @@ print_xml_header(void)
"\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">");
puts("<plist version=\"1.0\">");
puts("<dict>");
+ puts("<key>ipptoolVersion</key>");
+ puts("<string>" CUPS_SVERSION "</string>");
puts("<key>Transfer</key>");
printf("<string>%s</string>\n",
Transfer == _CUPS_TRANSFER_AUTO ? "auto" :
@@ -4566,14 +4746,34 @@ sigterm_handler(int sig) /* I - Signal number (unused) */
*/
static int /* O - 1 to continue, 0 to cancel */
-timeout_cb(http_t *http, /* I - Connection to server (unused) */
+timeout_cb(http_t *http, /* I - Connection to server */
void *user_data) /* I - User data (unused) */
{
+ int buffered = 0; /* Bytes buffered but not yet sent */
+
+
+ /*
+ * If the socket still have data waiting to be sent to the printer (as can
+ * happen if the printer runs out of paper), continue to wait until the output
+ * buffer is empty...
+ */
+
+#ifdef SO_NWRITE /* OS X and some versions of Linux */
+ socklen_t len = sizeof(buffered); /* Size of return value */
+
+ if (getsockopt(httpGetFd(http), SOL_SOCKET, SO_NWRITE, &buffered, &len))
+ buffered = 0;
+
+#elif defined(SIOCOUTQ) /* Others except Windows */
+ if (ioctl(httpGetFd(http), SIOCOUTQ, &buffered))
+ buffered = 0;
+
+#else /* Windows (not possible) */
(void)http;
(void)user_data;
+#endif /* SO_NWRITE */
- /* Always cancel on timeout */
- return (0);
+ return (buffered > 0);
}
@@ -5295,7 +5495,7 @@ with_value(cups_array_t *errors, /* I - Errors array */
{
int i, /* Looping var */
match; /* Match? */
- char temp[256], /* Temporary value string */
+ char temp[1024], /* Temporary value string */
*valptr; /* Pointer into value */
@@ -5574,10 +5774,13 @@ with_value(cups_array_t *errors, /* I - Errors array */
for (i = 0; i < attr->num_values; i ++)
{
- if (!regexec(&re, attr->values[i].string.text, 0, NULL, 0))
+ if (!regexec(&re, get_string(attr, i, flags, temp, sizeof(temp)),
+ 0, NULL, 0))
{
if (!matchbuf[0])
- strlcpy(matchbuf, attr->values[i].string.text, matchlen);
+ strlcpy(matchbuf,
+ get_string(attr, i, flags, temp, sizeof(temp)),
+ matchlen);
if (!(flags & _CUPS_WITH_ALL))
{
@@ -5602,10 +5805,12 @@ with_value(cups_array_t *errors, /* I - Errors array */
for (i = 0; i < attr->num_values; i ++)
{
- if (!strcmp(value, attr->values[i].string.text))
+ if (!strcmp(value, get_string(attr, i, flags, temp, sizeof(temp))))
{
if (!matchbuf[0])
- strlcpy(matchbuf, attr->values[i].string.text, matchlen);
+ strlcpy(matchbuf,
+ get_string(attr, i, flags, temp, sizeof(temp)),
+ matchlen);
if (!(flags & _CUPS_WITH_ALL))
{
@@ -5625,7 +5830,7 @@ with_value(cups_array_t *errors, /* I - Errors array */
{
for (i = 0; i < attr->num_values; i ++)
add_stringf(errors, "GOT: %s=\"%s\"", attr->name,
- attr->values[i].string.text);
+ attr->values[i].string.text);
}
break;
@@ -5638,5 +5843,5 @@ with_value(cups_array_t *errors, /* I - Errors array */
/*
- * End of "$Id: ipptool.c 10941 2013-04-09 19:05:29Z mike $".
+ * End of "$Id: ipptool.c 11020 2013-06-06 19:19:26Z msweet $".
*/
diff --git a/test/print-job-and-wait.test b/test/print-job-and-wait.test
new file mode 100644
index 00000000..f6acccae
--- /dev/null
+++ b/test/print-job-and-wait.test
@@ -0,0 +1,45 @@
+# Print a test page using print-job
+{
+ # The name of the test...
+ NAME "Print file using Print-Job"
+
+ # The operation to use
+ OPERATION Print-Job
+
+ # Attributes, starting in the operation group...
+ GROUP operation-attributes-tag
+ ATTR charset attributes-charset utf-8
+ ATTR language attributes-natural-language en
+ ATTR uri printer-uri $uri
+ ATTR name requesting-user-name $user
+ ATTR mimeMediaType document-format $filetype
+
+ GROUP job-attributes-tag
+ ATTR integer copies 1
+
+ FILE $filename
+
+ # What statuses are OK?
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
+
+ # What attributes do we expect?
+ EXPECT job-id
+ EXPECT job-uri
+}
+{
+ NAME "Wait for job to complete..."
+ OPERATION Get-Job-Attributes
+ GROUP operation-attributes-tag
+ ATTR charset attributes-charset utf-8
+ ATTR language attributes-natural-language en
+ ATTR uri printer-uri $uri
+ ATTR integer job-id $job-id
+ ATTR name requesting-user-name $user
+
+ STATUS successful-ok
+ EXPECT job-id
+ EXPECT job-state WITH-VALUE >5 REPEAT-NO-MATCH
+ DISPLAY job-state
+ DISPLAY job-state-reasons
+}
diff --git a/test/print-job-password.test b/test/print-job-password.test
new file mode 100644
index 00000000..36e6a0a3
--- /dev/null
+++ b/test/print-job-password.test
@@ -0,0 +1,31 @@
+# Print a test page using print-job
+{
+ # The name of the test...
+ NAME "Print file using Print-Job"
+
+ # The operation to use
+ OPERATION Print-Job
+
+ # Attributes, starting in the operation group...
+ GROUP operation-attributes-tag
+ ATTR charset attributes-charset utf-8
+ ATTR language attributes-natural-language en
+ ATTR uri printer-uri $uri
+ ATTR name requesting-user-name $user
+ ATTR mimeMediaType document-format $filetype
+ ATTR octetString job-password 1234
+ ATTR keyword job-password-encryption none
+
+ GROUP job-attributes-tag
+ ATTR integer copies 1
+
+ FILE $filename
+
+ # What statuses are OK?
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
+
+ # What attributes do we expect?
+ EXPECT job-id
+ EXPECT job-uri
+}
diff --git a/test/run-stp-tests.sh b/test/run-stp-tests.sh
index 286b41e3..656503a5 100755
--- a/test/run-stp-tests.sh
+++ b/test/run-stp-tests.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: run-stp-tests.sh 10883 2013-03-05 19:31:19Z mike $"
+# "$Id: run-stp-tests.sh 9034 2010-03-09 07:03:06Z mike $"
#
# Perform the complete set of IPP compliance tests specified in the
# CUPS Software Test Plan.
@@ -100,6 +100,7 @@ case "$testtype" in
nprinters2=0
pjobs=0
pprinters=0
+ loglevel="debug2"
;;
2)
echo "Running the medium tests (2)"
@@ -107,6 +108,7 @@ case "$testtype" in
nprinters2=20
pjobs=20
pprinters=10
+ loglevel="debug"
;;
3)
echo "Running the extreme tests (3)"
@@ -114,6 +116,7 @@ case "$testtype" in
nprinters2=1000
pjobs=100
pprinters=50
+ loglevel="debug"
;;
4)
echo "Running the torture tests (4)"
@@ -121,6 +124,7 @@ case "$testtype" in
nprinters2=20000
pjobs=200
pprinters=100
+ loglevel="debug"
;;
*)
echo "Running the timid tests (1)"
@@ -128,6 +132,7 @@ case "$testtype" in
nprinters2=0
pjobs=10
pprinters=0
+ loglevel="debug2"
;;
esac
@@ -397,7 +402,7 @@ PassEnv DYLD_INSERT_LIBRARIES
MaxSubscriptions 3
MaxLogSize 0
AccessLogLevel actions
-LogLevel debug2
+LogLevel $loglevel
LogTimeFormat usecs
PreserveJobHistory Yes
PreserveJobFiles No
@@ -955,5 +960,5 @@ if test $fail != 0; then
fi
#
-# End of "$Id: run-stp-tests.sh 10883 2013-03-05 19:31:19Z mike $"
+# End of "$Id: run-stp-tests.sh 9034 2010-03-09 07:03:06Z mike $"
#
diff --git a/test/set-attrs-hold.test b/test/set-attrs-hold.test
index 377819ae..213bdd2e 100644
--- a/test/set-attrs-hold.test
+++ b/test/set-attrs-hold.test
@@ -17,8 +17,8 @@
ATTR name requesting-user-name $user
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
}
{
@@ -45,8 +45,8 @@
FILE ../data/testprint.ps
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
# What attributes do we expect?
EXPECT job-id
@@ -71,8 +71,8 @@
ATTR integer job-id $job-id
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
# What attributes do we expect?
EXPECT job-state
@@ -101,8 +101,8 @@
ATTR name job-hold-until 00:30:00
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
}
{
@@ -123,8 +123,8 @@
ATTR integer job-id $job-id
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
# What attributes do we expect?
EXPECT job-state
@@ -149,8 +149,8 @@
ATTR name requesting-user-name $user
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
}
{
@@ -171,8 +171,8 @@
ATTR integer job-id $job-id
# What statuses are OK?
- STATUS ok
- STATUS ok-subst
+ STATUS successful-ok
+ STATUS successful-ok-ignored-or-substituted-attributes
# What attributes do we expect?
EXPECT job-state
diff --git a/test/testfile.ps b/test/testfile.ps
index d02503a1..bf8c36cb 100644
--- a/test/testfile.ps
+++ b/test/testfile.ps
@@ -593,6 +593,6 @@ gsave
grestore
showpage
%
-% End of "$Id: testfile.ps 9771 2011-05-12 05:21:56Z mike $".
+% End of "$Id: testfile.ps 6649 2007-07-11 21:46:42Z mike $".
%
%%EOF
diff --git a/test/testhp.ppd b/test/testhp.ppd
index 4a82be67..6200c7ab 100644
--- a/test/testhp.ppd
+++ b/test/testhp.ppd
@@ -1,6 +1,6 @@
*PPD-Adobe: "4.3"
*%
-*% "$Id: testhp.ppd 9563 2011-02-22 20:21:24Z mike $"
+*% "$Id: testhp.ppd 6649 2007-07-11 21:46:42Z mike $"
*%
*% Test HP PPD file for CUPS.
*%
@@ -183,5 +183,5 @@
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
*%
-*% End of "$Id: testhp.ppd 9563 2011-02-22 20:21:24Z mike $".
+*% End of "$Id: testhp.ppd 6649 2007-07-11 21:46:42Z mike $".
*%
diff --git a/test/testps.ppd b/test/testps.ppd
index 6e478003..10b4a377 100644
--- a/test/testps.ppd
+++ b/test/testps.ppd
@@ -1,6 +1,6 @@
*PPD-Adobe: "4.3"
*%
-*% "$Id: testps.ppd 9771 2011-05-12 05:21:56Z mike $"
+*% "$Id: testps.ppd 6649 2007-07-11 21:46:42Z mike $"
*%
*% Test PS PPD file for CUPS.
*%
@@ -179,5 +179,5 @@
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Standard ROM
*%
-*% End of "$Id: testps.ppd 9771 2011-05-12 05:21:56Z mike $".
+*% End of "$Id: testps.ppd 6649 2007-07-11 21:46:42Z mike $".
*%
diff --git a/test/waitjobs.sh b/test/waitjobs.sh
index b3dec929..01c581db 100755
--- a/test/waitjobs.sh
+++ b/test/waitjobs.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# "$Id: waitjobs.sh 8393 2009-02-25 23:24:18Z mike $"
+# "$Id: waitjobs.sh 1253 2009-02-25 23:37:25Z msweet $"
#
# Script to wait for jobs to complete.
#
@@ -56,5 +56,5 @@ done
echo ""
#
-# End of "$Id: waitjobs.sh 8393 2009-02-25 23:24:18Z mike $".
+# End of "$Id: waitjobs.sh 1253 2009-02-25 23:37:25Z msweet $".
#
diff --git a/test/xmltotest.c b/test/xmltotest.c
index efe04553..143f2416 100644
--- a/test/xmltotest.c
+++ b/test/xmltotest.c
@@ -1,5 +1,5 @@
/*
- * "$Id: xmltotest.c 10192 2012-01-20 21:49:02Z mike $"
+ * "$Id: xmltotest.c 3643 2012-02-13 16:35:48Z msweet $"
*
* IANA XML registration to test file generator for CUPS.
*
@@ -525,5 +525,5 @@ main(void)
/*
- * End of "$Id: xmltotest.c 10192 2012-01-20 21:49:02Z mike $".
+ * End of "$Id: xmltotest.c 3643 2012-02-13 16:35:48Z msweet $".
*/
diff --git a/vc2005/cups.sln b/vc2005/cups.sln
deleted file mode 100644
index e510e163..00000000
--- a/vc2005/cups.sln
+++ /dev/null
@@ -1,78 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcups2", "libcups2.vcproj", "{CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcupsimage2", "libcupsimage2.vcproj", "{CB4AA6F2-3E84-45BE-B505-95CD375E1234}"
- ProjectSection(ProjectDependencies) = postProject
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testfile", "testfile.vcproj", "{CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}"
- ProjectSection(ProjectDependencies) = postProject
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testhttp", "testhttp.vcproj", "{90B0058C-8393-411F-BD3B-E2C831D4E883}"
- ProjectSection(ProjectDependencies) = postProject
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cupstestppd", "cupstestppd.vcproj", "{6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}"
- ProjectSection(ProjectDependencies) = postProject
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}
- {CB4AA6F2-3E84-45BE-B505-95CD375E1234} = {CB4AA6F2-3E84-45BE-B505-95CD375E1234}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Debug|Win32.ActiveCfg = Debug|Win32
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Debug|Win32.Build.0 = Debug|Win32
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Debug|x64.ActiveCfg = Debug|x64
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Debug|x64.Build.0 = Debug|x64
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|Win32.ActiveCfg = Debug|Win32
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|Win32.Build.0 = Debug|Win32
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|x64.ActiveCfg = Debug|x64
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|x64.Build.0 = Debug|x64
- {CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Debug|Win32.ActiveCfg = Debug|Win32
- {CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Debug|Win32.Build.0 = Debug|Win32
- {CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Debug|x64.ActiveCfg = Debug|x64
- {CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Debug|x64.Build.0 = Debug|x64
- {CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Release|Win32.ActiveCfg = Release|Win32
- {CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Release|Win32.Build.0 = Release|Win32
- {CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Release|x64.ActiveCfg = Release|x64
- {CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Release|x64.Build.0 = Release|x64
- {CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}.Debug|Win32.ActiveCfg = Debug|Win32
- {CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}.Debug|Win32.Build.0 = Debug|Win32
- {CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}.Debug|x64.ActiveCfg = Debug|x64
- {CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}.Debug|x64.Build.0 = Debug|x64
- {CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}.Release|Win32.ActiveCfg = Debug|Win32
- {CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}.Release|Win32.Build.0 = Debug|Win32
- {CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}.Release|x64.ActiveCfg = Debug|x64
- {CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}.Release|x64.Build.0 = Debug|x64
- {90B0058C-8393-411F-BD3B-E2C831D4E883}.Debug|Win32.ActiveCfg = Debug|Win32
- {90B0058C-8393-411F-BD3B-E2C831D4E883}.Debug|Win32.Build.0 = Debug|Win32
- {90B0058C-8393-411F-BD3B-E2C831D4E883}.Debug|x64.ActiveCfg = Debug|x64
- {90B0058C-8393-411F-BD3B-E2C831D4E883}.Debug|x64.Build.0 = Debug|x64
- {90B0058C-8393-411F-BD3B-E2C831D4E883}.Release|Win32.ActiveCfg = Debug|Win32
- {90B0058C-8393-411F-BD3B-E2C831D4E883}.Release|Win32.Build.0 = Debug|Win32
- {90B0058C-8393-411F-BD3B-E2C831D4E883}.Release|x64.ActiveCfg = Debug|x64
- {90B0058C-8393-411F-BD3B-E2C831D4E883}.Release|x64.Build.0 = Debug|x64
- {6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}.Debug|Win32.ActiveCfg = Debug|Win32
- {6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}.Debug|Win32.Build.0 = Debug|Win32
- {6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}.Debug|x64.ActiveCfg = Debug|x64
- {6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}.Debug|x64.Build.0 = Debug|x64
- {6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}.Release|Win32.ActiveCfg = Release|Win32
- {6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}.Release|Win32.Build.0 = Release|Win32
- {6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}.Release|x64.ActiveCfg = Release|x64
- {6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/vc2005/ipptool.vcproj b/vc2005/ipptool.vcproj
deleted file mode 100644
index 271187b5..00000000
--- a/vc2005/ipptool.vcproj
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="cupstestppd"
- ProjectGUID="{B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}"
- RootNamespace="ipptool"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\vcnet;.."
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="1"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\vcnet;.."
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="1"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\test\ipptool.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/vc2005/libcups2.vcproj b/vc2005/libcups2.vcproj
deleted file mode 100644
index 04981858..00000000
--- a/vc2005/libcups2.vcproj
+++ /dev/null
@@ -1,1611 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="libcups2"
- ProjectGUID="{CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib advapi32.lib"
- OutputFile="$(OutDir)\libcups2.dll"
- LinkIncremental="2"
- ModuleDefinitionFile="..\cups\libcups2.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\libcups2.pdb"
- SubSystem="2"
- ImportLibrary="$(OutDir)\libcups2.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib advapi32.lib"
- OutputFile="$(OutDir)\libcups2.dll"
- LinkIncremental="2"
- ModuleDefinitionFile="..\cups\libcups2.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\libcups2.pdb"
- SubSystem="2"
- ImportLibrary="$(OutDir)\libcups2.lib"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="1"
- AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib advapi32.lib"
- OutputFile="$(OutDir)\libcups2.dll"
- LinkIncremental="1"
- ModuleDefinitionFile="..\cups\libcups2.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="libcups2.pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- ImportLibrary="$(OutDir)\libcups2.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not &quot;%RC_XBS%&quot; == &quot;YES&quot; goto END&#x0D;&#x0A;if not exist &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot; mkdir &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;xcopy /I/Y &quot;$(TargetPath)&quot; &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;:END&#x0D;&#x0A;"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="1"
- AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib advapi32.lib"
- OutputFile="$(OutDir)\libcups2.dll"
- LinkIncremental="1"
- ModuleDefinitionFile="..\cups\libcups2.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="libcups2.pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- ImportLibrary="$(OutDir)\libcups2.lib"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not &quot;%RC_XBS%&quot; == &quot;YES&quot; goto END&#x0D;&#x0A;if not exist &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot; mkdir &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;xcopy /I/Y &quot;$(TargetPath)&quot; &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;:END&#x0D;&#x0A;"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\cups\adminutil.c"
- >
- </File>
- <File
- RelativePath="..\cups\array.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\attr.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\auth.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\backend.c"
- >
- </File>
- <File
- RelativePath="..\cups\conflicts.c"
- >
- </File>
- <File
- RelativePath="..\cups\custom.c"
- >
- </File>
- <File
- RelativePath="..\cups\dest.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\dir.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\emit.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\encode.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\file.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\getdevices.c"
- >
- </File>
- <File
- RelativePath="..\cups\getputfile.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\globals.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\http-addr.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\http-addrlist.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\http-support.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\http.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\ipp-support.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\ipp.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\langprintf.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\language.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\localize.c"
- >
- </File>
- <File
- RelativePath="..\cups\mark.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\md5.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\md5passwd.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\notify.c"
- >
- </File>
- <File
- RelativePath="..\cups\options.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\page.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\ppd.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\pwg-file.c"
- >
- </File>
- <File
- RelativePath="..\cups\pwg-media.c"
- >
- </File>
- <File
- RelativePath="..\cups\pwg-ppd.c"
- >
- </File>
- <File
- RelativePath="..\cups\request.c"
- >
- </File>
- <File
- RelativePath="..\cups\snmp.c"
- >
- </File>
- <File
- RelativePath="..\cups\snprintf.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\sspi.c"
- >
- </File>
- <File
- RelativePath="..\cups\string.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\tempfile.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\thread.c"
- >
- </File>
- <File
- RelativePath="..\cups\transcode.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\usersys.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\cups\util.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\cups\adminutil.h"
- >
- </File>
- <File
- RelativePath="..\cups\array.h"
- >
- </File>
- <File
- RelativePath="..\cups\backend.h"
- >
- </File>
- <File
- RelativePath="..\cups\cups-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\cups.h"
- >
- </File>
- <File
- RelativePath="..\cups\debug-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\dir.h"
- >
- </File>
- <File
- RelativePath="..\cups\file-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\file.h"
- >
- </File>
- <File
- RelativePath="..\cups\http-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\http.h"
- >
- </File>
- <File
- RelativePath="..\cups\ipp-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\ipp.h"
- >
- </File>
- <File
- RelativePath="..\cups\language-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\language.h"
- >
- </File>
- <File
- RelativePath="..\cups\md5-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\ppd-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\ppd.h"
- >
- </File>
- <File
- RelativePath="..\cups\pwg-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\sspi-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\string-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\thread-private.h"
- >
- </File>
- <File
- RelativePath="..\cups\transcode.h"
- >
- </File>
- <File
- RelativePath="..\cups\versioning.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/vc2005/libcupsimage2.vcproj b/vc2005/libcupsimage2.vcproj
deleted file mode 100644
index bb1f9efb..00000000
--- a/vc2005/libcupsimage2.vcproj
+++ /dev/null
@@ -1,395 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="libcupsimage2"
- ProjectGUID="{CB4AA6F2-3E84-45BE-B505-95CD375E1234}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib"
- OutputFile="$(OutDir)\libcupsimage2.dll"
- LinkIncremental="2"
- ModuleDefinitionFile="..\filter\libcupsimage2.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\libcupsimage2.pdb"
- SubSystem="2"
- ImportLibrary="$(OutDir)\libcupsimage2.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- BufferSecurityCheck="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib"
- OutputFile="$(OutDir)\libcupsimage2.dll"
- LinkIncremental="2"
- ModuleDefinitionFile="..\filter\libcupsimage2.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(PlatformName)\$(ConfigurationName)\libcupsimage2.pdb"
- SubSystem="2"
- ImportLibrary="$(OutDir)\libcupsimage2.lib"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="1"
- AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib"
- OutputFile="$(OutDir)\libcupsimage2.dll"
- LinkIncremental="1"
- ModuleDefinitionFile="..\filter\libcupsimage2.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="libcupsimage2.pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- ImportLibrary="$(OutDir)\libcupsimage2.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not &quot;%RC_XBS%&quot; == &quot;YES&quot; goto END&#x0D;&#x0A;if not exist &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot; mkdir &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;xcopy /I/Y &quot;$(TargetPath)&quot; &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;:END&#x0D;&#x0A;"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="1"
- AdditionalIncludeDirectories="..\vcnet,.."
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="ws2_32.lib"
- OutputFile="$(OutDir)\libcupsimage2.dll"
- LinkIncremental="1"
- ModuleDefinitionFile="..\filter\libcupsimage2.def"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="libcupsimage2.pdb"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- ImportLibrary="$(OutDir)\libcupsimage2.lib"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="if not &quot;%RC_XBS%&quot; == &quot;YES&quot; goto END&#x0D;&#x0A;if not exist &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot; mkdir &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;xcopy /I/Y &quot;$(TargetPath)&quot; &quot;$(DSTROOT)\Program Files\Bonjour\$(PlatformName)&quot;&#x0D;&#x0A;:END&#x0D;&#x0A;"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D7521234}"
- >
- <File
- RelativePath="..\filter\error.c"
- >
- </File>
- <File
- RelativePath="..\filter\interpret.c"
- >
- </File>
- <File
- RelativePath="..\filter\raster.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE521234}"
- >
- <File
- RelativePath="..\cups\raster.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121A1234}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/vc2005/testfile.vcproj b/vc2005/testfile.vcproj
deleted file mode 100644
index edebe633..00000000
--- a/vc2005/testfile.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="testfile"
- ProjectGUID="{CE75FC5F-E0CF-45DC-AD27-84666D3FBA30}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\vcnet;.."
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="Debug\testfile.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/testfile.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\vcnet;.."
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="0"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="testfile.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\cups\testfile.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/vc2005/testhttp.vcproj b/vc2005/testhttp.vcproj
deleted file mode 100644
index 77501a2d..00000000
--- a/vc2005/testhttp.vcproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="testhttp"
- ProjectGUID="{90B0058C-8393-411F-BD3B-E2C831D4E883}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\vcnet;.."
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="Debug\testhttp.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/testhttp.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\vcnet;.."
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="0"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="testhttp.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\cups\testhttp.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/vcnet/config.h b/vcnet/config.h
index 0e6b3588..c0e9812b 100644
--- a/vcnet/config.h
+++ b/vcnet/config.h
@@ -1,5 +1,5 @@
/*
- * "$Id: config.h 10842 2013-01-30 15:16:16Z mike $"
+ * "$Id: config.h 10996 2013-05-29 11:51:34Z msweet $"
*
* Configuration file for CUPS on Windows.
*
@@ -771,5 +771,5 @@ static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
#endif /* !_CUPS_CONFIG_H_ */
/*
- * End of "$Id: config.h 10842 2013-01-30 15:16:16Z mike $".
+ * End of "$Id: config.h 10996 2013-05-29 11:51:34Z msweet $".
*/
diff --git a/vcnet/cups.sln b/vcnet/cups.sln
index 2e674a6f..4f3c0d9c 100644
--- a/vcnet/cups.sln
+++ b/vcnet/cups.sln
@@ -33,10 +33,22 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ipptool", "ipptool.vcproj",
EndProjectSection
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "ipptool-installer", "ipptool-installer.vdproj", "{6AEA263B-92C0-426F-B5FF-F7F5917B704A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85} = {B484DA0C-62C8-4C32-83B6-CCEB58968B85}
+ EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "regex", "regex.vcproj", "{18950A1B-D37A-40C7-B2DF-C12986C0526E}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "libcups2-installer", "libcups2-installer.vdproj", "{03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85} = {B484DA0C-62C8-4C32-83B6-CCEB58968B85}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ippfind", "ippfind.vcproj", "{B484DA0C-62C8-4C32-83B6-CCEB58968B85}"
+ ProjectSection(ProjectDependencies) = postProject
+ {18950A1B-D37A-40C7-B2DF-C12986C0526E} = {18950A1B-D37A-40C7-B2DF-C12986C0526E}
+ {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -52,8 +64,8 @@ Global
{CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Debug|x64.Build.0 = Debug|x64
{CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|Win32.ActiveCfg = Release|Win32
{CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|Win32.Build.0 = Release|Win32
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|x64.ActiveCfg = Debug|x64
- {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|x64.Build.0 = Debug|x64
+ {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|x64.ActiveCfg = Release|x64
+ {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}.Release|x64.Build.0 = Release|x64
{CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Debug|Win32.ActiveCfg = Debug|Win32
{CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Debug|Win32.Build.0 = Debug|Win32
{CB4AA6F2-3E84-45BE-B505-95CD375E1234}.Debug|x64.ActiveCfg = Debug|x64
@@ -104,11 +116,11 @@ Global
{6AEA263B-92C0-426F-B5FF-F7F5917B704A}.Release|x64.Build.0 = Release
{18950A1B-D37A-40C7-B2DF-C12986C0526E}.Debug|Win32.ActiveCfg = Debug|Win32
{18950A1B-D37A-40C7-B2DF-C12986C0526E}.Debug|Win32.Build.0 = Debug|Win32
- {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Debug|x64.ActiveCfg = Release|x64
- {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Debug|x64.Build.0 = Release|x64
+ {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Debug|x64.ActiveCfg = Debug|x64
+ {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Debug|x64.Build.0 = Debug|x64
{18950A1B-D37A-40C7-B2DF-C12986C0526E}.Release|Win32.ActiveCfg = Release|Win32
{18950A1B-D37A-40C7-B2DF-C12986C0526E}.Release|Win32.Build.0 = Release|Win32
- {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Release|x64.ActiveCfg = Release|Win32
+ {18950A1B-D37A-40C7-B2DF-C12986C0526E}.Release|x64.ActiveCfg = Release|x64
{03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Debug|Win32.ActiveCfg = Debug
{03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Debug|Win32.Build.0 = Debug
{03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Debug|x64.ActiveCfg = Debug
@@ -117,6 +129,14 @@ Global
{03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Release|Win32.Build.0 = Release
{03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Release|x64.ActiveCfg = Release
{03CF67C2-3FF5-44EA-B3AF-FB62D3BED961}.Release|x64.Build.0 = Release
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85}.Debug|Win32.Build.0 = Debug|Win32
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85}.Debug|x64.ActiveCfg = Debug|x64
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85}.Debug|x64.Build.0 = Debug|x64
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85}.Release|Win32.ActiveCfg = Release|Win32
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85}.Release|Win32.Build.0 = Release|Win32
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85}.Release|x64.ActiveCfg = Release|x64
+ {B484DA0C-62C8-4C32-83B6-CCEB58968B85}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/vc2005/cupstestppd.vcproj b/vcnet/ippfind.vcproj
index 479afcc1..59a7f2b2 100644
--- a/vc2005/cupstestppd.vcproj
+++ b/vcnet/ippfind.vcproj
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8.00"
- Name="cupstestppd"
- ProjectGUID="{6BE0CDD3-4ED7-409C-A80F-19DF73664B1F}"
- RootNamespace="cupstestppd"
+ Version="9.00"
+ Name="ippfind"
+ ProjectGUID="{B484DA0C-62C8-4C32-83B6-CCEB58968B85}"
+ RootNamespace="ippfind"
Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -20,8 +21,8 @@
<Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
@@ -43,14 +44,14 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="..;..\vcnet"
+ AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="1"
- Detect64BitPortabilityProblems="true"
+ Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>
<Tool
@@ -64,9 +65,12 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="dnssd.lib ws2_32.lib"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
@@ -88,19 +92,15 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
+ Name="Debug|x64"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
- WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -116,15 +116,19 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..;..\vcnet"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- RuntimeLibrary="2"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="1"
- Detect64BitPortabilityProblems="true"
+ Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
@@ -138,12 +142,13 @@
/>
<Tool
Name="VCLinkerTool"
- LinkIncremental="1"
+ AdditionalDependencies="dnssd.lib ws2_32.lib"
+ LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
@@ -164,18 +169,16 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ Name="Release|Win32"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
+ WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
@@ -191,19 +194,15 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..;..\vcnet"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
+ AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
+ RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="1"
- Detect64BitPortabilityProblems="true"
+ Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
@@ -217,10 +216,15 @@
/>
<Tool
Name="VCLinkerTool"
- LinkIncremental="2"
+ AdditionalDependencies="dnssd.lib ws2_32.lib"
+ LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
- TargetMachine="17"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
@@ -241,15 +245,12 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
@@ -273,12 +274,12 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..;..\vcnet"
+ AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="1"
- Detect64BitPortabilityProblems="true"
+ Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
@@ -292,11 +293,14 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="dnssd.lib ws2_32.lib"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
TargetMachine="17"
/>
<Tool
@@ -318,9 +322,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -331,23 +332,23 @@
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ UniqueIdentifier="{8C1A7322-AFBD-4611-A001-CF18E3B0F00C}"
>
<File
- RelativePath="..\systemv\cupstestppd.c"
+ RelativePath="..\test\ippfind.c"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ UniqueIdentifier="{5807291C-0541-4D9C-9290-628F88CF9119}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ UniqueIdentifier="{7767CEF5-1BED-4C4C-82A7-37DF77126FE3}"
>
</Filter>
</Files>
diff --git a/vcnet/ipptool-installer.vdproj b/vcnet/ipptool-installer.vdproj
index 9ea8f396..88148054 100644
--- a/vcnet/ipptool-installer.vdproj
+++ b/vcnet/ipptool-installer.vdproj
@@ -27,6 +27,12 @@
}
"Entry"
{
+ "MsmKey" = "8:_1DBDCFABB8DF28E5F75E41EDAE4BF6BE"
+ "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_1E4B2A9BD6A44926B719E0D7E8FC0952"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -39,6 +45,30 @@
}
"Entry"
{
+ "MsmKey" = "8:_3CE1523FBE134534AC61A75E96CB0E1A"
+ "OwnerKey" = "8:_D02EB13951314EFD9C539150EF8E53B8"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_3CE1523FBE134534AC61A75E96CB0E1A"
+ "OwnerKey" = "8:_58DC0E72F0944BEFB927AED718CD1660"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_3CE1523FBE134534AC61A75E96CB0E1A"
+ "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_3CE1523FBE134534AC61A75E96CB0E1A"
+ "OwnerKey" = "8:_E97571D3FBE048DABDC59B37762D800F"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_40C483299484486C9416B704F0EF4A6C"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -75,8 +105,14 @@
}
"Entry"
{
- "MsmKey" = "8:_604E80B396974DD68D1F4A11BB022F79"
- "OwnerKey" = "8:_8B9B4769224046F5B6D692BA9E6FFBDD"
+ "MsmKey" = "8:_58DC0E72F0944BEFB927AED718CD1660"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_592FC984DBFD494D9FB7DFFEA35AD7A5"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -111,12 +147,6 @@
}
"Entry"
{
- "MsmKey" = "8:_8B9B4769224046F5B6D692BA9E6FFBDD"
- "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
"MsmKey" = "8:_8CC3562BCDED4676A672115D19D898B5"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -147,12 +177,6 @@
}
"Entry"
{
- "MsmKey" = "8:_A9CCE21DCF004D869F157B0065B32AA7"
- "OwnerKey" = "8:_D02EB13951314EFD9C539150EF8E53B8"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
"MsmKey" = "8:_AF057921D20E4520A3C6420F0729A744"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -189,20 +213,20 @@
}
"Entry"
{
- "MsmKey" = "8:_D20F7E9FAB8B4CF38D740C5E5655CC3E"
- "OwnerKey" = "8:_A9CCE21DCF004D869F157B0065B32AA7"
+ "MsmKey" = "8:_D4BEA026ABFB46DD960AD8EFCAE45E31"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D4BEA026ABFB46DD960AD8EFCAE45E31"
+ "MsmKey" = "8:_D5CD9D9AB1644688A1D54B1589BDF724"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D5CD9D9AB1644688A1D54B1589BDF724"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_D9C1920DC8F14B9EB89DDF4B6C1F474A"
+ "OwnerKey" = "8:_3CE1523FBE134534AC61A75E96CB0E1A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -414,6 +438,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1DBDCFABB8DF28E5F75E41EDAE4BF6BE"
+ {
+ "SourcePath" = "8:zlibwapi.dll"
+ "TargetName" = "8:zlibwapi.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1E4B2A9BD6A44926B719E0D7E8FC0952"
{
"SourcePath" = "8:..\\test\\get-printer-attributes.test"
@@ -574,6 +618,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_592FC984DBFD494D9FB7DFFEA35AD7A5"
+ {
+ "SourcePath" = "8:..\\doc\\help\\man-ippfind.html"
+ "TargetName" = "8:man-ippfind.html"
+ "Tag" = "8:"
+ "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_65CBD149C9DA448FBACE2B02766A6537"
{
"SourcePath" = "8:..\\test\\testfile.ps"
@@ -1192,14 +1256,14 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:ipptool for Windows"
- "ProductCode" = "8:{75CFE2B5-5105-4D7A-87CA-5D919126F3DA}"
- "PackageCode" = "8:{85757D89-5057-4EE1-9852-763E1EEF2FC8}"
+ "ProductCode" = "8:{820B4978-328C-46E6-938B-02ECE3846FFA}"
+ "PackageCode" = "8:{FF5FD1DE-7162-41BD-B4E4-E9E32BD8CA80}"
"UpgradeCode" = "8:{BAB6EBBB-515D-4155-9FEF-D98DA76814CA}"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:TRUE"
- "ProductVersion" = "8:13.04.1800"
+ "ProductVersion" = "8:13.07.0500"
"Manufacturer" = "8:Apple Inc."
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:http://www.cups.org/str.php"
@@ -1758,11 +1822,11 @@
}
"MergeModule"
{
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_604E80B396974DD68D1F4A11BB022F79"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_3CE1523FBE134534AC61A75E96CB0E1A"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
- "SourcePath" = "8:microsoft_vc90_debugcrt_x86_x64.msm"
+ "SourcePath" = "8:policy_9_0_Microsoft_VC90_DebugCRT_x86.msm"
"Properties"
{
}
@@ -1772,11 +1836,11 @@
"Feature" = "8:"
"IsolateTo" = "8:"
}
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_8B9B4769224046F5B6D692BA9E6FFBDD"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_D9C1920DC8F14B9EB89DDF4B6C1F474A"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
- "SourcePath" = "8:policy_9_0_Microsoft_VC90_DebugCRT_x86_x64.msm"
+ "SourcePath" = "8:microsoft_vc90_debugcrt_x86.msm"
"Properties"
{
}
@@ -1786,40 +1850,40 @@
"Feature" = "8:"
"IsolateTo" = "8:"
}
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_A9CCE21DCF004D869F157B0065B32AA7"
+ }
+ "ProjectOutput"
+ {
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_58DC0E72F0944BEFB927AED718CD1660"
{
- "UseDynamicProperties" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "SourcePath" = "8:policy_9_0_Microsoft_VC90_CRT_x86_x64.msm"
- "Properties"
- {
- }
- "LanguageId" = "3:0"
+ "SourcePath" = "8:Win32\\Debug\\ippfind.exe"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
"Exclude" = "11:FALSE"
- "Folder" = "8:"
- "Feature" = "8:"
+ "IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
- }
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_D20F7E9FAB8B4CF38D740C5E5655CC3E"
- {
- "UseDynamicProperties" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "SourcePath" = "8:microsoft_vc90_crt_x86_x64.msm"
- "Properties"
+ "ProjectOutputGroupRegister" = "3:1"
+ "OutputConfiguration" = "8:"
+ "OutputGroupCanonicalName" = "8:Built"
+ "OutputProjectGuid" = "8:{B484DA0C-62C8-4C32-83B6-CCEB58968B85}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
{
}
- "LanguageId" = "3:0"
- "Exclude" = "11:FALSE"
- "Folder" = "8:"
- "Feature" = "8:"
- "IsolateTo" = "8:"
}
- }
- "ProjectOutput"
- {
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D02EB13951314EFD9C539150EF8E53B8"
{
- "SourcePath" = "8:x64\\Release\\regex.dll"
+ "SourcePath" = "8:Win32\\Debug\\regex.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
@@ -1847,7 +1911,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E97571D3FBE048DABDC59B37762D800F"
{
- "SourcePath" = "8:x64\\Debug\\ipptool.exe"
+ "SourcePath" = "8:Win32\\Debug\\ipptool.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
@@ -1875,7 +1939,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EA282F32A10B4ED1A81AA6133B997C6A"
{
- "SourcePath" = "8:x64\\Debug\\libcups2.dll"
+ "SourcePath" = "8:Win32\\Debug\\libcups2.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
diff --git a/vcnet/libcups2-installer.vdproj b/vcnet/libcups2-installer.vdproj
index bae6a4c8..74b22161 100644
--- a/vcnet/libcups2-installer.vdproj
+++ b/vcnet/libcups2-installer.vdproj
@@ -111,32 +111,20 @@
}
"Entry"
{
- "MsmKey" = "8:_2B4CDFC508564D57A5C27766923D822E"
- "OwnerKey" = "8:_3F5E38826D0C441897F43747FFA7491A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_2B4CDFC508564D57A5C27766923D822E"
- "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_2B4CDFC508564D57A5C27766923D822E"
- "OwnerKey" = "8:_0299839A2CCC4F908C5D3A8F465F3FFE"
+ "MsmKey" = "8:_340E6094BE6F4BCF8350280DC8B37900"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2F26FF10F81046A9A863995A1D5F449E"
- "OwnerKey" = "8:_B77819C33E084E13AC78EAF9234C67E1"
+ "MsmKey" = "8:_35AE0E84A609BB191E4085A2681730D1"
+ "OwnerKey" = "8:_E9925AF9A2D343D6BFE5BDAE33481292"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_340E6094BE6F4BCF8350280DC8B37900"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_35AE0E84A609BB191E4085A2681730D1"
+ "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -213,38 +201,26 @@
}
"Entry"
{
- "MsmKey" = "8:_5BBA58EFC5A9495BBEF1752E15F4A077"
+ "MsmKey" = "8:_5914C46E15794A9093C5BF50A983D502"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5ED87BAE980C4992A4C74AEAEC4A57CF"
+ "MsmKey" = "8:_5B2FBC1C3AD5490689A61629854C80AF"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_64CCFE4D849E75157BBA3DD0A981DEE6"
- "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_64CCFE4D849E75157BBA3DD0A981DEE6"
- "OwnerKey" = "8:_BAEADCCB6AD74F36AE08401229354D79"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_64CCFE4D849E75157BBA3DD0A981DEE6"
- "OwnerKey" = "8:_3F5E38826D0C441897F43747FFA7491A"
+ "MsmKey" = "8:_5BBA58EFC5A9495BBEF1752E15F4A077"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_64CCFE4D849E75157BBA3DD0A981DEE6"
- "OwnerKey" = "8:_E9925AF9A2D343D6BFE5BDAE33481292"
+ "MsmKey" = "8:_5ED87BAE980C4992A4C74AEAEC4A57CF"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -273,12 +249,6 @@
}
"Entry"
{
- "MsmKey" = "8:_7014E39650EC41979A77C81B8C8636C5"
- "OwnerKey" = "8:_2B4CDFC508564D57A5C27766923D822E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
"MsmKey" = "8:_72A7EBE64092496AA67AB2DD00C0804B"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -297,134 +267,128 @@
}
"Entry"
{
- "MsmKey" = "8:_7E5E5AB3D3C0409AB04A160380C1B03A"
- "OwnerKey" = "8:_D3197C67CBAC46DE854CF283CDBC677E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_7E5E5AB3D3C0409AB04A160380C1B03A"
- "OwnerKey" = "8:_E9925AF9A2D343D6BFE5BDAE33481292"
+ "MsmKey" = "8:_7FC58520B0F44E3E95A207905CABFED4"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7FC58520B0F44E3E95A207905CABFED4"
+ "MsmKey" = "8:_860678A628E34D219950C2E2B1BE6A89"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_8400394709ED174EDB995EE7D2002030"
- "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
+ "MsmKey" = "8:_8CCA95F5402D439B9B9CAC6F0FC1A443"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_8400394709ED174EDB995EE7D2002030"
- "OwnerKey" = "8:_BAEADCCB6AD74F36AE08401229354D79"
+ "MsmKey" = "8:_933D37C7FEBF4B8AAF9E6CE01A605039"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_8400394709ED174EDB995EE7D2002030"
- "OwnerKey" = "8:_3F5E38826D0C441897F43747FFA7491A"
+ "MsmKey" = "8:_9D69B0FC2413407BA24D88B73EF456AA"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_8400394709ED174EDB995EE7D2002030"
- "OwnerKey" = "8:_E9925AF9A2D343D6BFE5BDAE33481292"
+ "MsmKey" = "8:_A271CCE042C14DDF8F0F1A1B16584F17"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_860678A628E34D219950C2E2B1BE6A89"
+ "MsmKey" = "8:_A513FBE6CC6247C19AF06829E5470D01"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_8CCA95F5402D439B9B9CAC6F0FC1A443"
+ "MsmKey" = "8:_A833908023464B61A160E0323C8E9606"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_933D37C7FEBF4B8AAF9E6CE01A605039"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_B15F5898006758C3483850D50CA2C7F0"
+ "OwnerKey" = "8:_E9925AF9A2D343D6BFE5BDAE33481292"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9D69B0FC2413407BA24D88B73EF456AA"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_B15F5898006758C3483850D50CA2C7F0"
+ "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A271CCE042C14DDF8F0F1A1B16584F17"
+ "MsmKey" = "8:_B20638175CCB42398417E0683A12469C"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A513FBE6CC6247C19AF06829E5470D01"
+ "MsmKey" = "8:_B38E399C93724A9BB5F429DABBA6301F"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A833908023464B61A160E0323C8E9606"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_B7023A0B2ADF4B4D822FAEE062F9BD87"
+ "OwnerKey" = "8:_0299839A2CCC4F908C5D3A8F465F3FFE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B1520DB5B1CE4CA392FF0EB614535300"
- "OwnerKey" = "8:_BAEADCCB6AD74F36AE08401229354D79"
+ "MsmKey" = "8:_B7023A0B2ADF4B4D822FAEE062F9BD87"
+ "OwnerKey" = "8:_5B2FBC1C3AD5490689A61629854C80AF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B20638175CCB42398417E0683A12469C"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_B7023A0B2ADF4B4D822FAEE062F9BD87"
+ "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B38E399C93724A9BB5F429DABBA6301F"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_B7023A0B2ADF4B4D822FAEE062F9BD87"
+ "OwnerKey" = "8:_E9925AF9A2D343D6BFE5BDAE33481292"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B77819C33E084E13AC78EAF9234C67E1"
- "OwnerKey" = "8:_C17DC336766E4B1BBC8DD24D686C440A"
+ "MsmKey" = "8:_B7023A0B2ADF4B4D822FAEE062F9BD87"
+ "OwnerKey" = "8:_D3197C67CBAC46DE854CF283CDBC677E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B77819C33E084E13AC78EAF9234C67E1"
+ "MsmKey" = "8:_B7023A0B2ADF4B4D822FAEE062F9BD87"
"OwnerKey" = "8:_D02EB13951314EFD9C539150EF8E53B8"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B820F65C4D844938881581933D156B34"
- "OwnerKey" = "8:_B1520DB5B1CE4CA392FF0EB614535300"
+ "MsmKey" = "8:_B7023A0B2ADF4B4D822FAEE062F9BD87"
+ "OwnerKey" = "8:_B20638175CCB42398417E0683A12469C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BAEADCCB6AD74F36AE08401229354D79"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_B7023A0B2ADF4B4D822FAEE062F9BD87"
+ "OwnerKey" = "8:_364DCCAFF25145BCBE75FFEEDCC75B3A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BF7DFB3EEB1A6396025E468768AC5AB1"
- "OwnerKey" = "8:_E9925AF9A2D343D6BFE5BDAE33481292"
+ "MsmKey" = "8:_BAEADCCB6AD74F36AE08401229354D79"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -453,6 +417,18 @@
}
"Entry"
{
+ "MsmKey" = "8:_CAF8F7B63E0E9F92F4B3B83FA9CC5424"
+ "OwnerKey" = "8:_E9925AF9A2D343D6BFE5BDAE33481292"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_CAF8F7B63E0E9F92F4B3B83FA9CC5424"
+ "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_CD0CFE42ED2D4416A01253E12A0082A8"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -513,12 +489,6 @@
}
"Entry"
{
- "MsmKey" = "8:_E4DC6765AD3348C28401914D2B7BC71A"
- "OwnerKey" = "8:_7E5E5AB3D3C0409AB04A160380C1B03A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
"MsmKey" = "8:_E9925AF9A2D343D6BFE5BDAE33481292"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -543,6 +513,12 @@
}
"Entry"
{
+ "MsmKey" = "8:_F39E4E6E6DCB48E08E9E51E724E77DCF"
+ "OwnerKey" = "8:_B7023A0B2ADF4B4D822FAEE062F9BD87"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
"MsmKey" = "8:_F77CB9E0AE78446481BD8BFD680F548E"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@@ -956,6 +932,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_35AE0E84A609BB191E4085A2681730D1"
+ {
+ "SourcePath" = "8:CRYPT32.dll"
+ "TargetName" = "8:CRYPT32.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_C8D931ADC425446B916E9711B929659F"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3697A58F04D14955AA428E89771E7BA3"
{
"SourcePath" = "8:..\\test\\ipp-2.0.test"
@@ -1116,10 +1112,10 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5BBA58EFC5A9495BBEF1752E15F4A077"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5914C46E15794A9093C5BF50A983D502"
{
- "SourcePath" = "8:README.txt"
- "TargetName" = "8:README.txt"
+ "SourcePath" = "8:..\\doc\\help\\man-ippfind.html"
+ "TargetName" = "8:man-ippfind.html"
"Tag" = "8:"
"Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
"Condition" = "8:"
@@ -1136,12 +1132,12 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5ED87BAE980C4992A4C74AEAEC4A57CF"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5BBA58EFC5A9495BBEF1752E15F4A077"
{
- "SourcePath" = "8:..\\cups\\ppd.h"
- "TargetName" = "8:ppd.h"
+ "SourcePath" = "8:README.txt"
+ "TargetName" = "8:README.txt"
"Tag" = "8:"
- "Folder" = "8:_8EF6B1AA25034DB9BCC44F5A3CCFF9F0"
+ "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
@@ -1156,12 +1152,12 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_64CCFE4D849E75157BBA3DD0A981DEE6"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5ED87BAE980C4992A4C74AEAEC4A57CF"
{
- "SourcePath" = "8:CRYPT32.dll"
- "TargetName" = "8:CRYPT32.dll"
+ "SourcePath" = "8:..\\cups\\ppd.h"
+ "TargetName" = "8:ppd.h"
"Tag" = "8:"
- "Folder" = "8:_C8D931ADC425446B916E9711B929659F"
+ "Folder" = "8:_8EF6B1AA25034DB9BCC44F5A3CCFF9F0"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
@@ -1173,7 +1169,7 @@
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_65560B58BEBF468C9D06493456A17DEC"
@@ -1336,26 +1332,6 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8400394709ED174EDB995EE7D2002030"
- {
- "SourcePath" = "8:Secur32.dll"
- "TargetName" = "8:Secur32.dll"
- "Tag" = "8:"
- "Folder" = "8:_C8D931ADC425446B916E9711B929659F"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_860678A628E34D219950C2E2B1BE6A89"
{
"SourcePath" = "8:..\\doc\\help\\api-raster.html"
@@ -1496,12 +1472,12 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B38E399C93724A9BB5F429DABBA6301F"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B15F5898006758C3483850D50CA2C7F0"
{
- "SourcePath" = "8:..\\test\\print-job-deflate.test"
- "TargetName" = "8:print-job-deflate.test"
+ "SourcePath" = "8:Secur32.dll"
+ "TargetName" = "8:Secur32.dll"
"Tag" = "8:"
- "Folder" = "8:_9DFBB4777E594B0F8884792467931241"
+ "Folder" = "8:_C8D931ADC425446B916E9711B929659F"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
@@ -1513,15 +1489,15 @@
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
- "IsDependency" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BF7DFB3EEB1A6396025E468768AC5AB1"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B38E399C93724A9BB5F429DABBA6301F"
{
- "SourcePath" = "8:zlibwapi.dll"
- "TargetName" = "8:zlibwapi.dll"
+ "SourcePath" = "8:..\\test\\print-job-deflate.test"
+ "TargetName" = "8:print-job-deflate.test"
"Tag" = "8:"
- "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
+ "Folder" = "8:_9DFBB4777E594B0F8884792467931241"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
@@ -1533,7 +1509,7 @@
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C1FCE2FAE4714A719B7B430E2BE93CBB"
@@ -1596,6 +1572,26 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CAF8F7B63E0E9F92F4B3B83FA9CC5424"
+ {
+ "SourcePath" = "8:zlibwapi.dll"
+ "TargetName" = "8:zlibwapi.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CD0CFE42ED2D4416A01253E12A0082A8"
{
"SourcePath" = "8:..\\test\\testfile.pdf"
@@ -2557,49 +2553,7 @@
}
"MergeModule"
{
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_2B4CDFC508564D57A5C27766923D822E"
- {
- "UseDynamicProperties" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "SourcePath" = "8:policy_9_0_Microsoft_VC90_DebugCRT_x86_x64.msm"
- "Properties"
- {
- }
- "LanguageId" = "3:0"
- "Exclude" = "11:FALSE"
- "Folder" = "8:"
- "Feature" = "8:"
- "IsolateTo" = "8:"
- }
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_2F26FF10F81046A9A863995A1D5F449E"
- {
- "UseDynamicProperties" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "SourcePath" = "8:microsoft_vc90_crt_x86_x64.msm"
- "Properties"
- {
- }
- "LanguageId" = "3:0"
- "Exclude" = "11:FALSE"
- "Folder" = "8:"
- "Feature" = "8:"
- "IsolateTo" = "8:"
- }
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_7014E39650EC41979A77C81B8C8636C5"
- {
- "UseDynamicProperties" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "SourcePath" = "8:microsoft_vc90_debugcrt_x86_x64.msm"
- "Properties"
- {
- }
- "LanguageId" = "3:0"
- "Exclude" = "11:FALSE"
- "Folder" = "8:"
- "Feature" = "8:"
- "IsolateTo" = "8:"
- }
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_7E5E5AB3D3C0409AB04A160380C1B03A"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_B7023A0B2ADF4B4D822FAEE062F9BD87"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
@@ -2613,49 +2567,7 @@
"Feature" = "8:"
"IsolateTo" = "8:"
}
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_B1520DB5B1CE4CA392FF0EB614535300"
- {
- "UseDynamicProperties" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "SourcePath" = "8:policy_9_0_Microsoft_VC90_CRT_x86.msm"
- "Properties"
- {
- }
- "LanguageId" = "3:0"
- "Exclude" = "11:FALSE"
- "Folder" = "8:"
- "Feature" = "8:"
- "IsolateTo" = "8:"
- }
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_B77819C33E084E13AC78EAF9234C67E1"
- {
- "UseDynamicProperties" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "SourcePath" = "8:policy_9_0_Microsoft_VC90_CRT_x86_x64.msm"
- "Properties"
- {
- }
- "LanguageId" = "3:0"
- "Exclude" = "11:FALSE"
- "Folder" = "8:"
- "Feature" = "8:"
- "IsolateTo" = "8:"
- }
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_B820F65C4D844938881581933D156B34"
- {
- "UseDynamicProperties" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "SourcePath" = "8:microsoft_vc90_crt_x86.msm"
- "Properties"
- {
- }
- "LanguageId" = "3:0"
- "Exclude" = "11:FALSE"
- "Folder" = "8:"
- "Feature" = "8:"
- "IsolateTo" = "8:"
- }
- "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_E4DC6765AD3348C28401914D2B7BC71A"
+ "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_F39E4E6E6DCB48E08E9E51E724E77DCF"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
@@ -2674,7 +2586,7 @@
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_0299839A2CCC4F908C5D3A8F465F3FFE"
{
- "SourcePath" = "8:x64\\Debug\\libcupsimage2.dll"
+ "SourcePath" = "8:Win32\\Debug\\libcupsimage2.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
@@ -2730,7 +2642,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_364DCCAFF25145BCBE75FFEEDCC75B3A"
{
- "SourcePath" = "8:x64\\Debug\\cupstestppd.exe"
+ "SourcePath" = "8:Win32\\Debug\\cupstestppd.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
@@ -2840,9 +2752,37 @@
{
}
}
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_5B2FBC1C3AD5490689A61629854C80AF"
+ {
+ "SourcePath" = "8:Win32\\Debug\\ippfind.exe"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ "ProjectOutputGroupRegister" = "3:1"
+ "OutputConfiguration" = "8:"
+ "OutputGroupCanonicalName" = "8:Built"
+ "OutputProjectGuid" = "8:{B484DA0C-62C8-4C32-83B6-CCEB58968B85}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B20638175CCB42398417E0683A12469C"
{
- "SourcePath" = "8:x64\\Debug\\ipptool.exe"
+ "SourcePath" = "8:Win32\\Debug\\ipptool.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
@@ -2926,7 +2866,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D02EB13951314EFD9C539150EF8E53B8"
{
- "SourcePath" = "8:x64\\Release\\regex.dll"
+ "SourcePath" = "8:Win32\\Debug\\regex.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
@@ -3010,7 +2950,7 @@
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EA282F32A10B4ED1A81AA6133B997C6A"
{
- "SourcePath" = "8:x64\\Debug\\libcups2.dll"
+ "SourcePath" = "8:Win32\\Debug\\libcups2.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"
diff --git a/vcnet/libcups2.vcproj b/vcnet/libcups2.vcproj
index fcb94ea8..2580eb21 100644
--- a/vcnet/libcups2.vcproj
+++ b/vcnet/libcups2.vcproj
@@ -45,7 +45,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"
+ AdditionalIncludeDirectories="..\vcnet,..,..\vcnet\regex"
PreprocessorDefinitions="ZLIB_WINAPI;WIN32;DEBUG;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -129,7 +129,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="..\vcnet,.."
+ AdditionalIncludeDirectories="..\vcnet,..,..\vcnet\regex"
PreprocessorDefinitions="ZLIB_WINAPI;WIN32;DEBUG;_DEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -209,7 +209,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="1"
- AdditionalIncludeDirectories="..\vcnet;..;..\vcnet\regex"
+ AdditionalIncludeDirectories="..\vcnet,..,..\vcnet\regex"
PreprocessorDefinitions="ZLIB_WINAPI;WIN32;DEBUG;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@@ -293,7 +293,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="1"
- AdditionalIncludeDirectories="..\vcnet,.."
+ AdditionalIncludeDirectories="..\vcnet,..,..\vcnet\regex"
PreprocessorDefinitions="ZLIB_WINAPI;WIN32;DEBUG;NDEBUG;_WINDOWS;_USRDLL;LIBCUPS2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
diff --git a/xcode/CUPS.xcodeproj/project.pbxproj b/xcode/CUPS.xcodeproj/project.pbxproj
index 18990f2b..b16aca11 100644
--- a/xcode/CUPS.xcodeproj/project.pbxproj
+++ b/xcode/CUPS.xcodeproj/project.pbxproj
@@ -2653,7 +2653,7 @@
72BF96371333042100B1EAD7 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0450;
+ LastUpgradeCheck = 0500;
ORGANIZATIONNAME = "Apple Inc.";
};
buildConfigurationList = 72BF963A1333042100B1EAD7 /* Build configuration list for PBXProject "CUPS" */;
@@ -3968,7 +3968,6 @@
72BF963C1333042100B1EAD7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(NATIVE_ARCH_ACTUAL)";
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -3984,6 +3983,7 @@
.,
..,
);
+ ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = (
"-D_CUPS_SOURCE",
"-Wno-shorten-64-to-32",
@@ -3994,7 +3994,6 @@
72BF963D1333042100B1EAD7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
diff --git a/xcode/config.h b/xcode/config.h
index 7eb59d37..f2cd5bdb 100644
--- a/xcode/config.h
+++ b/xcode/config.h
@@ -1,6 +1,6 @@
/* config.h. Generated from config.h.in by configure. */
/*
- * "$Id: config.h 10842 2013-01-30 15:16:16Z mike $"
+ * "$Id: config.h 4216 2013-03-11 13:57:36Z msweet $"
*
* Configuration file for CUPS.
*
@@ -706,5 +706,5 @@ static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
#endif /* !_CUPS_CONFIG_H_ */
/*
- * End of "$Id: config.h 10842 2013-01-30 15:16:16Z mike $".
+ * End of "$Id: config.h 4216 2013-03-11 13:57:36Z msweet $".
*/