mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 18:28:25 +00:00
import of dnsmasq-2.2.tar.gz
This commit is contained in:
@@ -713,3 +713,9 @@ release 2.1
|
|||||||
Fix problem with setting domains as "local only".
|
Fix problem with setting domains as "local only".
|
||||||
|
|
||||||
Added support for max message size DHCP option.
|
Added support for max message size DHCP option.
|
||||||
|
|
||||||
|
release 2.2
|
||||||
|
Fix total lack for DHCP functionality on
|
||||||
|
Linux systems with IPv6 enabled.
|
||||||
|
|
||||||
|
Move default config file under FreeBSD.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
Name: dnsmasq
|
Name: dnsmasq
|
||||||
Version: 2.1
|
Version: 2.2
|
||||||
Release: 1
|
Release: 1
|
||||||
Copyright: GPL
|
Copyright: GPL
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
Name: dnsmasq
|
Name: dnsmasq
|
||||||
Version: 2.1
|
Version: 2.2
|
||||||
Release: 1
|
Release: 1
|
||||||
Copyright: GPL
|
Copyright: GPL
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
Name: dnsmasq
|
Name: dnsmasq
|
||||||
Version: 2.1
|
Version: 2.2
|
||||||
Release: 1
|
Release: 1
|
||||||
Copyright: GPL
|
Copyright: GPL
|
||||||
Group: Productivity/Networking/DNS/Servers
|
Group: Productivity/Networking/DNS/Servers
|
||||||
|
|||||||
16
dnsmasq.8
16
dnsmasq.8
@@ -132,7 +132,7 @@ time is the one used.
|
|||||||
.TP
|
.TP
|
||||||
.B \-R, --no-resolv
|
.B \-R, --no-resolv
|
||||||
Don't read /etc/resolv.conf. Get upstream servers only from the command
|
Don't read /etc/resolv.conf. Get upstream servers only from the command
|
||||||
line or /etc/dnsmasq.conf.
|
line or the dnsmasq configuration file.
|
||||||
.TP
|
.TP
|
||||||
.B \-o, --strict-order
|
.B \-o, --strict-order
|
||||||
By default, dnsmasq will send queries to any of the upstream servers
|
By default, dnsmasq will send queries to any of the upstream servers
|
||||||
@@ -307,10 +307,11 @@ both as "laptop" and "laptop.thekelleys.org.uk".
|
|||||||
Add the domain-suffix to simple names (without a period) in /etc/hosts
|
Add the domain-suffix to simple names (without a period) in /etc/hosts
|
||||||
in the same way as for DHCP-derived names.
|
in the same way as for DHCP-derived names.
|
||||||
.SH CONFIG FILE
|
.SH CONFIG FILE
|
||||||
At startup, dnsmasq reads /etc/dnsmasq.conf, if it exists. The format of this
|
At startup, dnsmasq reads /etc/dnsmasq.conf, if it exists. (On
|
||||||
|
FreeBSD, the file is /usr/local/etc/dnsmasq.conf) The format of this
|
||||||
file consists of one option per line, exactly as the long options detailed
|
file consists of one option per line, exactly as the long options detailed
|
||||||
in the OPTIONS section but without the leading "--". Lines starting with # are comments and ignored. For
|
in the OPTIONS section but without the leading "--". Lines starting with # are comments and ignored. For
|
||||||
options which may only be specified once, /etc/dnsmasq.conf overrides
|
options which may only be specified once, the configuration file overrides
|
||||||
the command line. Use the --conf-file option to specify a different
|
the command line. Use the --conf-file option to specify a different
|
||||||
configuration file.
|
configuration file.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
@@ -320,7 +321,7 @@ clears its cache and then re-loads /etc/hosts. If
|
|||||||
.B
|
.B
|
||||||
--no-poll
|
--no-poll
|
||||||
is set SIGHUP also re-reads /etc/resolv.conf. SIGHUP
|
is set SIGHUP also re-reads /etc/resolv.conf. SIGHUP
|
||||||
does NOT re-read /etc/dnsmasq.conf.
|
does NOT re-read the configuration file.
|
||||||
.PP
|
.PP
|
||||||
When it receives a SIGUSR1,
|
When it receives a SIGUSR1,
|
||||||
.B dnsmasq
|
.B dnsmasq
|
||||||
@@ -365,7 +366,7 @@ dnsmasq can be set to poll both /etc/ppp/resolv.conf and
|
|||||||
last, giving automatic switching between DNS servers.
|
last, giving automatic switching between DNS servers.
|
||||||
.PP
|
.PP
|
||||||
Upstream servers may also be specified on the command line or in
|
Upstream servers may also be specified on the command line or in
|
||||||
/etc/dnsmasq.conf. These server specifications optionally take a
|
the configuration file. These server specifications optionally take a
|
||||||
domain name which tells dnsmasq to use that server only to find names
|
domain name which tells dnsmasq to use that server only to find names
|
||||||
in that particular domain.
|
in that particular domain.
|
||||||
.PP
|
.PP
|
||||||
@@ -384,15 +385,18 @@ addresses by PPP or DHCP.
|
|||||||
.SH FILES
|
.SH FILES
|
||||||
.IR /etc/dnsmasq.conf
|
.IR /etc/dnsmasq.conf
|
||||||
|
|
||||||
|
.IR /usr/local/etc/dnsmasq.conf
|
||||||
|
|
||||||
.IR /etc/resolv.conf
|
.IR /etc/resolv.conf
|
||||||
|
|
||||||
.IR /etc/hosts
|
.IR /etc/hosts
|
||||||
|
|
||||||
.IR /var/lib/misc/dnsmasq.leases
|
.IR /var/lib/misc/dnsmasq.leases
|
||||||
|
|
||||||
|
.IR /var/db/dnsmasq.leases
|
||||||
|
|
||||||
.IR /var/run/dnsmasq.pid
|
.IR /var/run/dnsmasq.pid
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR dhcp.leases (5),
|
|
||||||
.BR hosts (5),
|
.BR hosts (5),
|
||||||
.BR resolver (5)
|
.BR resolver (5)
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
|
|||||||
@@ -12,14 +12,13 @@
|
|||||||
|
|
||||||
/* Author's email: simon@thekelleys.org.uk */
|
/* Author's email: simon@thekelleys.org.uk */
|
||||||
|
|
||||||
#define VERSION "2.1"
|
#define VERSION "2.2"
|
||||||
|
|
||||||
#define FTABSIZ 150 /* max number of outstanding requests */
|
#define FTABSIZ 150 /* max number of outstanding requests */
|
||||||
#define TIMEOUT 40 /* drop queries after TIMEOUT seconds */
|
#define TIMEOUT 40 /* drop queries after TIMEOUT seconds */
|
||||||
#define LOGRATE 120 /* log table overflows every LOGRATE seconds */
|
#define LOGRATE 120 /* log table overflows every LOGRATE seconds */
|
||||||
#define CACHESIZ 150 /* default cache size */
|
#define CACHESIZ 150 /* default cache size */
|
||||||
#define SMALLDNAME 40 /* most domain names are smaller than this */
|
#define SMALLDNAME 40 /* most domain names are smaller than this */
|
||||||
#define CONFFILE "/etc/dnsmasq.conf"
|
|
||||||
#define HOSTSFILE "/etc/hosts"
|
#define HOSTSFILE "/etc/hosts"
|
||||||
#ifdef __uClinux__
|
#ifdef __uClinux__
|
||||||
# define RESOLVFILE "/etc/config/resolv.conf"
|
# define RESOLVFILE "/etc/config/resolv.conf"
|
||||||
@@ -29,8 +28,10 @@
|
|||||||
#define RUNFILE "/var/run/dnsmasq.pid"
|
#define RUNFILE "/var/run/dnsmasq.pid"
|
||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
# define LEASEFILE "/var/db/dnsmasq.leases"
|
# define LEASEFILE "/var/db/dnsmasq.leases"
|
||||||
|
# define CONFFILE "/usr/local/etc/dnsmasq.conf"
|
||||||
#else
|
#else
|
||||||
# define LEASEFILE "/var/lib/misc/dnsmasq.leases"
|
# define LEASEFILE "/var/lib/misc/dnsmasq.leases"
|
||||||
|
# define CONFFILE "/etc/dnsmasq.conf"
|
||||||
#endif
|
#endif
|
||||||
#define DEFLEASE 3600 /* default lease time, 1 hour */
|
#define DEFLEASE 3600 /* default lease time, 1 hour */
|
||||||
#define CHUSER "nobody"
|
#define CHUSER "nobody"
|
||||||
|
|||||||
@@ -218,6 +218,7 @@ char *enumerate_interfaces(struct irec **interfacep,
|
|||||||
{
|
{
|
||||||
FILE *f = fopen(IP6INTERFACES, "r");
|
FILE *f = fopen(IP6INTERFACES, "r");
|
||||||
int found = 0;
|
int found = 0;
|
||||||
|
union mysockaddr addr6;
|
||||||
|
|
||||||
if (f)
|
if (f)
|
||||||
{
|
{
|
||||||
@@ -230,18 +231,18 @@ char *enumerate_interfaces(struct irec **interfacep,
|
|||||||
if (strcmp(devname, ifr->ifr_name) == 0)
|
if (strcmp(devname, ifr->ifr_name) == 0)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
unsigned char *addr6p = (unsigned char *) &addr.in6.sin6_addr;
|
unsigned char *addr6p = (unsigned char *) &addr6.in6.sin6_addr;
|
||||||
memset(&addr, 0, sizeof(addr));
|
memset(&addr6, 0, sizeof(addr6));
|
||||||
addr.sa.sa_family = AF_INET6;
|
addr6.sa.sa_family = AF_INET6;
|
||||||
for (i=0; i<16; i++)
|
for (i=0; i<16; i++)
|
||||||
{
|
{
|
||||||
unsigned int byte;
|
unsigned int byte;
|
||||||
sscanf(addrstring+i+i, "%02x", &byte);
|
sscanf(addrstring+i+i, "%02x", &byte);
|
||||||
addr6p[i] = byte;
|
addr6p[i] = byte;
|
||||||
}
|
}
|
||||||
addr.in6.sin6_port = htons(port);
|
addr6.in6.sin6_port = htons(port);
|
||||||
addr.in6.sin6_flowinfo = htonl(0);
|
addr6.in6.sin6_flowinfo = htonl(0);
|
||||||
addr.in6.sin6_scope_id = htonl(scope);
|
addr6.in6.sin6_scope_id = htonl(scope);
|
||||||
|
|
||||||
found = 1;
|
found = 1;
|
||||||
break;
|
break;
|
||||||
@@ -253,7 +254,7 @@ char *enumerate_interfaces(struct irec **interfacep,
|
|||||||
|
|
||||||
if (found &&
|
if (found &&
|
||||||
(err = add_iface(interfacep, ifr->ifr_flags, ifr->ifr_name,
|
(err = add_iface(interfacep, ifr->ifr_flags, ifr->ifr_name,
|
||||||
&addr, names, addrs, except)))
|
&addr6, names, addrs, except)))
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user