SHA256
1
0
forked from pool/afl
afl/afl.spec
Marcus Meissner c1a3bf576f Accepting request 907257 from home:msmeissn:branches:devel:tools
- updated to 3.14c
  - afl-fuzz:                                                                                                                                                                                
    - fix -F when a '/' was part of the parameter                                                                                                                                            
    - fixed a crash for cmplog for very slow inputs                                                                                                                                          
    - fix for AFLfast schedule counting                                                                                                                                                      
    - removed implied -D determinstic from -M main                                                                                                                                           
    - if the target becomes unavailable check out out/default/error.txt                                                                                                                      
      for an indicator why                                                                                                                                                                   
    - AFL_CAL_FAST was a dead env, now does the same as AFL_FAST_CAL                                                                                                                         
    - reverse read the queue on resumes (more effective)                                                                                                                                     
    - fix custom mutator trimming                                                                                                                                                            
  - afl-cc:                                                                                                                                                                                  
    - Update to COMPCOV/laf-intel that speeds up the instrumentation                                                                                                                         
      process a lot - thanks to Michael Rodler/f0rki for the PR!                                                                                                                             
    - Fix for failures for some sized string instrumentations                                                                                                                                
    - Fix to instrument global namespace functions in c++                                                                                                                                    
    - Fix for llvm 13                                                                                                                                                                        
    - support partial linking                                                                                                                                                                
    - do honor AFL_LLVM_{ALLOW/DENY}LIST for LTO autodictionary and DICT2FILE                                                                                                                
    - We do support llvm versions from 3.8 to 5.0 again                                                                                                                                      
  - frida_mode:                                                                                                                                                                              
    - several fixes for cmplog                                                                                                                                                               
    - remove need for AFL_FRIDA_PERSISTENT_RETADDR_OFFSET                                                                                                                                    
    - less coverage collision                                                                                                                                                                
    - feature parity of aarch64 with intel now (persistent, cmplog,                                                                                                                          
      in-memory testcases, asan)                                                                                                                                                             
  - afl-cmin and afl-showmap -i do now descend into subdirectories                                                                                                                           
    (like afl-fuzz does) - note that afl-cmin.bash does not!                                                                                                                                 
  - afl_analyze:                                                                                                                                                                             
    - fix timeout handling

OBS-URL: https://build.opensuse.org/request/show/907257
OBS-URL: https://build.opensuse.org/package/show/devel:tools/afl?expand=0&rev=143
2021-07-20 08:02:42 +00:00

108 lines
3.6 KiB
RPMSpec

#
# spec file for package afl
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: afl
Version: 3.14c
Release: 0
Summary: American fuzzy lop is a security-oriented fuzzer
License: Apache-2.0
URL: http://lcamtuf.coredump.cx/afl/
Source: https://github.com/AFLplusplus/AFLplusplus/archive/%{version}.tar.gz
Source1: afl-rpmlintrc
Patch1: afl-3.0c-fix-paths.patch
BuildRequires: clang
BuildRequires: gcc-c++
BuildRequires: lld
BuildRequires: llvm-devel >= 11.0.0
BuildRequires: python3-devel
Requires: lld
%description
American fuzzy lop is a security-oriented fuzzer that employs a novel type
of compile-time instrumentation and genetic algorithms to automatically
discover clean, interesting test cases that trigger new internal states in
the targeted binary. This substantially improves the functional coverage
for the fuzzed code. The compact synthesized corpora produced by the tool
are also useful for seeding other, more labor- or resource-intensive
testing regimes down the road.
Compared to other instrumented fuzzers, afl-fuzz is designed to be
practical: it has modest performance overhead, uses a variety of highly
effective fuzzing strategies and effort minimization tricks, requires
essentially no configuration, and seamlessly handles complex, real-world
use cases - say, common image parsing or file compression libraries.
%prep
%setup -q -n AFLplusplus-%version
%patch1 -p1
sed -i 's|#!/usr/bin/env sh|#!/bin/sh|g' afl-cmin
sed -i 's|#!/usr/bin/env bash|#!/bin/bash|g' afl-cmin.bash
%build
export CFLAGS="$CFLAGS %{optflags} -fno-lto"
%ifnarch %{ix86} x86_64
export AFL_NO_X86=1
%endif
make %{?_smp_mflags} PREFIX=%{_prefix} LIBEXEC_DIR=%{_libexecdir} DOC_DIR=%{_docdir}
# make radamsa
%install
%ifnarch %{ix86} x86_64
export AFL_NO_X86=1
%endif
make %{?_smp_mflags} PREFIX=%{_prefix} LIBEXEC_DIR=%{_libexecdir} DOC_DIR=%{_docdir} MAN_PATH=%{_mandir}/man8 DESTDIR=%{buildroot} install
chmod -x %{buildroot}/%{_libexecdir}/%{name}/*.o
%files
%license docs/COPYING LICENSE
%doc /usr/share/doc/packages/%name/
%{_bindir}/%{name}-*
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/%{name}-as
%{_libexecdir}/%{name}/as
%ifarch x86_64 aarch64 ppc64 ppc64le s390x riscv64
%{_libexecdir}/%{name}/afl-compiler-rt-64.o
%{_libexecdir}/%{name}/afl-llvm-rt-64.o
%ifnarch riscv64
%{_libexecdir}/%{name}/afl-llvm-rt-lto-64.o
%endif
%endif
%ifarch %ix86 %{arm} s390x ppc64le
%{_libexecdir}/%{name}/afl-compiler-rt-32.o
%{_libexecdir}/%{name}/afl-llvm-rt-32.o
%endif
%ifarch %ix86 aarch64 s390x ppc64le
%{_libexecdir}/%{name}/afl-llvm-rt-lto-32.o
%endif
%{_libexecdir}/%{name}/afl-compiler-rt.o
%{_libexecdir}/%{name}/afl-llvm-rt.o
%ifnarch %{arm} riscv64
%{_libexecdir}/%{name}/afl-llvm-rt-lto.o
%endif
%{_libexecdir}/%{name}/dynamic_list.txt
%{_libexecdir}/%{name}/*.so
%{_libexecdir}/%{name}/*.a
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/testcases
%{_datadir}/%{name}/testcases/*
%dir %{_datadir}/afl/dictionaries/
%{_datadir}/afl/dictionaries/*
%{_mandir}/man8/afl*.8*
%changelog