Исправлена проверка пароля SMB ресурса

legacy27 3.6.1.9
parent a3b86b4f91
commit 08891037bc

@ -32,7 +32,7 @@ from calculate.lib.utils.ip import Pinger, IPError
from calculate.lib.utils.files import (getModeFile, removeDir, from calculate.lib.utils.files import (getModeFile, removeDir,
pathJoin, tarLinks, pathJoin, tarLinks,
listDirectory, process, find, STDOUT, listDirectory, process, find, STDOUT,
sambaPasswordCheck, checkUtils) checkUtils)
from calculate.lib.utils.samba import Samba, SambaError from calculate.lib.utils.samba import Samba, SambaError
from calculate.lib.utils.mount import isMount from calculate.lib.utils.mount import isMount
from calculate.lib.utils.common import cmpVersion from calculate.lib.utils.common import cmpVersion
@ -1116,7 +1116,7 @@ class Client(commandServer, encrypt, Desktop):
self.printERROR(_("Samba server not found in %s") % domain) self.printERROR(_("Samba server not found in %s") % domain)
return False return False
def getDomainPassword(self, domain): def getDomainPassword(self, host):
""" """
Получить пароль для ввода в домен Получить пароль для ввода в домен
""" """
@ -1131,9 +1131,12 @@ class Client(commandServer, encrypt, Desktop):
_("Domain password for the desktop"), False) _("Domain password for the desktop"), False)
self.printERROR(_("Wrong password")) self.printERROR(_("Wrong password"))
samba = Samba()
for pwdRemote in passwdQueue(): for pwdRemote in passwdQueue():
pwdRemote = pwdRemote or "" pwdRemote = pwdRemote or ""
if sambaPasswordCheck("client", pwdRemote, domain, "remote"): domain = self.get_server_domainname(host)
if samba.password_check("client", pwdRemote, host, "remote",
domain):
self.clVars.Set('cl_remote_pw', pwdRemote) self.clVars.Set('cl_remote_pw', pwdRemote)
return True return True
return False return False

@ -20,6 +20,7 @@ from calculate.lib.cl_lang import setLocalTranslate, getLazyLocalTranslate
from calculate.lib.utils.files import FilesError from calculate.lib.utils.files import FilesError
from calculate.desktop.desktop import DesktopError from calculate.desktop.desktop import DesktopError
from calculate.client.client import ClientError from calculate.client.client import ClientError
from calculate.lib.utils.samba import SambaError
from calculate.lib.cl_template import TemplatesError from calculate.lib.cl_template import TemplatesError
_ = lambda x: x _ = lambda x: x
@ -32,7 +33,8 @@ class ClClientAction(Action):
Ввести машину в домен или вывести Ввести машину в домен или вывести
""" """
# ошибки, которые отображаются без подробностей # ошибки, которые отображаются без подробностей
native_error = (FilesError, ClientError, DesktopError, TemplatesError) native_error = (FilesError, ClientError, DesktopError, TemplatesError,
SambaError)
successMessage = None successMessage = None
failedMessage = None failedMessage = None

@ -20,6 +20,7 @@ from calculate.core.server.func import Action, Tasks
from calculate.lib.cl_lang import setLocalTranslate, getLazyLocalTranslate from calculate.lib.cl_lang import setLocalTranslate, getLazyLocalTranslate
from calculate.lib.utils.files import FilesError from calculate.lib.utils.files import FilesError
from calculate.desktop.desktop import DesktopError from calculate.desktop.desktop import DesktopError
from calculate.lib.utils.samba import SambaError
from calculate.client.client import ClientError from calculate.client.client import ClientError
from calculate.lib.cl_template import TemplatesError from calculate.lib.cl_template import TemplatesError
from calculate.lib.utils.mount import isMount from calculate.lib.utils.mount import isMount
@ -34,7 +35,8 @@ class ClClientSyncLoginAction(Action):
Синхронизировать локальный профиль с удаленным, подключить удаленные Синхронизировать локальный профиль с удаленным, подключить удаленные
ресурсы пользователя ресурсы пользователя
""" """
native_error = (FilesError, ClientError, DesktopError, TemplatesError) native_error = (FilesError, ClientError, DesktopError, TemplatesError,
SambaError)
successMessage = None successMessage = None
failedMessage = None failedMessage = None

@ -20,6 +20,7 @@ from calculate.lib.cl_lang import setLocalTranslate, getLazyLocalTranslate
from calculate.lib.utils.files import FilesError from calculate.lib.utils.files import FilesError
from calculate.desktop.desktop import DesktopError from calculate.desktop.desktop import DesktopError
from calculate.client.client import ClientError from calculate.client.client import ClientError
from calculate.lib.utils.samba import SambaError
from calculate.lib.cl_template import TemplatesError from calculate.lib.cl_template import TemplatesError
_ = lambda x: x _ = lambda x: x
@ -32,7 +33,8 @@ class ClPasswdAction(Action):
Изменить пароль доменного пользователя Изменить пароль доменного пользователя
""" """
# ошибки, которые отображаются без подробностей # ошибки, которые отображаются без подробностей
native_error = (FilesError, DesktopError, TemplatesError, ClientError) native_error = (FilesError, ClientError, DesktopError, TemplatesError,
SambaError)
successMessage = (__("{cl_client_login}'s password changed\n" successMessage = (__("{cl_client_login}'s password changed\n"
"This modification will be applied when " "This modification will be applied when "

@ -19,6 +19,7 @@ from calculate.lib.datavars import VariableError, DataVarsError
from calculate.core.server.func import WsdlBase from calculate.core.server.func import WsdlBase
from calculate.desktop.desktop import DesktopError from calculate.desktop.desktop import DesktopError
from client import ClientError from client import ClientError
from calculate.lib.utils.samba import SambaError
from utils.cl_client import ClClientAction from utils.cl_client import ClClientAction
from utils.cl_passwd import ClPasswdAction from utils.cl_passwd import ClPasswdAction
from utils.cl_client_sync import (ClClientSyncLoginAction, from utils.cl_client_sync import (ClClientSyncLoginAction,
@ -61,6 +62,7 @@ class Wsdl(WsdlBase):
# объект переменных # объект переменных
'datavars': "client", 'datavars': "client",
'native_error': (VariableError, DataVarsError, 'native_error': (VariableError, DataVarsError,
SambaError,
ClientError, DesktopError), ClientError, DesktopError),
# значения по умолчанию для переменных этого метода # значения по умолчанию для переменных этого метода
'setvars': {'cl_action!': 'domain', 'setvars': {'cl_action!': 'domain',
@ -105,6 +107,7 @@ class Wsdl(WsdlBase):
# объект переменных # объект переменных
'datavars': "client", 'datavars': "client",
'native_error': (VariableError, DataVarsError, 'native_error': (VariableError, DataVarsError,
SambaError,
ClientError, DesktopError), ClientError, DesktopError),
# значения по умолчанию для переменных этого метода # значения по умолчанию для переменных этого метода
'setvars': {'cl_action!': 'login'}, 'setvars': {'cl_action!': 'login'},
@ -139,6 +142,7 @@ class Wsdl(WsdlBase):
# объект переменных # объект переменных
'datavars': "client", 'datavars': "client",
'native_error': (VariableError, DataVarsError, 'native_error': (VariableError, DataVarsError,
SambaError,
ClientError, DesktopError), ClientError, DesktopError),
# значения по умолчанию для переменных этого метода # значения по умолчанию для переменных этого метода
'setvars': {'cl_action!': 'logout'}, 'setvars': {'cl_action!': 'logout'},
@ -175,6 +179,7 @@ class Wsdl(WsdlBase):
# объект переменных # объект переменных
'datavars': "client", 'datavars': "client",
'native_error': (VariableError, DataVarsError, 'native_error': (VariableError, DataVarsError,
SambaError,
ClientError, DesktopError), ClientError, DesktopError),
# значения по умолчанию для переменных этого метода # значения по умолчанию для переменных этого метода
'setvars': {'cl_action!': 'passwd'}, 'setvars': {'cl_action!': 'passwd'},

Loading…
Cancel
Save