dnsmasq is Copyright (c) 2000-2020 Simon Kelley

It was downloaded from: http://www.thekelleys.org.uk/dnsmasq/

   This program 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; version 2 dated June, 1991, or
   (at your option) version 3 dated 29 June, 2007.
 
   This program 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.

On Debian GNU/Linux systems, the text of the GNU general public license is 
available in the file /usr/share/common-licenses/GPL-2 or 
/usr/share/common-licenses/GPL-3

The Debian package of dnsmasq was created by Simon Kelley with assistance 
from Lars Bahner.

