Petr Menšík
0c95a5ff53
Modify and propagate changed lease.
...
If hostname is reset on existing lease, propagate such change to leases
file and script.
2021-07-02 16:58:48 +01:00
Geert Stappers
3573ca0eec
Chomp file ends
...
Removed empty lines from end of src/*.[ch] files.
If the new last line became '#endif'
was the condition of the '#if' added.
2021-04-09 17:27:36 +01:00
Matthias Andree
b5d1b20727
Fix spacing in translatable strings.
...
Signed-off-by: Matthias Andree <matthias.andree@gmx.de >
2021-03-28 00:58:54 +00:00
Simon Kelley
c8e8f5c204
Bump copyright notices for 2021. Happy New Year!
2021-01-24 21:59:37 +00:00
Simon Kelley
ee64582a1f
Add --script-on-renewal option.
2020-02-27 16:54:12 +00:00
Simon Kelley
52ec783613
Add tag filtering of dhcp-host directives.
2020-02-07 21:05:54 +00:00
Simon Kelley
2a8710ac2f
Update copyrights to 2020.
2020-01-05 16:40:06 +00:00
Dominik DL6ER
456a319775
DHCPv6 IAID should be of unsigned type. It is derived from strtoul() in lease.c:read_leases() and already now interpreted as unsigned in helper.c:276 and outpacket.c:put_opt6_long(). RFC3315 (section 22.4) shows that the IAID is 4 bytes long so we do not need to go up to unsigned long.
...
Signed-off-by: Dominik DL6ER <dl6er@dl6er.de >
2019-10-25 22:00:35 +01:00
Florent Fourcot
df6636bff6
lease: prune lease as soon as expired
...
We detected a performance issue on a dnsmasq running many dhcp sessions
(more than 10 000). At the end of the day, the server was only releasing
old DHCP leases but was consuming a lot of CPU.
It looks like curent dhcp pruning:
1) it's pruning old sessions (iterate on all current leases). It's
important to note that it's only pruning session expired since more
than one second
2) it's looking for next lease to expire (iterate on all current leases
again)
3) it launchs an alarm to catch next expiration found in step 2). This
value can be zero for leases just expired (but not pruned).
So, for a second, dnsmasq could fall in a "prune loop" by doing:
* Not pruning anything, since difftime() is not > 0
* Run alarm again with zero as argument
On a server with very large number of leases and releasing often
sessions, that can waste a very big CPU time.
Signed-off-by: Florent Fourcot <florent.fourcot@wifirst.fr >
2019-02-27 21:28:32 +00:00
Brian Haley
28cfe36e1e
Change read_leases() to skip invalid entries.
...
There's no reason to stop reading the existing lease file
when dnsmasq is started and an invalid entry is found, it
can just be ignored. This was fallout from an Openstack
bug where the file was being written incorrectly with []
around IPv6 addresses.
2019-01-17 23:21:23 +00:00
Simon Kelley
cc921df9ce
Remove nested struct/union in cache records and all_addr.
2019-01-02 22:48:59 +00:00
Julian Kornberger
aba8bbb6e3
Add collection of metrics
...
Data can be retreived via D-Bus und U-Bus
2018-07-21 21:55:08 +01:00
Paul Maddock
51e4eeeb04
Fix address-dependent domains for IPv6.
...
Thanks to Paul Maddock for spotting this.
It seems to have been broken forever.
2018-06-12 16:37:40 +01:00
Simon Kelley
d1ced3ae38
Update copyrights to 2018.
2018-01-01 22:18:03 +00:00
Rosen Penev
50a2841d34
Fix function declarations.
2017-06-27 22:27:02 +01:00
Simon Kelley
50ca85504c
Bump year in copyrights.
2017-06-24 22:43:18 +01:00
Simon Kelley
05f76dab89
Don't die() on failing to parse lease-script output.
2017-05-09 22:57:04 +01:00
Simon Kelley
efff74c1ae
Tweak logging introduced in 3a8b0f6fcc
2017-04-28 23:01:23 +01:00
Petr Menšík
3a8b0f6fcc
Improve error handling with shcp-script "init" mode.
2017-04-23 14:12:37 +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
bf4e62c19e
Compile-time check on buffer sizes for leasefile parsing code.
2016-07-22 21:37:59 +01:00
Simon Kelley
a93bd4b016
Fix broken DNSMASQ_USER<x> envvars in script with more than one class.
2016-03-01 18:58:01 +00:00
Simon Kelley
c49778df4a
Update copyright notices. Happy new year!
2016-01-06 18:52:33 +00:00
Nicolas Cavallari
64bcff1c7c
Constify some DHCP lease management functions.
2015-04-28 21:55:18 +01:00
Simon Kelley
aff3396280
Update copyrights for dawn of 2015.
2015-01-31 20:13:40 +00:00
Simon Kelley
6d8e8ac0fa
Tidy up previous commit.
2014-07-13 22:18:57 +01:00
Lung-Pin Chang
dc8a1b1bcf
Set interface with longest prefix in DHCP & DHCPv6 lease
...
- With nested prefixes reside on different interfaces of single host
(e.g., in 6to4, 2002::/16 on WAN and 2002:<IPv4>:<subnet>::/64 on LAN),
current matching mechanism might return the interface with shorter prefix
length instead of the longer one, if it appears later in the netlink message.
Signed-off-by: Lung-Pin Chang <changlp@cs.nctu.edu.tw >
2014-07-06 21:08:47 +08:00
Simon Kelley
dd0e0a3995
Handle time_t wraparound more sanely.
2014-01-22 11:16:59 +00:00
Simon Kelley
c47e3ba446
Update copyright for 2014.
2014-01-08 17:07:54 +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
Vladislav Grishenko
408c368fa5
Remove unused variable warnings when omitting stuff at compile-time.
2013-09-24 16:18:49 +01:00
Simon Kelley
91543f4831
Fix FTBFS when various facilities omitted at compile time.
2013-09-23 12:41:20 +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
3f2873d42c
Handle IPv4 interface-address labels in Linux.
2013-05-14 11:28:47 +01:00
Simon Kelley
0b0a73c1c9
Fix crash on exceeding DHCP lease limit.
2013-04-11 14:07:02 +01:00
Simon Kelley
9de1aa9b7f
Fix parsing of IAID>MAXINT in leases file.
...
Thanks to Christof Meerwald for the bug report.
2013-04-10 11:17:12 +01:00
Simon Kelley
27cb314e54
Fix endless loop when dhcp-range goes away.
2013-04-02 20:06:39 +01:00
Simon Kelley
a6ebfacf7b
Massive refactor of stateful DHCPv6. Lease multiple prefixes per client.
2013-03-06 20:54:27 +00:00
Simon Kelley
61744359de
Change copyright messages to include 2013.
2013-01-31 14:34:40 +00:00
Simon Kelley
0c0502426f
Check for new SLAAC addresses when we add new prefixes.
2012-12-22 22:13:19 +00:00
Simon Kelley
bad7b875eb
add general flag param to iface_enumerate IPv6 callback
2012-12-20 22:00:39 +00:00
Simon Kelley
1f776932a1
First checkin of interface-address constructor mode for DHCPv6 and RA.
2012-12-18 18:31:11 +00:00
Simon Kelley
8ff556739e
SOA serial tweak.
2012-12-09 21:09:01 +00:00
Simon Kelley
e1ff419cf9
Complete AXFR support
2012-12-09 17:08:47 +00:00
Simon Kelley
b269221c00
Address allocation tweaking - lease outside dhcp-range but in subnet.
2012-09-16 22:22:23 +01:00
Simon Kelley
8b46061e73
Fix DHCPv6 address allocation for some pathalogical cases.
2012-09-08 21:47:28 +01:00
Simon Kelley
919dd7cf14
Fixed missing periodic-ras in some configurations.
2012-05-12 15:23:09 +01:00
Simon Kelley
a9ab732e35
reconfirm SLAAC addresses when DHCPv4 leases go though INIT_REBOOT state.
2012-04-29 16:01:28 +01:00
Simon Kelley
5ef33279f2
Tidying radv
2012-03-30 15:10:28 +01:00
Simon Kelley
353ae4d270
Check assumed SLAAC addresses by pinging them.
2012-03-19 20:07:51 +00:00