diff options
author | marino <marino@FreeBSD.org> | 2014-02-17 19:27:10 +0800 |
---|---|---|
committer | marino <marino@FreeBSD.org> | 2014-02-17 19:27:10 +0800 |
commit | 668eda23b5df94bdc883e89999b63909f6bd79ae (patch) | |
tree | bf4fd896c2b0fa6fb386bbc6706c7da9f68a5401 /dns/ironsides | |
parent | 43f39e3f57c6babd95f9870400cf6ebb3458a20f (diff) | |
download | freebsd-ports-gnome-668eda23b5df94bdc883e89999b63909f6bd79ae.tar.gz freebsd-ports-gnome-668eda23b5df94bdc883e89999b63909f6bd79ae.tar.zst freebsd-ports-gnome-668eda23b5df94bdc883e89999b63909f6bd79ae.zip |
Add new Ada-based DNS server port: dns/ironsides
IRONSIDES is an authoritative DNS server that is provably invulnerable to
many of the problems that plague other servers. It achieves this property
through the use of formal methods in its design, in particular the language
Ada and the SPARK formal methods tool set. Code validated in this way is
provably exception-free, contains no data flow errors, and terminates only
in the ways that its programmers explicitly say that it can. These are very
desirable properties from a computer security perspective.
IRONSIDES is not a complete implementation of DNS. In particular, it does
not support zone transfers or recursive queries. It does, however, support
a sufficient number of DNS records to be useful as an authoritative DNS
server for an enterprise.
Diffstat (limited to 'dns/ironsides')
-rw-r--r-- | dns/ironsides/Makefile | 29 | ||||
-rw-r--r-- | dns/ironsides/distinfo | 2 | ||||
-rw-r--r-- | dns/ironsides/files/Makefile | 11 | ||||
-rw-r--r-- | dns/ironsides/files/ironsides.gpr | 13 | ||||
-rw-r--r-- | dns/ironsides/pkg-descr | 14 | ||||
-rw-r--r-- | dns/ironsides/pkg-plist | 3 |
6 files changed, 72 insertions, 0 deletions
diff --git a/dns/ironsides/Makefile b/dns/ironsides/Makefile new file mode 100644 index 000000000000..5f0aceab53cd --- /dev/null +++ b/dns/ironsides/Makefile @@ -0,0 +1,29 @@ +# Created by: John Marino <marino@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= ironsides +PORTVERSION= 20130315 +CATEGORIES= dns +MASTER_SITES= http://ironsides.martincarlisle.com/ +DISTFILES= trunk${PORTVERSION}.zip + +MAINTAINER= marino@FreeBSD.org +COMMENT= Authoritative DNS server formally verified by SPARK/Ada + +LICENSE= Ironsides +LICENSE_NAME= IRONSIDES - Free software, unlimited redistribution +LICENSE_FILE= ${WRKSRC}/COPYRIGHT.txt +LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept + +BUILD_DEPENDS= ${LOCALBASE}/include/spark2012/spark.ads:${PORTSDIR}/devel/libspark2012 + +USES= ada dos2unix +DOS2UNIX_FILES= dfcs.usafa.edu.zonefile + +post-extract: + @${MV} ${WRKDIR}/trunk ${WRKSRC} + @(cd ${WRKSRC}; ${RM} *.bak *.bk.[0-9]) + @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} gnatclean -q spark_dns_main) + @${CP} ${FILESDIR}/ironsides.gpr ${FILESDIR}/Makefile ${WRKSRC}/ + +.include <bsd.port.mk> diff --git a/dns/ironsides/distinfo b/dns/ironsides/distinfo new file mode 100644 index 000000000000..c8e142085219 --- /dev/null +++ b/dns/ironsides/distinfo @@ -0,0 +1,2 @@ +SHA256 (trunk20130315.zip) = 40c1c84022da3a0995c866f83186a45d104b6149f3732bbc1ad13426cd89b5f1 +SIZE (trunk20130315.zip) = 7853757 diff --git a/dns/ironsides/files/Makefile b/dns/ironsides/files/Makefile new file mode 100644 index 000000000000..9487eca28fe4 --- /dev/null +++ b/dns/ironsides/files/Makefile @@ -0,0 +1,11 @@ +all: build + +build: + gnatmake -p -P ironsides + +install: + mkdir -p ${DESTDIR}${PREFIX}/share/examples/ironsides + ${BSD_INSTALL_PROGRAM} final/spark_dns_main \ + ${DESTDIR}${PREFIX}/sbin/ironsides + ${BSD_INSTALL_DATA} dfcs.usafa.edu.zonefile \ + ${DESTDIR}${PREFIX}/share/examples/ironsides/ diff --git a/dns/ironsides/files/ironsides.gpr b/dns/ironsides/files/ironsides.gpr new file mode 100644 index 000000000000..1182641fd29d --- /dev/null +++ b/dns/ironsides/files/ironsides.gpr @@ -0,0 +1,13 @@ +with "spark2012.gpr"; + +project Ironsides is + for Source_Dirs use ("."); + for Object_Dir use "build"; + for Exec_Dir use "final"; + for Main use ("spark_dns_main.adb"); + + package Compiler is + for Default_Switches ("Ada") use ("-gnat05", "-gnatp", "-O3"); + end Compiler; + +end Ironsides; diff --git a/dns/ironsides/pkg-descr b/dns/ironsides/pkg-descr new file mode 100644 index 000000000000..b13b3adcacaa --- /dev/null +++ b/dns/ironsides/pkg-descr @@ -0,0 +1,14 @@ +IRONSIDES is an authoritative DNS server that is provably invulnerable to +many of the problems that plague other servers. It achieves this property +through the use of formal methods in its design, in particular the language +Ada and the SPARK formal methods tool set. Code validated in this way is +provably exception-free, contains no data flow errors, and terminates only +in the ways that its programmers explicitly say that it can. These are very +desirable properties from a computer security perspective. + +IRONSIDES is not a complete implementation of DNS. In particular, it does +not support zone transfers or recursive queries. It does, however, support +a sufficient number of DNS records to be useful as an authoritative DNS +server for an enterprise. + +WWW: http://ironsides.martincarlisle.com diff --git a/dns/ironsides/pkg-plist b/dns/ironsides/pkg-plist new file mode 100644 index 000000000000..84b21c0f7ab8 --- /dev/null +++ b/dns/ironsides/pkg-plist @@ -0,0 +1,3 @@ +sbin/ironsides +%%EXAMPLESDIR%%/dfcs.usafa.edu.zonefile +@dirrm %%EXAMPLESDIR%% |