summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2016-09-02 17:39:01 +0200
committerDavid Kupka <dkupka@redhat.com>2016-09-07 16:22:03 +0200
commitb232ad463cf43596cdf397e51469df13a89e83fa (patch)
treeae9e45f450a29f9640babfb1152f17b6f61625be
parentf3d379071a9af50e38fcc07491bc68b8d3d172a4 (diff)
downloadfreeipa-b232ad463cf43596cdf397e51469df13a89e83fa.tar.gz
freeipa-b232ad463cf43596cdf397e51469df13a89e83fa.tar.xz
freeipa-b232ad463cf43596cdf397e51469df13a89e83fa.zip
Show warning when net/broadcast IP address is used in installer
https://fedorahosted.org/freeipa/ticket/5814 Reviewed-By: David Kupka <dkupka@redhat.com>
-rwxr-xr-xclient/ipa-client-install14
-rw-r--r--ipaserver/install/server/install.py14
-rw-r--r--ipaserver/install/server/replicainstall.py43
3 files changed, 71 insertions, 0 deletions
diff --git a/client/ipa-client-install b/client/ipa-client-install
index 4a263b3d0..6330f1d28 100755
--- a/client/ipa-client-install
+++ b/client/ipa-client-install
@@ -1651,6 +1651,20 @@ def update_dns(server, hostname, options):
root_logger.info("Failed to determine this machine's ip address(es).")
return
+ for ip in update_ips:
+ if ip.is_network_addr():
+ root_logger.warning("IP address %s might be network address", ip)
+ # fixme: once when loggers will be fixed, we can remove this print
+ print(
+ "WARNING: IP address {} might be network address".format(ip),
+ file=sys.stderr)
+ if ip.is_broadcast_addr():
+ root_logger.warning("IP address %s might be broadcast address", ip)
+ # fixme: once when loggers will be fixed, we can remove this print
+ print(
+ "WARNING: IP address {} might be broadcast address".format(ip),
+ file=sys.stderr)
+
update_txt = "debug\n"
update_txt += ipautil.template_str(DELETE_TEMPLATE_A,
dict(HOSTNAME=hostname))
diff --git a/ipaserver/install/server/install.py b/ipaserver/install/server/install.py
index 6644a6b31..2ef9bdb76 100644
--- a/ipaserver/install/server/install.py
+++ b/ipaserver/install/server/install.py
@@ -609,6 +609,20 @@ def install_check(installer):
not installer.interactive, False,
options.ip_addresses)
+ for ip in ip_addresses:
+ if ip.is_network_addr():
+ root_logger.warning("IP address %s might be network address", ip)
+ # fixme: once when loggers will be fixed, we can remove this print
+ print(
+ "WARNING: IP address {} might be network address".format(ip),
+ file=sys.stderr)
+ if ip.is_broadcast_addr():
+ root_logger.warning("IP address %s might be broadcast address", ip)
+ # fixme: once when loggers will be fixed, we can remove this print
+ print(
+ "WARNING: IP address {} might be broadcast address".format(ip),
+ file=sys.stderr)
+
# installer needs to update hosts file when DNS subsystem will be
# installed or custom addresses are used
if options.ip_addresses or options.setup_dns:
diff --git a/ipaserver/install/server/replicainstall.py b/ipaserver/install/server/replicainstall.py
index c73600cca..5edc0021b 100644
--- a/ipaserver/install/server/replicainstall.py
+++ b/ipaserver/install/server/replicainstall.py
@@ -13,6 +13,7 @@ import dns.reversename as dnsreversename
import os
import shutil
import socket
+import sys
import tempfile
import six
@@ -735,6 +736,28 @@ def install_check(installer):
config.host_name, not installer.interactive, False,
options.ip_addresses)
+ for ip in config.ips:
+ if ip.is_network_addr():
+ root_logger.warning(
+ "IP address %s might be network address", ip)
+ # fixme: once when loggers will be fixed, we can remove this
+ # print
+ print(
+ "WARNING: IP address {} might be network address".format(
+ ip),
+ file=sys.stderr
+ )
+ if ip.is_broadcast_addr():
+ root_logger.warning(
+ "IP address %s might be broadcast address", ip)
+ # fixme: once when loggers will be fixed, we can remove this
+ # print
+ print(
+ "WARNING: IP address {} might be broadcast address".format(
+ ip),
+ file=sys.stderr
+ )
+
except errors.ACIError:
raise ScriptError("\nThe password provided is incorrect for LDAP server "
"%s" % config.master_host_name)
@@ -1306,6 +1329,26 @@ def promote_check(installer):
config.host_name, not installer.interactive,
False, options.ip_addresses)
+ for ip in config.ips:
+ if ip.is_network_addr():
+ root_logger.warning(
+ "IP address %s might be network address", ip)
+ # fixme: once when loggers will be fixed, we can remove this
+ # print
+ print(
+ "WARNING: IP address {} might be network address".format(
+ ip), file=sys.stderr
+ )
+ if ip.is_broadcast_addr():
+ root_logger.warning(
+ "IP address %s might be broadcast address", ip)
+ # fixme: once when loggers will be fixed, we can remove this
+ # print
+ print(
+ "WARNING: IP address {} might be broadcast address".format(
+ ip), file=sys.stderr
+ )
+
except errors.ACIError:
raise ScriptError("\nInsufficient privileges to promote the server.")
except errors.LDAPError: