| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ipv4 and ipv6 keys have been combined into one common key, ip. To
distinguish between multiple IPs in later versions ip=0.0.0.0/32 and
ip=::/128 respectively now mean we want to be assigned a random address
from the server.
Releasing/not wanting an IP is now done by just not listing that IP,
i.e. if we only wanted an (random) ipv4 address the request would look
as follows:
request_ip=1
ip=0.0.0.0/32
|
|
|
|
|
|
|
| |
Previously this would trigger a BUG_ON() since the calculation of length
& offset was wrong since we added the previous part of the buffer
(req->buf) in parse_request(). This meant handle_request() couldn't know
how much bytes where actually left in the buffer or their offset.
|
| |
|
| |
|
|
|
|
|
|
| |
Instead of a list of attributes, parse messages into a proper struct to
avoid duplicating code in the server/client for handling this list, as
well as making parsing nicer in general.
|
| |
|
| |
|
|
|
|
|
| |
This enables us to later use the timeout parameter of epoll_wait() to
timely remove expired leases.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reject clients not connecting from an IPv6 address.
Reject clients not connecting from the correct port.
Fake address allocation.
Update allowed-ips with leases handed out.
Send response messages.
Extend protocol to include lease start and lease time, errno and errmsg.
Move common code to common.[ch].
|
|
|