mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 02:09:06 +00:00
fix: guard macos-ne feature with target_os = "macos" in cfg expressions (#1962)
All 13 occurrences of `any(target_os = "ios", feature = "macos-ne")` are replaced with `any(target_os = "ios", all(target_os = "macos", feature = "macos-ne"))`. Previously, enabling `macos-ne` on non-macOS platforms (e.g. `--all-features` on Linux) would incorrectly compile macOS/mobile-specific code paths, causing build failures or wrong runtime behavior. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -36,7 +36,10 @@ async fn set_bind_addr_for_peer_connector(
|
||||
) {
|
||||
if cfg!(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(
|
||||
target_os = "ios",
|
||||
all(target_os = "macos", feature = "macos-ne")
|
||||
),
|
||||
target_env = "ohos"
|
||||
)) {
|
||||
return;
|
||||
|
||||
@@ -539,7 +539,10 @@ impl<C: NatDstConnector> TcpProxy<C> {
|
||||
|| self.global_ctx.no_tun()
|
||||
|| cfg!(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(
|
||||
target_os = "ios",
|
||||
all(target_os = "macos", feature = "macos-ne")
|
||||
),
|
||||
target_env = "ohos"
|
||||
))
|
||||
{
|
||||
|
||||
@@ -115,7 +115,10 @@ impl IpProxy {
|
||||
tracing::error!("start icmp proxy failed: {:?}", e);
|
||||
if cfg!(not(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(
|
||||
target_os = "ios",
|
||||
all(target_os = "macos", feature = "macos-ne")
|
||||
),
|
||||
target_env = "ohos"
|
||||
))) {
|
||||
// android, ios and ohos not support icmp proxy
|
||||
@@ -805,7 +808,7 @@ impl Instance {
|
||||
#[cfg(all(
|
||||
not(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(target_os = "ios", all(target_os = "macos", feature = "macos-ne")),
|
||||
target_env = "ohos"
|
||||
)),
|
||||
feature = "tun"
|
||||
@@ -853,7 +856,7 @@ impl Instance {
|
||||
#[cfg(all(
|
||||
not(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(target_os = "ios", all(target_os = "macos", feature = "macos-ne")),
|
||||
target_env = "ohos"
|
||||
)),
|
||||
feature = "tun"
|
||||
@@ -947,7 +950,7 @@ impl Instance {
|
||||
|
||||
#[cfg(not(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(target_os = "ios", all(target_os = "macos", feature = "macos-ne")),
|
||||
target_env = "ohos"
|
||||
)))]
|
||||
if !self.global_ctx.config.get_flags().no_tun {
|
||||
@@ -1463,7 +1466,7 @@ impl Instance {
|
||||
|
||||
#[cfg(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(target_os = "ios", all(target_os = "macos", feature = "macos-ne")),
|
||||
target_env = "ohos"
|
||||
))]
|
||||
pub async fn setup_nic_ctx_for_mobile(
|
||||
|
||||
@@ -577,7 +577,7 @@ impl VirtualNic {
|
||||
|
||||
#[cfg(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(target_os = "ios", all(target_os = "macos", feature = "macos-ne")),
|
||||
target_env = "ohos"
|
||||
))]
|
||||
pub async fn create_dev_for_mobile(
|
||||
@@ -588,7 +588,7 @@ impl VirtualNic {
|
||||
let mut config = Configuration::default();
|
||||
config.layer(Layer::L3);
|
||||
|
||||
#[cfg(any(target_os = "ios", feature = "macos-ne"))]
|
||||
#[cfg(any(target_os = "ios", all(target_os = "macos", feature = "macos-ne")))]
|
||||
config.platform_config(|config| {
|
||||
// disable packet information so we can process the header by ourselves, see tun2 impl for more details
|
||||
config.packet_information(false);
|
||||
@@ -598,7 +598,10 @@ impl VirtualNic {
|
||||
config.close_fd_on_drop(false);
|
||||
config.up();
|
||||
|
||||
let has_packet_info = cfg!(any(target_os = "ios", feature = "macos-ne"));
|
||||
let has_packet_info = cfg!(any(
|
||||
target_os = "ios",
|
||||
all(target_os = "macos", feature = "macos-ne")
|
||||
));
|
||||
let dev = tun::create(&config)?;
|
||||
let dev = AsyncDevice::new(dev)?;
|
||||
let (a, b) = BiLock::new(dev);
|
||||
@@ -1174,7 +1177,7 @@ impl NicCtx {
|
||||
|
||||
#[cfg(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(target_os = "ios", all(target_os = "macos", feature = "macos-ne")),
|
||||
target_env = "ohos"
|
||||
))]
|
||||
pub async fn run_for_mobile(&mut self, tun_fd: std::os::fd::RawFd) -> Result<(), Error> {
|
||||
|
||||
@@ -95,7 +95,7 @@ impl EasyTierLauncher {
|
||||
|
||||
#[cfg(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(target_os = "ios", all(target_os = "macos", feature = "macos-ne")),
|
||||
target_env = "ohos"
|
||||
))]
|
||||
async fn run_routine_for_mobile(
|
||||
@@ -158,7 +158,7 @@ impl EasyTierLauncher {
|
||||
|
||||
#[cfg(any(
|
||||
target_os = "android",
|
||||
any(target_os = "ios", feature = "macos-ne"),
|
||||
any(target_os = "ios", all(target_os = "macos", feature = "macos-ne")),
|
||||
target_env = "ohos"
|
||||
))]
|
||||
Self::run_routine_for_mobile(&instance, &data, &mut tasks).await;
|
||||
|
||||
Reference in New Issue
Block a user