Example #1
0
def prefix(tokeniser):
    # XXX: could raise
    ip = tokeniser()
    try:
        ip, mask = ip.split('/')
    except ValueError:
        mask = '32'

    tokeniser.afi = IP.toafi(ip)
    return IPRange.create(ip, mask)
Example #2
0
def prefix (tokeniser):
	# XXX: could raise
	ip = tokeniser()
	try:
		ip,mask = ip.split('/')
	except ValueError:
		mask = '32'
		if ':' in ip:
			mask = '128'

	tokeniser.afi = IP.toafi(ip)
	return IPRange.create(ip,mask)
Example #3
0
def peer_ip(tokeniser):
    if not tokeniser.tokens:
        raise ValueError('an ip address is required')

    value = tokeniser()
    if '/' in value:
        value, mask = value.split('/', 1)
    else:
        # XXX: This only works as no port are allowed, improve
        mask = '128' if ':' in value else '32'

    try:
        return IPRange.create(value, mask)
    except (IndexError, ValueError, socket.error):
        raise ValueError('"%s" is an invalid IP address' % value)
Example #4
0
def peer_ip (tokeniser):
	if not tokeniser.tokens:
		raise ValueError('an ip address is required')

	value = tokeniser()
	if '/' in value:
		value,mask = value.split('/',1)
	else:
		# XXX: This only works as no port are allowed, improve
		mask = '128' if ':' in value else '32'

	try:
		return IPRange.create(value,mask)
	except (IndexError,ValueError,socket.error):
		raise ValueError('"%s" is an invalid IP address' % value)
Example #5
0
def prefix(tokeniser):
    # XXX: could raise
    ip = tokeniser()
    try:
        ip, mask = ip.split('/')
    except ValueError:
        mask = '32'
        if ':' in ip:
            mask = '128'

    tokeniser.afi = IP.toafi(ip)
    iprange = IPRange.create(ip, mask)

    if iprange.address() & iprange.mask.hostmask() != 0:
        raise ValueError('invalid network %s for netmask %s' % (ip, mask))

    return iprange