aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dns/Makefile1
-rw-r--r--dns/ironsides/Makefile29
-rw-r--r--dns/ironsides/distinfo2
-rw-r--r--dns/ironsides/files/Makefile11
-rw-r--r--dns/ironsides/files/ironsides.gpr13
-rw-r--r--dns/ironsides/pkg-descr14
-rw-r--r--dns/ironsides/pkg-plist3
7 files changed, 73 insertions, 0 deletions
diff --git a/dns/Makefile b/dns/Makefile
index c777e81b7752..354c1470bcf2 100644
--- a/dns/Makefile
+++ b/dns/Makefile
@@ -61,6 +61,7 @@
SUBDIR += inadyn
SUBDIR += inadyn-mt
SUBDIR += ipcheck
+ SUBDIR += ironsides
SUBDIR += knot
SUBDIR += ldapdns
SUBDIR += ldns
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%%