2016-07-22 10:19:31 -05:00
|
|
|
# coding: utf-8
|
|
|
|
#
|
|
|
|
# Copyright (C) 2016 FreeIPA Contributors see COPYING for license
|
|
|
|
#
|
2016-07-26 06:53:29 -05:00
|
|
|
import six
|
2016-07-22 10:19:31 -05:00
|
|
|
|
|
|
|
from ipalib import api
|
|
|
|
|
2016-07-26 06:53:29 -05:00
|
|
|
|
|
|
|
def get_range_dn(name):
|
|
|
|
format_str = "cn={name},cn=ranges,cn=etc,{basedn}"
|
|
|
|
data = dict(name=name, basedn=api.env.basedn)
|
|
|
|
return format_str.format(**data)
|
|
|
|
|
|
|
|
|
|
|
|
def get_trust_dn(name):
|
|
|
|
format_str = "cn={name},cn=ad,cn=trusts,{basedn}"
|
|
|
|
data = dict(name=name, basedn=api.env.basedn)
|
|
|
|
return format_str.format(**data)
|
|
|
|
|
|
|
|
|
|
|
|
def encode_mockldap_value(value):
|
|
|
|
value = str(value)
|
|
|
|
if six.PY3:
|
|
|
|
return value.encode('utf-8')
|
|
|
|
else:
|
|
|
|
return value
|
|
|
|
|
|
|
|
|
|
|
|
def get_trusted_dom_range_dict(name, base_id, size, rangetype, base_rid, sid):
|
|
|
|
return dict(
|
|
|
|
objectClass=[b"ipaIDrange", b"ipatrustedaddomainrange"],
|
|
|
|
ipaBaseID=encode_mockldap_value("{base_id}".format(base_id=base_id)),
|
|
|
|
ipaBaseRID=encode_mockldap_value("{base_rid}".format(base_rid=base_rid)),
|
|
|
|
ipaIDRangeSize=encode_mockldap_value("{size}".format(size=size)),
|
|
|
|
ipaNTTrustedDomainSID=encode_mockldap_value("{sid}".format(sid=sid)),
|
|
|
|
ipaRangeType=encode_mockldap_value("{rangetype}".format(rangetype=rangetype)),
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
def get_trusted_dom_dict(name, sid):
|
|
|
|
return dict(
|
|
|
|
objectClass=[b"ipaNTTrustedDomain", b"ipaIDobject", b"top"],
|
|
|
|
ipaNTFlatName=encode_mockldap_value(name.split('.')[0].upper()),
|
|
|
|
ipaNTTrustedDomainSID=encode_mockldap_value(sid),
|
|
|
|
ipaNTSIDBlacklistIncoming=b'S-1-0',
|
|
|
|
ipaNTTrustPartner=encode_mockldap_value('{name}.mock'.format(name=name)),
|
|
|
|
ipaNTTrustType=b'2',
|
|
|
|
ipaNTTrustDirection=b'3',
|
|
|
|
ipaNTTrustAttributes=b'8',
|
|
|
|
)
|