Univention Bugzilla – Attachment 4451 Details for
Bug 27395
Windows7 Client mit DNS gegen Zentrale joined gegen Samba4 DC Slave
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
s4_connector_srv_records.patch
s4_connector_srv_records.patch (text/plain), 5.80 KB, created by
Stefan Gohmann
on 2012-06-20 07:54:57 CEST
(
hide
)
Description:
s4_connector_srv_records.patch
Filename:
MIME Type:
Creator:
Stefan Gohmann
Created:
2012-06-20 07:54:57 CEST
Size:
5.80 KB
patch
obsolete
>Index: debian/univention-s4-connector.univention-config-registry-variables >=================================================================== >--- debian/univention-s4-connector.univention-config-registry-variables (Revision 33661) >+++ debian/univention-s4-connector.univention-config-registry-variables (Arbeitskopie) >@@ -124,6 +124,12 @@ > Type=str > Categories=service-adcon > >+[con.*/s4/mapping/dns/srv_record/.*/location] >+Description[de]=Eine statische Liste von SRV Einträgen, die immer an dem angegebenen SRV Record in Samba 4 gesetzt gesetzt werden soll, unabhängig von den SRV Einträgen in UCS, beispielsweise connector/s4/mapping/dns/srv/_ldap._tcp.test.local/location='100 0 389 foobar.test.local. 100 0 389 foobar2.test.local.' >+Description[en]=A static list of SRV locations, which should always be set at the specified SRV record in Samba 4 independent from the SRV locations in UCS, for example connector/s4/mapping/dns/srv/_ldap._tcp.test.local/location='100 0 389 foobar.test.local. 100 0 389 foobar2.test.local.' >+Type=str >+Categories=service-adcon >+ > [con.*/ldap/server] > Description[de]=Der Fully Qualified Domain Name des UCS LDAP Servers. Wenn der Wert nicht gesetzt ist, wird der DC Master verwendet. Dieser Wert sollte nur im write Modus angepasst werden. > Description[en]=The fully qualified domain name of the UCS LDAP server. If the value is not set, the DC master will be used. This value should only changed in write mode. >Index: modules/univention/s4connector/s4/dns.py >=================================================================== >--- modules/univention/s4connector/s4/dns.py (Revision 33661) >+++ modules/univention/s4connector/s4/dns.py (Arbeitskopie) >@@ -619,21 +619,28 @@ > # unpack the host record > srv=__unpack_sRVrecord(object) > >+ # ucr set connector/s4/mapping/dns/srv/_ldap._tcp.test.local/location='100 0 389 foobar.test.local. 100 0 389 foobar2.test.local.' >+ ucr_locations = s4connector.configRegistry.get('connector/s4/mapping/dns/srv_record/%s.%s/location' % (relativeDomainName[0],zoneName[0])) >+ ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: ucr_locations for connector/s4/mapping/dns/srv_record/%s.%s/location: %s' % (relativeDomainName,zoneName,ucr_locations)) >+ > # Does a host record for this zone already exist? > searchResult=s4connector.lo.search(filter='(&(relativeDomainName=%s)(zoneName=%s))' % (relativeDomainName, zoneName), unique=1) > if len(searchResult) > 0: > superordinate=s4connector_get_superordinate('dns/srv_record', s4connector.lo, searchResult[0][0]) > newRecord= univention.admin.handlers.dns.srv_record.object(None, s4connector.lo, position=None, dn=searchResult[0][0], superordinate=superordinate, attributes=[], update_zone=False) > newRecord.open() >- ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: location: %s' % newRecord['location']) >- ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: srv : %s' % srv) >- srv.sort() >- newRecord['location'].sort() >- if srv != newRecord['location']: >- newRecord['location']=srv >- newRecord.modify() >+ if ucr_locations: >+ ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: do not write SRV record back from S4 to UCS because location of SRV record have been overwritten by UCR') > else: >- ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: do not modify host record') >+ ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: location: %s' % newRecord['location']) >+ ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: srv : %s' % srv) >+ srv.sort() >+ newRecord['location'].sort() >+ if srv != newRecord['location']: >+ newRecord['location']=srv >+ newRecord.modify() >+ else: >+ ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: do not modify host record') > else: > zoneDN='zoneName=%s,%s' % (zoneName, s4connector.property['dns'].ucs_default_dn) > >@@ -653,7 +660,10 @@ > protocol=protocol[1:] > ud.debug(ud.LDAP, ud.INFO, 'SRV create: service="%s" protocol="%s"' % (service, protocol)) > newRecord['name']=[service, protocol] >- newRecord['location']=srv >+ if ucr_locations: >+ ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: do not write SRV record back from S4 to UCS because location of SRV record have been overwritten by UCR') >+ else: >+ newRecord['location']=srv > newRecord.create() > > >@@ -680,8 +690,33 @@ > > dnsRecords=[] > >- __pack_sRVrecord(object, dnsRecords) >+ zoneDn, zoneName=__create_default_s4_zone_dn(s4connector, object) > >+ relativeDomainName=object['attributes'].get('relativeDomainName') >+ relativeDomainName=univention.s4connector.s4.compatible_list(relativeDomainName) >+ >+ # ucr set connector/s4/mapping/dns/srv/_ldap._tcp.test.local/location='100 0 389 foobar.test.local.' >+ # ucr set connector/s4/mapping/dns/srv/_ldap._tcp.test.local/location='100 0 389 foobar.test.local. 100 0 389 foobar2.test.local.' >+ ucr_locations = s4connector.configRegistry.get('connector/s4/mapping/dns/srv_record/%s.%s/location' % (relativeDomainName[0],zoneName[0])) >+ ud.debug(ud.LDAP, ud.INFO, 'ucs_srv_record_create: ucr_locations for connector/s4/mapping/dns/srv_record/%s.%s/location: %s' % (relativeDomainName[0],zoneName[0],ucr_locations)) >+ if ucr_locations: >+ # Convert ucr variable >+ priority=None; weight=None; port=None; target=None >+ for v in ucr_locations.split(' '): >+ # Check explicit for None, because the int values may be 0 >+ if priority == None: priority=int(v) >+ elif weight == None: weight=int(v) >+ elif port == None: port=int(v) >+ elif not target: target=__remove_dot(v) >+ if priority != None and weight != None and port != None and target: >+ ud.debug(ud.LDAP, ud.INFO, 'priority=%d weight=%d port=%d target=%s' % (priority,weight,port,target)) >+ s=SRVRecord(target, port, priority, weight) >+ dnsRecords.append(ndr_pack(s)) >+ priority=None; weight=None; port=None; target=None >+ >+ else: >+ __pack_sRVrecord(object, dnsRecords) >+ > dnsNodeDn=s4_dns_node_base_create(s4connector, object, dnsRecords) > >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 27395
: 4451