diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4d41cea..877f71d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,7 +39,7 @@ jobs: - uses: actions/checkout@v4 - name: Install build dependencies run: | - sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config + sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config - name: Download test data run: | if test -x "synctestdata.sh"; then ./synctestdata.sh; fi @@ -63,7 +63,7 @@ jobs: - uses: actions/checkout@v4 - name: Install build dependencies run: | - sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config + sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config - name: Download test data run: | if test -x "synctestdata.sh"; then ./synctestdata.sh; fi @@ -87,7 +87,7 @@ jobs: - uses: actions/checkout@v4 - name: Install build dependencies run: | - sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config libfuse-dev + sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config libfuse-dev - name: Download test data run: | if test -x "synctestdata.sh"; then ./synctestdata.sh; fi @@ -111,7 +111,7 @@ jobs: - uses: actions/checkout@v4 - name: Install build dependencies run: | - sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config libfuse3-dev + sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config libfuse3-dev - name: Download test data run: | if test -x "synctestdata.sh"; then ./synctestdata.sh; fi @@ -138,7 +138,7 @@ jobs: run: | sudo add-apt-repository universe && sudo apt-get update && - sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config python3-dev python-dev-is-python3 + sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config python3-dev python-dev-is-python3 - name: Download test data run: | if test -x "synctestdata.sh"; then ./synctestdata.sh; fi @@ -164,14 +164,14 @@ jobs: steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install build dependencies run: | sudo add-apt-repository universe && sudo apt-get update && - sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config python3-dev python-dev-is-python3 + sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config python3-dev python-dev-is-python3 - name: Building from source env: CC: ${{ matrix.compiler }} @@ -195,7 +195,7 @@ jobs: - uses: actions/checkout@v4 - name: Install build dependencies run: | - sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config + sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config - name: Download test data run: | if test -x "synctestdata.sh"; then ./synctestdata.sh; fi diff --git a/.github/workflows/build_ossfuzz.yml b/.github/workflows/build_ossfuzz.yml new file mode 100644 index 0000000..35f2e9c --- /dev/null +++ b/.github/workflows/build_ossfuzz.yml @@ -0,0 +1,35 @@ +# Build OSSFuzz fuzz targets from source. +name: build_ossfuzz +on: + push: + branches: [main] +permissions: read-all +jobs: + build_ossfuzz: + runs-on: ubuntu-22.04 + strategy: + matrix: + include: + - architecture: 'x64' + compiler: 'gcc' + configure_options: '' + steps: + - name: Install build dependencies + run: | + sudo apt-get -y install git + - uses: actions/checkout@v4 + with: + repository: google/oss-fuzz + path: oss-fuzz + - name: Build OSSFuzz fuzz targets + working-directory: oss-fuzz + run: | + mkdir -p projects/libbde + cp projects/libyal/build.sh projects/libbde/ + cp projects/libyal/project.yaml projects/libbde/ + head -n 20 projects/libyal/Dockerfile > projects/libbde/Dockerfile + echo "RUN git clone --depth 1 https://github.com/libyal/libbde.git libbde" >> projects/libbde/Dockerfile + tail -n 3 projects/libyal/Dockerfile >> projects/libbde/Dockerfile + python3 infra/helper.py build_image --pull libbde + python3 infra/helper.py build_fuzzers --sanitizer address libbde + python3 infra/helper.py check_build libbde diff --git a/.github/workflows/build_shared.yml b/.github/workflows/build_shared.yml index 6838c45..49f2cc3 100644 --- a/.github/workflows/build_shared.yml +++ b/.github/workflows/build_shared.yml @@ -10,9 +10,6 @@ jobs: strategy: matrix: include: - - architecture: 'x64' - compiler: 'gcc' - configure_options: '' - architecture: 'x64' compiler: 'gcc' configure_options: '--enable-wide-character-type' @@ -20,7 +17,7 @@ jobs: - uses: actions/checkout@v4 - name: Install build dependencies run: | - sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config + sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config - name: Download test data run: | if test -x "synctestdata.sh"; then ./synctestdata.sh; fi diff --git a/configure.ac b/configure.ac index 7550285..24c0367 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.71]) AC_INIT( [libbde], - [20240520], + [20240625], [joachim.metz@gmail.com]) AC_CONFIG_SRCDIR( diff --git a/libbde.ini b/libbde.ini index 96de70c..34e0844 100644 --- a/libbde.ini +++ b/libbde.ini @@ -4,11 +4,12 @@ status: "alpha" year_of_creation: "2011" data_format: "BitLocker Drive Encryption (BDE) volume" documentation_url: "https://github.com/libyal/libbde/tree/main/documentation" -features: ["debug_output", "nuget"] +features: ["debug_output", "nuget", "ossfuzz", "python_bindings", "tools"] [library] build_dependencies: ["crypto"] description: "Library to access the BitLocker Drive Encryption (BDE) format" +features: ["pthread", "wide_character_type"] public_types: ["key_protector", "volume"] [tools] diff --git a/libbde.nuspec b/libbde.nuspec index 08d6acf..6c784f2 100644 --- a/libbde.nuspec +++ b/libbde.nuspec @@ -2,7 +2,7 @@ libbde - 20240520 + 20240625 Joachim Metz joachimmetz LGPL-3.0-or-later @@ -10,7 +10,7 @@ false libbde Library to access the BitLocker Drive Encryption (BDE) format - Release of libbde 20240520 + Release of libbde 20240625 Copyright (C) 2011-2024 native