|
@@ -8,7 +8,7 @@ from flask.ext.migrate import Migrate, MigrateCommand
|
|
|
#from flask import session, request, url_for, redirect, render_template
|
|
|
|
|
|
import netaddr
|
|
|
-from netaddr import IPAddress
|
|
|
+from netaddr import IPAddress, IPSet
|
|
|
# Hack for python3
|
|
|
from netaddr.strategy.ipv4 import packed_to_int as unpack_v4
|
|
|
from netaddr.strategy.ipv6 import packed_to_int as unpack_v6
|
|
@@ -16,6 +16,8 @@ import socket
|
|
|
from datetime import datetime, timedelta
|
|
|
from uuid import uuid4
|
|
|
|
|
|
+DN42 = IPSet(['172.22.0.0/15', '172.31.0.0/16', '10.0.0.0/8'])
|
|
|
+
|
|
|
app = Flask(__name__)
|
|
|
app.config.from_pyfile('config.py')
|
|
|
db = SQLAlchemy(app)
|
|
@@ -52,6 +54,13 @@ def ipaddress_pp(addr):
|
|
|
except netaddr.AddrConversionError:
|
|
|
return a.ipv6()
|
|
|
|
|
|
+@app.template_filter()
|
|
|
+def not_dn42(addr):
|
|
|
+ """Filter the input address if it is part of dn42"""
|
|
|
+ a = IPAddress(addr)
|
|
|
+ if a in DN42:
|
|
|
+ return ""
|
|
|
+ return a
|
|
|
|
|
|
class Target(db.Model):
|
|
|
"""Target IP to ping"""
|