1
0
mirror of https://github.com/gryf/wicd.git synced 2026-01-06 05:44:18 +01:00

Implemented basic IPv6 support -- needs HEAVY testing

This commit is contained in:
David Paleino
2012-05-06 17:52:39 +02:00
parent 11e8a96677
commit b6225c97d3
3 changed files with 53 additions and 16 deletions

View File

@@ -33,6 +33,7 @@ from subprocess import Popen, STDOUT, PIPE, call
from commands import getoutput
from itertools import repeat, chain, izip
from pipes import quote
import socket
from wicd.translations import _
@@ -173,15 +174,26 @@ def IsValidIP(ip):
""" Make sure an entered IP is valid. """
if not ip: return False
ipNumbers = ip.split('.')
if len(ipNumbers) < 4:
return False
for number in ipNumbers:
if not number.isdigit() or int(number) > 255:
if not IsValidIPv4(ip):
if not IsValidIPv6(ip):
return False
return True
return ipNumbers
def IsValidIPv4(ip):
''' Make sure an entered IP is a valid IPv4. '''
try:
socket.inet_pton(socket.AF_INET, ip)
except (TypeError, socket.error):
return False
return True
def IsValidIPv6(ip):
''' Make sure an entered IP is a valid IPv6. '''
try:
socket.inet_pton(socket.AF_INET6, ip)
except (TypeError, socket.error):
return False
return True
def PromptToStartDaemon():
""" Prompt the user to start the daemon """