diff --git a/projects/apache-logging-log4cxx/Dockerfile b/projects/apache-logging-log4cxx/Dockerfile new file mode 100644 index 000000000000..af33d99b938b --- /dev/null +++ b/projects/apache-logging-log4cxx/Dockerfile @@ -0,0 +1,24 @@ +# Copyright 2021 Google LLC +# +# 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 gcr.io/oss-fuzz-base/base-builder + +# Log4cxx build dependencies: https://logging.apache.org/log4cxx/latest_stable/build-cmake.html +RUN apt-get update && apt-get install -y build-essential libapr1-dev libaprutil1-dev gzip zip + +COPY build.sh $SRC/ + +WORKDIR $SRC diff --git a/projects/apache-logging-log4cxx/README.adoc b/projects/apache-logging-log4cxx/README.adoc new file mode 100644 index 000000000000..ad3cce215781 --- /dev/null +++ b/projects/apache-logging-log4cxx/README.adoc @@ -0,0 +1,19 @@ +//// +Copyright 2024 Google LLC + +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. +//// + +Log4cxx fuzz tests are distributed as a part of https://github.com/apache/logging-log4cxx[the official project sources]. +Here we only store the `Dockerfile` to build the container image to build and run fuzz tests. +Likewise, `build.sh` simply delegates to a build script distributed with the Log4j source code. diff --git a/projects/apache-logging-log4cxx/build.sh b/projects/apache-logging-log4cxx/build.sh new file mode 100644 index 000000000000..10c00bb61903 --- /dev/null +++ b/projects/apache-logging-log4cxx/build.sh @@ -0,0 +1,19 @@ +#!/bin/bash -eu +# Copyright 2021 Google LLC +# +# 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. +# +################################################################################ + +git clone --quiet --depth 1 --branch fuzzing --single-branch https://github.com/apache/logging-log4cxx +./logging-log4cxx/src/fuzzers/bash/oss-fuzz-build.sh "$OUT" diff --git a/projects/apache-logging-log4cxx/project.yaml b/projects/apache-logging-log4cxx/project.yaml new file mode 100644 index 000000000000..8bae2cffba60 --- /dev/null +++ b/projects/apache-logging-log4cxx/project.yaml @@ -0,0 +1,18 @@ +homepage: "https://logging.apache.org/log4cxx" +main_repo: "https://github.com/apache/logging-log4cxx" +language: c++ + +fuzzing_engines: + - libfuzzer + +sanitizers: + - address + +# Apache Logging Services PMC members[1] that contribute the fuzz tests. +# We cannot share `security@logging.apache.org` here, since it must be associated with a Google account[2]. +# +# [1] https://logging.apache.org/team-list.html +# [2] https://google.github.io/oss-fuzz/getting-started/new-project-guide/#primary +primary_contact: volkan@yazi.ci +auto_ccs: + - piotr.karwasz@gmail.com