Commit e8ceccc3 authored by vieira's avatar vieira Committed by Brian May

Add support for PfSense

PfSense is based on FreeBSD and its pf is pretty close to the one
FreeBSD ships, however some structures have different fields and two
offsets had to be fixed.
parent e39c4afc
import os import os
import sys import sys
import platform
import re import re
import socket import socket
import struct import struct
...@@ -335,10 +336,20 @@ class Darwin(FreeBsd): ...@@ -335,10 +336,20 @@ class Darwin(FreeBsd):
return xport.port return xport.port
class PfSense(FreeBsd):
RULE_ACTION_OFFSET = 3040
def __init__(self):
self.pfioc_rule = c_char * 3112
super(PfSense, self).__init__()
if sys.platform == 'darwin': if sys.platform == 'darwin':
pf = Darwin() pf = Darwin()
elif sys.platform.startswith('openbsd'): elif sys.platform.startswith('openbsd'):
pf = OpenBsd() pf = OpenBsd()
elif platform.version().endswith('pfSense'):
pf = PfSense()
else: else:
pf = FreeBsd() pf = FreeBsd()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment