From 59c6d949611abd867bb9d3b6bf712f199a7f39d5 Mon Sep 17 00:00:00 2001
From: Kali Kaneko <kali@leap.se>
Date: Wed, 27 Mar 2013 03:56:57 +0900
Subject: fix osx prefixer and launcher

---
 src/leap/config/prefixers.py          |  2 +-
 src/leap/services/eip/vpnlaunchers.py | 25 ++++++++++++++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)

(limited to 'src')

diff --git a/src/leap/config/prefixers.py b/src/leap/config/prefixers.py
index 460e5b46..72211790 100644
--- a/src/leap/config/prefixers.py
+++ b/src/leap/config/prefixers.py
@@ -96,7 +96,7 @@ class DarwinPrefixer(Prefixer):
         config_dir = BaseDirectory.xdg_config_home
         if not standalone:
             return config_dir
-        return os.getenv("LEAP_CLIENT_PATH", config_dir)
+        return os.getenv(os.getcwd(), "config")
 
 
 class WindowsPrefixer(Prefixer):
diff --git a/src/leap/services/eip/vpnlaunchers.py b/src/leap/services/eip/vpnlaunchers.py
index 57a8092e..37c6256e 100644
--- a/src/leap/services/eip/vpnlaunchers.py
+++ b/src/leap/services/eip/vpnlaunchers.py
@@ -320,7 +320,15 @@ class DarwinVPNLauncher(VPNLauncher):
         leap_assert(socket_host, "We need a socket host!")
         leap_assert(socket_port, "We need a socket port!")
 
-        openvpn_possibilities = which(self.OPENVPN_BIN)
+        kwargs = {}
+        if ProviderConfig.standalone:
+            kwargs['path_extension'] = os.path.join(
+                providerconfig.get_path_prefix(),
+                "..", "apps", "eip")
+
+        openvpn_possibilities = which(
+            self.OPENVPN_BIN,
+            **kwargs)
         if len(openvpn_possibilities) == 0:
             raise OpenVPNNotFoundException()
 
@@ -391,6 +399,21 @@ class DarwinVPNLauncher(VPNLauncher):
 
         return [command] + cmd_args
 
+    def get_vpn_env(self, providerconfig):
+        """
+        Returns a dictionary with the custom env for the platform.
+        This is mainly used for setting LD_LIBRARY_PATH to the correct
+        path when distributing a standalone client
+
+        @param providerconfig: provider specific configuration
+        @type providerconfig: ProviderConfig
+
+        @rtype: dict
+        """
+        return {"LD_LIBRARY_PATH": os.path.join(
+                providerconfig.get_path_prefix(),
+                "..", "lib")}
+
 
 class WindowsVPNLauncher(VPNLauncher):
     """
-- 
cgit v1.2.3