parent
8f3a5704d1
commit
af35fd94e6
|
@ -115,9 +115,9 @@ class MessagesProcessor(QtCore.QThread):
|
|||
def isAlive(self):
|
||||
return self.ipc is not None
|
||||
|
||||
def sendLogin(self, userName, language):
|
||||
def sendLogin(self, user_data):
|
||||
if self.ipc:
|
||||
self.ipc.sendLogin(userName, language)
|
||||
self.ipc.sendLogin(user_data)
|
||||
|
||||
def sendLogout(self, userName):
|
||||
if self.ipc:
|
||||
|
@ -221,7 +221,8 @@ class OGASystemTray(QtGui.QSystemTrayIcon):
|
|||
self.modules[:] = validMods # copy instead of assignment
|
||||
|
||||
# If this is running, it's because he have logged in, inform service of this fact
|
||||
self.ipc.sendLogin(operations.getCurrentUser(), operations.getSessionLanguage())
|
||||
self.ipc.sendLogin((operations.getCurrentUser(), operations.getSessionLanguage(),
|
||||
operations.get_session_type()))
|
||||
|
||||
def deinitialize(self):
|
||||
for mod in reversed(self.modules): # Deinitialize reversed of initialization
|
||||
|
|
|
@ -317,8 +317,8 @@ class ClientIPC(threading.Thread):
|
|||
msg = six.int2byte(msg) + six.int2byte(l & 0xFF) + six.int2byte(l >> 8) + data
|
||||
self.clientSocket.sendall(msg)
|
||||
|
||||
def sendLogin(self, username, language):
|
||||
self.sendRequestMessage(REQ_LOGIN, username+','+language)
|
||||
def sendLogin(self, user_data):
|
||||
self.sendRequestMessage(REQ_LOGIN, ','.join(user_data))
|
||||
|
||||
def sendLogout(self, username):
|
||||
self.sendRequestMessage(REQ_LOGOUT, username)
|
||||
|
|
|
@ -282,6 +282,14 @@ def getSessionLanguage():
|
|||
return locale.getdefaultlocale()[0]
|
||||
|
||||
|
||||
def get_session_type():
|
||||
"""
|
||||
Returns the user's session type (xrdp, wayland, x11, tty,...)
|
||||
:return: string
|
||||
"""
|
||||
return 'xrdp' if 'XRDP_SESSION' in os.environ else os.environ.get('XDG_SESSION_TYPE', 'unknown').lower()
|
||||
|
||||
|
||||
def showPopup(title, message):
|
||||
'''
|
||||
Displays a message box on user's session (during 1 min).
|
||||
|
|
|
@ -81,6 +81,7 @@ class OpenGnSysWorker(ServerWorker):
|
|||
interface = None # Bound interface for OpenGnsys
|
||||
REST = None # REST object
|
||||
logged_in = False # User session flag
|
||||
session_type = '' # User session type
|
||||
locked = {}
|
||||
random = None # Random string for secure connections
|
||||
length = 32 # Random string length
|
||||
|
@ -162,10 +163,11 @@ class OpenGnSysWorker(ServerWorker):
|
|||
"""
|
||||
Sends session login notification to OpenGnsys server
|
||||
"""
|
||||
user, sep, language = data.partition(',')
|
||||
logger.debug('Received login for {} with language {}'.format(user, language))
|
||||
user, language, self.session_type = tuple(data.split(','))
|
||||
logger.debug('Received login for {0} using {2} with language {1}'.format(user, language, self.session_type))
|
||||
self.logged_in = True
|
||||
self.REST.sendMessage('ogagent/loggedin', {'ip': self.interface.ip, 'user': user, 'language': language,
|
||||
'session': self.session_type,
|
||||
'ostype': operations.os_type, 'osversion': operations.os_version})
|
||||
|
||||
def onLogout(self, user):
|
||||
|
@ -213,7 +215,7 @@ class OpenGnSysWorker(ServerWorker):
|
|||
:param server:
|
||||
:return: JSON object {"status": "status_code", "loggedin": boolean}
|
||||
"""
|
||||
res = {'status': '', 'loggedin': self.logged_in}
|
||||
res = {'status': '', 'loggedin': self.logged_in, 'session': self.session_type}
|
||||
if platform.system() == 'Linux': # GNU/Linux
|
||||
# Check if it's OpenGnsys Client.
|
||||
if os.path.exists('/scripts/oginit'):
|
||||
|
|
|
@ -254,6 +254,14 @@ def getSessionLanguage():
|
|||
return locale.getdefaultlocale()[0]
|
||||
|
||||
|
||||
def get_session_type():
|
||||
"""
|
||||
returns the user's session type (Local session, RDP,...)
|
||||
:return: string
|
||||
"""
|
||||
return os.environ.get('SESSIONNAME').lower()
|
||||
|
||||
|
||||
def showPopup(title, message):
|
||||
'''
|
||||
Displays a message box on user's session (during 1 min).
|
||||
|
|
|
@ -57,13 +57,13 @@ except ImportError:
|
|||
|
||||
import os
|
||||
from distutils.core import setup
|
||||
|
||||
import py2exe
|
||||
import sys
|
||||
|
||||
# Reading version file:
|
||||
try:
|
||||
with open('VERSION', 'r') as v:
|
||||
VERSION = v.read().split()
|
||||
VERSION = v.read().rstrip()
|
||||
except IOError:
|
||||
VERSION = '1.1.0'
|
||||
|
||||
|
|
Loading…
Reference in New Issue