From 0a516080b58fccbe977b93c85554578bd99b0bb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Wed, 25 Jun 2025 20:56:53 +0200 Subject: Fix build of setNetworkNamespace with unix-2.7 --- src/Network/Ip.hs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Network/Ip.hs b/src/Network/Ip.hs index 3750793..69a6b43 100644 --- a/src/Network/Ip.hs +++ b/src/Network/Ip.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE CPP #-} + module Network.Ip ( IpPrefix(..), textIpNetwork, @@ -134,7 +136,11 @@ addNetworkNamespace netnsName = do setNetworkNamespace :: MonadIO m => NetworkNamespace -> m () setNetworkNamespace netns = liftIO $ do let path = "/var/run/netns/" <> T.unpack (textNetnsName netns) +#if MIN_VERSION_unix(2,8,0) open = openFd path ReadOnly defaultFileFlags { cloexec = True } +#else + open = openFd path ReadOnly Nothing defaultFileFlags +#endif res <- bracket open closeFd $ \(Fd fd) -> do c_setns fd c_CLONE_NEWNET when (res /= 0) $ do -- cgit v1.2.3