Simon Kelley
e7bfd556c0
Alter DHCP address selection after DECLINE in consec-addr mode.
...
Avoid offering the same address after a recieving a DECLINE message
to stop an infinite protocol loop. This has long been done in
default address allocation mode: this adds similar behaviour
when allocaing addresses consecutively.
2018-12-31 20:51:15 +00:00
Simon Kelley
05ff659a3c
Fix stupid infinite loop introduced by preceding commit.
2018-06-12 16:03:09 +01:00
Simon Kelley
db0f488ea8
Handle some corner cases in RA contructed interfaces with addresses changing interface.
...
Thanks to Vladislav Grishenko for work on this.
2018-06-07 21:37:02 +01:00
Simon Kelley
c488b68e75
Handle standard and contructed dhcp-ranges on the same interface.
2018-06-02 13:06:00 +01:00
Maarten de Vries
0a496f059c
Do unsolicited RAs for interfaces which appear after dnsmasq startup.
...
I noticed that dnsmasq often wasn't sending any unsolicited RAs for me.
This turned out to happen when the interface (a bridge interface) wasn't
created yet at the time dnsmasq started. When dnsmasq is started after
the interface is created, it sends RAs as expected. I assume this also
extends to other types of virtual interfaces that are created after
dnsmasq starts.
Digging into the source, it seems to be caused by a missing call to
ra_start_unsolicited for non-template contexts in construct_worker from
src/dhcp6.c. The attached patch adds that call, but only if the
interface index or address changed to prevent doing fast RAs for no reason.
I tested it on my own server and it appears to work as expected. When
the interface is created and configured, dnsmasq does fast RAs for a
while and then settles into slow RAs.
2018-05-11 23:20:58 +01:00
Simon Kelley
d1ced3ae38
Update copyrights to 2018.
2018-01-01 22:18:03 +00:00
Simon Kelley
50ca85504c
Bump year in copyrights.
2017-06-24 22:43:18 +01:00
Josh Soref
730c6745f0
Comprehensive spelling/typo fixes.
...
Thanks to Josh Soref for generating these fixes.
2017-02-06 16:14:04 +00:00
Simon Kelley
d6b749af91
Fix typo in SDBM hash function.
...
Thanks to Luis Carvalho for spotting the error.
2016-04-25 17:05:15 +01:00
Simon Kelley
fdc97e1383
Avoid divide-by-zero when dhcp-range is a whole /64
2016-02-13 17:47:17 +00:00
Simon Kelley
c49778df4a
Update copyright notices. Happy new year!
2016-01-06 18:52:33 +00:00
Simon Kelley
33702ab1f8
First complete version of DNS-client-id EDNS0 and ARP tracking code.
2015-12-28 23:17:15 +00:00
Simon Kelley
11867dc28c
Cache access to the kernel's ARP table.
2015-12-23 16:15:58 +00:00
Neil Jerram
4918bd5505
Documenation updates for --bridge-interface and "off-link".
2015-06-10 22:23:20 +01:00
Neil Jerram
0ddb8769bb
Extend --bridge-interface aliasing to DHCPv6.
2015-06-10 22:11:06 +01:00
Simon Kelley
ff841ebf5a
Fix boilerplate code for re-running system calls on EINTR and EAGAIN etc.
...
The nasty code with static variable in retry_send() which
avoids looping forever needs to be called on success of the syscall,
to reset the static variable.
2015-03-11 21:36:30 +00:00
Tomas Hozza
0705a7e2d5
Fix uninitialized value used in get_client_mac()
2015-02-23 21:26:26 +00:00
Simon Kelley
aff3396280
Update copyrights for dawn of 2015.
2015-01-31 20:13:40 +00:00
Simon Kelley
a0358e5ddb
Handle async notification of address changes using the event system.
2014-06-07 13:38:48 +01:00
Simon Kelley
a03f8d4c37
Suppress re-entrant calls to dhcp_construct_contexts()
2014-06-05 22:38:53 +01:00
Simon Kelley
7ea3d3fdca
ra-advrouter mode for RFC-3775 mobile IPv6 support.
2014-04-25 22:04:05 +01:00
Simon Kelley
c3a04081ff
[fd00::} and [fe80::] special addresses in DHCPv6 options.
2014-01-11 22:18:19 +00:00
Simon Kelley
c47e3ba446
Update copyright for 2014.
2014-01-08 17:07:54 +00:00
Simon Kelley
1ee9be4c3f
Implement dynamic interface discovery on *BSD
2013-12-09 16:50:19 +00:00
Vladislav Grishenko
4c82efc5ac
Relax rules in prefix length in (IPv6) dhcp-range.
2013-12-03 16:05:30 +00:00
Simon Kelley
0d6eb134f5
Do immediate RA when a prefix goes from old->current.
2013-11-26 13:30:12 +00:00
Simon Kelley
6586e8352a
Use random address allocation for DHCPv6 temporary addresses.
2013-11-07 14:20:13 +00:00
Simon Kelley
3511a92869
Fix start-up order for making DHCPv6 DUID
...
Previously, if the DUID wasn't read from the lease-file or
script, a new one was created _after_ the helper process fork,
so for that first run, the script calls got an empty DUID.
Also, use a DUID_LL format DUID when there's no stable lease
storage, as well as when the RTC is broken. That has a chance of
evaluating to the same value on each startup.
2013-11-07 10:28:11 +00:00
Simon Kelley
486479e943
Check prefix length when contructing DHCP ranges.
2013-10-14 17:18:03 +01:00
Simon Kelley
a810559b24
daemon->icmp6fd is always valid when doing DHCPv6 now.
2013-09-25 15:36:00 +01:00
Simon Kelley
861c89141a
Change rules for constructing DHCPv6 ranges.
2013-09-25 15:30:30 +01:00
Simon Kelley
8939c95fd6
Don't extract MAC address from ND table when DHCPv6 request is from a relay.
2013-09-25 11:49:34 +01:00
Vladislav Grishenko
408c368fa5
Remove unused variable warnings when omitting stuff at compile-time.
2013-09-24 16:18:49 +01:00
Simon Kelley
1b55190d3f
Fix FTBFS on OpenBSD.
2013-09-23 15:28:38 +01:00
Simon Kelley
d81b42d067
Prod neighbour discovery with ARP instead of PING.
2013-09-23 12:26:34 +01:00
Simon Kelley
8f51a29137
Fix compiler warnings.
2013-09-21 14:07:12 +01:00
Simon Kelley
89500e31f1
Support MAC addresses in dhcp-host and dhcp-mac for DHCPv6.
2013-09-20 16:29:20 +01:00
Simon Kelley
ff7eea27e7
Add --dhcp-relay config option.
2013-09-04 18:01:38 +01:00
Vladislav Grishenko
e4cdbbf521
Allow prefix :: in constructed dhcp-range.
2013-08-19 16:20:31 +01:00
Simon Kelley
ffbad34b31
Set SOREUSEADDR as well as SOREUSEPORT on DHCP sockets when both available.
2013-08-14 15:53:57 +01:00
Simon Kelley
9f48ffa1e8
Apply ceiling of configured dhcp-range leasetime to deprecated prefix adverts.
2013-07-28 15:47:04 +01:00
Simon Kelley
f7a40ec650
Tweak when old prefix returns.
2013-07-27 13:36:08 +01:00
Simon Kelley
ef1a94abaa
Advertise lost prefixes with pref_time == 0 for 2 hours.
2013-07-26 13:59:03 +01:00
Simon Kelley
429805dbbc
Allow constructed ranges from interface address at end of range.
...
Also make man page on this clearer, as it's been confusing many.
2013-05-31 13:47:26 +01:00
Simon Kelley
56a1142f03
SO_REUSEPORT may be defined, but not supported.
2013-04-02 17:02:58 +01:00
Simon Kelley
5b37aa8c19
Trivial change: 0->NULL for pointer constant.
2013-04-02 16:32:25 +01:00
Simon Kelley
49333cbdbe
Allow trailing '*' wildcard in interface names.
2013-03-15 20:30:51 +00:00
Simon Kelley
de92b479d9
Make wildcard-configured addresses work on multiple networks.
2013-03-15 18:26:23 +00:00
Simon Kelley
c630924d66
Experimental support for DHCPv6 prefix-class option.
2013-03-07 20:59:28 +00:00
Simon Kelley
a6ebfacf7b
Massive refactor of stateful DHCPv6. Lease multiple prefixes per client.
2013-03-06 20:54:27 +00:00