Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Nov 2014 13:01:51 +0000 (UTC)
From:      Kurt Jaeger <pi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r373056 - in head/security: . afl
Message-ID:  <201411221301.sAMD1poB054422@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pi
Date: Sat Nov 22 13:01:50 2014
New Revision: 373056
URL: https://svnweb.freebsd.org/changeset/ports/373056
QAT: https://qat.redports.org/buildarchive/r373056/

Log:
  New port: security/afl
  
  American fuzzy lop is a 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.
  
  WWW: http://lcamtuf.coredump.cx/afl/
  
  PR:		195279
  Submitted by:	Fabian Keil <fk@fabiankeil.de>

Added:
  head/security/afl/
  head/security/afl/Makefile   (contents, props changed)
  head/security/afl/distinfo   (contents, props changed)
  head/security/afl/pkg-descr   (contents, props changed)
  head/security/afl/pkg-plist   (contents, props changed)
Modified:
  head/security/Makefile

Modified: head/security/Makefile
==============================================================================
--- head/security/Makefile	Sat Nov 22 12:41:40 2014	(r373055)
+++ head/security/Makefile	Sat Nov 22 13:01:50 2014	(r373056)
@@ -9,6 +9,7 @@
     SUBDIR += R-cran-digest
     SUBDIR += aescrypt
     SUBDIR += aespipe
+    SUBDIR += afl
     SUBDIR += afterglow
     SUBDIR += aide
     SUBDIR += aimsniff

Added: head/security/afl/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/afl/Makefile	Sat Nov 22 13:01:50 2014	(r373056)
@@ -0,0 +1,56 @@
+# Created by: Fabian Keil <fk@fabiankeil.de>
+# $FreeBSD$
+
+PORTNAME=	afl
+PORTVERSION=	0.61b
+CATEGORIES=	security
+MASTER_SITES=	http://lcamtuf.coredump.cx/afl/releases/
+
+MAINTAINER=	fk@fabiankeil.de
+COMMENT=	Fast instrumented fuzzer
+
+USES=		compiler gmake tar:tgz
+
+OPTIONS_DEFINE=			DEBUG DOCS TEST_INSTRUMENTATION
+TEST_INSTRUMENTATION_DESC=	Execute tests expected to fail in jails
+OPTIONS_DEFAULT=		DOCS
+
+ONLY_FOR_ARCHS=		amd64 i386
+ONLY_FOR_ARCHS_REASON=	Uses binary instrumentation
+
+# XXX replace with bsd.port.options.mk once 8.4-RELEASE is EOL
+# COMPILER_TYPE is defined in .pre without /usr/share/mk/bsd.compiler.mk
+.include <bsd.port.pre.mk>
+
+.if (${COMPILER_TYPE} == "clang" && ${ARCH} == "i386")
+# Clang i386 emits .cfi_sections which base as(1) doesn't understand
+BUILD_DEPENDS +=	${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
+RUN_DEPENDS +=		${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
+.endif
+
+post-patch:
+.if ! ${PORT_OPTIONS:MTEST_INSTRUMENTATION}
+# afl needs shmget() which usually isn't available in jails. Disabling
+# the instrumentation tests makes sure building packages in jails works
+# by default anyway.
+	${REINPLACE_CMD} -e 's@^\(all.*\) test_build@\1@' ${WRKSRC}/Makefile
+.endif
+	${REINPLACE_CMD} -e 's@ -O3@@; s@ -g@@' \
+		-e 's@install -m 755@${INSTALL_PROGRAM}@' \
+		${WRKSRC}/Makefile
+.if (${COMPILER_TYPE} == "clang" && ${ARCH} == "i386")
+	${REINPLACE_CMD} -e 's@\(  as_params\[0\] = "\)@\1${LOCALBASE}/bin/@' \
+		${WRKSRC}/afl-as.c
+.endif
+# XXX remove once 8.4-RELEASE is EOL
+# GNU as 2.15 doesn't understand lahf/sahf on amd64
+	${REINPLACE_CMD} -e 's@ifdef.*\(__OpenBSD__\)@if defined(\1) || \
+		(defined(__FreeBSD__) \&\& __FreeBSD__ < 9)@' \
+		${WRKSRC}/afl-as.h
+
+post-install:
+.if ${PORT_OPTIONS:MDOCS}
+	${INSTALL_DATA} ${WRKSRC}/docs/COPYING ${STAGEDIR}${DOCSDIR}/
+.endif
+
+.include <bsd.port.post.mk>

Added: head/security/afl/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/afl/distinfo	Sat Nov 22 13:01:50 2014	(r373056)
@@ -0,0 +1,2 @@
+SHA256 (afl-0.61b.tgz) = 6f0613c4568bb24f43c8672c351a7205c41836f0d6def9ce98b75aca119d3a1e
+SIZE (afl-0.61b.tgz) = 678234

Added: head/security/afl/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/afl/pkg-descr	Sat Nov 22 13:01:50 2014	(r373056)
@@ -0,0 +1,7 @@
+American fuzzy lop is a 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.
+
+WWW: http://lcamtuf.coredump.cx/afl/

Added: head/security/afl/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/afl/pkg-plist	Sat Nov 22 13:01:50 2014	(r373056)
@@ -0,0 +1,38 @@
+%%PORTDOCS%%%%DOCSDIR%%/COPYING
+%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/current_todo.txt
+%%PORTDOCS%%%%DOCSDIR%%/env_variables.txt
+%%PORTDOCS%%%%DOCSDIR%%/notes_for_asan.txt
+%%PORTDOCS%%%%DOCSDIR%%/parallel_fuzzing.txt
+%%PORTDOCS%%%%DOCSDIR%%/perf_tips.txt
+%%PORTDOCS%%%%DOCSDIR%%/related_work.txt
+%%PORTDOCS%%%%DOCSDIR%%/status_screen.txt
+bin/afl-clang
+bin/afl-clang++
+bin/afl-fuzz
+bin/afl-g++
+bin/afl-gcc
+bin/afl-showmap
+lib/afl/afl-as
+lib/afl/as
+share/afl/archives/gzip/small_archive.gz
+share/afl/archives/lzo/small_achive.lzo
+share/afl/archives/tar/small_archive.tar
+share/afl/archives/xz/small_archive.xz
+share/afl/archives/zip/small_archive.zip
+share/afl/images/bmp/hello_kitty.bmp
+share/afl/images/gif/hello_kitty.gif
+share/afl/images/ico/hello_kitty.ico
+share/afl/images/jp2/hello_kitty.jp2
+share/afl/images/jpeg/hello_kitty.jpg
+share/afl/images/png/hello_kitty.png
+share/afl/images/tiff/hello_kitty.tif
+share/afl/images/webp/hello_kitty_lossless.webp
+share/afl/multimedia/h264/small_movie.mp4
+share/afl/others/elf/small_exec.elf
+share/afl/others/hello/hello.txt
+share/afl/others/pcap/small_capture.pcap
+share/afl/others/rtf/small_document.rtf
+share/afl/others/xml/small_document.xml
+share/afl/wishlist.txt



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411221301.sAMD1poB054422>