// VpnCloud - Peer-to-Peer VPN // Copyright (C) 2015-2021 Dennis Schwerdel // This software is licensed under GPL-3 or newer (see LICENSE.md) #[cfg(feature = "nat")] mod internal { use std::{io, net::SocketAddrV4}; use igd::{search_gateway, AddAnyPortError, AddPortError, Gateway, PortMappingProtocol, SearchError}; use crate::util::{get_internal_ip, SystemTimeSource, Time, TimeSource}; const LEASE_TIME: u32 = 1800; const DESCRIPTION: &str = "VpnCloud"; pub struct PortForwarding { pub internal_addr: SocketAddrV4, pub external_addr: SocketAddrV4, gateway: Gateway, pub next_extension: Option