From a0f3abeaf168b563e9395138ba6c77f532e208e2 Mon Sep 17 00:00:00 2001 From: Sebastian Holmin Date: Fri, 19 Apr 2024 16:25:41 +0200 Subject: [PATCH] Fix broken lints in rustdocs I ran `cargo doc` and fixed as many broken links as I could find. --- mullvad-api/src/lib.rs | 4 ++-- mullvad-api/src/relay_list.rs | 2 +- mullvad-cli/src/cmds/api_access.rs | 8 ++++---- mullvad-cli/src/cmds/proxies.rs | 14 +++++++------- mullvad-daemon/src/api.rs | 7 ++++--- mullvad-daemon/src/lib.rs | 1 + mullvad-daemon/src/management_interface.rs | 6 +++--- mullvad-daemon/src/migrations/v1.rs | 2 +- mullvad-management-interface/src/client.rs | 9 +-------- .../src/types/conversions/access_method.rs | 4 ++-- mullvad-relay-selector/src/lib.rs | 9 ++++----- .../src/relay_selector/helpers.rs | 2 +- .../src/relay_selector/mod.rs | 16 +++++++++------- mullvad-types/src/access_method.rs | 10 +++++----- mullvad-types/src/constraints/mod.rs | 18 ++++++++++-------- mullvad-types/src/location.rs | 4 ++-- talpid-routing/src/lib.rs | 2 +- .../src/windows/default_route_monitor.rs | 2 +- talpid-routing/src/windows/mod.rs | 2 +- talpid-types/src/net/proxy.rs | 5 +---- talpid-wireguard/src/wireguard_nt/mod.rs | 14 +++++++------- 21 files changed, 68 insertions(+), 73 deletions(-) diff --git a/mullvad-api/src/lib.rs b/mullvad-api/src/lib.rs index c4d5665a0131..82cabddff0cc 100644 --- a/mullvad-api/src/lib.rs +++ b/mullvad-api/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(rustdoc::private_intra_doc_links)] #[cfg(target_os = "android")] use futures::channel::mpsc; use hyper::Method; @@ -279,8 +280,7 @@ impl ApiEndpoint { } /// Read the [`Self::address`] value, falling back to - /// [`Self::API_IP_DEFAULT`]:[`Self::API_PORT_DEFAULT`] as default if it - /// does not exist. + /// [`Self::API_IP_DEFAULT`] as default value if it does not exist. pub fn address(&self) -> SocketAddr { self.address.unwrap_or(SocketAddr::new( ApiEndpoint::API_IP_DEFAULT, diff --git a/mullvad-api/src/relay_list.rs b/mullvad-api/src/relay_list.rs index 73b387a8d8c0..6039abab6647 100644 --- a/mullvad-api/src/relay_list.rs +++ b/mullvad-api/src/relay_list.rs @@ -13,7 +13,7 @@ use std::{ time::Duration, }; -/// Fetches relay list from https://api.mullvad.net/app/v1/relays +/// Fetches relay list from #[derive(Clone)] pub struct RelayListProxy { handle: rest::MullvadRestHandle, diff --git a/mullvad-cli/src/cmds/api_access.rs b/mullvad-cli/src/cmds/api_access.rs index 6c4185078426..314ebf079571 100644 --- a/mullvad-cli/src/cmds/api_access.rs +++ b/mullvad-cli/src/cmds/api_access.rs @@ -340,7 +340,7 @@ pub struct EditCustomCommands { /// Which API access method to edit #[clap(flatten)] item: SelectItem, - /// Name of the API access method in the Mullvad client [All] + /// Name of the API access method in the Mullvad client \[All\] #[arg(long)] name: Option, /// Editing parameters @@ -350,7 +350,7 @@ pub struct EditCustomCommands { #[derive(Args, Debug, Clone)] pub struct EditParams { - /// Name of the API access method in the Mullvad client [All] + /// Name of the API access method in the Mullvad client \[All\] #[arg(long)] name: Option, #[clap(flatten)] @@ -406,7 +406,7 @@ mod conversions { } } -/// Pretty printing of [`ApiAccessMethod`]s +/// Pretty printing of [`AccessMethodSetting`]s mod pp { use crate::cmds::proxies::pp::CustomProxyFormatter; use mullvad_types::access_method::{AccessMethod, AccessMethodSetting}; @@ -418,7 +418,7 @@ mod pp { pub struct FormatterSettings { /// If the formatter should print the enabled status of an - /// [`AcessMethodSetting`] (*) next to its name. + /// [`AccessMethodSetting`] (*) next to its name. pub write_enabled: bool, } diff --git a/mullvad-cli/src/cmds/proxies.rs b/mullvad-cli/src/cmds/proxies.rs index b1fc2b6f3ae1..dbbb82afcc93 100644 --- a/mullvad-cli/src/cmds/proxies.rs +++ b/mullvad-cli/src/cmds/proxies.rs @@ -102,25 +102,25 @@ pub struct SocksAuthentication { #[derive(Args, Debug, Clone)] pub struct ProxyEditParams { - /// Username for authentication [Socks5 (Remote proxy)] + /// Username for authentication \[Socks5 (Remote proxy)\] #[arg(long)] pub username: Option, - /// Password for authentication [Socks5 (Remote proxy), Shadowsocks] + /// Password for authentication \[Socks5 (Remote proxy), Shadowsocks\] #[arg(long)] pub password: Option, - /// Cipher to use [Shadowsocks] + /// Cipher to use \[Shadowsocks\] #[arg(value_parser = SHADOWSOCKS_CIPHERS, long)] pub cipher: Option, - /// The IP of the remote proxy server [Socks5 (Local & Remote proxy), Shadowsocks] + /// The IP of the remote proxy server \[Socks5 (Local & Remote proxy), Shadowsocks\] #[arg(long)] pub ip: Option, - /// The port of the remote proxy server [Socks5 (Local & Remote proxy), Shadowsocks] + /// The port of the remote proxy server \[Socks5 (Local & Remote proxy), Shadowsocks\] #[arg(long)] pub port: Option, - /// The port that the server on localhost is listening on [Socks5 (Local proxy)] + /// The port that the server on localhost is listening on \[Socks5 (Local proxy)\] #[arg(long)] pub local_port: Option, - /// The transport protocol used by the remote proxy [Socks5 (Local proxy)] + /// The transport protocol used by the remote proxy \[Socks5 (Local proxy)\] #[arg(long)] pub transport_protocol: Option, } diff --git a/mullvad-daemon/src/api.rs b/mullvad-daemon/src/api.rs index f31b46d54855..1a427701e974 100644 --- a/mullvad-daemon/src/api.rs +++ b/mullvad-daemon/src/api.rs @@ -480,9 +480,10 @@ impl AccessModeSelector { } } None => { - // Current method was removed: A new access method will suddenly have the same index as the one - // we are removing, but we want it to still be a candidate. A minor - // hack to achieve this is to simply decrement the current index. + // Current method was removed: A new access method will suddenly have the same index + // as the one we are removing, but we want it to still be a + // candidate. A minor hack to achieve this is to simply decrement + // the current index. self.index = self.index.saturating_sub(1); self.next_connection_mode().await?; } diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index 875f797ec3d9..52df09e6d5b1 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -1,4 +1,5 @@ #![recursion_limit = "512"] +#![allow(rustdoc::private_intra_doc_links)] mod access_method; pub mod account_history; diff --git a/mullvad-daemon/src/management_interface.rs b/mullvad-daemon/src/management_interface.rs index 0699ab697eb3..2e7f04b1d98d 100644 --- a/mullvad-daemon/src/management_interface.rs +++ b/mullvad-daemon/src/management_interface.rs @@ -1094,7 +1094,7 @@ impl ManagementInterfaceEventBroadcaster { } } -/// Converts [`mullvad_daemon::Error`] into a tonic status. +/// Converts [`crate::Error`] into a tonic status. fn map_daemon_error(error: crate::Error) -> Status { use crate::Error as DaemonError; @@ -1150,7 +1150,7 @@ fn map_rest_error(error: &RestError) -> Status { } } -/// Converts an instance of [`mullvad_daemon::device::Error`] into a tonic status. +/// Converts an instance of [`crate::device::Error`] into a tonic status. fn map_device_error(error: &device::Error) -> Status { match error { device::Error::MaxDevicesReached => Status::new(Code::ResourceExhausted, error.to_string()), @@ -1168,7 +1168,7 @@ fn map_device_error(error: &device::Error) -> Status { } } -/// Converts an instance of [`mullvad_daemon::account_history::Error`] into a tonic status. +/// Converts an instance of [`crate::account_history::Error`] into a tonic status. fn map_account_history_error(error: account_history::Error) -> Status { match error { account_history::Error::Read(..) | account_history::Error::Write(..) => { diff --git a/mullvad-daemon/src/migrations/v1.rs b/mullvad-daemon/src/migrations/v1.rs index 4205f23ebf7e..b20f96488b21 100644 --- a/mullvad-daemon/src/migrations/v1.rs +++ b/mullvad-daemon/src/migrations/v1.rs @@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize}; // Section for vendoring types and values that // this settings version depend on. See `mod.rs`. -/// The tunnel protocol used by a [`TunnelEndpoint`]. +/// The tunnel protocol used by a [`TunnelEndpoint`][talpid_types::net::TunnelEndpoint]. #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)] #[serde(rename = "tunnel_type")] pub enum TunnelType { diff --git a/mullvad-management-interface/src/client.rs b/mullvad-management-interface/src/client.rs index 04304a19ec4d..35ffb57622a4 100644 --- a/mullvad-management-interface/src/client.rs +++ b/mullvad-management-interface/src/client.rs @@ -605,14 +605,7 @@ impl MullvadProxyClient { .map(drop) } - /// Set the [`AccessMethod`] which [`ApiConnectionModeProvider`] should - /// pick. - /// - /// - `access_method`: If `Some(access_method)`, [`ApiConnectionModeProvider`] will skip ahead - /// and return `access_method` when asked for a new access method. If `None`, - /// [`ApiConnectionModeProvider`] will pick the next access method "randomly" - /// - /// [`ApiConnectionModeProvider`]: mullvad_daemon::api::ApiConnectionModeProvider + /// Set the [`AccessMethod`] which `AccessModeSelector` should pick. pub async fn set_access_method(&mut self, api_access_method: access_method::Id) -> Result<()> { self.0 .set_api_access_method(types::Uuid::from(api_access_method)) diff --git a/mullvad-management-interface/src/types/conversions/access_method.rs b/mullvad-management-interface/src/types/conversions/access_method.rs index d9758a571c97..9f45957db6b8 100644 --- a/mullvad-management-interface/src/types/conversions/access_method.rs +++ b/mullvad-management-interface/src/types/conversions/access_method.rs @@ -52,8 +52,8 @@ mod settings { } } -/// Implements conversions for the auxilliary -/// [`crate::types::proto::ApiAccessMethod`] type to the internal +/// Implements conversions for the auxiliary +/// [`crate::types::proto::AccessMethodSetting`] type to the internal /// [`mullvad_types::access_method::AccessMethodSetting`] data type. mod data { use crate::types::{proto, FromProtobufTypeError}; diff --git a/mullvad-relay-selector/src/lib.rs b/mullvad-relay-selector/src/lib.rs index 73c709a844a7..09708a059eeb 100644 --- a/mullvad-relay-selector/src/lib.rs +++ b/mullvad-relay-selector/src/lib.rs @@ -1,6 +1,6 @@ //! When changing relay selection, please verify if `docs/relay-selector.md` needs to be //! updated as well. - +#![allow(rustdoc::private_intra_doc_links)] mod constants; mod error; #[cfg_attr(target_os = "android", allow(unused))] @@ -8,9 +8,8 @@ mod relay_selector; // Re-exports pub use error::Error; -pub use relay_selector::detailer; pub use relay_selector::{ - query, AdditionalRelayConstraints, AdditionalWireguardConstraints, GetRelay, RelaySelector, - RuntimeParameters, SelectedBridge, SelectedObfuscator, SelectorConfig, WireguardConfig, - RETRY_ORDER, + detailer, query, AdditionalRelayConstraints, AdditionalWireguardConstraints, GetRelay, + RelaySelector, RuntimeParameters, SelectedBridge, SelectedObfuscator, SelectorConfig, + WireguardConfig, RETRY_ORDER, }; diff --git a/mullvad-relay-selector/src/relay_selector/helpers.rs b/mullvad-relay-selector/src/relay_selector/helpers.rs index e27a73684519..48c79f05d132 100644 --- a/mullvad-relay-selector/src/relay_selector/helpers.rs +++ b/mullvad-relay-selector/src/relay_selector/helpers.rs @@ -11,7 +11,7 @@ use talpid_types::net::obfuscation::ObfuscatorConfig; use crate::SelectedObfuscator; -/// Picks a relay using [pick_random_relay_fn], using the `weight` member of each relay +/// Picks a relay using [pick_random_relay_weighted], using the `weight` member of each relay /// as the weight function. pub fn pick_random_relay(relays: &[Relay]) -> Option<&Relay> { pick_random_relay_weighted(relays, |relay| relay.weight) diff --git a/mullvad-relay-selector/src/relay_selector/mod.rs b/mullvad-relay-selector/src/relay_selector/mod.rs index 843eea9a204a..7f38281fc525 100644 --- a/mullvad-relay-selector/src/relay_selector/mod.rs +++ b/mullvad-relay-selector/src/relay_selector/mod.rs @@ -161,15 +161,17 @@ impl Default for RuntimeParameters { /// This enum exists to separate the two types of [`SelectorConfig`] that exists. /// /// The first one is a "regular" config, where [`SelectorConfig::relay_settings`] is -/// [`RelaySettings::Normal`]. This is the most common variant, and there exists a mapping from this -/// variant to [`RelayQueryBuilder`]. Being able to implement `From for -/// RelayQueryBuilder` was the main motivator for introducing these seemingly useless derivates of -/// [`SelectorConfig`]. +/// [`RelaySettings::Normal`]. This is the most common variant, and there exists a +/// mapping from this variant to [`RelayQueryBuilder`]. Being able to implement +/// `From for RelayQueryBuilder` was the main motivator for introducing these +/// seemingly useless derivates of [`SelectorConfig`]. /// /// The second one is a custom config, where [`SelectorConfig::relay_settings`] is -/// [`RelaySettings::Custom`]. For this variant, the endpoint where the client should connect to is -/// already specified inside of the variant, so in practice the relay selector becomes superfluous. -/// Also, there exists no mapping to [`RelayQueryBuilder`]. +/// [`RelaySettings::CustomTunnelEndpoint`]. For this variant, the endpoint where the client should +/// connect to is already specified inside of the variant, so in practice the relay selector becomes +/// superfluous. Also, there exists no mapping to [`RelayQueryBuilder`]. +/// +/// [`RelayQueryBuilder`]: query::builder::RelayQueryBuilder #[derive(Debug, Clone)] enum SpecializedSelectorConfig<'a> { // This variant implements `From for RelayQuery` diff --git a/mullvad-types/src/access_method.rs b/mullvad-types/src/access_method.rs index c42b099baeb5..2b375efb920e 100644 --- a/mullvad-types/src/access_method.rs +++ b/mullvad-types/src/access_method.rs @@ -28,7 +28,7 @@ impl Settings { self.custom.push(api_access_method) } - /// Remove an [`ApiAccessMethod`] from `api_access_methods`. + /// Remove an [`AccessMethod`] from `api_access_methods`. /// /// This function will return an error if a built-in API access is about to /// be removed. @@ -205,15 +205,15 @@ impl AccessMethodSetting { } } - /// Just like [`new`], [`with_id`] will create a new [`ApiAccessMethod`]. + /// Just like [`new`], [`with_id`] will create a new [`AccessMethodSetting`]. /// But instead of automatically generating a new UUID, the id is instead /// passed as an argument. /// - /// This is useful when converting to [`ApiAccessMethod`] from other data + /// This is useful when converting to [`AccessMethodSetting`] from other data /// representations, such as protobuf. /// - /// [`new`]: ApiAccessMethod::new - /// [`with_id`]: ApiAccessMethod::with_id + /// [`new`]: AccessMethodSetting::new + /// [`with_id`]: AccessMethodSetting::with_id pub fn with_id(id: Id, name: String, enabled: bool, access_method: AccessMethod) -> Self { Self { id, diff --git a/mullvad-types/src/constraints/mod.rs b/mullvad-types/src/constraints/mod.rs index 756066c447fa..493c0ea4d548 100644 --- a/mullvad-types/src/constraints/mod.rs +++ b/mullvad-types/src/constraints/mod.rs @@ -19,6 +19,8 @@ impl, U> Match for Constraint { } } +// NOTE: This docstring cannot link to `mullvad_relay_selector::relay_selector::query` and +// `RETRY_ORDER`as `mullvad_relay_selector` is not a dependency of this crate /// The intersection of two sets of criteria on [`Relay`](crate::relay_list::Relay)s is another /// criteria which matches the given relay iff both of the original criteria matched. It is /// primarily used by the relay selector to check whether a given connection method is compatible @@ -26,9 +28,10 @@ impl, U> Match for Constraint { /// /// # Examples /// -/// The [`Intersection`] implementation of [`RelayQuery`] upholds the following properties: +/// The [`Intersection`] implementation of +/// `mullvad_relay_selector::relay_selector::query::RelayQuery` upholds the following properties: /// -/// * If two [`RelayQuery`]s differ such that no relay matches both, [`Option::None`] is returned: +/// * If two `RelayQuery`s differ such that no relay matches both, [`Option::None`] is returned: /// ```rust, ignore /// # use mullvad_relay_selector::query::builder::RelayQueryBuilder; /// let query_a = RelayQueryBuilder::new().wireguard().build(); @@ -36,7 +39,7 @@ impl, U> Match for Constraint { /// assert_eq!(query_a.intersection(query_b), None); /// ``` /// -/// * Otherwise, a new [`RelayQuery`] is returned where each constraint is +/// * Otherwise, a new `RelayQuery` is returned where each constraint is /// as specific as possible. See [`Constraint`] for further details. /// ```rust, ignore /// let query_a = RelayQueryBuilder::new().wireguard().build(); @@ -47,11 +50,10 @@ impl, U> Match for Constraint { /// ``` /// /// This way, if the mullvad app wants to check if the user's relay settings -/// are compatible with any other [`RelayQuery`], for examples those defined by -/// [`RETRY_ORDER`] , taking the intersection between them will never result in +/// are compatible with any other `RelayQuery`, for examples those defined by +/// `RETRY_ORDER` , taking the intersection between them will never result in /// a situation where the app can override the user's preferences. /// -/// [`RETRY_ORDER`]: crate::RETRY_ORDER /// /// The macro recursively applies the intersection on each field of the struct and returns the /// resulting type or `None` if any of the intersections failed to overlap. @@ -62,7 +64,7 @@ impl, U> Match for Constraint { /// # Implementing [`Intersection`] /// /// For structs where each field already implements `Intersection`, the easiest way to implement the -/// trait is using the derive macro. Using the derive macro on [`RelayQuery`] +/// trait is using the derive macro. Using the derive macro on `RelayQuery` /// ```rust, ignore /// #[derive(Intersection)] /// struct RelayQuery { @@ -106,7 +108,7 @@ impl, U> Match for Constraint { /// For less trivial cases, the trait needs to be implemented manually. When doing so, make sure /// that the following properties are upheld: /// -/// - idempotency (if there is an identity element) +/// - idempotence (if there is an identity element) /// - commutativity /// - associativity pub trait Intersection: Sized { diff --git a/mullvad-types/src/location.rs b/mullvad-types/src/location.rs index ca2626c7d2db..3f76c5f74a46 100644 --- a/mullvad-types/src/location.rs +++ b/mullvad-types/src/location.rs @@ -63,7 +63,7 @@ impl Coordinates { /// back to spherical coordinates. This is approximate, because the semi-minor (polar) /// axis is assumed to equal the semi-major (equatorial) axis. /// - /// https://en.wikipedia.org/wiki/Spherical_coordinate_system#Cartesian_coordinates + /// pub fn midpoint(locations: &[Location]) -> Self { Self::midpoint_inner(locations.iter().map(Coordinates::from)) } @@ -110,7 +110,7 @@ fn haversine_dist_deg(lat: f64, lon: f64, other_lat: f64, other_lon: f64) -> f64 other_lon.to_radians(), ) } -/// Implemented as per https://en.wikipedia.org/wiki/Haversine_formula and https://rosettacode.org/wiki/Haversine_formula#Rust +/// Implemented as per and /// Takes input as radians, outputs kilometers. fn haversine_dist_rad(lat: f64, lon: f64, other_lat: f64, other_lon: f64) -> f64 { let d_lat = lat - other_lat; diff --git a/talpid-routing/src/lib.rs b/talpid-routing/src/lib.rs index 684f98a26212..0ba3eb1275ec 100644 --- a/talpid-routing/src/lib.rs +++ b/talpid-routing/src/lib.rs @@ -1,5 +1,5 @@ //! Manage routing tables on various platforms. - +#![allow(rustdoc::private_intra_doc_links)] #![deny(missing_docs)] use ipnetwork::IpNetwork; diff --git a/talpid-routing/src/windows/default_route_monitor.rs b/talpid-routing/src/windows/default_route_monitor.rs index 4e452ef31911..5f113beaf44c 100644 --- a/talpid-routing/src/windows/default_route_monitor.rs +++ b/talpid-routing/src/windows/default_route_monitor.rs @@ -112,7 +112,7 @@ pub struct DefaultRouteMonitor { } /// SAFETY: DefaultRouteMonitor is `Send` since `NotifyChangeHandle` is `Send` and -/// `ContextAndBurstGuard` is `Sync` as it holds Mutex and Arc> fields. +/// `ContextAndBurstGuard` is `Sync` as it holds `Mutex` and `Arc>` fields. unsafe impl Send for DefaultRouteMonitor {} impl Drop for DefaultRouteMonitor { diff --git a/talpid-routing/src/windows/mod.rs b/talpid-routing/src/windows/mod.rs index c158938ebdd2..2e8be7f7789c 100644 --- a/talpid-routing/src/windows/mod.rs +++ b/talpid-routing/src/windows/mod.rs @@ -165,7 +165,7 @@ impl RouteManagerHandle { _ = result_rx.await; } - /// Removes all routes previously applied in [`RouteManager::add_routes`]. + /// Removes all routes previously applied in [`RouteManagerInternal::add_routes`]. pub fn clear_routes(&self) -> Result<()> { self.tx .unbounded_send(RouteManagerCommand::ClearRoutes) diff --git a/talpid-types/src/net/proxy.rs b/talpid-types/src/net/proxy.rs index fc3333a69f8b..d60b2df436f6 100644 --- a/talpid-types/src/net/proxy.rs +++ b/talpid-types/src/net/proxy.rs @@ -87,10 +87,8 @@ impl From for CustomProxy { pub struct Shadowsocks { pub endpoint: SocketAddr, pub password: String, - /// One of [`shadowsocks_ciphers`]. + /// One of [`SHADOWSOCKS_CIPHERS`]. /// Gets validated at a later stage. Is assumed to be valid. - /// - /// shadowsocks_ciphers: talpid_types::net::openvpn::SHADOWSOCKS_CIPHERS pub cipher: String, } @@ -236,7 +234,6 @@ impl Socks5Remote { } /// List of ciphers usable by a Shadowsocks proxy. -/// Cf. [`ShadowsocksProxySettings::cipher`]. pub const SHADOWSOCKS_CIPHERS: [&str; 19] = [ // Stream ciphers. "aes-128-cfb", diff --git a/talpid-wireguard/src/wireguard_nt/mod.rs b/talpid-wireguard/src/wireguard_nt/mod.rs index 6acd6dc71070..b914164b2f08 100644 --- a/talpid-wireguard/src/wireguard_nt/mod.rs +++ b/talpid-wireguard/src/wireguard_nt/mod.rs @@ -183,7 +183,7 @@ pub struct WgNtTunnel { const WIREGUARD_KEY_LENGTH: usize = 32; -/// See `WIREGUARD_ALLOWED_IP` at https://git.zx2c4.com/wireguard-nt/tree/api/wireguard.h. +/// See `WIREGUARD_ALLOWED_IP` at . #[derive(Clone, Copy)] #[repr(C, align(8))] union WgIpAddr { @@ -216,7 +216,7 @@ impl From for WgIpAddr { } } -/// See `WIREGUARD_ALLOWED_IP` at https://git.zx2c4.com/wireguard-nt/tree/api/wireguard.h. +/// See `WIREGUARD_ALLOWED_IP` at . #[derive(Clone, Copy)] #[repr(C, align(8))] struct WgAllowedIp { @@ -309,7 +309,7 @@ impl fmt::Debug for WgAllowedIp { } bitflags! { - /// See `WIREGUARD_PEER_FLAG` at https://git.zx2c4.com/wireguard-nt/tree/api/wireguard.h. + /// See `WIREGUARD_PEER_FLAG` at . struct WgPeerFlag: u32 { const HAS_PUBLIC_KEY = 0b00000001; const HAS_PRESHARED_KEY = 0b00000010; @@ -322,7 +322,7 @@ bitflags! { } } -/// See `WIREGUARD_PEER` at https://git.zx2c4.com/wireguard-nt/tree/api/wireguard.h. +/// See `WIREGUARD_PEER` at . #[derive(Debug, Eq, PartialEq, Clone, Copy)] #[repr(C, align(8))] struct WgPeer { @@ -388,7 +388,7 @@ impl fmt::Debug for SockAddrInet { } bitflags! { - /// See `WIREGUARD_INTERFACE_FLAG` at https://git.zx2c4.com/wireguard-nt/tree/api/wireguard.h. + /// See `WIREGUARD_INTERFACE_FLAG` at . struct WgInterfaceFlag: u32 { const HAS_PUBLIC_KEY = 0b00000001; const HAS_PRIVATE_KEY = 0b00000010; @@ -397,7 +397,7 @@ bitflags! { } } -/// See `WIREGUARD_INTERFACE` at https://git.zx2c4.com/wireguard-nt/tree/api/wireguard.h. +/// See `WIREGUARD_INTERFACE` at . #[derive(Debug, Eq, PartialEq, Clone, Copy)] #[repr(C, align(8))] struct WgInterface { @@ -408,7 +408,7 @@ struct WgInterface { peers_count: u32, } -/// See `WIREGUARD_ADAPTER_LOG_STATE` at https://git.zx2c4.com/wireguard-nt/tree/api/wireguard.h. +/// See `WIREGUARD_ADAPTER_LOG_STATE` at . #[derive(Debug, Eq, PartialEq, Clone, Copy)] #[repr(C)] #[allow(dead_code)]