From c728ce48528143b98880fbda264df7250314eaca Mon Sep 17 00:00:00 2001 From: George Hunt Date: Sun, 22 Dec 2019 04:11:42 +0000 Subject: [PATCH] get the changes tied down a little --- roles/captiveportal/files/simple.template | 1 - .../captiveportal/templates/captiveportal.ini.j2 | 4 ++-- roles/captiveportal/templates/capture-wsgi.py | 16 +++++++++------- vars/default_vars.yml | 1 + 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/roles/captiveportal/files/simple.template b/roles/captiveportal/files/simple.template index a04eba488..e6c4cd397 100644 --- a/roles/captiveportal/files/simple.template +++ b/roles/captiveportal/files/simple.template @@ -93,7 +93,6 @@





- {{ btn1 }} diff --git a/roles/captiveportal/templates/captiveportal.ini.j2 b/roles/captiveportal/templates/captiveportal.ini.j2 index 7ab40d0cb..c6c3b94af 100644 --- a/roles/captiveportal/templates/captiveportal.ini.j2 +++ b/roles/captiveportal/templates/captiveportal.ini.j2 @@ -1,10 +1,10 @@ [uwsgi] uid = {{ apache_user }} gid = {{ apache_user }} - http-socket = {{ captiveportal_port }} + http-socket = :{{ captiveportal_port }} chdir = /opt/iiab/captiveportal wsgi-file = capture-wsgi.py master = true plugins = python3 - log-to = /var/log/apache2/captiveportal.log + log-to = /var/log/apache2/portal.log py-autoreload = 2 diff --git a/roles/captiveportal/templates/capture-wsgi.py b/roles/captiveportal/templates/capture-wsgi.py index 17f0a1893..b4b5c13ca 100755 --- a/roles/captiveportal/templates/capture-wsgi.py +++ b/roles/captiveportal/templates/capture-wsgi.py @@ -13,6 +13,7 @@ import sys from jinja2 import Environment, FileSystemLoader import sqlite3 import re +from iiab.iiab_lib import get_iiab_env # Notes on timeout strategy # every client timestamp is recorded into current_ts @@ -34,13 +35,12 @@ PORTAL_TO = 20 # delay after triggered by ajax upon click of link to home page # Get the IIAB variables -sys.path.append('/etc/iiab/') -from iiab_env import get_iiab_env doc_root = get_iiab_env("WWWROOT") fully_qualified_domain_name = get_iiab_env("FQDN") -loggingLevel = "ERROR" +#loggingLevel = "ERROR" +loggingLevel = "DEBUG" if len(sys.argv) > 1: if sys.argv[1] == '-l': loggingLevel = "DEBUG" @@ -155,24 +155,26 @@ def microsoft(environ,start_response): # firefox -- seems both mac and Windows use it agent = environ.get('HTTP_USER_AGENT','default_agent') if agent.startswith('Mozilla'): + logger.debug("sending microsoft redirect for agent Mozilla") return home(environ, start_response) - logger.debug("sending microsoft redirect") response_body = b"" status = '302 Moved Temporarily' - response_headers = [('Location','http://box.lan/home'), + response_headers = [('Location','http://' + fully_qualified_domain_name + '{{ captiveportal_splash_page }}'), ('Content-type','text/html'), ('Content-Length',str(len(response_body)))] start_response(status, response_headers) + logger.debug("redirect to home. Status: %s Headers: %s"%(status,repr(response_headers))) return [response_body] def home(environ,start_response): logger.debug("sending direct to home") response_body = b"" status = '302 Moved Temporarily' - response_headers = [('Location','http://' + fully_qualified_domain_name + '/home'), + response_headers = [('Location','http://' + fully_qualified_domain_name + '{{ captiveportal_splash_page }}'), ('Content-type','text/html'), ('Content-Length',str(len(response_body)))] start_response(status, response_headers) + logger.debug("redirect to home. Status: %s Headers: %s"%(status,repr(response_headers))) return [response_body] def android(environ, start_response): @@ -189,7 +191,7 @@ def android(environ, start_response): location = '/android_splash' set_204after(ip,0) elif system_version[:1] >= '7': - location = "http://" + fully_qualified_domain_name + "/home" + location = "http://" + fully_qualified_domain_name + '{{ captiveportal_splash_page }}' else: #set_204after(ip,20) location = '/android_https' diff --git a/vars/default_vars.yml b/vars/default_vars.yml index e714ca3a0..933a21776 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -147,6 +147,7 @@ dns_jail_enabled: False captiveportal_install: False captiveportal_enabled: False captiveportal_port: 9090 +captiveportal_splash_page: / # In a pinch, disable Captive Portal using instructions in http://FAQ.IIAB.IO # Bluetooth PAN access to IIAB server