opennds: Fix for redirect page problem

this code changes resolve the problem of not redirecting to intended page after client
authentication

Fixes: WIFI-596
Signed-off-by: Nagendrababu <nagendrababu.bonkuri@connectus.ai>
This commit is contained in:
Nagendrababu 2020-09-10 16:37:09 -04:00 committed by John Crispin
parent b9e1d36e00
commit 5fbd9243d4
4 changed files with 8 additions and 10 deletions

View File

@ -125,7 +125,7 @@ generate_uci_config() {
login_option_enabled use_outdated_mhd unescape_callback_enabled daemon \
debuglevel maxclients gatewayname gatewayinterface gatewayiprange \
gatewayaddress gatewayport webroot splashpage statuspage \
redirecturl sessiontimeout preauthidletimeout authidletimeout checkinterval \
redirectURL sessiontimeout preauthidletimeout authidletimeout checkinterval \
setmss mssvalue trafficcontrol ratecheckwindow downloadrate uploadrate downloadquota uploadquota \
syslogfacility ndsctlsocket fw_mark_authenticated \
fw_mark_blocked fw_mark_trusted splash_page_title login_success_text acceptance_policy

View File

@ -173,9 +173,9 @@ if [ ! -z "$status_present" ]; then
elif [ -z "$hid_present" ]; then
hid="0"
gatewayaddress="0"
queryvarlist="clientip gatewayname splashpagetitle acceptancepolicy loginsuccesstext redir username"
queryvarlist="clientip gatewayname splashpagetitle acceptancepolicy loginsuccesstext redirecturl redir username"
else
queryvarlist="clientip gatewayname hid splashpagetitle acceptancepolicy loginsuccesstext gatewayaddress redir username"
queryvarlist="clientip gatewayname hid splashpagetitle acceptancepolicy loginsuccesstext gatewayaddress redirecturl redir username"
fi
for var in $queryvarlist; do
@ -279,6 +279,7 @@ login_form="
<input type=\"hidden\" name=\"acceptancepolicy\" value=\"$acceptancepolicyhtml\">
<input type=\"hidden\" name=\"loginsuccesstext\" value=\"$loginsuccesstexthtml\">
<input type=\"hidden\" name=\"gatewayaddress\" value=\"$gatewayaddress\">
<input type=\"hidden\" name=\"redirecturl\" value=\"$redirecturlhtml\">
<input type=\"hidden\" name=\"redir\" value=\"$requested\">
<input type=\"text\" name=\"username\" value=\"$usernamehtml\" autocomplete=\"on\" ><br>Name<br><hr>
<input type="submit" value="Continue"><br><hr>
@ -340,7 +341,7 @@ else
# the client user continues, so now is the time to deliver your message.
echo "<big-red>Thankyou $username!</big-red>"
echo "<med-blue><br><b>$loginsuccesstext</b>"
echo "<med-blue><br><b>$loginsuccesstexthtml</b>"
# Add your message here:
# You could retrieve text or images from a remote server using wget or curl
@ -349,6 +350,7 @@ else
# You can also send a custom data string to BinAuth. Set the variable $custom to the desired value
# Max length 256 characters
custom="Custom data sent to BinAuth"
requested="$redirecturl"
echo "<form action=\"/opennds_auth/\" method=\"get\">"
echo "<input type=\"hidden\" name=\"tok\" value=\"$tok\">"

View File

@ -95,8 +95,8 @@
client->ip, config->url_encoded_gw_name, hash, config->gw_address);
} else {
- snprintf(querystr, QUERYMAXLEN, "?clientip=%s&gatewayname=%s", client->ip, config->url_encoded_gw_name);
+ snprintf(querystr, QUERYMAXLEN,"?clientip=%s&gatewayname=%s&splashpagetitle=%s&acceptancepolicy=%s&loginsuccesstext=%s",
+ client->ip, config->url_encoded_gw_name, config->splash_page_title, config->acceptance_policy, config->login_success_text);
+ snprintf(querystr, QUERYMAXLEN,"?clientip=%s&gatewayname=%s&splashpagetitle=%s&acceptancepolicy=%s&loginsuccesstext=%s&redirecturl=%s",
+ client->ip, config->url_encoded_gw_name, config->splash_page_title, config->acceptance_policy, config->login_success_text, config->redirectURL);
}
} else if (config->fas_secure_enabled == 2 || config->fas_secure_enabled == 3) {

View File

@ -195,10 +195,6 @@ void vif_state_captive_portal_options_get(struct schema_Wifi_VIF_State *vstate,s
blob_buf_init(&cap, 0);
uci_to_blob(&cap, cp_section, &opennds_param);
if(blob_len(cap.head)==0)
{
LOGN(":Hi Length Zero");
}
blobmsg_parse(opennds_policy, __NDS_ATTR_MAX, tc, blob_data(cap.head), blob_len(cap.head));
for (i = 0; i < SCHEMA_CAPTIVE_PORTAL_OPTS_MAX; i++) {
opt = captive_portal_options_table[i];