mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2026-09-03 20:52:56 -05:00
Replace DNS client based on acutil with python-dns
IPA client and server tool set used authconfig acutil module to for client DNS operations. This is not optimal DNS interface for several reasons: - does not provide native Python object oriented interface but but rather C-like interface based on functions and structures which is not easy to use and extend - acutil is not meant to be used by third parties besides authconfig and thus can break without notice Replace the acutil with python-dns package which has a feature rich interface for dealing with all different aspects of DNS including DNSSEC. The main target of this patch is to replace all uses of acutil DNS library with a use python-dns. In most cases, even though the larger parts of the code are changed, the actual functionality is changed only in the following cases: - redundant DNS checks were removed from verify_fqdn function in installutils to make the whole DNS check simpler and less error-prone. Logging was improves for the remaining checks - improved logging for ipa-client-install DNS discovery https://fedorahosted.org/freeipa/ticket/2730 https://fedorahosted.org/freeipa/ticket/1837
This commit is contained in:
@@ -133,7 +133,7 @@ def config_ntp(server_fqdn, fstore = None, sysstore = None):
|
||||
# Restart ntpd
|
||||
ipaservices.knownservices.ntpd.restart()
|
||||
|
||||
def synconce_ntp(server_fqdn):
|
||||
def synconce_ntp(server_fqdn, debug=False):
|
||||
"""
|
||||
Syncs time with specified server using ntpdate.
|
||||
Primarily designed to be used before Kerberos setup
|
||||
@@ -142,15 +142,17 @@ def synconce_ntp(server_fqdn):
|
||||
Returns True if sync was successful
|
||||
"""
|
||||
ntpdate="/usr/sbin/ntpdate"
|
||||
result = False
|
||||
if os.path.exists(ntpdate):
|
||||
# retry several times -- logic follows /etc/init.d/ntpdate
|
||||
# implementation
|
||||
cmd = [ntpdate, "-U", "ntp", "-s", "-b"]
|
||||
if debug:
|
||||
cmd.append('-d')
|
||||
cmd.append(server_fqdn)
|
||||
for retry in range(0,3):
|
||||
try:
|
||||
ipautil.run([ntpdate, "-U", "ntp", "-s", "-b", server_fqdn])
|
||||
result = True
|
||||
break
|
||||
ipautil.run(cmd)
|
||||
return True
|
||||
except:
|
||||
pass
|
||||
return result
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user