Việc xây dựng các hàm kiểm tra đóng một vai trò rất quan trọng trong quá trình thiết kế công cụ PFSenseMan. Các hàm kiểm tra giúp cho quá trình thay đổi tệp cấu hình đảm bảo tính toàn vẹn về dữ liệu, đáp ứng yêu cầu kết quả đầu ra là một tệp cấu hình đƣợc hệ thống PFSense chấp nhận, không có xung đột gây ra lỗi trên hệ thống. Ngoài ra còn một số hàm kiểm tra nhằm mở rộng khả năng quản lý mà PFSense trƣớc đó không cung cấp nhƣ việc chấp nhận từ hai địa chỉ MAC có chung một địa chỉ IP gây ra lỗi xung đột đối với ngƣời sử dụng.
Hàm kiểm tra địa chỉ ip có tồn tại trong VLAN
privatebool CheckExistIp(int iZone, string sIp)
Kết quả
True: Nếu địa chỉ Ip đã tồn trong VLAN
False: Nếu địa chỉ Ip không nằm trong VLAN
Nếu địa chỉ Ip đã tồn tại trong VLAN, chƣơng trình hiển thị giao diện và thông báo cho ngƣời sử dụng
Hàm kiểm tra địa chỉ MAC có đúng định dạng
privatebool CheckTypeMac(string sMac)
Kết quả
True: Nếu địa chỉ MAC đúng định dạng
False: Nếu địa chỉ MAC không đúng định dạng
Nếu địa chỉ MAC không đúng địnhg dạng, chƣơng trình hiển thị giao diện và thông báo cho ngƣời sử dụng
Hàm kiểm tra địa chỉ MAC có tồn tại trong VLAN
privatebool CheckExistMac(int iZone, string sMac)
Kết quả
True: Nếu địa chỉ MAC đã tồn tại trong VLAN
False: Nếu địa chỉ MAC không tồn tại trong VLAN
Nếu địa chỉ MAC không tồn tại trong vùng, chƣơng trình hiển thị giao diện và thông báo cho ngƣời sử dụng
privatebool CheckIpOnZone(int iZone, string sIp)
Kết quả
True: Nếu địa chỉ Ip thỏa mãn điều kiện của VLAN
False: Nếu địa chỉ Ip không thỏa mãn điều kiện của VLAN
Nếu địa chỉ Ip không thỏa mãn điều kiện, chƣơng trình hiển thị giao diện và thông báo cho ngƣời sử dụng
3.5Xây dựng các bản mẫu (Templates) chung
Do đặc điểm của hệ thống PFSense ở mỗi phiên bản khác nhau thì các thẻ trong tệp cấu hình XML khác nhau cả về số lƣợng và tên. Do vậy việc xây dựng các Templates nhằm mục đích tạo các mẫu sao cho công cụ dễ dàng chuyển đổi phù hợp với từng phiên bản khác nhau của PFSense, làm cơ sở xây dựng cho công cụ PFSenseMan khả năng thêm, sửa, xóa theo mớ.
Ví dụ về thẻ <LAN>: là VLAN ID mặc định của hệ thống PFSense khi cài đặt mới, đó là một thẻ quan trọng để thông qua đó ngƣời quản trị cấu hình hệ thống truy cập vào PFSense từ máy tính khác qua giao diện GUI của PFSense. Cấu trúc của thẻ <LAN> nhƣ trong Hình 3.4