| 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.
|
| |
|
| |
|
|
|
|
|
| |
This enables us to later use the timeout parameter of epoll_wait() to
timely remove expired leases.
|
| |
|
|
|
|
|
| |
Only sleep after failed try_connect(), because it might fail quickly.
The read should be blocking for 1s (SO_RCVTIMEO).
|
|
|
|
| |
Avoiding the unnecessary complexity of non-blocking I/O.
|
|
|
|
|
|
|
|
| |
POSIX says:
"In each pollfd structure, poll() shall clear the revents member,
except that where the application requested a report on a condition by
setting one of the bits of events listed above, poll() shall set the
corresponding bit in revents if the requested condition is true."
|
| |
|
| |
|
|
|