diff --git a/.hgtags b/.hgtags
index 57895358e655d1f119b1d07c461d8e8350a4e986..539dce9104fc22c4138a587ee268539ee044d8e2 100755
--- a/.hgtags
+++ b/.hgtags
@@ -377,12 +377,14 @@ ab0aa2f6ba22b52fed30a2337197f589156edc75 DRTVWR-253
 44e764a6ac9e672a4f3bce821a4b6a218590c374 DRTVWR-258
 c23d734065ed593b2413385aecd8366d8e0ee96b DRTVWR-257
 452ce96d4046dc05a3ecaecc203e2cc8ddd72e76 DRTVWR-259
+5cba5f39d0a81d659f24ebc4b5efd025a39e3db1 3.4.3-release
 9aa1aa9f1fe13c194695a0b8f0af298296241dc2 DRTVWR-260
 daca610d840625b5bebb966a57cb49581852c417 DRTVWR-265
 9afbdc4e24cc04feacfb2b7a10b78a64f780901a DRTVWR-266
 73280db02501f5ad041fc18b1eba68e73a81996c DRTVWR-267
 870e2d79e0063fda87187f17bbc2747766733194 3.4.3-beta3
-0a2ca6546b499239afeb66d17b2fadbcdbe36ab1 3.4.3-release
-84fbaf2d4141bd161731430e760949dc787ca206 DRTVWR-244
+18c5f76ac07937e0b64bb874edba0d60a28cec56 DRTVWR-244
 083d2d36b5bb1c54fc3dd7caac0e7ac381a9cef0 3.4.4-beta1
 391a8c74cec7275c5d26c85ad108d4782a3e3dd9 DRTVWR-268
+b634dec987c16e8c9c938e11e52591d9ead8fa9b DRTVWR-270
+cd39255bd23330fd30c04105f2811e941d8524fe 3.4.4-beta2
diff --git a/indra/mac_updater/MacUpdaterAppDelegate.mm b/indra/mac_updater/MacUpdaterAppDelegate.mm
index b6f95eef7e11c89e2eb133f63b5f77754cbaa066..4457419a94fb6e3e2c5471e33ca3abc9d35e459b 100644
--- a/indra/mac_updater/MacUpdaterAppDelegate.mm
+++ b/indra/mac_updater/MacUpdaterAppDelegate.mm
@@ -124,6 +124,29 @@ void sendProgress(int cur, int max, const std::string str)
     setProgressText(str);
 }
 
+bool mkTempDir(boost::filesystem::path& temp_dir)
+{    
+    NSString * tempDir = NSTemporaryDirectory();
+    if (tempDir == nil)
+        tempDir = @"/tmp/";
+
+    std::string* temp_str = NSToString(tempDir);
+    *temp_str += std::string("SecondLifeUpdate_XXXXXX");
+    
+    std::cout << "tempDir is " << temp_str << std::endl;
+    
+	char temp[PATH_MAX] = "";	/* Flawfinder: ignore */
+    strncpy(temp, temp_str->c_str(), temp_str->length());
+
+    if(mkdtemp(temp) == NULL)
+    {
+        return false;
+    }
+    
+    temp_dir = boost::filesystem::path(temp);
+    
+    return true;
+}
 bool copyDir(const std::string& src_dir, const std::string& dest_dir)
 {
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
diff --git a/indra/mac_updater/mac_updater.cpp b/indra/mac_updater/mac_updater.cpp
index fc9565d63d5093b2bc03ad7baae166c4027089fd..bc9fec355838e32a39456ee176ba9bab33f22921 100644
--- a/indra/mac_updater/mac_updater.cpp
+++ b/indra/mac_updater/mac_updater.cpp
@@ -494,20 +494,6 @@ bool LLMacUpdater::doInstall(const boost::filesystem::path& app_dir,
     return true;
 }
 
-bool mkTempDir(boost::filesystem::path& temp_dir)
-{    
-    char temp_str[PATH_MAX] = "/tmp/SecondLifeUpdate_XXXXXX";
-    
-    if(mkdtemp(temp_str) == NULL)
-    {
-        return false;
-    }
-    
-    temp_dir = boost::filesystem::path(temp_str);
-    
-    return true;
-}
-
 void* LLMacUpdater::updatethreadproc(void*)
 {
 	char tempDir[PATH_MAX] = "";		/* Flawfinder: ignore */