Commit Graph

20 Commits

Author SHA1 Message Date
Alexandre Truong fdc1a45e8e cups-filters: include UPSTREAM_CHECK_URI to fix UNKNOWN_BROKEN status
Adding UPSTREAM_CHECK_URI fix UNKNOWN_BROKEN status from
running devtool check-upgrade-status.

The next version of the package can be found from upstream
sources.

Signed-off-by: Alexandre Truong <alexandre.truong@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
2024-07-24 08:56:30 -07:00
Markus Volk 304fd6a06e cups-filters: fix Makefile race condition
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-24 13:46:34 -08:00
Markus Volk 71e6fa9b08 cups-filters: Upgrade 1.28.17 -> 2.0.0
- `universal`: Enable `application/vnd.cups-postscript` as input
  There are filters which produce this MIME type (such as `hpps` of
  HPLIP), and if someone uses such driver on a client and the server
  has an IPP Everywhere/driverless printer, the job fails (Pull
  request #534).

- beh backend: Use `execv()` instead of `system()` - CVE-2023-24805
  With `execv()` command line arguments are passed as separate strings
  and not the full command line in a single string. This prevents
  arbitrary command execution by escaping the quoting of the arguments
  in a job with forged job title.

- beh backend: Extra checks against odd/forged input - CVE-2023-24805

  * Do not allow `/` in the scheme of the URI (= backend executable
    name), to assure that only backends inside
    `/usr/lib/cups/backend/` are used.

  * Pre-define scheme buffer to empty string, to be defined for case
    of URI being NULL.

  * URI must have `:`, to split off scheme, otherwise error.

  * Check return value of `snprintf()` to create call path for
    backend, to error out on truncation of a too long scheme or on
    complete failure due to a completely odd scheme.

- beh backend: Further improvements - CVE-2023-24805

  * Use `strncat()` instead of `strncpy()` for getting scheme from
    URI, the latter does not require setting terminating zero byte in
    case of truncation.

  * Also exclude `.` or `..` as scheme, as directories are not valid
    CUPS backends.

  * Do not use `fprintf()` in `sigterm_handler()`, to not interfere
    with a `fprintf()` which could be running in the main process when
    `sigterm_handler()` is triggered.

  * Use `static volatile int` for global variable job_canceled.

- `parallel` backend: Added missing `#include` lines

- foomatic-rip: Fix a SIGPIPE error when calling gs (Pull request #517)
  [Ubuntu's autopkgtest for
  foo2zjs](https://autopkgtest.ubuntu.com/packages/f/foo2zjs/lunar/ppc64el)
  shows foo2zjs's testsuite failing with cups-filters 2.0beta3 on
  ppc64el. This is cause by a timing issue in foomatic-rip which is
  fixed now.

- Coverity check done by Zdenek Dohnal for the inclusion of
  cups-filters in Fedora and Red Hat. Zdenek has fixed all the issues:
  Missing `free()`, files not closed, potential string overflows,
  ... Thanks a lot! (Pull request #510).

- Dropped all C++ references and obsolete C standards (Pull requests
  #504 and #513)
  With no C++ compiler needed, there is no need for any checks or
  setting for C++ in configure.ac.

- configure.ac: Change deprecated AC_PROG_LIBTOOL for LT_INIT (Pull
  request #508)

- texttopdf: Do not include fontconfig.h in the CUPS filter wrapper

- Build system: Do not explicitly check for libpoppler-cpp
  The cups-filters package does not contain any code using
  libpoppler-cpp, therefore we let ./configure not check for it.

- COPYING, NOTICE: Simplification for autotools-generated files
  autotools-generated files can be included under the license of the
  upstream code, and FSF copyright added to upstream copyright
  list. Simplified COPYING appropriately.

- Makefile.am: Include LICENSE in distribution tarball

- Add templates for issue reports on GitHub. This makes a selection
  screen appear when clicking "New Issue" in the web UI, to selct
  whether the issue is a regular bug, a feature request, or a security
  vulnerability.

- Corrected installation path for *.h files of *.drv files.  The ppdc
  (and underlying functions) of libppd searches for include files in
  /usr/share/ppdc and not in /usr/share/cups/ppdc any more.

- configure.ac: Remove unnecessary "AVAHI_GLIB_..." definitions.

- Makefile.am: Include NOTICE in distribution tarball

- configure.ac: Added "foreign" to to AM_INIT_AUTOMAKE() call. Makes
  automake not require a file named README.

- Cleaned up .gitignore

- Tons of fixes in the source code documentation: README.md, INSTALL,
  DEVELOPING.md, CONTRIBUTING.md, COPYING, NOTICE, ... Adapted to the
  cups-filters component, added links.

- Converted nearly all filters to filter functions, only exceptions
  are `rastertoescpx`, `rastertopclx`, `commandtoescpx`,
  `commandtopclx`, and `foomatic-rip`. The latter is deeply involved
  with Foomatic PPDs and the others are legacy printer drivers. The
  filter functions are mainly in libcupsfilters, the ones which
  generate PostScript are in libppd.

- Replaced all the filters converted to filter functions by simple
  wrapper executables using `ppdFilterCUPSWrapper()` of libppd for
  backward compatibility with CUPS 2.x.

- Added new streaming mode triggered by the boolean
  "filter-streaming-mode" option. In this mode a filter (function) is
  supposed to avoid everything which prevents the job data from
  streaming, as loading the whole job (or good part of it) into a
  temporary file or into memory, interpreting PDF, pre-checking input
  file type or zero-page jobs, ... This is mainly to be used by
  Printer Applications when they do raster printing in streaming mode,
  to run with lowest resources possible. Currently `foomatic-rip`,
  `ghostscript`, and `pdftopdf` got a streaming mode. For the former
  two PostScript (not PDF) is assumed as input and no zero-page-job
  check is done, in the latter all QPDF processing (page management,
  page size adjustment, ...) is skipped and only JCL according to the
  PPD added.

- The CUPS filter `imagetops` uses the `ppdFilterImageToPS()` filter
  function of libppd now.

- `driverless`, `driverless-fax`: Added IPP Fax Out support. Now
  printer setup tools list an additional fax "driver". A fax queue is
  created by selecting this driver. Jobs have to be sent with "-o
  phone=12345" to supply the destination phone number (Pull request
  #280, #293, #296, #302, #304, #305, #306, #309, Issue #298, #308).

- `sys5ippprinter`: Removed `sys5ippprinter`, as CUPS does not support
  System V interface scripts any more. This first approach of PPD-less
  printing was also not actually made use of.

- `urftopdf`: Removed as we require CUPS 2.2.2+ now which supports
  Apple Raster by itself.

- Build system, `README.md`: Require CUPS 2.2.2+. Removed now unneeded
  `./configure` switches for use of the `urftopdf` filter for old CUPS
  versions.

- Sample PPDs: Renamed source directory from `ppd/` to `ppdfiles/`.

- Build system: Remove '-D_PPD_DEPRECATED=""' from the compiling
  command lines of the source files which use libcups. The flag is not
  supported any more for longer times already and all the PPD-related
  functions deprecated by CUPS have moved into libppd now.

- Build system: Add files in `.gitignore` that are generated by
  "autogen.sh", "configure", and "make" (Pull request #336).

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-11 23:25:17 -08:00
Markus Volk ba28b8f987 cups-filters: Fix for current gcc
std::string_view is part of c++17

This fixes:
error: 'std::string_view' has not been declared

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-11 15:41:43 -08:00
Richard Purdie 9962d57f7c meta-oe: Drop broken BBCLASSEXTEND variants
The command "bitbake universe -c fetch" currently throws a ton of warnings
as there are many 'impossible' dependencies.

In some cases these variants may never have worked and were just added by copy
and paste of recipes. In some cases they once clearly did work but became
broken somewhere along the way. Users may also be carrying local bbappend files
which add further BBCLASSEXTEND.

Having universe fetch work without warnings is desireable so clean up the broken
variants. Anyone actually needing something dropped here can propose adding it
and the correct functional dependencies back quite easily. This also then
ensures we're not carrying or fixing things nobody uses.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-24 09:08:45 -07:00
Martin Jansa be8c765c7c *.patch: add Upstream-Status to all patches
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a

This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).

This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.

This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:

5 (26%) 	meta-xfce
6 (50%) 	meta-perl
15 (42%)        meta-webserver
21 (36%)        meta-gnome
25 (57%)        meta-filesystems
26 (43%)        meta-initramfs
45 (45%)        meta-python
47 (55%)        meta-multimedia
312 (63%)       meta-networking
756 (61%)       meta-oe

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-06-21 09:15:20 -07:00
Trevor Woerner b9a8ebf069 cups-filters: fix ghostscript handling
ghostscript is not needed at build-time (it only needs to be enabled in the
configuration step) but it is required at run-time for two of this recipe's
packages.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-09 21:58:44 -08:00
Trevor Woerner 8f9f20cede cups-filters: remove duplicate configure option
The '--enable-ghostscript' configure option is specified twice and doesn't
need to be. It's simply a boolean; it's not the sort of option whose position
is relevant, or an option which modifies its immediate neighbours.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-09 21:58:44 -08:00
Khem Raj 3d74a8d07d cups-filters: Upgrade to 1.28.17 release
- Switch to github release artifact downloads
- Add missing dependency on libexif
- Merge .inc into .bb as there are no other users of it

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-06 20:48:35 -08:00
Khem Raj 481467514e cups-filters: Fix build with clang16/c++17
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-06 18:38:41 -08:00
Markus Volk 670bd4e3ae python3-pycups: add recipe
This is a runtime dependency for system-config-printer

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-01 09:11:49 -08:00
Markus Volk 05ef2b6570 cups-pk-helper: add recipe
cups-pk-helper is a runtime dependency for gnome-control-center
or system-config-printer.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-25 08:57:42 -08:00
Markus Volk 1e2e283635 cups-filters: build with dbus support
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-25 08:51:25 -08:00
Khem Raj 14c7d8a0d7 recipes: Update LICENSE variable to use SPDX license identifiers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-04 17:41:45 -08:00
wangmy 3ec0b14aa4 cups-filters: upgrade 1.27.2 -> 1.28.11
License-Update:
"org.cups.cupsd.Notifier.xml" changed to "utils/org.cups.cupsd.Notifier.xml"
"GNU Library" changed to "GNU Library General"
"GNU Lesser" changed to "GNU Lesser General"

Changelog:
URL of issues  <https://github.com/OpenPrinting/cups-filters/pull/#####>
=========
Bug fix release, containing backports of many of the bugs recently fixed during
the preparation of the cups-filters 2.x release.
Important is that cups-browsed's queue naming is aligned with CUPS' temporary
queue naming now and several bugs affecting driverless printing are fixed.

-libcupsfilters: Let PPD generator take default ColorModel from printer
 (CUPS issue #277).
-Braille: In vectortopdf check inkscape version to call inkscape with the
 correct command line (Issue #315, Pull request #443).
-Build system: Make missing DejaVuSans.ttf non-fatal in ./configure as the font
 is only needed for test programs, not for actual use of cups-filters
 (Issue #411).
-libcupsfilters: In imagetoraster() fixed crash with SGray (Issue #435).
-cups-browsed: Naming of local queues is matched to CUPS' current naming of
 temporary queues (no leading or trailing underscores), to avoid duplicates in
 print dialogs which support CUPS' temporary queues.
-libcupsfilters: Make cupsRasterParseIPPOptions() work correctly with PPDs
 (Issue #436).
-libcupsfilters: Let colord_get_profile_for_device_id() not return empty file
 name, to avoid error messages in CUPS error_log.
-foomatic-rip: Debug message was wrongly sent to stdout and not to log
 (Issue #422).

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-01-19 09:01:04 -08:00
Martin Jansa c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-03 10:21:25 -07:00
Pierre-Jean Texier 72e77866bf cups-filters: upgrade 1.26.2 -> 1.27.2
See full changelog https://github.com/OpenPrinting/cups-filters/releases/tag/release-1-27-2

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-02-29 22:27:12 -08:00
Diego Rondini 413cb43ea9 cups-filters: upgrade 1.26.0 -> 1.26.2
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-17 15:44:06 -08:00
Diego Rondini fc0d5ab6e3 cups-filters: use libexecdir and cleanup
In oe-core commit:
2ce6ef29b9bb4f16ed9d78e166d455b7a6d968bf
cups crossscripts have been fixed to report the correct serverbin
folder, so backend, filters, etc, need to go in ${libexecdir} now.
Additionally cleanup and simplify packaging paths, to avoid specifying
files one by one.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-17 15:44:06 -08:00
Diego Rondini a67aaaf00f cups-filters: add recipe
Add cups-filters recipe to provide backends and filters required for
real world printing with CUPS. The recipe has been imported from
meta-printing and updated.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-10 12:34:08 -08:00