diff options
Diffstat (limited to 'projects')
-rw-r--r-- | projects/libreoffice/Dockerfile | 94 | ||||
-rwxr-xr-x | projects/libreoffice/build.sh | 27 |
2 files changed, 121 insertions, 0 deletions
diff --git a/projects/libreoffice/Dockerfile b/projects/libreoffice/Dockerfile new file mode 100644 index 00000000..f0bae0cc --- /dev/null +++ b/projects/libreoffice/Dockerfile @@ -0,0 +1,94 @@ +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM ossfuzz/base-libfuzzer +MAINTAINER security@documentfoundation.org +#build requirements +RUN apt-get -y build-dep libreoffice +RUN apt-get -y install wget +#cache build dependencies +RUN wget http://dev-www.libreoffice.org/src/c3c1a8ba7452950636e871d25020ce0d-pt-serif-font-1.0000W.tar.gz +RUN wget http://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz +RUN wget http://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip +RUN wget http://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz +RUN wget http://dev-www.libreoffice.org/src/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz +RUN wget http://dev-www.libreoffice.org/src/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz +RUN wget http://dev-www.libreoffice.org/src/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip +RUN wget http://dev-www.libreoffice.org/src/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip +RUN wget http://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz +RUN wget http://dev-www.libreoffice.org/src/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz +RUN wget http://dev-www.libreoffice.org/src/7a15edea7d415ac5150ea403e27401fd-open-sans-font-ttf-1.10.tar.gz +RUN wget http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz +RUN wget http://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz +RUN wget http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz +RUN wget http://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz +RUN wget http://dev-www.libreoffice.org/src/boost_1_60_0.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/expat-2.2.0.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/jpegsrc.v9a.tar.gz +RUN wget http://dev-www.libreoffice.org/src/lcms2-2.6.tar.gz +RUN wget http://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz +RUN wget http://dev-www.libreoffice.org/src/10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz +RUN wget http://dev-www.libreoffice.org/src/a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz +RUN wget http://dev-www.libreoffice.org/src/e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz +RUN wget http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz +RUN wget http://dev-www.libreoffice.org/src/openldap-2.4.44.tgz +RUN wget http://dev-www.libreoffice.org/src/231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz +RUN wget http://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz +RUN wget http://dev-www.libreoffice.org/src/23a0b2f0235431d35238df1d3a517fdb-cairo-1.14.6.tar.xz +RUN wget http://dev-www.libreoffice.org/src/curl-7.51.0.tar.gz +RUN wget http://dev-www.libreoffice.org/src/86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz +RUN wget http://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libabw-0.1.1.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libcdr-0.1.3.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libcmis-0.5.1.tar.gz +RUN wget http://dev-www.libreoffice.org/src/libe-book-0.1.2.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libetonyek-0.1.6.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libfreehand-0.1.1.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libmspub-0.1.2.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libmwaw-0.3.9.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/liborcus-0.12.1.tar.gz +RUN wget http://dev-www.libreoffice.org/src/libpagemaker-0.0.3.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libpng-1.6.24.tar.gz +RUN wget http://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libstaroffice-0.0.2.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libvisio-0.1.5.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libwpd-0.10.1.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libwpg-0.3.1.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libwps-0.4.4.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/libzmf-0.0.1.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/zlib-1.2.8.tar.gz +RUN wget http://dev-www.libreoffice.org/src/poppler-0.50.0.tar.xz +RUN wget http://dev-www.libreoffice.org/src/mdds-1.2.2.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/openssl-1.0.2h.tar.gz +RUN wget http://dev-www.libreoffice.org/src/language-subtag-registry-2016-07-19.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/3069842a88b8f40c6b83ad2850cda293-graphite2-minimal-1.3.9.tgz +RUN wget http://dev-www.libreoffice.org/src/harfbuzz-1.3.2.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip +RUN wget http://dev-www.libreoffice.org/src/1901302aaff1c1633ef81862663d2917-icu4c-58_1-src.tgz +RUN wget http://dev-www.libreoffice.org/src/ae249165c173b1ff386ee8ad676815f5-libxml2-2.9.4.tar.gz +RUN wget http://dev-www.libreoffice.org/src/a129d3c44c022de3b9dcf6d6f288d72e-libxslt-1.1.29.tar.gz +RUN wget http://dev-www.libreoffice.org/src/9849a2381bacbeb2714034ad825bede8-hunspell-1.5.4.tar.gz +RUN wget http://dev-www.libreoffice.org/src/dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2 +RUN wget http://dev-www.libreoffice.org/src/77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz +RUN wget http://dev-www.libreoffice.org/src/libepoxy-1.3.1.tar.bz2 +#fuzzing corpuses +RUN wget http://dev-www.libreoffice.org/corpus/wmffuzzer_seed_corpus.zip +#clone source +RUN git clone --depth 1 git://anongit.freedesktop.org/libreoffice/core libreoffice +WORKDIR libreoffice +COPY build.sh $SRC/ diff --git a/projects/libreoffice/build.sh b/projects/libreoffice/build.sh new file mode 100755 index 00000000..4bd027d9 --- /dev/null +++ b/projects/libreoffice/build.sh @@ -0,0 +1,27 @@ +#!/bin/bash -eu + +#shuffle CXXFLAGS -stdlib=libc++ arg into CXX as well because we use +#the CXX as the linker and need to pass -stdlib=libc++ to build +export CXX="$CXX -stdlib=libc++" +#similarly force the -fsanitize etc args in as well as pthread to get +#things to link successfully during the build +export LDFLAGS="$CFLAGS -lpthread" + +cd $WORK +$SRC/libreoffice/autogen.sh --with-distro=LibreOfficeOssFuzz --with-external-tar=$SRC + +#build-time rsc tool leaks a titch +export ASAN_OPTIONS="detect_leaks=0" + +make fuzzers + +#some minimal fonts required +cp $SRC/libreoffice/extras/source/truetype/symbol/opens___.ttf instdir/share/fonts/truetype/Liberation* $OUT +#minimal runtime requirements +mkdir $OUT/services $OUT/types +pushd instdir/program +cp wmffuzzer *rc *rdb */*rdb $OUT +popd + +#starting corpuses +cp $SRC/*_seed_corpus.zip $OUT |