https://github.com/mcejp/ironsides
Mirror of Ironsides DNS Server in Ada SPARK
https://github.com/mcejp/ironsides
Last synced: 10 months ago
JSON representation
Mirror of Ironsides DNS Server in Ada SPARK
- Host: GitHub
- URL: https://github.com/mcejp/ironsides
- Owner: mcejp
- License: other
- Created: 2020-02-16T15:36:31.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-16T15:39:38.000Z (over 6 years ago)
- Last Synced: 2025-03-09T01:29:40.054Z (over 1 year ago)
- Language: Ada
- Size: 166 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.txt
Awesome Lists containing this project
README
IRONSIDES compilation instructions
SPARK (http://www.altran-praxis.com/spark.aspx) is a programming language that uses formal methods to prove software properties. There are two separate compilation processes:
1) Use the SPARK toolset (http://libre.adacore.com/tools/spark-gpl-edition/) to perform the automatic theorem proving on the code. (If you haven't modified the distribution, this step is not required as it has already been done by the authors-- you do still have to download SPARK to get the library modules).
2) Use an Ada compiler (e.g. http://libre.adacore.com/tools/gnat-gpl-edition/) to create an executable.
=============================WINDOWS DIRECTIONS===========================
Download and install GNAT, SPARK
The following command line will create an executable (assuming SPARK is installed to c:\spark\2012).
gnatmake -gnat05 -O3 -gnatp -Ic:\spark\2012\lib\spark -Ic:\spark\2012\lib\spark\current spark_dns_main
=============================LINUX DIRECTIONS===========================
download, e.g., gnat-gpl-2012-x86_64-pc-linux-gnu-bin.tar.gz and spark-gpl-2012-x86_64-pc-linux-gnu.tar.gz
Do NOT use the GNAT you can apt-get on Debian (last I checked it had a bug)
gzip -d *.gz
tar xpf *.tar
make sure you have a C compiler installed (e.g. on Ubuntu, apt-get install build-essential)
cd gnat-2012-x86_64-pc-linux-gnu-bin
sudo ./doinstall
cd ../
# you'll need to change the paths below to yours
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
export PATH=/usr/gnat/bin:$PATH
gnatmake -gnat05 -O3 -gnatp -I/home/student/sparkgpl/lib/spark -I/home/student/sparkgpl/lib/spark/current spark_dns_main
Now run it with (e.g.):
dos2unix dfcs.usafa.edu.zonefile
sudo ./spark_dns_main dfcs.usafa.edu.zonefile