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
===> The following configuration options are available for ironsides-20150415_2:
EXAMPLES=on: Build and/or install examples
===> Use 'make config' to modify these settings
cleanup: Remove ports depending on expired lang/gcc6-aux
Keep ports-mgmt/synth and dependencies (including lang/gcc6-aux itself)
for now as synth is the only Ada port still maintained and might be
somewhat high-profile.
Removed ports:
archivers/zip-ada
cad/ghdl
databases/adabase
databases/apq
databases/apq-mysql
databases/apq-odbc
databases/apq-pgsql
devel/ada-util
(Only the first 15 lines of the commit message are shown above )
Return the ports mistakenly reset to ports@ in r433856 to John Marino.
The mistake was completely on my part, I somehow connected the dots the
wrong way in my head.
The only exceptions (for now) are archivers/zstd and ports-mgmt/synth
which were already picked up by new volunteers in the mean time.
dns/ironsides finally builds on gcc6-aux, switch over to it
It appears the previous STORAGE ERROR was a compiler bug that got fixed
between the GCC 6.1 and 6.2 versions of gcc6-aux. Switch it and the
helper port devel/libspark2012 over to it, which are the last two ports
that depend on lang/gcc6-aux.
Restrict dns/ironsides to gcc5-aux only
Right now, ironsides emits a STORAGE ERROR during building with
lang/gcc6-aux. It's unclear if the problem lies with compiler or with
ironsides. For now, limit building it with gcc5-aux (the default).
The USES=ada:5 setting wasn't supported, but it should have been. This
has also been fixed.
dns/ironsides: Upgrade version 20130315 to 20140220
After contacting the author, he updated the snapshot to the latest,
remove 7M worth of dead files and adding a man page. I made some
corrections to that man page and converted it to mdoc tags.
dns/ironsides: Fix extraction problem on clean jail
GNATMake was used to clean up the WRKSRC after extraction, but the
problem is that it's not present at that point on a clean build; it
comes in later as a build dependency. Rather than a messy definition
of extract-depends, just remove the files manually without gnatmake.
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.