#!/usr/bin/webif-page # Travis Kemen # # Major revisions: # # UCI variables referenced: # todo # Configuration files referenced: # none # #Add new network if [ "$FORM_button_add_network" != "" ]; then if [ "$FORM_add_network" = "" ]; then append validate_error "string|

@TR<>


" else uci_add "network" "interface" "$FORM_add_network" uci_set "network" "$FORM_add_network" "proto" "none" submit="0" fi fi #remove network if ! empty "$FORM_remove_network"; then uci_remove "network" "$FORM_remove_network" fi config_cb() { config_get TYPE "$CONFIG_SECTION" TYPE case "$TYPE" in interface) append network "$CONFIG_SECTION" "$N" ;; esac } uci_load network network=$(echo "$network" |uniq) WWAN_COUNTRY_LIST=$( awk ' BEGIN{FS=":"} $1 ~ /[ \t]*#/ {next} {print "option|" $1 "|@TR<<" $2 ">>"}' < /usr/lib/webif/apn.csv ) JS_APN=$( awk ' BEGIN{FS=":"} $1 ~ /[ \t]*#/ {next} {print " apnDB." $1 " = new Object;" print " apnDB." $1 ".name = \"" $3 "\";" print " apnDB." $1 ".user = \"" $4 "\";" print " apnDB." $1 ".pass = \"" $5 "\";\n"}' < /usr/lib/webif/apn.csv ) append JS_APN_DB "$JS_APN" "$N" header "Network" "Networks" "@TR<>" ' onload="modechange()" ' "$SCRIPT_NAME" for interface in $network; do config_get delete_check $interface proto if [ "$interface" != "loopback" ]; then if [ "$delete_check" != "" ]; then if empty "$FORM_submit"; then config_get FORM_proto $interface proto config_get FORM_type $interface type config_get FORM_ipaddr $interface ipaddr config_get FORM_netmask $interface netmask config_get FORM_gateway $interface gateway config_get FORM_pptp_server $interface server config_get FORM_service $interface service config_get FORM_pincode $interface pincode config_get FORM_country $interface country config_get FORM_apn $interface apn config_get FORM_username $interface username config_get FORM_passwd $interface password config_get FORM_mtu $interface mtu config_get FORM_ppp_redial $interface redial config_get FORM_idletime $interface keepalive config_get FORM_redialperiod $interface redialperiod config_get FORM_vci $interface vci config_get FORM_vpi $interface vpi else eval FORM_proto="\$FORM_${interface}_proto" eval FORM_type="\$FORM_${interface}_type" eval FORM_ipaddr="\$FORM_${interface}_ipaddr" eval FORM_netmask="\$FORM_${interface}_netmask" eval FORM_gateway="\$FORM_${interface}_gateway" eval FORM_pptp_server="\$FORM_${interface}_pptp_server" eval FORM_service="\$FORM_${interface}_service" eval FORM_pincode="\$FORM_${interface}_pincode" eval FORM_country="\$FORM_${interface}_country" eval FORM_apn="\$FORM_${interface}_apn" eval FORM_username="\$FORM_${interface}_username" eval FORM_passwd="\$FORM_${interface}_passwd" eval FORM_mtu="\$FORM_${interface}_mtu" eval FORM_ppp_redial="\$FORM_${interface}_ppp_redial" eval FORM_keepalive="\$FORM_${interface}_keepalive" eval FORM_redialperiod="\$FORM_${interface}_redialperiod" eval FORM_vci="\$FORM_${interface}_vci" eval FORM_vpi="\$FORM_${interface}_vpi" fi config_get FORM_dns $interface dns eval FORM_dnsadd="\$FORM_${interface}_dnsadd" eval FORM_dnsremove="\$FORM_${interface}_dnsremove" eval FORM_dnssubmit="\$FORM_${interface}_dnssubmit" LISTVAL="$FORM_dns" handle_list "$FORM_dnsremove" "$FORM_dnsadd" "$FORM_dnssubmit" 'ip|FORM_dnsadd|@TR<>|required' && { FORM_dns="$LISTVAL" uci_set "network" "$interface" "dns" "$FORM_dns" } FORM_dnsadd=${FORM_dnsadd:-""} config_get FORM_dns $interface dns network_options="start_form|$interface @TR<> field|@TR<> select|${interface}_proto|$FORM_proto option|none|@TR<> option|static|@TR<> option|dhcp|@TR<> option|pppoe|@TR<> option|pppoa|@TR<> option|pptp|@TR<> option|wwan|@TR<> field|@TR<> select|${interface}_type|$FORM_type option||@TR<> option|bridge|@TR<> end_form start_form||${interface}_ip_settings|hidden field|@TR<>|field_${interface}_ipaddr|hidden text|${interface}_ipaddr|$FORM_ipaddr field|@TR<>|field_${interface}_netmask|hidden text|${interface}_netmask|$FORM_netmask field|@TR<>|field_${interface}_gateway|hidden text|${interface}_gateway|$FORM_gateway field|@TR<>|field_${interface}_pptp_server|hidden text|${interface}_pptp_server|$FORM_pptp_server helpitem|WAN IP Settings helptext|Helptext WAN IP Settings#IP Settings are optional for DHCP and PPTP. They are used as defaults in case the DHCP server is unavailable. end_form start_form||${interface}_ppp_settings|hidden field|@TR<>|${interface}_redial|hidden select|${interface}_ppp_redial|$FORM_ppp_redial option|demand|@TR<> option|persist|@TR<> field|@TR<>|${interface}_demand_idletime|hidden text|${interface}_ppp_idletime|$FORM_ppp_idletime helpitem|Maximum Idle Time helptext|Helptext Idle Time#The number of seconds without internet traffic that the router should wait before disconnecting from the Internet (Connect on Demand only) field|@TR<>|${interface}_persist_redialperiod|hidden text|${interface}_ppp_redialperiod|$FORM_ppp_redialperiod helpitem|Redial Timeout helptext|Helptext Redial Timeout#The number of seconds to wait after receiving no response from the provider before trying to reconnect field|@TR<>|field_${interface}_username|hidden text|${interface}_username|$FORM_username field|@TR<>|field_${interface}_passwd|hidden password|${interface}_passwd|$FORM_passwd field|@TR<>|field_${interface}_mtu|hidden text|${interface}_mtu|$FORM_mtu field|VCI|field_${interface}_vci|hidden text|${interface}_vci|$FORM_vci field|VPI|field_${interface}_vpi|hidden text|${interface}_vpi|$FORM_vpi end_form start_form|$interface @TR<>|field_${interface}_dns|hidden listedit|${interface}_dns|$SCRIPT_NAME?${interface}_proto=static&|$FORM_dns|$FORM_dnsadd end_form start_form||${interface}_wwan_service_field|hidden field|@TR<> select|${interface}_service|$FORM_service option|umts_first|@TR<> option|umts_only|@TR<> option|gprs_only|@TR<> field|@TR<> password|${interface}_pincode|$FORM_pincode field|@TR<