Skip to content
Authoritative DNS Server --
C Perl Perl6 DIGITAL Command Language M4 Ragel in Ruby Host Other
Pull request Compare This branch is 7 commits behind gdnsd:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
acaux Require ragel for tarball builds (and related refactoring) Oct 27, 2014
docs Fix spelling errors in manpages Mar 22, 2016
qa Revert "travis: trying out s/coveralls/codecov/" Dec 29, 2015
src minor scope reductions in dnsio_udp Jan 5, 2016
.gitignore add tarball sigs to gitignore Mar 23, 2016
.travis.yml travis: use trusty lcov package, remove gcc+optimized build Dec 29, 2015
AUTHORS update AUTHORS from git history Jun 17, 2014
INSTALL add a few new regression tests Dec 16, 2014

Build Status Coverity Scan Build Status Coverage Status


gdnsd is an Authoritative-only DNS server. The initial g stands for Geographic, as gdnsd offers a plugin system for geographic (or other sorts of) balancing, redirection, and service-state-conscious failover. The plugin system can also do things like weighted address/cname records. If you don't care about these features you can ignore them :).

gdnsd is written in C using libev and pthreads with a focus on high performance, low latency service. It does not offer any form of caching or recursive service, and does not support DNSSEC. There's a strong focus on making the code efficient, lean, and resilient. The code has a decent regression testsuite with full branch coverage on the core packet parsing and generation code, and some scripted QA tools for e.g. valgrind validation, clang-analyzer, etc.

The geographically-aware features also support the emerging EDNS Client Subnet draft ( , ) for receiving more-precise network location information from intermediate shared caches.


Project site:

Release downloads:

The code is hosted at Github:

Bug reports:

Wikified docs:

Google Group for discussion:!forum/gdnsd

See the INSTALL file for details on prerequisites and build procedure for working from the source tree or a source tarball.

The documentation is included in the source tree in POD format and installed as manpages and textfiles on installation.


gdnsd is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

gdnsd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with gdnsd. If not, see

Something went wrong with that request. Please try again.