aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add BUG() and BUG_ON()Thomas Gschwantner2019-06-022-1/+4
|
* radix-trie: allow both ipv4 and ipv6 debug outputThomas Gschwantner2019-06-022-12/+30
|
* radix-trie: fix fls/fls64Thomas Gschwantner2019-06-021-6/+6
|
* radix-trie: remove bits arg from radix_insert_v4/6Thomas Gschwantner2019-06-022-6/+6
|
* Use hashtable to match ll-ip with pubkeyThomas Gschwantner2019-06-022-31/+661
| | | | | | 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.
* Sleep lessLinus Nordberg2019-05-261-3/+5
| | | | | Only sleep after failed try_connect(), because it might fail quickly. The read should be blocking for 1s (SO_RCVTIMEO).
* Use blocking I/O in clientLinus Nordberg2019-05-261-119/+39
| | | | Avoiding the unnecessary complexity of non-blocking I/O.
* No need to clear bits in pollfd reventsLinus Nordberg2019-05-262-5/+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."
* Fix backwards logic in debug loggingLinus Nordberg2019-05-261-2/+2
|
* Implement client sending ip-request and configuring interfaceLinus Nordberg2019-05-263-24/+521
|
* Implement faked allocations, server sideLinus Nordberg2019-05-263-104/+433
| | | | | | | | | | 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].
* Specify scope id in addresses to ping6Linus Nordberg2019-02-251-2/+2
| | | | | | Without scope id, ping6 on a Debian 9 fails with connect: Invalid argument
* Accept multiple connections in one goThomas Gschwantner2019-02-251-12/+28
|
* Match incoming IP with pubkeyThomas Gschwantner2019-02-252-11/+90
|
* Implement a radix-trie for storing ip=pubkeyThomas Gschwantner2019-02-253-1/+366
|
* Move the google doc into the git repositoryDaniel Kahn Gillmor2019-02-132-1/+103
|
* Implement key=value parsingThomas Gschwantner2019-02-094-46/+411
|
* Fix licensing headersThomas Gschwantner2019-01-275-13/+12
|
* Implement basic validation and I/O multiplexingThomas Gschwantner2019-01-263-25/+374
|
* Add .clang-formatThomas Gschwantner2019-01-261-0/+127
|
* Add modified netsh.sh for testing purposesThomas Gschwantner2019-01-261-0/+82
|
* Initialize project with scafolding and embeddable-wg-libraryJason A. Donenfeld2019-01-249-0/+1304