From 08891037bc8980810637aa6c874b0597e0a90b08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=B8=D1=80=D0=B5=D1=86=D0=BA=D0=B8=D0=B9=20=D0=9C?= =?UTF-8?q?=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= Date: Thu, 15 Nov 2018 12:31:58 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=B0=D1=80=D0=BE=D0=BB=D1=8F=20SMB=20=D1=80?= =?UTF-8?q?=D0=B5=D1=81=D1=83=D1=80=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pym/client/client.py | 9 ++++++--- pym/client/utils/cl_client.py | 4 +++- pym/client/utils/cl_client_sync.py | 4 +++- pym/client/utils/cl_passwd.py | 4 +++- pym/client/wsdl_client.py | 5 +++++ 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/pym/client/client.py b/pym/client/client.py index 6405aae..8fb732f 100644 --- a/pym/client/client.py +++ b/pym/client/client.py @@ -32,7 +32,7 @@ from calculate.lib.utils.ip import Pinger, IPError from calculate.lib.utils.files import (getModeFile, removeDir, pathJoin, tarLinks, listDirectory, process, find, STDOUT, - sambaPasswordCheck, checkUtils) + checkUtils) from calculate.lib.utils.samba import Samba, SambaError from calculate.lib.utils.mount import isMount 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) 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) self.printERROR(_("Wrong password")) + samba = Samba() for pwdRemote in passwdQueue(): 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) return True return False diff --git a/pym/client/utils/cl_client.py b/pym/client/utils/cl_client.py index fffd7a9..00a490f 100644 --- a/pym/client/utils/cl_client.py +++ b/pym/client/utils/cl_client.py @@ -20,6 +20,7 @@ from calculate.lib.cl_lang import setLocalTranslate, getLazyLocalTranslate from calculate.lib.utils.files import FilesError from calculate.desktop.desktop import DesktopError from calculate.client.client import ClientError +from calculate.lib.utils.samba import SambaError from calculate.lib.cl_template import TemplatesError _ = 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 failedMessage = None diff --git a/pym/client/utils/cl_client_sync.py b/pym/client/utils/cl_client_sync.py index 88a348d..999a460 100644 --- a/pym/client/utils/cl_client_sync.py +++ b/pym/client/utils/cl_client_sync.py @@ -20,6 +20,7 @@ from calculate.core.server.func import Action, Tasks from calculate.lib.cl_lang import setLocalTranslate, getLazyLocalTranslate from calculate.lib.utils.files import FilesError from calculate.desktop.desktop import DesktopError +from calculate.lib.utils.samba import SambaError from calculate.client.client import ClientError from calculate.lib.cl_template import TemplatesError 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 failedMessage = None diff --git a/pym/client/utils/cl_passwd.py b/pym/client/utils/cl_passwd.py index 9d13693..bfc32bc 100644 --- a/pym/client/utils/cl_passwd.py +++ b/pym/client/utils/cl_passwd.py @@ -20,6 +20,7 @@ from calculate.lib.cl_lang import setLocalTranslate, getLazyLocalTranslate from calculate.lib.utils.files import FilesError from calculate.desktop.desktop import DesktopError from calculate.client.client import ClientError +from calculate.lib.utils.samba import SambaError from calculate.lib.cl_template import TemplatesError _ = 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" "This modification will be applied when " diff --git a/pym/client/wsdl_client.py b/pym/client/wsdl_client.py index 395b51b..536a09d 100644 --- a/pym/client/wsdl_client.py +++ b/pym/client/wsdl_client.py @@ -19,6 +19,7 @@ from calculate.lib.datavars import VariableError, DataVarsError from calculate.core.server.func import WsdlBase from calculate.desktop.desktop import DesktopError from client import ClientError +from calculate.lib.utils.samba import SambaError from utils.cl_client import ClClientAction from utils.cl_passwd import ClPasswdAction from utils.cl_client_sync import (ClClientSyncLoginAction, @@ -61,6 +62,7 @@ class Wsdl(WsdlBase): # объект переменных 'datavars': "client", 'native_error': (VariableError, DataVarsError, + SambaError, ClientError, DesktopError), # значения по умолчанию для переменных этого метода 'setvars': {'cl_action!': 'domain', @@ -105,6 +107,7 @@ class Wsdl(WsdlBase): # объект переменных 'datavars': "client", 'native_error': (VariableError, DataVarsError, + SambaError, ClientError, DesktopError), # значения по умолчанию для переменных этого метода 'setvars': {'cl_action!': 'login'}, @@ -139,6 +142,7 @@ class Wsdl(WsdlBase): # объект переменных 'datavars': "client", 'native_error': (VariableError, DataVarsError, + SambaError, ClientError, DesktopError), # значения по умолчанию для переменных этого метода 'setvars': {'cl_action!': 'logout'}, @@ -175,6 +179,7 @@ class Wsdl(WsdlBase): # объект переменных 'datavars': "client", 'native_error': (VariableError, DataVarsError, + SambaError, ClientError, DesktopError), # значения по умолчанию для переменных этого метода 'setvars': {'cl_action!': 'passwd'},