Skip to content

Commit 2066564

Browse files
authored
Kea: Initial integration (google#14134)
Initial integration of project Kea: https://www.isc.org/kea/ a widely used dhcp server (e.g. by [Facebook](https://engineering.fb.com/2015/07/21/core-infra/using-isc-kea-dhcp-in-our-data-centers/)). --------- Signed-off-by: Arthur Chan <[email protected]>
1 parent eb47f56 commit 2066564

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed

projects/kea/Dockerfile

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Copyright 2025 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
#
15+
################################################################################
16+
17+
FROM gcr.io/oss-fuzz-base/base-builder
18+
RUN apt-get update && \
19+
apt-get install --no-install-recommends -y meson ninja-build pkg-config \
20+
build-essential python3 libssl-dev libboost-dev libboost-system-dev \
21+
libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
22+
libpq-dev libmariadb-dev libkrb5-dev
23+
RUN mkdir -p /opt/boost-headers && \
24+
wget https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.gz && \
25+
tar -xzf boost_1_83_0.tar.gz -C /opt/boost-headers --strip-components=1 && \
26+
rm -f boost_1_83_0.tar.gz && mkdir -p /usr/local/include && \
27+
ln -s /opt/boost-headers/boost /usr/local/include/boost
28+
RUN mkdir -p /src/log4cplus && \
29+
wget https://github.com/log4cplus/log4cplus/releases/download/REL_2_1_2/log4cplus-2.1.2.tar.gz && \
30+
tar -xzf log4cplus-2.1.2.tar.gz -C /src/log4cplus --strip-components=1 && \
31+
rm -f log4cplus-2.1.2.tar.gz
32+
RUN python3 -m pip install --no-cache-dir --upgrade "meson>=1.1,<2"
33+
34+
RUN git clone https://gitlab.isc.org/isc-projects/kea kea
35+
RUN git clone https://github.com/AdaLogics/ada-fuzzers ada-fuzzers
36+
COPY build.sh $SRC/
37+
WORKDIR kea

projects/kea/build.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash -eu
2+
# Copyright 2025 Google LLC
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
################################################################################
17+
# Copy key fuzzers/dict/seeds
18+
cp -r $SRC/ada-fuzzers/projects/kea $SRC/kea-fuzzer
19+
20+
# Run build script
21+
$SRC/kea-fuzzer/build.sh

projects/kea/project.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
homepage: "https://gitlab.isc.org/isc-projects/kea"
2+
language: c++
3+
primary_contact: "[email protected]"
4+
auto_ccs:
5+
6+
7+
8+
main_repo: 'https://gitlab.isc.org/isc-projects/kea'
9+
fuzzing_engines:
10+
- libfuzzer
11+
sanitizers:
12+
- address

0 commit comments

Comments
 (0)