* client, server: option for custom host suffixes
* shared: Better wording in the doc
* client, shared: nits and formatting
* shared: underscore to dash in option name
---------
Co-authored-by: Štěpán Mikéska <stepan@nesp.im>
* Fix README links in client, server
* Make all crates publishable: fill metadata, publish = true
* hostsfile: sync version, specify version when depending on it
* publicip: add innernet- prefix, sync version, depend on version
* shared: add innernet- prefix, depend on version
* wireguard-control: depend on version
* netlink-request: depend on version
* Update release script and documentation
* Update README to install using crates.io
We could also simplify release.sh, removing the last occurrence of `perl`.
* Update README.md
Co-authored-by: Matěj Laitl <matej@laitl.cz>
---------
Co-authored-by: Marek Bernat <mbernat@users.noreply.github.com>
* publicip: use quad9 resolver instead of cloudflare
* Add reference to Quad9 addresses
Co-authored-by: Jen Tak <jentak@hey.com>
* update comments and prompt text
---------
Co-authored-by: Jen Tak <jentak@hey.com>
* Fix clippy 1.83 warnings (elite lifetimes, use non_exhaustive)
* Use a newer version of libclang (#339)
---------
Co-authored-by: Brian Schwind <brianmschwind@gmail.com>
* hostsfile: Copy the SELinux context to the temp file before overwrite
On SELinux-enabled systems, /etc/hosts has a different type `net_conf_t`
than the other files in /etc, so the temporary file that overwrites it
ends up with the wrong context, resulting in many system services
becoming unable to access the file. To fix this, manually look up the
context /etc/hosts has and copy it to the temporary file before
the rename.
In order to avoid depending on libselinux on systems that don't use it,
this support is gated behind the new "selinux" feature. It *is*
installed and enabled in the Dockerfile, however, in order to ensure
that it still builds.
* Appease clippy
* Add info about selinux feature to README.md
* Remove unused ClientError struct
* Reformatted & repositioned and improved doc about selinux
---------
Co-authored-by: Brian Schwind <brianmschwind@gmail.com>
Co-authored-by: Jürgen Botz <jurgen@botz.org>
* Add a new client / server command to rename CIDR.
* Add a docker test case
* Apply suggestions from code review
Co-authored-by: Matěj Laitl <matej@laitl.cz>
Co-authored-by: Jake McGinty <me@jakebot.org>
---------
Co-authored-by: Matěj Laitl <matej@laitl.cz>
Co-authored-by: Jake McGinty <me@jakebot.org>
* Add CLI parameters for disable/enable peer
Fixestonarino/innernet#214.
* Formatting
* Remove redundant clones
* Require name for yes param
Yes param only makes sense if name is provided.
* Formatting
* Turn ChangeString into a PeerChange enum, don't print NAT traversal reattempt as a modification
* Remove the ChangeString type
* Fix a stupid copy-paste error
Since peer endpoints can be either IPv4 or IPv6, it doesn't make sense
to specify a default MTU that could only work with IPv4 based on only
the server's endpoint.
Setting to 1412 instead of 1420 in order to accomodate PPPoE peers,
which should fit most internet situations.