Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use siphash for hashtables | Thomas Gschwantner | 2019-12-11 | 1 | -1/+3 |
| | |||||
* | Properly send and display wg_errno and errmsg | Thomas Gschwantner | 2019-12-11 | 1 | -6/+13 |
| | |||||
* | Extract all RTNETLINK code into ipm.{c,h} | Thomas Gschwantner | 2019-12-11 | 1 | -57/+24 |
| | |||||
* | Serialize/deserialize messages into a struct | Thomas Gschwantner | 2019-12-11 | 1 | -87/+117 |
| | | | | | | 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. | ||||
* | Stop passing devname and ifindex around | Linus Nordberg | 2019-12-11 | 1 | -7/+6 |
| | |||||
* | Ignore routes not for the wg interface | Linus Nordberg | 2019-12-11 | 1 | -2/+2 |
| | | | | | Adding 127.0.0.0/8 (lo) for example is not what we want. Didn't happen in tests/netsh.sh because the use of network namespaces. | ||||
* | server: restore leases from allowedips at startup | Linus Nordberg | 2019-12-11 | 1 | -1/+29 |
| | |||||
* | server: add --leasetime as a commandline option | Linus Nordberg | 2019-12-11 | 1 | -5/+36 |
| | |||||
* | lease: handle allowedips updates and improve API | Linus Nordberg | 2019-12-11 | 1 | -47/+13 |
| | |||||
* | Improve error handling and serialization | Thomas Gschwantner | 2019-08-20 | 1 | -49/+32 |
| | |||||
* | Initialize pools from routes via netlink | Thomas Gschwantner | 2019-08-17 | 1 | -7/+47 |
| | |||||
* | Implement lease expiration | Thomas Gschwantner | 2019-07-18 | 1 | -3/+3 |
| | |||||
* | Use epoll() instead of poll() | Thomas Gschwantner | 2019-06-14 | 1 | -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 others | Thomas Gschwantner | 2019-06-13 | 1 | -46/+28 |
| | |||||
* | Implement basic lease management | Thomas Gschwantner | 2019-06-12 | 1 | -126/+89 |
| | |||||
* | Use hashtable to match ll-ip with pubkey | Thomas Gschwantner | 2019-06-02 | 1 | -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 revents | Linus Nordberg | 2019-05-26 | 1 | -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 interface | Linus Nordberg | 2019-05-26 | 1 | -3/+9 |
| | |||||
* | Implement faked allocations, server side | Linus Nordberg | 2019-05-26 | 1 | -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 go | Thomas Gschwantner | 2019-02-25 | 1 | -12/+28 |
| | |||||
* | Match incoming IP with pubkey | Thomas Gschwantner | 2019-02-25 | 1 | -10/+87 |
| | |||||
* | Implement key=value parsing | Thomas Gschwantner | 2019-02-09 | 1 | -41/+64 |
| | |||||
* | Fix licensing headers | Thomas Gschwantner | 2019-01-27 | 1 | -3/+2 |
| | |||||
* | Implement basic validation and I/O multiplexing | Thomas Gschwantner | 2019-01-26 | 1 | -25/+292 |
| | |||||
* | Initialize project with scafolding and embeddable-wg-library | Jason A. Donenfeld | 2019-01-24 | 1 | -0/+40 |