diff options
-rw-r--r-- | filter/CppunitTest_filter_tiff_test.mk | 69 | ||||
-rw-r--r-- | filter/Module_filter.mk | 7 | ||||
-rw-r--r-- | filter/qa/cppunit/data/tiff/fail/.gitignore | 0 | ||||
-rw-r--r-- | filter/qa/cppunit/data/tiff/fail/CVE-2006-3459-1.tiff | bin | 0 -> 2180 bytes | |||
-rw-r--r-- | filter/qa/cppunit/data/tiff/fail/CVE-2009-2285-1.tiff | bin | 0 -> 214342 bytes | |||
-rw-r--r-- | filter/qa/cppunit/data/tiff/fail/CVE-2010-2482-1.tiff | bin | 0 -> 5052 bytes | |||
-rw-r--r-- | filter/qa/cppunit/data/tiff/indeterminate/.gitignore | 1 | ||||
-rw-r--r-- | filter/qa/cppunit/data/tiff/pass/.gitignore | 0 | ||||
-rw-r--r-- | filter/qa/cppunit/data/tiff/pass/CVE-2005-1544-1.tiff | bin | 0 -> 1340 bytes | |||
-rw-r--r-- | filter/qa/cppunit/data/tiff/pass/CVE-2006-2656-1.tiff | bin | 0 -> 563386 bytes | |||
-rw-r--r-- | filter/qa/cppunit/data/tiff/pass/CVE-2007-2217-1.tiff | bin | 0 -> 16202 bytes | |||
-rw-r--r-- | filter/qa/cppunit/filters-tiff-test.cxx | 89 |
12 files changed, 166 insertions, 0 deletions
diff --git a/filter/CppunitTest_filter_tiff_test.mk b/filter/CppunitTest_filter_tiff_test.mk new file mode 100644 index 000000000000..33480d1d97bf --- /dev/null +++ b/filter/CppunitTest_filter_tiff_test.mk @@ -0,0 +1,69 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# Copyright (C) 2012 Red Hat, Inc., Caolán McNamara <caolanm@redhat.com> +# (initial developer) +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +$(eval $(call gb_CppunitTest_CppunitTest,filter_tiff_test)) + +$(eval $(call gb_CppunitTest_add_exception_objects,filter_tiff_test, \ + filter/qa/cppunit/filters-tiff-test \ +)) + +$(eval $(call gb_CppunitTest_add_linked_libs,filter_tiff_test, \ + iti \ + sal \ + test \ + tl \ + unotest \ + vcl \ + $(gb_STDLIBS) \ +)) + +$(eval $(call gb_CppunitTest_set_include,filter_tiff_test,\ + $$(INCLUDE) \ +)) + +$(eval $(call gb_CppunitTest_add_api,filter_tiff_test,\ + udkapi \ + offapi \ +)) + +$(eval $(call gb_CppunitTest_uses_ure,filter_tiff_test)) + +$(eval $(call gb_CppunitTest_add_type_rdbs,filter_tiff_test,\ + types \ +)) + +$(eval $(call gb_CppunitTest_add_components,filter_tiff_test,\ + configmgr/source/configmgr \ +)) + +$(eval $(call gb_CppunitTest_set_args,filter_tiff_test,\ + --headless \ + --protector unoexceptionprotector$(gb_Library_DLLEXT) unoexceptionprotector \ + "-env:CONFIGURATION_LAYERS=xcsxcu:$(call gb_CppunitTarget__make_url,$(OUTDIR)/xml/registry)" \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/filter/Module_filter.mk b/filter/Module_filter.mk index 3fbb5e8f188b..dc8842e7a0b3 100644 --- a/filter/Module_filter.mk +++ b/filter/Module_filter.mk @@ -75,6 +75,13 @@ $(eval $(call gb_Module_add_targets,filter,\ )) endif +ifneq ($(OS),WNT) +# TODO, see if it links and runs under windows +$(eval $(call gb_Module_add_check_targets,filter,\ + CppunitTest_filter_tiff_test \ +)) +endif + # TODO #$(eval $(call gb_Module_add_subsequentcheck_targets,filter,\ JunitTest_filter_complex \ diff --git a/filter/qa/cppunit/data/tiff/fail/.gitignore b/filter/qa/cppunit/data/tiff/fail/.gitignore new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/filter/qa/cppunit/data/tiff/fail/.gitignore diff --git a/filter/qa/cppunit/data/tiff/fail/CVE-2006-3459-1.tiff b/filter/qa/cppunit/data/tiff/fail/CVE-2006-3459-1.tiff Binary files differnew file mode 100644 index 000000000000..323fb176199c --- /dev/null +++ b/filter/qa/cppunit/data/tiff/fail/CVE-2006-3459-1.tiff diff --git a/filter/qa/cppunit/data/tiff/fail/CVE-2009-2285-1.tiff b/filter/qa/cppunit/data/tiff/fail/CVE-2009-2285-1.tiff Binary files differnew file mode 100644 index 000000000000..896de2b7b0a3 --- /dev/null +++ b/filter/qa/cppunit/data/tiff/fail/CVE-2009-2285-1.tiff diff --git a/filter/qa/cppunit/data/tiff/fail/CVE-2010-2482-1.tiff b/filter/qa/cppunit/data/tiff/fail/CVE-2010-2482-1.tiff Binary files differnew file mode 100644 index 000000000000..59e3c7ed6f57 --- /dev/null +++ b/filter/qa/cppunit/data/tiff/fail/CVE-2010-2482-1.tiff diff --git a/filter/qa/cppunit/data/tiff/indeterminate/.gitignore b/filter/qa/cppunit/data/tiff/indeterminate/.gitignore new file mode 100644 index 000000000000..583b009c7c60 --- /dev/null +++ b/filter/qa/cppunit/data/tiff/indeterminate/.gitignore @@ -0,0 +1 @@ +*.wmf-* diff --git a/filter/qa/cppunit/data/tiff/pass/.gitignore b/filter/qa/cppunit/data/tiff/pass/.gitignore new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/filter/qa/cppunit/data/tiff/pass/.gitignore diff --git a/filter/qa/cppunit/data/tiff/pass/CVE-2005-1544-1.tiff b/filter/qa/cppunit/data/tiff/pass/CVE-2005-1544-1.tiff Binary files differnew file mode 100644 index 000000000000..a985d63d7196 --- /dev/null +++ b/filter/qa/cppunit/data/tiff/pass/CVE-2005-1544-1.tiff diff --git a/filter/qa/cppunit/data/tiff/pass/CVE-2006-2656-1.tiff b/filter/qa/cppunit/data/tiff/pass/CVE-2006-2656-1.tiff Binary files differnew file mode 100644 index 000000000000..c61878e9b681 --- /dev/null +++ b/filter/qa/cppunit/data/tiff/pass/CVE-2006-2656-1.tiff diff --git a/filter/qa/cppunit/data/tiff/pass/CVE-2007-2217-1.tiff b/filter/qa/cppunit/data/tiff/pass/CVE-2007-2217-1.tiff Binary files differnew file mode 100644 index 000000000000..e078b73d0bbc --- /dev/null +++ b/filter/qa/cppunit/data/tiff/pass/CVE-2007-2217-1.tiff diff --git a/filter/qa/cppunit/filters-tiff-test.cxx b/filter/qa/cppunit/filters-tiff-test.cxx new file mode 100644 index 000000000000..6abc446eb470 --- /dev/null +++ b/filter/qa/cppunit/filters-tiff-test.cxx @@ -0,0 +1,89 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * Version: MPL 1.1 / GPLv3+ / LGPLv3+ + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (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.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developer of the Original Code is + * Caolán McNamara <caolanm@redhat.com> + * Portions created by the Initial Developer are Copyright (C) 2012 the + * Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Caolán McNamara <caolanm@redhat.com> + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 3 or later (the "GPLv3+"), or + * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), + * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable + * instead of those above. + */ + +#include <unotest/filters-test.hxx> +#include <test/bootstrapfixture.hxx> +#include <svtools/FilterConfigItem.hxx> +#include <tools/stream.hxx> +#include <tools/stream.hxx> +#include <vcl/graph.hxx> + +#include <osl/file.hxx> +#include <osl/process.h> + +extern "C" +{ + SAL_DLLPUBLIC_EXPORT sal_Bool __LOADONCALLAPI + GraphicImport(SvStream & rStream, Graphic & rGraphic, + FilterConfigItem*, sal_Bool); +} + +using namespace ::com::sun::star; + +/* Implementation of Filters test */ + +class TiffFilterTest + : public test::FiltersTest + , public test::BootstrapFixture +{ +public: + TiffFilterTest() : BootstrapFixture(true, false) {} + + virtual bool load(const rtl::OUString &, const rtl::OUString &rURL, const rtl::OUString &); + + /** + * Ensure CVEs remain unbroken + */ + void testCVEs(); + + CPPUNIT_TEST_SUITE(TiffFilterTest); + CPPUNIT_TEST(testCVEs); + CPPUNIT_TEST_SUITE_END(); +}; + +bool TiffFilterTest::load(const rtl::OUString &, + const rtl::OUString &rURL, const rtl::OUString &) +{ + SvFileStream aFileStream(rURL, STREAM_READ); + Graphic aGraphic; + return GraphicImport(aFileStream, aGraphic, NULL, 0); +} + +void TiffFilterTest::testCVEs() +{ + testDir(rtl::OUString(), + getURLFromSrc("/filter/qa/cppunit/data/tiff/"), + rtl::OUString()); +} + +CPPUNIT_TEST_SUITE_REGISTRATION(TiffFilterTest); + +CPPUNIT_PLUGIN_IMPLEMENT(); + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |