Beginnings of a description of the CaptivePortal project from a software engineering perspective. === Feature Requirements === * Opensource (GPL) * Control access (authentication and authorization) * Authentication plugins * System (eg. passwd/shadow) * LDAP * Radius * Client side certs * Cross platfrom / Portable (perl) * Scalable to X (enterprise, service provider etc) * Per user bandwidth management rules * Independant of link layer security * Use of arbitrary protocols to access authentication server (eventually some may desire access without a browser) * Modular use of firewall tools (IP Tables, IP Filter etc) * Must provide unauthenticated access (guest access) * Capable of billing for usage (not the actual billing) * Audit trails for user access (especially when users log off) * Web based GUI administration ? * Allow for different priviledge levels for administrators * Internationalized (important to have in mind from day 1) these aren't directly related to the initial project but long term it needs to be able to: * deal with distributed monitoring (providing info and displaying info) * access point wireless statistics * client node wireless statistics * users logged in * run external commands on user login * modify ospf tables * configure ipsec tunnels This is not a valid Dataflow Definition from a software engineering standpoint, but it gets the idea across, I believe. {{http://www.shmoo.com/~gdead/CaptivePortal.jpg}} ---- [CategoryDocumentation]