Commit Graph

42 Commits

Author SHA1 Message Date
Kleis Auke Wolthuizen 89231070c1
libvips: add highway as a dependency (#10868)
In preparation for https://github.com/libvips/libvips/pull/3618.
2023-08-22 21:21:45 +01:00
Dongge Liu 7e66453383
Make `Centipede` a default fuzzing engine (#10109)
1. Add `centipede` to `DEFAULT_ENGINES`.
2. Remove the `fuzzing_engines` attribute from `project.yaml`s if
redundant (i.e., all default engines are included in that YAML file).
3. Temporarily disable `centipede` on `c`/`c++` projects that previously
use all `DEFAULT_ENGINES` (200 projects did not specify
`fuzzing_engines` in `project.yaml`) so that we can gradually enable
centipede later them later.
2023-04-21 09:48:45 +10:00
Kleis Auke Wolthuizen 9d2ff9a22e
libvips: use upstream build script (#9674)
The build script is now maintained here:
https://github.com/libvips/libvips/blob/master/fuzz/oss_fuzz_build.sh
2023-02-10 11:06:51 -05:00
Lovell Fuller a5ee351ed1
libvips: link with tiff before jpeg (#9575)
The libvips build is currently failing due to an API change in
`libjpeg-turbo` that "unlocked" a previously-unused feature of
`libtiff`, which means the dependency order between the two must now
change.

https://oss-fuzz-build-logs.storage.googleapis.com/index.html#libvips
2023-02-04 09:01:19 -08:00
Lovell Fuller 890953f0a0
libvips: remove libjxl dependency (#8908)
The image formats we've selected to fuzz test libvips with are typically
those likely to originate from untrusted sources, and this very much
includes the web.

libjxl was added as a dependency of libvips around 18 months ago in
anticipation the JPEG-XL format being adopted for the web. A year ago we
added a couple of the libjxl maintainers to help triage OSS-Fuzz issues
as its inclusion generated a relatively large number of new problems,
including one that was later issued a CVE.


https://bugs.chromium.org/p/oss-fuzz/issues/list?q=libvips%20libjxl&can=1

The libvips maintainers would love for JPEG-XL to succeed as a format
and we hope to add libjxl back soon, but for now we would like to remove
it to help reduce the support overhead.

/cc @jcupitt
2022-11-03 11:31:37 +00:00
Kleis Auke Wolthuizen 2354d9dd42
libvips: enable the SSSE3 target (#8156)
* libvips: enable the SSSE3 target

This reverts commit 91225182, which was introduced in PR #6845.

* libvips: make CMake aware of the CPPFLAGS env
2022-08-05 12:11:56 +01:00
Kleis Auke Wolthuizen 199ca9c363
libvips: add missing linker flag for sharpyuv (#8122) 2022-08-02 12:09:25 +01:00
Kleis Auke Wolthuizen 16d7deebd6
libvips: build improvements (#8102)
- Remove libgflags-dev, no longer needed by libjxl.
- Remove CMake options that are already default.
- Split long build options across multiple lines.
- Use the RelWithDebInfo build type for CMake builds.
- Use the debugoptimized build type for Meson builds (except for libvips itself).
- Avoid using the bundled lcms2 dependency in libjxl.
- Ensure libjxl builds against the static zlib library.
2022-07-31 21:37:39 +01:00
Navidem 291956b501
Set flags to use old pass manger (#7828)
* Set flags to use old pass manger

* nit

* Add comment to Dockerfile

* More informative comment

* nit
2022-06-09 19:39:25 +10:00
Kleis Auke Wolthuizen cbaaca1806
libvips: enable WebP/JPEG support in libtiff (#7775) 2022-05-28 22:20:43 +01:00
John Cupitt 04d3cac6a8
libvips: add pdfium to build (#7336)
* libvips: add pdfium to build

Many Rails users will shortly be switching to libvips pdfium load for
PDF rendering. pdfium is well tested and doesn't need fuzzing itself,
but we do need to fuzz the code that links libvips to pdfium.

This PR adds pdfium nightly builds to the libvips fuzzer.

* fix pdfium download

* ooop missing RUN

* fix pdfium install

* Fix PDFium link

* layout

Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
2022-02-28 18:27:06 +00:00
Kleis Auke Wolthuizen 6b61960015
libvips: migrate build to Meson (#7317)
- Remove unused dependencies.
- Prefer .git URLs in git clone invocations.
- Use the --static flag of pkg-config for all invocations.
- Remove suspicious LDFLAGS environment variable.
- Disable NLS in libexif.
- Make libc++ a private dependency of libheif and libjxl.
- Build libspng with Meson.
- Ninja does not require a -j flag.
- Re-order linker flags.
2022-02-23 10:24:37 +00:00
Lovell Fuller 12e04eae08
libvips: add gflags dependency for libjxl (#7084) 2022-01-01 17:51:12 +00:00
Kleis Auke Wolthuizen f778b1e2bc
libvips: prefer CMake options over sed replacements (#6903)
Non-functional change.
2021-11-25 13:23:00 +00:00
Jon Sneyers 9e3defd079
(temporarily) add libjxl devs to fuzz report CC (#6881)
See https://github.com/libjxl/libjxl/issues/883
2021-11-22 10:20:12 -06:00
Kleis Auke Wolthuizen 912251824c
libvips: temporarily disable the SSSE3 target (#6845)
Corresponds to the fix introduced in PR #6837.
2021-11-17 20:33:46 +00:00
Kleis Auke Wolthuizen 68ec050a01
[libvips] Upgrade to Ubuntu 20.04 (#6345)
- Use libbrotli from system.
- Build libjxl without sjpeg support.
- Link fuzzers against libmount and libblkid (needed by libgio).
- Sort and remove duplicated apt-get packages.
2021-08-28 18:19:31 +00:00
jonathanmetzman 03d18372d5
Reland [Ubuntu upgrade] Fix projects so they don't break with upgrade (#6313)
This reverts commit 878c32419c.

Related: #6180
2021-08-26 09:53:49 -07:00
Oliver Chang 878c32419c
Revert "[Ubuntu upgrade] Fix projects so they don't break with upgrade. (#6304)" (#6306)
This reverts commit 5549d804b3.
2021-08-26 15:42:34 +10:00
jonathanmetzman 5549d804b3
[Ubuntu upgrade] Fix projects so they don't break with upgrade. (#6304)
Fix projects so they don't break with upgrade.
These fixes are likely not backwards compatible and will fail on
Ubuntu 16.04.
Related: #6180
2021-08-25 22:14:52 -07:00
jonathanmetzman bf1275f005
[Ubuntu upgrade] Pin projects to Xenial where fuzzer build fails. (#6293)
This does not include coverage build failures.
Related: #6180.
2021-08-24 15:24:25 -07:00
Lovell Fuller 12453df2aa
libvips: add imagequant and cgif dependencies (#6241)
Build libvips without test and tools subdirs as these are
not directly fuzz tested.
2021-08-18 12:56:41 +01:00
Lovell Fuller be1791c77e
libvips: ensure lcms dependency runs autogen (#5975) 2021-06-26 23:43:44 +01:00
Lovell Fuller ffefae6dd5
libvips: Remove invalid CC email address (#5894) 2021-06-09 09:25:46 +01:00
Kleis Auke Wolthuizen dc4297c38d
libvips: remove libjxl patch merged upstream (#5847)
+ update libjxl's git location.
2021-05-26 21:37:43 +01:00
Kleis Auke Wolthuizen 4256f45a32
[libvips] build against lcms/libspng, fix AVIF/JXL fuzzer (#5707)
* libvips: add lcms and libspng as dependencies

* libvips: fix AVIF fuzzer

- Ensure libheif is able to detect the headers provided by libaom.
- Disable the build of dynamic modules.

* libvips: fix JXL fuzzer
2021-05-04 11:36:19 +01:00
Lovell Fuller 4295227ccb
libvips: add libjxl (JPEG-XL) as a dependency (#5673) 2021-04-27 20:00:49 +01:00
Lovell Fuller 82558b71bf
libvips: remove no-longer-used giflib dependency (#5590) 2021-04-08 15:52:13 +01:00
Lovell Fuller 45bbb247f4
libvips: ensure linker is aware of selinux/resolv deps (#5318) 2021-03-08 19:37:11 +00:00
Oliver Chang 84faf55729
Populate a bunch of main_repo values. (#4815)
Also enforce this for future integrations.
2020-12-10 09:49:27 +11:00
Lovell Fuller e25d79502e
libvips: add libheif and libaom as dependencies (#4463)
Allows fuzz testing of AVIF/HEIF inputs
2020-09-21 08:17:58 -07:00
devtty1er d561c49ae5
Update Dockerfiles (#4070)
* Use LABEL in place of MAINTAINER

* Remove LABEL maintainer from Dockerfiles
2020-07-06 13:18:23 -07:00
Lovell Fuller 4c67eacc39
libvips: ensure linker is aware of new gio dependency (#3534) 2020-03-27 10:03:22 -07:00
Lovell Fuller 3c28d2a860
Upgrade lcamtuf.coredump.cx to HTTPS, as it has been (#3527)
accepting only HTTPS connections since approx 14th March.

This allows the builds for guetzli, libjpeg-turbo,
libtiff and libvips to succeed again.
2020-03-20 07:50:16 -07:00
Max Moroz 71f4914c45
[presubmit] Enforce language attribute in project.yaml to be always set. (#3477)
* [presubmit] Enforce language attribute in projectt.yaml to be always set.

* Update documentation, better presubmit check, new project template.

* add docstring to templates.py

* Add example values in the project.yaml template and remove python value for now

* Add "project: c++" to 256 projects

* format

* Add labels and selective_unpack sections to the presubmit check

* fix incorrect auto_ccs format in three projects

* fix nss emails after rebase
2020-03-10 11:08:01 -07:00
John Cupitt 95548b2613 fix link failure with libtiff (#3050)
* fix link failure with libtiff

The fuzz targets were failing to link with:

```
Step #4: /work/lib/libtiff.a(tif_lzma.o): In function `TIFFInitLZMA':
Step #4: /src/libtiff/libtiff/tif_lzma.c:465: undefined reference to
`lzma_lzma_preset'
```

It looks like it's become necessary to explicitly link -llzma, see:

4159bda6db

oss-fuzz issue:

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18928#c4

Thanks to @lovell.

* pin libtiff to 4.1.0

It seems there's an issue with git master libtiff -- it fails to link on
systems without lzma installed.

For now, pin to 4.1.0, the current stable version.

* explicitly disable lzma

lzma detection in libtiff seems to be broken as of 20 nov. Disable
explicitly.
2019-11-20 06:58:35 -08:00
jonathanmetzman bfaf92aae7
Use $LIB_FUZZING_ENGINE instead of -lFuzzingEngine in 4 different projects (#2805)
Migrate golang, libvips, unicorn, libpcap
2019-09-05 15:09:59 -07:00
Lovell Fuller 8dfd571435 [libvips] Add lovell to auto_ccs (#2691) 2019-08-13 10:55:41 -07:00
Oscar Mira 54bf518a18 [libvips] Revert "Build with ImageMagick support (#2669)" (#2682)
This reverts commit 68fb445db1.
2019-08-11 07:38:01 -07:00
Kleis Auke Wolthuizen cd71fe8692 [libvips] Add myself to auto_ccs (#2671) 2019-08-09 08:28:54 -07:00
Oscar Mira 68fb445db1 [libvips] Build with ImageMagick support (#2669) 2019-08-08 10:14:34 -07:00
Oscar Mira 8c85836a29 [libvips] Add project (#2641)
* [libvips] Add project

* [libvips] Use CXX for linking to fix UBSAN build
2019-08-01 07:16:18 -07:00