From a26718fb87ab76f9ab01f6ffd6b6d987b8b11e0b Mon Sep 17 00:00:00 2001 From: florian Date: Sat, 26 Aug 2006 07:45:45 +0000 Subject: [PATCH] Port wifidog to -ng git-svn-id: svn://svn.openwrt.org/openwrt/packages@4676 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- net/wifidog/Makefile | 68 ++++++++++++++++ net/wifidog/files/wifidog.conf | 177 +++++++++++++++++++++++++++++++++++++++++ net/wifidog/files/wifidog.init | 3 + 3 files changed, 248 insertions(+) create mode 100644 net/wifidog/Makefile create mode 100644 net/wifidog/files/wifidog.conf create mode 100644 net/wifidog/files/wifidog.init diff --git a/net/wifidog/Makefile b/net/wifidog/Makefile new file mode 100644 index 000000000..716f66d8f --- /dev/null +++ b/net/wifidog/Makefile @@ -0,0 +1,68 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# $Id$ + +include $(TOPDIR)/rules.mk + +PKG_NAME:=wifidog +PKG_VERSION:=1.1.3_beta2 +PKG_RELEASE:=1 +PKG_MD5SUM:=ba1611c7eb959f9c6f93e12b97d70b82 + +PKG_SOURCE_URL:= @SF/$(PKG_NAME) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_CAT:=zcat + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install + +include $(INCLUDE_DIR)/package.mk + +define Package/wifidog + SECTION:=net + CATEGORY:=Network + DEPENDS:=+iptables-mod-extra + TITLE:=A wireless captive portal solution + DESCRIPTION:=The Wifidog project is a complete and embeddable captive + portal solution for wireless community groups or individuals\\\ + who wish to open a free Hotspot while still preventing abuse\\\ + of their Internet connection.\\\ + URL:=http://www.wifidog.org +endef + +define Package/wifidog/conffiles +/etc/wifidog.conf +endef + +define Build/Configure +$(call Build/Configure/Default,,ac_cv_func_malloc_0_nonnull=yes \ + ac_cv_func_memcmp_working=yes \ + ac_cv_func_setvbuf_reversed=no) +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + $(TARGET_CONFIGURE_OPTS) + mkdir -p $(PKG_INSTALL_DIR) + $(MAKE) -C $(PKG_BUILD_DIR) \ + DESTDIR="$(PKG_INSTALL_DIR)" \ + install +endef + +define Package/wifidog/install + install -m0755 -d $(1)/etc/init.d + install -m0755 ./files/$(PKG_NAME).init $(1)/etc/init.d/S65wifidog + install -m0644 ./files/wifidog.conf $(1)/etc/ + install -m0755 -d $(1)/usr/bin + install -m0755 -d $(1)/usr/lib + install -m0755 $(PKG_BUILD_DIR)/scripts/init.d/wifidog $(1)/usr/bin/wifidog-init + $(CP) $(PKG_INSTALL_DIR)/usr/bin/wifidog $(1)/usr/bin/ + $(CP) $(PKG_INSTALL_DIR)/usr/bin/wdctl $(1)/usr/bin/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhttpd.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,wifidog)) diff --git a/net/wifidog/files/wifidog.conf b/net/wifidog/files/wifidog.conf new file mode 100644 index 000000000..10b173a9a --- /dev/null +++ b/net/wifidog/files/wifidog.conf @@ -0,0 +1,177 @@ +# $Header$ +# WiFiDog Configuration file + +# Parameter: GatewayID +# Default: default +# Optional but essential for monitoring purposes +# +# Set this to the template ID on the auth server +# this is used to give a customized login page to the clients +# If none is supplied, the default login page will be used. + +GatewayID default + +# Parameter: ExternalInterface +# Default: NONE +# Optional +# +# Set this to the external interface. Typically vlan1 for OpenWrt, and eth0 or ppp0 otherwise + +# ExternalInterface eth0 + +# Parameter: GatewayInterface +# Default: NONE +# Mandatory +# +# Set this to the internal interface. Typically br0 for OpenWrt, and eth1 otherwise + +GatewayInterface br0 + +# Parameter: GatewayAddress +# Default: Find it from GatewayInterface +# Optional +# +# Set this to the internal IP address of the gateway + +# GatewayAddress 192.168.1.1 + +# Parameter: AuthServMaxTries +# Default: 1 +# Optional +# +# Sets the number of auth servers the gateway will attempt to contact when a request fails. +# this number should be equal to the number of AuthServer lines in this +# configuration but it should probably not exceed 3. + +# AuthServMaxTries 3 + +# Parameter: AuthServer +# Default: NONE +# Mandatory +# +# Set this to the hostname or IP of your auth server, the path where +# WiFiDog-auth resides and optionally as a second argument, the port it +# listens on. +#AuthServer { +# Hostname (Mandatory; Default: NONE) +# SSLAvailable (Optional; Default: no; Possible values: yes, no) +# SSLPort 443 (Optional; Default: 443) +# HTTPPort 80 (Optional; Default: 80) +# Path wifidog/ (Optional; Default: /wifidog/ Note: The path must be both prefixed and suffixed by /. Use a single / for server root.) +#} + +#AuthServer { +# Hostname auth.ilesansfil.org +# SSLAvailable yes +# Path / +#} + +#AuthServer { +# Hostname auth2.ilesansfil.org +# SSLAvailable yes +# Path / +#} + +#AuthServer { +# Hostname auth3.ilesansfil.org +# SSLAvailable yes +# Path / +#} + +# Parameter: Daemon +# Default: 1 +# Optional +# +# Set this to true if you want to run as a daemon +# Daemon 1 + +# Parameter: GatewayPort +# Default: 2060 +# Optional +# +# Listen on this port +# GatewayPort 2060 + +# Parameter: HTTPDName +# Default: WiFiDog +# Optional +# +# Define what name the HTTPD server will respond +# HTTPDName WiFiDog + +# Parameter: HTTPDMaxConn +# Default: 10 +# Optional +# +# How many sockets to listen to +# HTTPDMaxConn 10 + +# Parameter: CheckInterval +# Default: 60 +# Optional +# +# How many seconds should we wait between timeout checks +CheckInterval 60 + +# Parameter: ClientTimeout +# Default: 5 +# Optional +# +# Set this to the desired of number of CheckInterval of inactivity before a client is logged out +# The timeout will be INTERVAL * TIMEOUT +ClientTimeout 5 + +# Parameter: FirewallRuleSet +# Default: none +# Mandatory +# +# Groups a number of FirewallRule statements together. + +# Parameter: FirewallRule +# Default: none +# +# Define one firewall rule in a rule set. + +# Rule Set: global +# +# Used for rules to be applied to all other rulesets except locked. +# This is the default config for the Teliphone service. +FirewallRuleSet global { + FirewallRule allow udp to 69.90.89.192/27 + FirewallRule allow udp to 69.90.85.0/27 + FirewallRule allow tcp port 80 to 69.90.89.205 +} + +# Rule Set: validating-users +# +# Used for new users validating their account +FirewallRuleSet validating-users { + FirewallRule block tcp port 25 + FirewallRule allow to 0.0.0.0/0 +} + +# Rule Set: known-users +# +# Used for normal validated users. +FirewallRuleSet known-users { + FirewallRule allow to 0.0.0.0/0 +} + +# Rule Set: unknown-users +# +# Used for unvalidated users, this is the ruleset that gets redirected. +# +# XXX The redirect code adds the Default DROP clause. +FirewallRuleSet unknown-users { + FirewallRule allow udp port 53 + FirewallRule allow tcp port 53 + FirewallRule allow udp port 67 + FirewallRule allow tcp port 67 +} + +# Rule Set: locked-users +# +# Used for users that have been locked out. +FirewallRuleSet locked-users { + FirewallRule block to 0.0.0.0/0 +} diff --git a/net/wifidog/files/wifidog.init b/net/wifidog/files/wifidog.init new file mode 100644 index 000000000..03e2ea221 --- /dev/null +++ b/net/wifidog/files/wifidog.init @@ -0,0 +1,3 @@ +#!/bin/sh +/usr/bin/wifidog-init start + -- 2.11.0