Fix selector of protocol for LSA RPC binding string

For Windows Server 2012R2 and others which force SMB2 protocol use
we have to specify right DCE RPC binding options.

For using SMB1 protocol we have to omit specifying SMB2 protocol and
anything else or otherwise SMB1 would be considered a pipe to connect
to. This is by design of a binding string format.

https://fedorahosted.org/freeipa/ticket/5183

Reviewed-By: Tomas Babej <tbabej@redhat.com>
This commit is contained in:
Alexander Bokovoy 2015-08-05 21:33:45 +03:00 committed by Tomas Babej
parent 7688bbcc33
commit ee377a20cd

View File

@ -864,8 +864,8 @@ class TrustDomainInstance(object):
We try NCACN_NP before NCACN_IP_TCP and use SMB2 before SMB1 or defaults.
"""
transports = (u'ncacn_np', u'ncacn_ip_tcp')
options = ( u'smb2', u'smb1', u'')
binding_template=lambda x,y,z: u'%s:%s[%s,print]' % (x, y, z)
options = ( u'smb2,print', u'print')
binding_template=lambda x,y,z: u'%s:%s[%s]' % (x, y, z)
return [binding_template(t, remote_host, o) for t in transports for o in options]
def retrieve_anonymously(self, remote_host, discover_srv=False, search_pdc=False):