-
Notifications
You must be signed in to change notification settings - Fork 1
/
firewall.py
35 lines (25 loc) · 1.13 KB
/
firewall.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python
from main import PKT_DIR_INCOMING, PKT_DIR_OUTGOING
# TODO: Feel free to import any Python standard moduless as necessary.
# (http://docs.python.org/2/library/)
# You must NOT use any 3rd-party libraries, though.
class Firewall:
def __init__(self, config, timer, iface_int, iface_ext):
self.timer = timer
self.iface_int = iface_int
self.iface_ext = iface_ext
# TODO: Load the firewall rules (from rule_filename) here.
print 'I am supposed to load rules from %s, but I am feeling lazy.' % \
config['rule']
# TODO: Load the GeoIP DB ('geoipdb.txt') as well.
# TODO: Also do some initialization if needed.
def handle_timer(self):
# TODO: For the timer feature, refer to bypass.py
pass
# @pkt_dir: either PKT_DIR_INCOMING or PKT_DIR_OUTGOING
# @pkt: the actual data of the IPv4 packet (including IP header)
def handle_packet(self, pkt_dir, pkt):
# TODO: Your main firewall code will be here.
pass
# TODO: You can add more methods as you want.
# TODO: You may want to add more classes/functions as well.