Let the GUI use UNIX sockets if available.
This commit is contained in:
parent
a8b52becbb
commit
26eca51650
1 changed files with 19 additions and 2 deletions
21
gui/tinc-gui
21
gui/tinc-gui
|
@ -111,11 +111,28 @@ class VPN:
|
||||||
piddir = '/var/run/'
|
piddir = '/var/run/'
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
|
# read the pidfile
|
||||||
f = open(self.pidfile)
|
f = open(self.pidfile)
|
||||||
info = string.split(f.readline())
|
info = string.split(f.readline())
|
||||||
f.close()
|
f.close()
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
||||||
s.connect((info[2], int(info[4])))
|
# check if there is a UNIX socket as well
|
||||||
|
if self.pidfile.endswith(".pid"):
|
||||||
|
unixfile = self.pidfile.replace(".pid", ".socket");
|
||||||
|
else:
|
||||||
|
unixfile = self.pidfile + ".socket";
|
||||||
|
|
||||||
|
if os.path.exists(unixfile):
|
||||||
|
# use it if it exists
|
||||||
|
print(unixfile + " exists!");
|
||||||
|
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||||
|
s.connect(unixfile)
|
||||||
|
else:
|
||||||
|
# otherwise connect via TCP
|
||||||
|
print(unixfile + " does not exist.");
|
||||||
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
s.connect((info[2], int(info[4])))
|
||||||
|
|
||||||
self.sf = s.makefile()
|
self.sf = s.makefile()
|
||||||
s.close()
|
s.close()
|
||||||
hello = string.split(self.sf.readline())
|
hello = string.split(self.sf.readline())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue