summaryrefslogtreecommitdiffstats
path: root/dcop
diff options
context:
space:
mode:
Diffstat (limited to 'dcop')
-rw-r--r--dcop/KDE-ICE/Xtranssock.c5
-rw-r--r--dcop/dcopc.c4
-rw-r--r--dcop/dcopclient.cpp4
-rw-r--r--dcop/dcopserver_shutdown.c4
4 files changed, 14 insertions, 3 deletions
diff --git a/dcop/KDE-ICE/Xtranssock.c b/dcop/KDE-ICE/Xtranssock.c
index 100d218b1..7b14ca9ab 100644
--- a/dcop/KDE-ICE/Xtranssock.c
+++ b/dcop/KDE-ICE/Xtranssock.c
@@ -1444,6 +1444,7 @@ UnixHostReallyLocal (char *host)
{
char hostnamebuf[256];
+ char* xauthlocalname = getenv("XAUTHLOCALHOSTNAME");
TRANS(GetHostname) (hostnamebuf, sizeof (hostnamebuf));
@@ -1451,6 +1452,10 @@ UnixHostReallyLocal (char *host)
{
return (1);
}
+ else if(xauthlocalname && strcmp (xauthlocalname, host) == 0)
+ {
+ return (1);
+ }
else
{
/*
diff --git a/dcop/dcopc.c b/dcop/dcopc.c
index 39083d4f5..9667eb624 100644
--- a/dcop/dcopc.c
+++ b/dcop/dcopc.c
@@ -684,7 +684,9 @@ dcop_connect()
}
hostName[0] = '\0';
- if (gethostname(hostName, sizeof(hostName)))
+ if (getenv("XAUTHLOCALHOSTNAME"))
+ strlcpy(hostName, getenv("XAUTHLOCALHOSTNAME"),sizeof(hostName)-1);
+ else if (gethostname(hostName, sizeof(hostName)))
strcpy(hostName, "localhost");
else
hostName[sizeof(hostName)-1] = '\0';
diff --git a/dcop/dcopclient.cpp b/dcop/dcopclient.cpp
index e446801c9..8006ecd52 100644
--- a/dcop/dcopclient.cpp
+++ b/dcop/dcopclient.cpp
@@ -277,7 +277,9 @@ static TQCString dcopServerFile(const TQCString &hostname, bool old)
{
char hostName[256];
hostName[0] = '\0';
- if (gethostname(hostName, sizeof(hostName)))
+ if (getenv("XAUTHLOCALHOSTNAME"))
+ fName += getenv("XAUTHLOCALHOSTNAME");
+ else if (gethostname(hostName, sizeof(hostName)))
{
fName += "localhost";
}
diff --git a/dcop/dcopserver_shutdown.c b/dcop/dcopserver_shutdown.c
index 46a847660..fb25a86fa 100644
--- a/dcop/dcopserver_shutdown.c
+++ b/dcop/dcopserver_shutdown.c
@@ -95,7 +95,9 @@ static void getDCOPFile(char *dcop_file, char *dcop_file_old, int max_length)
strncat(dcop_file, "/.DCOPserver_", n);
n -= strlen("/.DCOPserver_");
- if (gethostname(dcop_file+strlen(dcop_file), n) != 0)
+ if (getenv("XAUTHLOCALHOSTNAME"))
+ strncat(dcop_file+strlen(dcop_file), getenv("XAUTHLOCALHOSTNAME"), n);
+ else if (gethostname(dcop_file+strlen(dcop_file), n) != 0)
{
perror("Error. Could not determine hostname: ");
dcop_file[0] = '\0';