Michael Thomas 71ce1c3
--- cyphesis-0.5.15/server/CommUnixListener.cpp.orig	2008-04-09 09:42:04.000000000 -0700
Michael Thomas 71ce1c3
+++ cyphesis-0.5.15/server/CommUnixListener.cpp	2008-04-09 09:43:16.000000000 -0700
Michael Thomas 71ce1c3
@@ -91,7 +91,11 @@
Michael Thomas 71ce1c3
 /// will never be called in an instance of cyphesis already exists.
Michael Thomas 71ce1c3
 int CommUnixListener::setup(const std::string & name)
Michael Thomas 71ce1c3
 {
Michael Thomas 71ce1c3
-    m_path = var_directory + "/tmp/" + name;
Michael Thomas 71ce1c3
+    if (name[0] != '/') {
Michael Thomas 71ce1c3
+        m_path = var_directory + "/tmp/" + name;
Michael Thomas 71ce1c3
+    } else {
Michael Thomas 71ce1c3
+        m_path = name;
Michael Thomas 71ce1c3
+    }
Michael Thomas 71ce1c3
 
Michael Thomas 71ce1c3
     m_unixListener.open(m_path);
Michael Thomas 71ce1c3
     m_bound = m_unixListener.is_open();
Michael Thomas 71ce1c3
--- cyphesis-0.5.15/client/ClientConnection.cpp.orig	2008-04-09 09:41:19.000000000 -0700
Michael Thomas 71ce1c3
+++ cyphesis-0.5.15/client/ClientConnection.cpp	2008-04-09 12:57:43.000000000 -0700
Michael Thomas 71ce1c3
@@ -142,7 +142,11 @@
Michael Thomas 71ce1c3
     debug(std::cout << "Attempting local connect." << std::endl << std::flush;);
Michael Thomas 71ce1c3
     std::string socket;
Michael Thomas 71ce1c3
     if (sockname == "") {
Michael Thomas 71ce1c3
-        socket = var_directory + "/tmp/" + client_socket_name;
Michael Thomas 71ce1c3
+        if (client_socket_name[0] != '/') {
Michael Thomas 71ce1c3
+            socket = var_directory + "/tmp/" + client_socket_name;
Michael Thomas 71ce1c3
+        } else {
Michael Thomas 71ce1c3
+            socket = client_socket_name;
Michael Thomas 71ce1c3
+        }
Michael Thomas 71ce1c3
     } else if (sockname[0] != '/') {
Michael Thomas 71ce1c3
         socket = var_directory + "/tmp/" + sockname;
Michael Thomas 71ce1c3
     } else {