else:
# otherwise connect via TCP
print(unixfile + " does not exist.");
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ if ':' in info[2]:
+ af = socket.AF_INET6
+ else:
+ af = socket.AF_INET
+ s = socket.socket(af, socket.SOCK_STREAM)
s.connect((info[2], int(info[4])))
self.sf = s.makefile()
def __init__(self, netname = None, pidfile = None):
if platform.system() == 'Windows':
+ sam = _winreg.KEY_READ
+ if platform.machine().endswith('64'):
+ sam = sam | _winreg.KEY_WOW64_64KEY
try:
reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE)
- key = _winreg.OpenKey(reg, "SOFTWARE\\tinc")
+ try:
+ key = _winreg.OpenKey(reg, "SOFTWARE\\tinc", 0, sam)
+ except WindowsError:
+ key = _winreg.OpenKey(reg, "SOFTWARE\\Wow6432Node\\tinc", 0, sam)
VPN.confdir = _winreg.QueryValue(key, None)
except WindowsError:
pass