aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* Rework ipc.c to new OpenBSD IOCTL interfacemd/openbsdMatt Dunwoodie2019-10-311-126/+120
|
* Action TODOMatt Dunwoodie2019-10-201-2/+1
|
* Message for laterMatt Dunwoodie2019-10-121-0/+1
|
* Update ipc.c to new if_wg.h interfaceMatt Dunwoodie2019-10-051-34/+42
|
* Return null key when maskedMatt Dunwoodie2019-08-291-6/+15
|
* Add support for rdomainMatt Dunwoodie2019-08-291-1/+12
| | | | | I'm not sure if fwmark is the correct way to do it, but for the time being it works.
* Add name to anonymous unionMatt Dunwoodie2019-08-291-1/+1
| | | | | This is required for the Cython library I'm working on. I don't see this causing any issues.
* Add support for masked/hidden keysMatt Dunwoodie2019-08-111-3/+3
|
* Create runtime dir for both interface typesMatt Dunwoodie2019-08-101-1/+1
|
* Rudimentary support for wg-quickMatt Dunwoodie2019-07-211-12/+22
| | | | | This isn't as foolproof as I would like, however it seems to work with both wireguard-openbsd and wireguard-go.
* Actually call SIOCSWGPEERAIP in wg(8)Matt Dunwoodie2019-07-211-2/+5
| | | | | The set AIP ioctl was actually not called in openbsd_set_device. Also, specify ipv4 and ipv6 when copying the addresses.
* Add support for OpenBSD keepaliveMatt Dunwoodie2019-05-211-2/+11
|
* Update to new wg_cidr allowedip structureMatt Dunwoodie2019-05-191-17/+13
|
* Add retrieval of private key from deviceMatt Dunwoodie2019-05-191-0/+5
| | | | | | | | Before mdlayher notified me that wg(8) actually can view the device private key (with `WG_HIDE_KEYS=never wg`), I did not have a need for it. It was straight forward to add in kernel. This functionality will also be implemented in wgctrl-go.
* Add support for new ioctlsMatt Dunwoodie2019-04-301-15/+9
|
* openbsd: add support for openbsd kernel moduleMatt Dunwoodie2019-04-291-0/+253
| | | | | | While this isn't complete, it is a good representation of what needs to be done. The biggest problem to fix is that the kernel module has no concept of 'replacing' peers or allowedips.
* wg-quick: make darwin and freebsd path search strict like linuxJason A. Donenfeld2019-04-232-2/+4
|
* wg-quick: freebsd: workaround SIOCGIFSTATUS race in FreeBSD kernelJason A. Donenfeld2019-04-231-9/+22
|
* compat: udp_tunnel: force cast sk_data_readyJason A. Donenfeld2019-04-141-1/+3
| | | | Reference: https://lists.zx2c4.com/pipermail/wireguard/2019-April/004081.html
* version: bump snapshot0.0.20190406Jason A. Donenfeld2019-04-062-2/+2
|
* allowedips: initialize list head when removing intermediate nodesJason A. Donenfeld2019-04-062-1/+5
| | | | | | | | | | Otherwise if this list item is later reused, we'll crash on list poison or worse. Also, add a version of Mimka's reproducer to netns.sh to catch these types of bugs in the future. Reported-by: Mimka <mikma.wg@lists.m7n.se>
* compat: backport skb_mark_not_on_listJason A. Donenfeld2019-03-291-0/+7
|
* blake2s: remove outlen parameter from finalJason A. Donenfeld2019-03-274-12/+11
|
* blake2s: simplifySamuel Neves2019-03-272-40/+12
| | | | Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
* qemu: set framewarn 1280 for 64bit and 1024 for 32bitJason A. Donenfeld2019-03-2514-4/+14
|
* device: use skb accessor functions where possibleJason A. Donenfeld2019-03-251-2/+2
| | | | Suggested-by: David Miller <davem@davemloft.net>
* allowedips: do not use __always_inlineJason A. Donenfeld2019-03-251-9/+9
| | | | | | DaveM doth forbid. Suggested-by: David Miller <davem@davemloft.net>
* peerlookup: rename from hashtablesJason A. Donenfeld2019-03-257-9/+9
|
* tools: avoid unneccessary next_peer assignments in sort_peers()Luis Ressel2019-03-231-2/+1
| | | | Signed-off-by: Luis Ressel <aranea@aixah.de>
* wg-quick: add 'strip' subcommandLuis Ressel2019-03-235-5/+50
| | | | | | | | | `wg-quick strip` prints the config file to stdout after stripping it of all wg-quick-specific options. This enables tricks such as `wg addconf $DEV <(wg-quick strip $DEV)`. Signed-off-by: Luis Ressel <aranea@aixah.de>
* tools: warn if an AllowedIP has a nonzero host partLuis Ressel2019-03-231-0/+34
| | | | Signed-off-by: Luis Ressel <aranea@aixah.de>
* wg-quick: freebsd: export TMPDIR when restoring and don't make emptyJason A. Donenfeld2019-03-181-1/+2
| | | | Otherwise mktemp doesn't see it, and if it's empty we wind up in /.
* global: the _bh variety of rcu helpers have been unifiedJason A. Donenfeld2019-03-177-12/+57
|
* compat: nf_nat_core.h was removed upstreamBruno Wolff III2019-03-141-0/+2
| | | | | | | In d2c5c103b133 ("netfilter: nat: remove nf_nat_l3proto.h and nf_nat_core.h"). Signed-off-by: Bruno Wolff III <bruno@wolff.to>
* tools: add support for HaikuAlexander von Gluck IV2019-02-281-0/+3
| | | | Signed-off-by: Alexander von Gluck IV <kallisti5@unixzen.com>
* tools: genkey: account for short reads of /dev/urandomJason A. Donenfeld2019-02-282-18/+35
| | | | | | | | | | Apparently Haiku has a misbehaving /dev/urandom. While we're at it, simplify the function signature to completely succeed or completely fail and make sure the caller checks the result. Reported-by: Alexander von Gluck IV <kallisti5@unixzen.com> Nitpicked-by: Aaron Jones <aaronmdjones@gmail.com>
* wg-quick: freebsd: rebreak interface loopback, while fixing localhostJason A. Donenfeld2019-02-281-1/+1
| | | | | | | | | | | The commit 7c833642 ("wg-quick: freebsd: allow loopback to work") was supposed to make things better, but actually it just started sending legitimate localhost traffic over the WireGuard interface, which is really quite bad. This reverts commit 7c833642dfa342218602ab18e7091e86408d2982. Reported-by: Matt Smith <matt.xtaz@gmail.com>
* version: bump snapshot0.0.20190227Jason A. Donenfeld2019-02-272-2/+2
|
* queueing: net-next has changed signature of skb_probe_transport_headerJason A. Donenfeld2019-02-272-1/+7
|
* allowedips: maintain per-peer list of allowedipsJason A. Donenfeld2019-02-266-160/+129
| | | | | | | | This makes `wg show` and `wg showconf` and the like significantly faster, since we don't have to iterate through every node of the trie for every single peer. It also makes netlink cursor resumption much less problematic, since we're just iterating through a list, rather than having to save a traversal stack.
* peer: only synchronize_rcu_bh and traverse trie once when removing all peersJason A. Donenfeld2019-02-252-20/+42
|
* netlink: don't remove allowed ips for new peersJason A. Donenfeld2019-02-251-0/+3
| | | | This causes needless traversal of the trie.
* Makefile: make the depmod path configurableLuis Ressel2019-02-171-1/+2
| | | | Signed-off-by: Luis Ressel <aranea@aixah.de>
* Makefile: don't duplicate code in install and modules-installLuis Ressel2019-02-171-5/+5
| | | | Signed-off-by: Luis Ressel <aranea@aixah.de>
* compat: backport ALIGN_DOWNJason A. Donenfeld2019-02-171-0/+7
|
* compat: ipv6_stub is sometimes nullJason A. Donenfeld2019-02-171-1/+1
| | | | | | | On ancient kernels, ipv6_stub is sometimes null in cases where IPv6 has been disabled with a command line flag or other failures. Reported-by: Anatoli <me@anatoli.ws>
* tools: c_acc doesn't need to be initializedJason A. Donenfeld2019-02-081-1/+1
|
* tools: fight compiler slightly harderJason A. Donenfeld2019-02-052-2/+2
|
* chacha20: name enumsJason A. Donenfeld2019-02-041-2/+2
|
* noise: store clamped key instead of raw keyJason A. Donenfeld2019-02-039-18/+18
|