# Insane_DNS
## 4P14 Lab Exercise 2
- Brett Terpstra 6920201
- Michael Boulos 6973523
- Adrian Pinu 6970677
### Building And Running
Linux is required.
Compiler support: GCC 8.5+
(This program compiles and runs on sandcastle)
```
git clone https://git.tpgc.me/tri11paragon/Insane_DNS
cd Insane_DNS
mkdir build && cd build
cmake ../
make -j 16
./insane_dns
```
All options are set at compile time in the main.cpp file.
### Features
I added TCP support alongside UDP to natively support `dig ANY`
I would've basically implemented a full DNS server if it would've gotten me anything :3
There are no compiler warnings or runtime errors on GCC 12 and only a single warning on GCC 8.5
### Testing
All the following have been tested and confirmed working.
`dig @localhost -p 5555 zombo.com ANY`
`dig @localhost -p 5555 zombo.com`
`dig @localhost -p 5555 tpgc.me`
`dig @localhost -p 5555 google.ca`
`dig @localhost -p 5555 google.ca ANY`
`dig @localhost -p 5555 tpgc.me ANY`
`dig @localhost -p 5555 en.wikipedia.org`
`dig @localhost -p 5555 en.wikipedia.org ANY`