aboutsummaryrefslogtreecommitdiffstats
path: root/wg-dynamic-server.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Don't restore an lladdr as a leaseLinus Nordberg2019-10-101-1/+1
|
* FormattingLinus Nordberg2019-10-101-5/+5
|
* WIPLinus Nordberg2019-10-011-1/+29
| | | | [server] Restore leases from allowedips at startup
* [server] Make leasetime an optional command line argumentLinus Nordberg2019-09-301-3/+10
|
* Server side lease handlingLinus Nordberg2019-09-291-41/+72
| | | | | | | Extend when requested, release when being replaced. Separate address families so that one can be granted even when the pool for the other is empty.
* Remove allowed-ips from peers as leases expireLinus Nordberg2019-09-291-1/+54
|
* Improve error handling and serializationThomas Gschwantner2019-08-201-49/+32
|
* Initialize pools from routes via netlinkThomas Gschwantner2019-08-171-7/+47
|
* Implement lease expirationThomas Gschwantner2019-07-181-3/+3
|
* Use epoll() instead of poll()Thomas Gschwantner2019-06-141-84/+115
| | | | | This enables us to later use the timeout parameter of epoll_wait() to timely remove expired leases.
* Don't overwrite peer changes by othersThomas Gschwantner2019-06-131-46/+28
|
* Implement basic lease managementThomas Gschwantner2019-06-121-126/+89
|
* Use hashtable to match ll-ip with pubkeyThomas Gschwantner2019-06-021-31/+34
| | | | | | The link-local IP is always /128, so using a hashtable is more appropriate here. We only use the lower 64 bits as key, since the first 64 bits of link-local addresses are always the same.
* No need to clear bits in pollfd reventsLinus Nordberg2019-05-261-3/+0
| | | | | | | | 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."
* Implement client sending ip-request and configuring interfaceLinus Nordberg2019-05-261-3/+9
|
* Implement faked allocations, server sideLinus Nordberg2019-05-261-85/+233
| | | | | | | | | | 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].
* Accept multiple connections in one goThomas Gschwantner2019-02-251-12/+28
|
* Match incoming IP with pubkeyThomas Gschwantner2019-02-251-10/+87
|
* Implement key=value parsingThomas Gschwantner2019-02-091-41/+64
|
* Fix licensing headersThomas Gschwantner2019-01-271-3/+2
|
* Implement basic validation and I/O multiplexingThomas Gschwantner2019-01-261-25/+292
|
* Initialize project with scafolding and embeddable-wg-libraryJason A. Donenfeld2019-01-241-0/+40