From 6f82d5128e54464db888de443382ff63ef00e0f9 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Thu, 16 Aug 2018 15:05:44 +0200 Subject: [PATCH] nodogsplash2: remove package Nodogplash 3.0.0 was released and makes the nodogsplash2 package unnecessary. Signed-off-by: Moritz Warning --- nodogsplash2/Makefile | 63 ------ nodogsplash2/files/etc/config/nodogsplash | 75 ------- nodogsplash2/files/etc/init.d/nodogsplash | 200 ------------------ .../files/etc/uci-defaults/40_nodogsplash | 9 - .../files/usr/lib/nodogsplash/restart.sh | 8 - 5 files changed, 355 deletions(-) delete mode 100644 nodogsplash2/Makefile delete mode 100644 nodogsplash2/files/etc/config/nodogsplash delete mode 100755 nodogsplash2/files/etc/init.d/nodogsplash delete mode 100644 nodogsplash2/files/etc/uci-defaults/40_nodogsplash delete mode 100755 nodogsplash2/files/usr/lib/nodogsplash/restart.sh diff --git a/nodogsplash2/Makefile b/nodogsplash2/Makefile deleted file mode 100644 index a306316..0000000 --- a/nodogsplash2/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=nodogsplash2 -PKG_FIXUP:=autoreconf -PKG_VERSION:=2.1.1 -PKG_RELEASE:=1 - -PKG_SOURCE_URL:=https://codeload.github.com/nodogsplash/nodogsplash/tar.gz/v$(PKG_VERSION)? -PKG_SOURCE:=nodogsplash-$(PKG_VERSION).tar.gz -PKG_HASH:=86463a93259f34745a7427d643e0810e7776d37470b32f4f823a1e6019ba9246 -PKG_BUILD_DIR:=$(BUILD_DIR)/nodogsplash-$(PKG_VERSION) - -PKG_MAINTAINER:=Moritz Warning -PKG_BUILD_PARALLEL:=1 -PKG_LICENSE:=GPL-2.0+ - -include $(INCLUDE_DIR)/package.mk - - -define Package/nodogsplash2 - SUBMENU:=Captive Portals - SECTION:=net - CATEGORY:=Network - DEPENDS:=+libpthread +iptables-mod-ipopt +libmicrohttpd-no-ssl - TITLE:=Open public network gateway daemon - URL:=https://github.com/nodogsplash/nodogsplash - CONFLICTS:=nodogsplash -endef - -define Package/nodogsplash2/description - Nodogsplash offers a simple way to open a free hotspot providing - restricted access to an internet connection. -endef - -define Package/nodogsplash2/install - $(CP) ./files/* $(1)/ - - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/nodogsplash $(1)/usr/bin/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/ndsctl $(1)/usr/bin/ - - $(INSTALL_DIR) $(1)/etc/nodogsplash/htdocs/images - $(CP) $(PKG_BUILD_DIR)/resources/splash.html $(1)/etc/nodogsplash/htdocs/ - $(CP) $(PKG_BUILD_DIR)/resources/infoskel.html $(1)/etc/nodogsplash/htdocs/ - $(CP) $(PKG_BUILD_DIR)/resources/splash.jpg $(1)/etc/nodogsplash/htdocs/images/ -endef - -define Package/nodogsplash2/postrm -#!/bin/sh -uci delete firewall.nodogsplash2 -uci commit firewall -endef - -define Package/nodogsplash2/conffiles -/etc/config/nodogsplash -endef - -$(eval $(call BuildPackage,nodogsplash2)) diff --git a/nodogsplash2/files/etc/config/nodogsplash b/nodogsplash2/files/etc/config/nodogsplash deleted file mode 100644 index f32e93a..0000000 --- a/nodogsplash2/files/etc/config/nodogsplash +++ /dev/null @@ -1,75 +0,0 @@ - -# The options available here are an adaptation of the settings used in nodogsplash.conf. -# See https://github.com/nodogsplash/nodogsplash/blob/master/resources/nodogsplash.conf - -config nodogsplash - # Set to 0 to disable nodogsplash - option enabled 1 - - # Set to 0 to disable hook that makes nodogsplash restart when the firewall restarts. - # This hook is needed as a restart of Firewall overwrites nodogsplash iptables entries. - option fwhook_enabled '1' - - # Serve the file splash.html from this directory - option webroot '/etc/nodogsplash/htdocs' - - # Use plain configuration file - #option config '/etc/nodogsplash/nodogsplash.conf' - - # Use this option to set the device nogogsplash will bind to. - # The value may be an interface section in /etc/config/network or a device name such as br-lan. - option gatewayinterface 'br-lan' - - option gatewayname 'OpenWrt Nodogsplash' - option maxclients '250' - - # Enables debug output (0-7) - #option debuglevel '7' - - # Client timeouts in minutes - option clientidletimeout '120' - option clientforcetimeout '1440' - - # Your router may have several interfaces, and you - # probably want to keep them private from the network/gatewayinterface. - # If so, you should block the entire subnets on those interfaces, e.g.: - # list authenticated_users 'block to 192.168.0.0/16' - # list authenticated_users 'block to 10.0.0.0/8' - - # Typical ports you will probably want to open up. - #list authenticated_users 'allow tcp port 22' - #list authenticated_users 'allow tcp port 53' - #list authenticated_users 'allow udp port 53' - #list authenticated_users 'allow tcp port 80' - #list authenticated_users 'allow tcp port 443' - # Or for happy customers allow all - list authenticated_users 'allow all' - - # For preauthenticated users to resolve IP addresses in their - # initial request not using the router itself as a DNS server, - # Leave commented to help prevent DNS tunnelling - #list preauthenticated_users 'allow tcp port 53' - #list preauthenticated_users 'allow udp port 53' - - # Allow ports for SSH/Telnet/DNS/DHCP/HTTP/HTTPS - list users_to_router 'allow tcp port 22' - list users_to_router 'allow tcp port 23' - list users_to_router 'allow tcp port 53' - list users_to_router 'allow udp port 53' - list users_to_router 'allow udp port 67' - list users_to_router 'allow tcp port 80' - - # MAC addresses that are / are not allowed to access the splash page - # Value is either 'allow' or 'block'. The allowedmac or blockedmac list is used. - #option macmechanism 'allow' - #list allowedmac '00:00:C0:01:D0:0D' - #list allowedmac '00:00:C0:01:D0:1D' - #list blockedmac '00:00:C0:01:D0:2D' - - # MAC addresses that do not need to authenticate - #list trustedmac '00:00:C0:01:D0:1D' - - # Set FW_MARK for compatibilty with other OpenWrt Packages eg mwan3, sqm etc. - list fw_mark_authenticated '30000' - list fw_mark_trusted '20000' - list fw_mark_blocked '10000' diff --git a/nodogsplash2/files/etc/init.d/nodogsplash b/nodogsplash2/files/etc/init.d/nodogsplash deleted file mode 100755 index 136082c..0000000 --- a/nodogsplash2/files/etc/init.d/nodogsplash +++ /dev/null @@ -1,200 +0,0 @@ -#!/bin/sh /etc/rc.common - -# -# Startup/shutdown script for nodogsplash captive portal -# - -START=95 -STOP=95 - -USE_PROCD=1 - -IPT=/usr/sbin/iptables -WD_DIR=/usr/bin -# -s -d 5 runs in background, with level 5 (not so verbose) messages to syslog -# -f -d 7 runs in foreground, with level 7 (verbose) debug messages to terminal -OPTIONS="-s -f -d 5" -CONFIG="" - - -addline() { - append CONFIG "$1" "$N" -} - -setup_mac_lists() { - local cfg="$1" - local macs="" - local val - - append_mac() { - append macs "$1" "," - } - - config_get val "$cfg" macmechanism - if [ -z "$val" ]; then - # Check if we have AllowedMACList or BlockedMACList defined they will be ignored - config_get val "$cfg" allowedmac - if [ -n "$val" ]; then - echo "Ignoring allowedmac - macmechanism not \"allow\"" >&2 - fi - - config_get val "$cfg" blockedmac - if [ -n "$val" ]; then - echo "Ignoring blockedmac - macmechanism not \"block\"" >&2 - fi - elif [ "$val" = "allow" ]; then - config_list_foreach "$cfg" allowedmac append_mac - addline "AllowedMACList $macs" - elif [ "$val" = "block" ]; then - config_list_foreach "$cfg" blockedmac append_mac - addline "BlockedMACList $macs" - else - echo "Invalid macmechanism '$val' - allow or block are valid." >&2 - exit 1 - fi - - macs="" - config_list_foreach "$cfg" trustedmac append_mac - if [ -n "$macs" ]; then - addline "TrustedMACList $macs" - fi -} - -setup_firewall() { - local cfg="$1" - local uci_name - local val - - append_firewall() { - addline " FirewallRule $1" - } - - for rule in authenticated-users preauthenticated-users users-to-router trusted-users trusted-users-to-router; do - # uci does not allow dashes - uci_name=${rule//-/_} - addline "FirewallRuleSet $rule {" - config_list_foreach "$cfg" "$uci_name" append_firewall - addline "}" - config_get val "$cfg" "policy_${uci_name}" - if [ -n "$val" ]; then - addline "EmptyRuleSetPolicy $rule $val" - fi - done -} - -wait_for_interface() { - local ifname="$1" - local timeout=10 - - for i in $(seq $timeout); do - if [ $(ip -4 addr show dev $ifname 2> /dev/null | grep -c inet) -ne 0 ]; then - break - fi - sleep 1 - if [ $i = $timeout ]; then - echo "Interface $ifname not detected." >&2 - exit 1 - fi - done -} - -generate_uci_config() { - local cfg="$1" - local val - local ifname - local download - local upload - - # Init config file content - CONFIG="# auto-generated config file from /etc/config/nodogsplash" - - config_get val "$cfg" config - if [ -n "$val" ]; then - if [ ! -f "$val" ]; then - echo "Configuration file '$file' doesn't exist." >&2 - exit 1 - fi - addline "$(cat $val)" - fi - - config_get ifname "$cfg" gatewayinterface - if [ -z "$ifname" ]; then - config_get ifname "$cfg" network - fi - - # Get device name if interface name is a section name in /etc/config/network - if network_get_device tmp "$ifname"; then - ifname="$tmp" - fi - - if [ -z "$ifname" ]; then - echo "Option network or gatewayinterface missing." >&2 - exit 1 - fi - - wait_for_interface "$ifname" - - addline "GatewayInterface $ifname" - - for option in authenticateimmediately binvoucher checkinterval clientforcetimeout \ - clientidletimeout debuglevel decongesthttpdthreads downloadlimit enablepreauth \ - forcevoucher fw_mark_authenticated fw_mark_blocked fw_mark_trusted gatewayaddress \ - gatewayiprange gatewayname gatewayport httpdthreaddelayms httpdthreadthreshold imagedir \ - macmechanism maxclients pagesdir password passwordattempts passwordauthentication \ - redirecturl remoteauthenticatoraction splashpage syslogfacility uploadlimit \ - username usernameauthentication webroot - do - config_get val "$cfg" "$option" - - if [ -n "$val" ]; then - addline "$option $val" - fi - done - - config_get download "$cfg" downloadlimit - config_get upload "$cfg" uploadlimit - - if [ -n "$upload" -o -n "$download" ]; then - addline "TrafficControl yes" - fi - - setup_mac_lists "$cfg" - setup_firewall "$cfg" - - echo "$CONFIG" > "/tmp/etc/nodogsplash_$cfg.conf" -} - -# setup configuration and start instance -create_instance() { - local cfg="$1" - local val - - config_get_bool val "$cfg" enabled 0 - [ $val -gt 0 ] || return 0 - - generate_uci_config "$cfg" - - procd_open_instance $cfg - procd_set_param command /usr/bin/nodogsplash -c "/tmp/etc/nodogsplash_$cfg.conf" $OPTIONS - procd_set_param respawn - procd_set_param file "/tmp/etc/nodogsplash_$cfg.conf" - procd_close_instance -} - -start_service() { - # For network_get_device() - include /lib/functions - - # For nodogsplash.conf file - mkdir -p /tmp/etc/ - - config_load nodogsplash - config_foreach create_instance nodogsplash -} - -stop_service() { - # When procd terminates nodogsplash, it does not exit fast enough. - # Otherwise procd will restart nodogsplash twice. First time starting - # nodogsplash fails, second time it succeeds. - sleep 1 -} diff --git a/nodogsplash2/files/etc/uci-defaults/40_nodogsplash b/nodogsplash2/files/etc/uci-defaults/40_nodogsplash deleted file mode 100644 index 42181e5..0000000 --- a/nodogsplash2/files/etc/uci-defaults/40_nodogsplash +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -uci batch <<-EOT - delete firewall.nodogsplash2 - set firewall.nodogsplash2=include - set firewall.nodogsplash2.type=script - set firewall.nodogsplash2.path=/usr/lib/nodogsplash/restart.sh - commit firewall -EOF diff --git a/nodogsplash2/files/usr/lib/nodogsplash/restart.sh b/nodogsplash2/files/usr/lib/nodogsplash/restart.sh deleted file mode 100755 index e67f11d..0000000 --- a/nodogsplash2/files/usr/lib/nodogsplash/restart.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -# Check if nodogsplash is running -if ndsctl status &> /dev/null; then - if [ "$(uci -q get nodogsplash.@nodogsplash[0].fwhook_enabled)" = "1" ]; then - /etc/init.d/nodogsplash restart - fi -fi -- 2.30.2