54c54 < from samba.dcerpc import nbt --- > #from samba.dcerpc import nbt 59c59,62 < from samba.dcerpc import drsuapi, lsa, security --- > #from samba.dcerpc import drsuapi, lsa, security > from samba.dcerpc import drsuapi, lsa, nbt > import samba.dcerpc.security > import samba.dcerpc.misc 1064c1067,1109 < self.drs, self.drsuapi_handle, bind_supported_extensions = drs_utils.drsuapi_connect(self.ad_ldap_host, lp, repl_creds) --- > # self.drs, self.drsuapi_handle, bind_supported_extensions = drs_utils.drsuapi_connect(self.ad_ldap_host, lp, repl_creds) > binding_options = "seal" > # self.drs, self.drsuapi_handle, bind_supported_extensions = drs_utils.drsuapi_connect(self.ad_ldap_host, lp, repl_creds) > ## Code from drs_utils.py adjusted to match repo_epoch of server > binding_string = "ncacn_ip_tcp:%s[%s]" % (self.ad_ldap_host, binding_options) > self.drs = drsuapi.drsuapi(binding_string, lp, repl_creds) > > bind_info = drsuapi.DsBindInfoCtr() > bind_info.length = 28 > bind_info.info = drsuapi.DsBindInfo28() > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_BASE > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 > bind_info.info.supported_extensions |= drsuapi.DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT > (info, self.drsuapi_handle) = self.drs.DsBind(samba.dcerpc.misc.GUID(drsuapi.DRSUAPI_DS_BIND_GUID), bind_info) > if info.info.repl_epoch != bind_info.info.repl_epoch: > ud.debug(ud.LDAP, ud.PROCESS, 'Adjusting to AD Replication Epoch: %s' % info.info.repl_epoch) > bind_info.info.repl_epoch = info.info.repl_epoch > (info, self.drsuapi_handle) = self.drs.DsBind(samba.dcerpc.misc.GUID(drsuapi.DRSUAPI_DS_BIND_GUID), bind_info) 1098c1143,1144 < handle = self.samr.Connect2(None, security.SEC_FLAG_MAXIMUM_ALLOWED) --- > # handle = self.samr.Connect2(None, security.SEC_FLAG_MAXIMUM_ALLOWED) > handle = self.samr.Connect2(None, samba.dcerpc.security.SEC_FLAG_MAXIMUM_ALLOWED) 1103c1149,1150 < self.dom_handle = self.samr.OpenDomain(handle, security.SEC_FLAG_MAXIMUM_ALLOWED, sid) --- > # self.dom_handle = self.samr.OpenDomain(handle, security.SEC_FLAG_MAXIMUM_ALLOWED, sid) > self.dom_handle = self.samr.OpenDomain(handle, samba.dcerpc.security.SEC_FLAG_MAXIMUM_ALLOWED, sid)