Browse Source

travelmate: add support for optional args in auto-login script

This can be helpful for example in hotels where you need to
enter a new user/password combination every week.

Signed-off-by: Johannes Rothe <mail@johannes-rothe.de>
lilik-openwrt-22.03
Johannes Rothe 5 years ago
parent
commit
a7f87f939d
3 changed files with 27 additions and 5 deletions
  1. +1
    -1
      net/travelmate/Makefile
  2. +21
    -0
      net/travelmate/files/generic-user-pass.login
  3. +5
    -4
      net/travelmate/files/travelmate.sh

+ 1
- 1
net/travelmate/Makefile View File

@ -6,7 +6,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=travelmate
PKG_VERSION:=1.4.12
PKG_VERSION:=1.4.13
PKG_RELEASE:=2
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>


+ 21
- 0
net/travelmate/files/generic-user-pass.login View File

@ -0,0 +1,21 @@
#!/bin/sh
cmd="$(command -v curl)"
url="http://example.com/"
success_string="Thank you!"
if [ ! -x "${cmd}" ]
then
exit 1
fi
response="$("${cmd}" $url -d "password=$2&pwd=$2&username=$1" \
--header "Content-Type:application/x-www-form-urlencoded" -s)"
if echo "${response}" | grep -q "${success_string}";
then
exit 0
else
exit 2
fi

+ 5
- 4
net/travelmate/files/travelmate.sh View File

@ -13,7 +13,7 @@
#
LC_ALL=C
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
trm_ver="1.4.12"
trm_ver="1.4.13"
trm_enabled=0
trm_debug=0
trm_iface="trm_wwan"
@ -185,7 +185,7 @@ f_net()
#
f_check()
{
local IFS ifname radio dev_status config sta_essid sta_bssid result uci_essid uci_bssid login_command wait_time mode="${1}" status="${2:-"false"}" cp_domain="${3:-"false"}"
local IFS ifname radio dev_status config sta_essid sta_bssid result uci_essid uci_bssid login_command login_command_args wait_time mode="${1}" status="${2:-"false"}" cp_domain="${3:-"false"}"
if [ "${mode}" != "initial" ] && [ "${status}" = "false" ]
then
@ -293,9 +293,10 @@ f_check()
login_command="$(uci_get "travelmate" "${uci_essid}${uci_bssid}" "command")"
if [ -x "${login_command}" ]
then
"${login_command}" >/dev/null 2>&1
login_command_args="$(uci_get "travelmate" "${uci_essid}${uci_bssid}" "command_args")"
"${login_command}" ${login_command_args} >/dev/null 2>&1
rc=${?}
f_log "info" "captive portal login '${login_command:0:40}' for '${cp_domain}' has been executed with rc '${rc}'"
f_log "info" "captive portal login '${login_command:0:40} ${login_command_args}' for '${cp_domain}' has been executed with rc '${rc}'"
if [ "${rc}" -eq 0 ]
then
result="$(f_net)"


Loading…
Cancel
Save