• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/router/shared/

Lines Matching refs:wp

87 static int wl_phytype_get(webs_t wp, int *phytype);
89 static int cert_revoke(webs_t wp, char *sn_str);
239 ej_kernel_version(int eid, webs_t wp, int argc, char_t **argv)
263 websWrite(wp,"%s", buf);
520 ej_dumplog(int eid, webs_t wp, int argc, char_t **argv)
529 websError(wp, 400, "Insufficient memory\n");
566 ret += websWrite(wp, "%s %s connection %s to %s:%s from %s:%s\n",
568 ret += websWrite(wp, "<br>");
575 ej_syslog(int eid, webs_t wp, int argc, char_t **argv)
583 websError(wp, 400, "\"Syslog in RAM\" is not enabled.\n");
596 websError(wp, 400, "logread error\n");
600 websWrite(wp, "<pre>");
604 ret += websWrite(wp, buf);
606 ret += websWrite(wp, "</pre>");
622 ej_lan_leases(int eid, webs_t wp, int argc, char_t **argv)
656 ret += websWrite(wp, "<tr><td>%s</td><td>", lease.hostname);
658 ret += websWrite(wp, "%02X", lease.chaddr[i]);
659 if (i != 5) ret += websWrite(wp, ":");
662 ret += websWrite(wp, "</td><td>%s</td><td>", inet_ntoa(addr));
665 ret += websWrite(wp, "Expired");
667 ret += websWrite(wp, "%s", reltime(expires));
669 ret += websWrite(wp, "</td><td>Guest</td><td>");
671 ret += websWrite(wp, "</td><td>Internal</td><td>");
672 ret += websWrite(wp, "</td></tr>");
730 ej_wan_link(int eid, webs_t wp, int argc, char_t **argv)
747 return websWrite(wp, "N/A");
754 return websWrite(wp, "Connected");
756 return websWrite(wp, "Disconnected");
764 return websWrite(wp, "N/A");
772 return websWrite(wp, "Unknown");
776 return websWrite(wp, "Disconnected");
783 return websWrite(wp, "Connecting");
788 return websWrite(wp, "Connected");
793 ej_wan_lease(int eid, webs_t wp, int argc, char_t **argv)
815 ret += websWrite(wp, "Expired");
817 ret += websWrite(wp, "%s", reltime(expires - now));
819 ret += websWrite(wp, "N/A");
827 ej_sysuptime(int eid, webs_t wp, int argc, char_t **argv)
833 return websWrite(wp, reltime(up));
835 return websWrite(wp, "N/A");
841 ej_wan_iflist(int eid, webs_t wp, int argc, char_t **argv)
864 ret += websWrite(wp, "<option value=\"%s\" %s>%s (%s)</option>", name,
1011 ej_dumplog(int eid, webs_t wp, int argc, char_t **argv)
1017 ej_syslog(int eid, webs_t wp, int argc, char_t **argv)
1027 ej_lan_leases(int eid, webs_t wp, int argc, char_t **argv)
1060 ret += websWrite(wp, "<tr><td>%s</td><td>", cp1);
1068 ret += websWrite(wp, "%s", cp1);
1075 ret += websWrite(wp, "</td><td>%s</td><td>", cp1);
1080 ret += websWrite(wp, "Never");
1086 ret += websWrite(wp, "Expired");
1088 ret += websWrite(wp, "%s", reltime(expires));
1091 ret += websWrite(wp, "</td><td>Guest</td><td>");
1093 ret += websWrite(wp, "</td><td>Internal</td><td>");
1094 ret += websWrite(wp, "</td></tr>");
1125 ej_wan_link(int eid, webs_t wp, int argc, char_t **argv)
1133 ej_wan_lease(int eid, webs_t wp, int argc, char_t **argv)
1143 ej_sysuptime(int eid, webs_t wp, int argc, char_t **argv)
1158 return websWrite(wp, reltime(uptime));
1160 return websWrite(wp, "N/A");
1166 ej_wan_iflist(int eid, webs_t wp, int argc, char_t **argv)
1189 ret += websWrite(wp, "<option value=\"%s\" %s>%s (%s)</option>", name,
1202 ej_kernel_version(int eid, webs_t wp, int argc, char_t **argv)
1230 ej_kernel_version(int eid, webs_t wp, int argc, char_t **argv)
1232 websWrite(wp,"eCos 3.0/");
1276 ej_lan_leases(int eid, webs_t wp, int argc, char_t **argv)
1317 ret += websWrite(wp, "<tr><td>%s</td><td>", lease->hostname);
1320 ret += websWrite(wp, "%02X", lease->mac[i]);
1321 if (i != 5) ret += websWrite(wp, ":");
1324 ret += websWrite(wp, "</td><td>%s</td><td>", inet_ntoa(lease->ipaddr));
1327 ret += websWrite(wp, "Expired");
1329 ret += websWrite(wp, "%s",
1333 ret += websWrite(wp, "</td><td>Guest</td><td>");
1335 ret += websWrite(wp, "</td><td>Internal</td><td>");
1336 ret += websWrite(wp, "</td></tr>");
1350 ej_dumplog(int eid, webs_t wp, int argc, char_t **argv)
1361 ej_syslog(int eid, webs_t wp, int argc, char_t **argv)
1370 ret += websWrite(wp, "<pre>");
1371 ret += websWrite(wp, buf);
1372 ret += websWrite(wp, "</pre>");
1382 ej_wan_link(int eid, webs_t wp, int argc, char_t **argv)
1388 websWrite(wp, "Connected");
1390 websWrite(wp, "Connecting");
1392 websWrite(wp, "Disconnected");
1397 ej_wan_lease(int eid, webs_t wp, int argc, char_t **argv)
1415 ret += websWrite(wp, "N/A");
1417 ret += websWrite(wp, "Expired");
1419 ret += websWrite(wp, "%s", reltime(expires - now));
1421 ret += websWrite(wp, "N/A");
1427 ej_sysuptime(int eid, webs_t wp, int argc, char_t **argv)
1431 return websWrite(wp, reltime(up));
1436 ej_wan_iflist(int eid, webs_t wp, int argc, char_t **argv)
1459 ret += websWrite(wp, "<option value=\"%s\" %s>%s (%s)</option>", name,
1475 wl_phytype_get(webs_t wp, int *phytype)
1481 websError(wp, 400, "unit number variable doesn't exist\n");
1494 ej_lan_guest_iflist(int eid, webs_t wp, int argc, char_t **argv)
1501 websError(wp, 400, "Insufficient args\n");
1517 ret += websWrite(wp, "<option value=\"NONE\" selected >NONE</option>");
1522 websError(wp, 400, "Unable to remove duplicate interfaces from ifname list<br>");
1532 ret += websWrite(wp, "<option value=\"%s\"%s>%s%s</option>",
1537 ret += websWrite(wp, "<option value=\"NONE\"%s>NONE</option>",(*value) ? "" : " selected ");
1544 ej_asp_list(int eid, webs_t wp, int argc, char_t **argv)
1546 websWrite(wp,
1551 websWrite(wp,
1555 websWrite(wp,
1558 websWrite(wp,
1564 websWrite(wp,
1569 websWrite(wp, " <td><a href=\"plc.asp\"><img border=\"0\" src=\"plc.gif\" alt=\"PLC\"></a></td>\n");
1573 websWrite(wp,
1576 websWrite(wp,
1581 websWrite(wp,
1587 websWrite(wp,
1593 websWrite(wp,
1596 websWrite(wp,
1599 websWrite(wp,
1658 ej_localtime(int eid, webs_t wp, int argc, char_t **argv)
1663 return websWrite(wp, rfctime(&tm));
1667 ej_wl_mode_list(int eid, webs_t wp, int argc, char_t **argv)
1678 if ((wl_bssid = websGetVar(wp, "wl_bssid", NULL)) && (atoi(wl_bssid)))
1682 websError(wp, 400, "unit number variable doesn't exist\n");
1693 websWrite(wp, "<option value=\"ap\" selected >Access Point</option>\n" );
1712 websWrite(wp, "<option value=\"ap\" %s>Access Point</option>\n",
1715 websWrite(wp, "<option value=\"wds\" %s>Wireless Bridge</option>\n",
1718 websWrite(wp, "<option value=\"wet\" %s>Wireless Ethernet</option>\n",
1721 websWrite(wp, "<option value=\"mac_spoof\" %s>Wireless Ethernet MAC Spoof</option>\n",
1727 ej_wl_bssid_list(int eid, webs_t wp, int argc, char_t **argv)
1745 websError(wp, 400, "unit number variable doesn't exist\n");
1754 if ((wl_bssid = websGetVar(wp, "wl_bssid", NULL)))
1760 websWrite(wp, "<option value=%x %s > %s (%s %sabled) </option>\n", i,
1794 websWrite(wp, "<option value=%d %s > %s (%s %sabled)</option>\n", i,
1803 ej_wl_inlist(int eid, webs_t wp, int argc, char_t **argv)
1812 websError(wp, 400, "Insufficient args\n");
1817 websError(wp, 400, "unit number variable doesn't exist\n");
1828 return websWrite(wp, "1");
1831 return websWrite(wp, "0");
1835 ej_wl_wds_status(int eid, webs_t wp, int argc, char_t **argv)
1845 websError(wp, 400, "Insufficient args\n");
1850 websError(wp, 400, "Insufficient args\n");
1864 return websWrite(wp, "%s", (sta->flags & WL_STA_WDS_LINKUP) ? "up" : "down");
1867 return websWrite(wp, "%s", "unknown");
1875 ej_ses_button_display(int eid, webs_t wp, int argc, char_t **argv)
1883 ej_ses_cl_button_display(int eid, webs_t wp, int argc, char_t **argv)
1890 ej_emf_enable_display(int eid, webs_t wp, int argc, char_t **argv)
1893 websWrite(wp, "<p>\n");
1894 websWrite(wp, "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n");
1895 websWrite(wp, "<tr>\n");
1896 websWrite(wp, "<th width=\"310\"\n");
1897 websWrite(wp, "onMouseOver=\"return overlib(\'Enables/Disables Efficient Multicast Forwarding feature\', LEFT);\"\n");
1898 websWrite(wp, "onMouseOut=\"return nd();\">\n");
1899 websWrite(wp, "EMF:&nbsp;&nbsp;\n");
1900 websWrite(wp, "</th>\n");
1901 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
1902 websWrite(wp, "<td>\n");
1903 websWrite(wp, "<select name=\"emf_enable\">\n");
1904 websWrite(wp, "<option value=\"1\" %s>Enabled</option>", nvram_match("emf_enable", "1") ? "selected": "\n");
1905 websWrite(wp, "<option value=\"0\" %s>Disabled</option>", nvram_match("emf_enable", "0") ? "selected": "\n");
1906 websWrite(wp, "</select>\n");
1907 websWrite(wp, "</td>\n");
1908 websWrite(wp, "</tr>\n");
1909 websWrite(wp, "</table>\n");
1952 ej_emf_entries_display(int eid, webs_t wp, int argc, char_t **argv)
1957 websWrite(wp, "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n");
1958 websWrite(wp, "<tr>\n");
1959 websWrite(wp, "<th width=\"310\" valign=\"top\" rowspan=\"6\"\n");
1960 websWrite(wp, "onMouseOver=\"return overlib(\'Add/Delete static forwarding entries for the multicast groups.\', LEFT);\"\n");
1961 websWrite(wp, "onMouseOut=\"return nd();\">\n");
1962 websWrite(wp, "<input type=\"hidden\" name=\"emf_entry\" value=\"5\">\n");
1963 websWrite(wp, "Static Multicast Forwarding Entries:&nbsp;&nbsp;\n");
1964 websWrite(wp, "</th>\n");
1965 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
1966 websWrite(wp, "<td class=\"label\">Multicast IP Address</td>\n");
1967 websWrite(wp, "<td></td>\n");
1968 websWrite(wp, "<td class=\"label\">Interface</td>\n");
1969 websWrite(wp, "</tr>\n");
1970 websWrite(wp, "<tr>\n");
1971 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
1973 websWrite(wp, "<td><input name=\"emf_entry_mgrp0\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
1974 websWrite(wp, "<td>&nbsp;</td>\n");
1976 websWrite(wp, "<td><input name=\"emf_entry_if0\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
1977 websWrite(wp, "</tr>\n");
1978 websWrite(wp, "<tr>\n");
1979 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
1981 websWrite(wp, "<td><input name=\"emf_entry_mgrp1\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
1982 websWrite(wp, "<td>&nbsp;</td>\n");
1984 websWrite(wp, "<td><input name=\"emf_entry_if1\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
1985 websWrite(wp, "</tr>\n");
1986 websWrite(wp, "<tr>\n");
1987 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
1989 websWrite(wp, "<td><input name=\"emf_entry_mgrp2\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
1990 websWrite(wp, "<td>&nbsp;</td>\n");
1992 websWrite(wp, "<td><input name=\"emf_entry_if2\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
1993 websWrite(wp, "</tr>\n");
1994 websWrite(wp, "<tr>\n");
1995 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
1997 websWrite(wp, "<td><input name=\"emf_entry_mgrp3\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
1998 websWrite(wp, "<td>&nbsp;</td>\n");
2000 websWrite(wp, "<td><input name=\"emf_entry_if3\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2001 websWrite(wp, "</tr>\n");
2002 websWrite(wp, "<tr>\n");
2003 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2005 websWrite(wp, "<td><input name=\"emf_entry_mgrp4\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2006 websWrite(wp, "<td>&nbsp;</td>\n");
2008 websWrite(wp, "<td><input name=\"emf_entry_if4\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2009 websWrite(wp, "</tr>\n");
2010 websWrite(wp, "</table>\n");
2077 ej_emf_uffp_entries_display(int eid, webs_t wp, int argc, char_t **argv)
2082 websWrite(wp, "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n");
2083 websWrite(wp, "<tr>\n");
2084 websWrite(wp, "<th width=\"310\" valign=\"top\" rowspan=\"6\"\n");
2085 websWrite(wp, "onMouseOver=\"return overlib(\'Add/Delete unregistered multicast data frames forwarding port entries. Multicast data frames that fail MFDB lookup will be flooded on to these ports.\', LEFT);\"\n");
2086 websWrite(wp, "onMouseOut=\"return nd();\">\n");
2087 websWrite(wp, "<input type=\"hidden\" name=\"emf_uffp_entry\" value=\"5\">\n");
2088 websWrite(wp, "Unregistered Multicast Frames Forwarding Ports:&nbsp;&nbsp;\n");
2089 websWrite(wp, "</th>\n");
2090 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2091 websWrite(wp, "<td class=\"label\">Interface</td>\n");
2092 websWrite(wp, "<td></td>\n");
2093 websWrite(wp, "</tr>\n");
2094 websWrite(wp, "<tr>\n");
2095 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2097 websWrite(wp, "<td><input name=\"emf_uffp_entry_if0\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2098 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2099 websWrite(wp, "<td></td>\n");
2100 websWrite(wp, "</tr>\n");
2101 websWrite(wp, "<tr>\n");
2102 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2104 websWrite(wp, "<td><input name=\"emf_uffp_entry_if1\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2105 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2106 websWrite(wp, "<td></td>\n");
2107 websWrite(wp, "</tr>\n");
2108 websWrite(wp, "<tr>\n");
2109 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2111 websWrite(wp, "<td><input name=\"emf_uffp_entry_if2\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2112 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2113 websWrite(wp, "<td></td>\n");
2114 websWrite(wp, "</tr>\n");
2115 websWrite(wp, "<tr>\n");
2116 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2118 websWrite(wp, "<td><input name=\"emf_uffp_entry_if3\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2119 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2120 websWrite(wp, "<td></td>\n");
2121 websWrite(wp, "</tr>\n");
2122 websWrite(wp, "<tr>\n");
2123 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2125 websWrite(wp, "<td><input name=\"emf_uffp_entry_if4\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2126 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2127 websWrite(wp, "<td></td>\n");
2128 websWrite(wp, "</tr>\n");
2129 websWrite(wp, "</table>\n");
2136 ej_emf_rtport_entries_display(int eid, webs_t wp, int argc, char_t **argv)
2141 websWrite(wp, "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n");
2142 websWrite(wp, "<tr>\n");
2143 websWrite(wp, "<th width=\"310\" valign=\"top\" rowspan=\"6\"\n");
2144 websWrite(wp, "onMouseOver=\"return overlib(\'These are the LAN interfaces on which multicast routers are present. IGMP Report frames are forwared to these ports.\', LEFT);\"\n");
2145 websWrite(wp, "onMouseOut=\"return nd();\">\n");
2146 websWrite(wp, "<input type=\"hidden\" name=\"emf_rtport_entry\" value=\"5\">\n");
2147 websWrite(wp, "Multicast Router / IGMP Forwarding Ports:&nbsp;&nbsp;\n");
2148 websWrite(wp, "</th>\n");
2149 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2150 websWrite(wp, "<td class=\"label\">Interface</td>\n");
2151 websWrite(wp, "<td></td>\n");
2152 websWrite(wp, "</tr>\n");
2153 websWrite(wp, "<tr>\n");
2154 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2156 websWrite(wp, "<td><input name=\"emf_rtport_entry_if0\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2157 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2158 websWrite(wp, "<td></td>\n");
2159 websWrite(wp, "</tr>\n");
2160 websWrite(wp, "<tr>\n");
2161 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2163 websWrite(wp, "<td><input name=\"emf_rtport_entry_if1\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2164 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2165 websWrite(wp, "<td></td>\n");
2166 websWrite(wp, "</tr>\n");
2167 websWrite(wp, "<tr>\n");
2168 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2170 websWrite(wp, "<td><input name=\"emf_rtport_entry_if2\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2171 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2172 websWrite(wp, "<td></td>\n");
2173 websWrite(wp, "</tr>\n");
2174 websWrite(wp, "<tr>\n");
2175 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2177 websWrite(wp, "<td><input name=\"emf_rtport_entry_if3\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2178 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2179 websWrite(wp, "<td></td>\n");
2180 websWrite(wp, "</tr>\n");
2181 websWrite(wp, "<tr>\n");
2182 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2184 websWrite(wp, "<td><input name=\"emf_rtport_entry_if4\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>\n", value);
2185 websWrite(wp, "<td>&nbsp;&nbsp;</td>\n");
2186 websWrite(wp, "<td></td>\n");
2187 websWrite(wp, "</tr>\n");
2188 websWrite(wp, "</table>\n");
2195 ej_ses_wds_mode_list(int eid, webs_t wp, int argc, char_t **argv)
2197 websWrite(wp, "<option value=\"0\" %s>Disabled</option>\n",
2199 websWrite(wp, "<option value=\"1\" %s>Auto</option>\n",
2201 websWrite(wp, "<option value=\"2\" %s>Configurator(Reg+WDS)</option>\n",
2203 websWrite(wp, "<option value=\"3\" %s>Configurator(WDS only)</option>\n",
2206 websWrite(wp, "<option value=\"4\" %s>Client</option>\n",
2212 ej_wl_radio_roam_option(int eid, webs_t wp, int argc, char_t **argv)
2219 websError(wp, 400, "unit number variable doesn't exist\n");
2225 websError(wp, 400, "Could not find: %s\n",strcat_r(prefix, "ifname", tmp));
2233 websWrite(wp, "<input type=\"submit\" name=\"action\" value=\"RadioOff\" >");
2235 websWrite(wp, "<input type=\"submit\" name=\"action\" value=\"RadioOn\" >");
2253 ej_get_mnt_path(int eid, webs_t wp, int argc, char_t **argv)
2273 return websWrite(wp, mntpath);
2277 static int ej_wps_process(int eid, webs_t wp, int argc, char_t **argv);
2278 static int ej_wps_add(int eid, webs_t wp, int argc, char_t **argv);
2279 static int ej_wps_start(int eid, webs_t wp, int argc, char_t **argv);
2280 static int ej_wps_enr_scan_result(int eid, webs_t wp, int argc, char_t **argv);
2281 static int ej_wps_enr_process(int eid, webs_t wp, int argc, char_t **argv);
2282 static int ej_wps_enr_start(int eid, webs_t wp, int argc, char_t **argv);
2301 ej_wps_display(int eid, webs_t wp, int argc, char_t **argv)
2314 websError(wp, 400, "unit number variable doesn't exist\n");
2330 websWrite(wp,"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
2332 websWrite(wp, "<tr>"
2340 websWrite(wp,"<select name=\"wl_wps_mode\" onChange=\"wps_config_change();\">");
2344 websWrite(wp, "<option value=\"enabled\" selected>Enabled</option>");
2345 websWrite(wp, "<option value=\"disabled\">Disabled</option>");
2348 websWrite(wp, "<option value=\"enabled\">Enabled</option>");
2349 websWrite(wp, "<option value=\"disabled\" selected>Disabled</option>");
2354 websWrite(wp, "<option value=\"enr_enabled\" selected>Enabled</option>");
2355 websWrite(wp, "<option value=\"disabled\">Disabled</option>");
2358 websWrite(wp, "<option value=\"enr_enabled\">Enabled</option>");
2359 websWrite(wp, "<option value=\"disabled\" selected>Disabled</option>");
2362 websWrite(wp, "</select> </td> </tr>");
2365 websWrite(wp, "<tr>"
2373 websWrite(wp,"<td><input name=\"wps_device_name\" value=\"%s\" size=\"32\" maxlength=\"32\"></td>",str);
2374 websWrite(wp, "</tr>");
2379 websWrite(wp,"<tr>"
2387 websWrite(wp, "<select name=\"wps_ap_list\">");
2388 ej_wps_enr_scan_result(eid, wp, argc, argv);
2390 websWrite(wp, "<td>");
2393 websWrite(wp, "<input type=\"submit\" name=\"action\" value=\"Rescan\">");
2394 websWrite(wp, "</td></tr>");
2397 websWrite(wp, "<tr>"
2405 websWrite(wp, "<select name=\"wps_method\" onChange=\"wps_enr_auto_change();\">");
2406 websWrite(wp, "<option value=\"PBC\" selected>PBC</option>");
2407 websWrite(wp, "<option value=\"PIN\" >PIN</option></select>");
2410 websWrite(wp, "&nbsp;&nbsp;&nbsp;<input type=\"checkbox\" name=\"wps_enr_auto\" %s>Automatically select network</td>",
2413 websWrite(wp, "</td> </tr>");
2417 websWrite(wp,"<tr>"
2425 websWrite(wp,"<td>%s</td><td>&nbsp;&nbsp;",str);
2426 websWrite(wp, "</td></tr>");
2429 websWrite(wp,"<tr>"
2437 websWrite(wp,"<td>%s",str);
2442 websWrite(wp, "&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"action\" value=\"Generate\">");
2445 websWrite(wp, "</td></tr>"
2452 websWrite(wp,"</td></tr>");
2456 websWrite(wp, "<tr>"
2464 websWrite(wp, "<select name=\"wps_reg\" onChange=\"wps_change();\">");
2466 websWrite(wp, "<option value=\"disabled\" selected>Disabled</option>");
2467 websWrite(wp, "<option value=\"enabled\" >Enabled</option>");
2470 websWrite(wp, "<option value=\"disabled\" >Disabled</option>");
2471 websWrite(wp, "<option value=\"enabled\" selected>Enabled</option>");
2473 websWrite(wp, "</select> </td> </tr>");
2476 websWrite(wp, "<tr>"
2484 websWrite(wp, "<select name=\"wps_oob\" onChange=\"wps_config_change();\">");
2486 websWrite(wp, "<option value=\"enabled\" selected>Not Configured</option>");
2487 websWrite(wp, "<option value=\"disabled\" >Configured</option>");
2491 websWrite(wp, "<option value=\"enabled\" >Not Configured</option>");
2492 websWrite(wp, "<option value=\"disabled\" selected>Configured</option>");
2494 websWrite(wp, "</select> </td> </tr>");
2497 websWrite(wp, "<tr>"
2505 websWrite(wp, "<select name=\"wps_wer_mode\">");
2507 websWrite(wp, "<option value=\"allow\" selected>Allow</option>");
2508 websWrite(wp, "<option value=\"deny\" >Deny</option>");
2511 websWrite(wp, "<option value=\"allow\" >Allow</option>");
2512 websWrite(wp, "<option value=\"deny\" selected>Deny</option>");
2514 websWrite(wp, "</select> </td> </tr>");
2516 websWrite(wp, "<tr>"
2525 ej_wps_add(eid, wp, argc, argv);
2526 websWrite(wp, "</td> </tr>");
2530 websWrite(wp, "<tr>"
2539 ej_wps_process(eid, wp, argc, argv);
2541 ej_wps_enr_process(eid, wp, argc, argv);
2543 websWrite(wp, "</td> </tr>");
2548 websWrite(wp, "<tr>"
2556 websWrite(wp, "<select name=\"wps_action\" onChange=\"wps_sta_pin_change();\">");
2559 websWrite(wp, "<option value=\"AddEnrollee\" selected>Add Enrollee</option>");
2560 websWrite(wp, "<option value=\"ConfigAP\" >Config AP</option>");
2563 websWrite(wp, "<option value=\"ConfigAP\" selected>Config AP</option>");
2567 websWrite(wp, "<option value=\"AddEnrollee\" selected>Add Enrollee</option>");
2568 websWrite(wp, "<option value=\"ConfigAP\" >Config AP</option>");
2570 websWrite(wp, "</select> </td></tr>");
2573 websWrite(wp, "<tr>"
2581 websWrite(wp, "<select name=\"wps_method\" onChange=\"wps_sta_pin_change();\">");
2582 websWrite(wp, "<option value=\"PBC\" selected>PBC</option>");
2583 websWrite(wp, "<option value=\"PIN\" >PIN</option>");
2584 websWrite(wp, "</select> </td> </tr>");
2587 websWrite(wp,"<tr>"
2594 websWrite(wp,"<td><input name=\"wps_sta_pin\" value=\"\" size=\"9\" maxlength=\"9\">");
2597 websWrite(wp, "</td></tr>");
2600 websWrite(wp,"<tr>"
2607 websWrite(wp,"<td><input name=\"wps_autho_sta_mac\" value=\"\" size=\"17\" maxlength=\"17\">");
2610 websWrite(wp, "&nbsp;&nbsp;");
2612 ej_wps_start(eid, wp, argc, argv);
2613 websWrite(wp, "</td></tr>");
2619 websWrite(wp, "<tr>"
2624 ej_wps_enr_start(eid, wp, argc, argv);
2625 websWrite(wp, "</td> </tr>");
2628 websWrite(wp, "</table>");
2632 websWrite(wp, "<p>\n");
2634 websWrite(wp,"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n");
2637 websWrite(wp, "<tr>\n"
2645 websWrite(wp, "<select name=\"wps_version2\" onChange=\"wps_version2_change();\">\n");
2647 websWrite(wp, "<option value=\"enabled\" selected>V2</option>\n");
2648 websWrite(wp, "<option value=\"disabled\">V1</option>\n");
2651 websWrite(wp, "<option value=\"enabled\">V2</option>\n");
2652 websWrite(wp, "<option value=\"disabled\" selected>V1</option>\n");
2654 websWrite(wp, "</select> </td> </tr>\n");
2657 websWrite(wp,"<tr>\n"
2665 websWrite(wp,"<td><input name=\"wps_version2_num\" value=\"%s\" size=\"2\" maxlength=\"2\">\n",
2667 websWrite(wp, "</td> </tr>\n");
2670 websWrite(wp,"<tr>\n"
2678 websWrite(wp,"<td><input name=\"wps_ie_frag\" value=\"%s\" size=\"4\" maxlength=\"4\">\n",
2680 websWrite(wp, "</td> </tr>\n");
2683 websWrite(wp,"<tr>\n"
2691 websWrite(wp,"<td><input name=\"wps_eap_frag\" value=\"%s\" size=\"4\" maxlength=\"4\">\n",
2693 websWrite(wp, "</td> </tr>\n");
2696 websWrite(wp, "<tr>\n"
2704 websWrite(wp,"<td><input name=\"wps_nattr\" value=\"%s\" size=\"32\" maxlength=\"127\">\n",
2706 websWrite(wp, "</td> </tr>\n");
2709 websWrite(wp, "<tr>\n"
2717 websWrite(wp, "<select name=\"wps_zpadding\">\n");
2719 websWrite(wp, "<option value=\"1\" selected>YES</option>\n");
2720 websWrite(wp, "<option value=\"0\">NO</option>\n");
2723 websWrite(wp, "<option value=\"1\">YES</option>\n");
2724 websWrite(wp, "<option value=\"0\" selected>NO</option>\n");
2726 websWrite(wp, "</select> </td> </tr>\n");
2729 websWrite(wp, "<tr>\n"
2737 websWrite(wp, "<select name=\"wps_mca\">\n");
2739 websWrite(wp, "<option value=\"1\" selected>YES</option>\n");
2740 websWrite(wp, "<option value=\"0\">NO</option>\n");
2743 websWrite(wp, "<option value=\"1\">YES</option>\n");
2744 websWrite(wp, "<option value=\"0\" selected>NO</option>\n");
2746 websWrite(wp, "</select> </td> </tr>\n");
2750 websWrite(wp, "</table>");
2757 ej_wps_change_display(int eid, webs_t wp, int argc, char_t **argv)
2766 websError(wp, 400, "unit number variable doesn't exist\n");
2782 websWrite(wp," var wps_enr = \"%d\";\n", wps_enr);
2784 websWrite(wp," if (document.forms[0].wl_wps_mode.value == \"disabled\") {\n");
2785 websWrite(wp," if (wps_enr == \"0\") {\n");
2786 websWrite(wp," document.forms[0].wps_device_name.disabled = 1;\n");
2787 websWrite(wp," document.forms[0].wps_reg.disabled = 1;\n");
2788 websWrite(wp," document.forms[0].wps_oob.disabled = 1;\n");
2789 websWrite(wp," document.forms[0].wps_action.disabled = 1;\n");
2790 websWrite(wp," document.forms[0].wps_method.disabled = 1;\n");
2791 websWrite(wp," document.forms[0].wps_sta_pin.disabled = 1;\n");
2793 websWrite(wp," document.forms[0].wps_autho_sta_mac.disabled = 1;\n");
2796 websWrite(wp," document.forms[0].wl_auth.disabled = 0;\n");
2798 websWrite(wp," }\n");
2799 websWrite(wp," else {\n");
2800 websWrite(wp," document.forms[0].wps_method.disabled = 1;\n");
2801 websWrite(wp," document.forms[0].wps_ap_list.disabled = 1;\n");
2802 websWrite(wp," document.forms[0].wps_enr_auto.disabled = 1;\n");
2803 websWrite(wp," }\n");
2804 websWrite(wp," }\n");
2805 websWrite(wp," if (document.forms[0].wl_wps_mode.value == \"enabled\" || document.forms[0].wl_wps_mode.value == \"enr_enabled\") {\n");
2806 websWrite(wp," if (wps_enr == \"0\") {\n");
2807 websWrite(wp," document.forms[0].wps_device_name.disabled = 0;\n");
2808 websWrite(wp," document.forms[0].wps_reg.disabled = 0;\n");
2809 websWrite(wp," document.forms[0].wps_oob.disabled = 0;\n");
2810 websWrite(wp," document.forms[0].wps_action.disabled = 0;\n");
2811 websWrite(wp," document.forms[0].wps_method.disabled = 0;\n");
2812 websWrite(wp," wps_sta_pin_change();\n");
2815 websWrite(wp," document.forms[0].wl_auth.disabled = 1;\n");
2816 websWrite(wp," document.forms[0].wl_auth.value = \"0\";\n");
2818 websWrite(wp," }\n");
2819 websWrite(wp," else {\n");
2820 websWrite(wp," document.forms[0].wps_method.disabled = 0;\n");
2821 websWrite(wp," document.forms[0].wps_ap_list.disabled = 0;\n");
2822 websWrite(wp," document.forms[0].wps_enr_auto.disabled = 0;\n");
2823 websWrite(wp," wps_enr_auto_change();\n");
2824 websWrite(wp," }\n");
2825 websWrite(wp," }");
2828 websWrite(wp," wl_auth_change();\n");
2831 websWrite(wp," wps_version2_change();\n");
2838 ej_wps_config_change_display(int eid, webs_t wp, int argc, char_t **argv)
2847 websError(wp, 400, "unit number variable doesn't exist\n");
2864 websWrite(wp," var wps_enr = \"%d\";\n", wps_enr);
2865 websWrite(wp," var wl_closed = \"%s\";\n", closed);
2866 websWrite(wp," var msg = \"Enable WPS will change the SSID Network Type to Open, Are you sure?\";\n");
2868 websWrite(wp," if ((wps_enr == \"0\") && (wl_closed == \"1\") &&\n");
2869 websWrite(wp," (document.forms[0].wl_wps_mode.value == \"enabled\") && !confirm(msg)) {\n");
2870 websWrite(wp," document.forms[0].wl_wps_mode.value = \"disabled\";\n");
2871 websWrite(wp," }\n");
2872 websWrite(wp," wps_change();\n");
2873 websWrite(wp," if (wps_enr == \"0\") {\n");
2874 websWrite(wp," if ((document.forms[0].wl_wps_mode.value == \"enabled\") &&\n");
2875 websWrite(wp," (document.forms[0].wps_oob.value == \"enabled\")) {\n");
2876 websWrite(wp," document.forms[0].wl_auth.value = \"0\";\n");
2877 websWrite(wp," document.forms[0].wl_auth_mode.value = \"none\";\n");
2878 websWrite(wp," document.forms[0].wl_akm_wpa.value = \"disabled\";\n");
2879 websWrite(wp," document.forms[0].wl_akm_psk.value = \"disabled\";\n");
2880 websWrite(wp," document.forms[0].wl_akm_wpa2.value = \"disabled\";\n");
2881 websWrite(wp," document.forms[0].wl_akm_psk2.value = \"disabled\";\n");
2882 websWrite(wp," document.forms[0].wl_akm_brcm_psk.value = \"disabled\";\n");
2883 websWrite(wp," document.forms[0].wl_preauth.disabled = 1;\n");
2884 websWrite(wp," document.forms[0].wl_preauth.value = \"disabled\";\n");
2885 websWrite(wp," document.forms[0].wl_wep.value = \"disabled\";\n");
2886 websWrite(wp," document.forms[0].wl_wpa_psk.value = \"\";\n");
2887 websWrite(wp," }\n");
2888 websWrite(wp," }");
2894 ej_wps_version2_change_display(int eid, webs_t wp, int argc, char_t **argv)
2897 websWrite(wp," if (document.forms[0].wps_version2.value == \"enabled\") {\n");
2898 websWrite(wp," document.forms[0].wps_version2_num.disabled = 0;\n");
2899 websWrite(wp," document.forms[0].wps_ie_frag.disabled = 0;\n");
2900 websWrite(wp," document.forms[0].wps_eap_frag.disabled = 0;\n");
2901 websWrite(wp," document.forms[0].wps_nattr.disabled = 0;\n");
2902 websWrite(wp," document.forms[0].wps_zpadding.disabled = 0;\n");
2903 websWrite(wp," document.forms[0].wps_mca.disabled = 0;\n");
2904 websWrite(wp," }\n");
2905 websWrite(wp," else {\n");
2906 websWrite(wp," document.forms[0].wps_version2_num.disabled = 1;\n");
2907 websWrite(wp," document.forms[0].wps_ie_frag.disabled = 1;\n");
2908 websWrite(wp," document.forms[0].wps_eap_frag.disabled = 1;\n");
2909 websWrite(wp," document.forms[0].wps_nattr.disabled = 1;\n");
2910 websWrite(wp," document.forms[0].wps_zpadding.disabled = 1;\n");
2911 websWrite(wp," document.forms[0].wps_mca.disabled = 1;\n");
2912 websWrite(wp," }");
2919 ej_wps_sta_pin_change_display(int eid, webs_t wp, int argc, char_t **argv)
2935 websWrite(wp," if (document.forms[0].wps_action.value == \"AddEnrollee\") {\n");
2936 websWrite(wp," document.forms[0].wps_method.selectedIndex = 0;\n");
2937 websWrite(wp," document.forms[0].wps_method.disabled = 1;\n");
2938 websWrite(wp," document.forms[0].wps_sta_pin.disabled = 0;\n");
2939 websWrite(wp," document.forms[0].wps_autho_sta_mac.disabled = 0;\n");
2940 websWrite(wp," }\n");
2941 websWrite(wp," else {\n");
2942 websWrite(wp," document.forms[0].wps_method.selectedIndex = 1;\n");
2943 websWrite(wp," document.forms[0].wps_method.disabled = 1;\n");
2944 websWrite(wp," document.forms[0].wps_sta_pin.disabled = 1;\n");
2945 websWrite(wp," document.forms[0].wps_sta_pin.value = \"\";\n");
2946 websWrite(wp," document.forms[0].wps_autho_sta_mac.disabled = 1;\n");
2947 websWrite(wp," document.forms[0].wps_autho_sta_mac.value = \"\";\n");
2948 websWrite(wp," }\n");
2951 websWrite(wp," if (document.forms[0].wps_action.value == \"AddEnrollee\" && document.forms[0].wps_method.value == \"PIN\") {\n");
2952 websWrite(wp," document.forms[0].wps_sta_pin.disabled = 0;\n");
2953 websWrite(wp," }\n");
2954 websWrite(wp," else {\n");
2955 websWrite(wp," document.forms[0].wps_sta_pin.disabled = 1;\n");
2956 websWrite(wp," document.forms[0].wps_sta_pin.value = \"\";\n");
2957 websWrite(wp," }\n");
2963 ej_wps_enr_auto_change_display(int eid, webs_t wp, int argc, char_t **argv)
2965 websWrite(wp," if (document.forms[0].wps_method.value == \"PIN\") {\n");
2966 websWrite(wp," document.forms[0].wps_enr_auto.checked = \"\";\n");
2967 websWrite(wp," document.forms[0].wps_enr_auto.disabled = 1;\n");
2968 websWrite(wp," }\n");
2969 websWrite(wp," else {\n");
2970 websWrite(wp," document.forms[0].wps_enr_auto.disabled = 0;\n");
2971 websWrite(wp," }\n");
2976 ej_wps_is_oob(int eid, webs_t wp, int argc, char_t **argv)
2979 websWrite(wp, "enabled");
2981 websWrite(wp, "disabled");
3052 wl_radio_onoff(webs_t wp, int disable)
3060 websError(wp, 400, "unit number variable doesn't exist\n");
3073 websWrite(wp, "Interface is not Enabled...");
3078 websWrite(wp, "Interface status UnKnown...");
3094 ej_nvram_get(int eid, webs_t wp, int argc, char_t **argv)
3100 websError(wp, 400, "Insufficient args\n");
3109 ret += websWrite(wp, "%c", *c);
3111 ret += websWrite(wp, "&#%d", *c);
3118 ej_wl_get_bridge(int eid, webs_t wp, int argc, char_t **argv)
3128 if ((wl_bssid = websGetVar(wp, "wl_bssid", NULL)) && (atoi(wl_bssid)))
3133 websWrite(wp, "<option value=%s selected >LAN </option>\n","0" );
3134 websWrite(wp, "<option value=%s >Guest</option>\n","1" );
3140 websError(wp, 400, "unit number variable doesn't exist\n");
3158 websWrite(wp, "<option value=%s selected >LAN </option>\n","0" );
3159 websWrite(wp, "<option value=%s >Guest</option>\n","1" );
3162 websWrite(wp, "<option value=%s >LAN </option>\n","0" );
3163 websWrite(wp, "<option value=%s selected >Guest</option>\n","1" );
3176 ej_nvram_match(int eid, webs_t wp, int argc, char_t **argv)
3181 websError(wp, 400, "Insufficient args\n");
3190 return websWrite(wp, output);
3196 wl_print_chanspec_list(webs_t wp, char *name, char *phytype, char *abbrev, int band, int bw,
3239 websWrite(wp, "\t\tif (country == \"%s\")\n\t\t\tchannels = new Array(0",
3250 websWrite(wp, ", %d", chan);
3252 websWrite(wp, ", %d", c & WL_CHANSPEC_CHAN_MASK);
3254 websWrite(wp,");\n");
3262 wl_print_channel_list(webs_t wp, char *name, char *phytype, char *abbrev, int band)
3285 websWrite(wp, "\t\tif (country == \"%s\")\n\t\t\tchannels = new Array(0",
3288 websWrite(wp, ", %d", cic->channel[j]);
3289 websWrite(wp,");\n");
3299 ej_wl_country_list(int eid, webs_t wp, int argc, char_t **argv)
3316 websError(wp, 400, "Insufficient args\n");
3323 websError(wp, 400, "unit number variable doesn't exist\n");
3362 websWrite(wp, "\t\tvar countries = new Array(");
3365 websWrite(wp, "\"%s\"", abbrev);
3367 websWrite(wp, ", ");
3369 websWrite(wp, ");\n");
3375 websWrite(wp, "\t\tdocument.forms[0].wl_country_code[%d] = new Option(\"%s\", \"%s\");\n",
3387 ej_wl_channel_list(int eid, webs_t wp, int argc, char_t **argv)
3407 websError(wp, 400, "Insufficient args\n");
3413 websError(wp, 400, "unit number variable doesn't exist\n");
3471 wl_print_chanspec_list(wp, name, phytype, abbrev, band, bw, csb);
3473 wl_print_channel_list(wp, name, phytype, abbrev, band);
3486 auth_list_sta(webs_t wp, char *name, struct ether_addr *ea)
3499 websWrite(wp, "<td>%s</td>", ether_etoa((unsigned char *)ea, ea_str));
3500 websWrite(wp, "<td>%s</td>", (f & WL_STA_ASSOC) ? reltime_short(sta->in) : "-");
3501 websWrite(wp, "<td>%s</td>", (f & WL_STA_AUTHO) ? "Yes" : "No");
3502 websWrite(wp, "<td>%s</td>", (f & WL_STA_WME) ? "Yes" : "No");
3503 websWrite(wp, "<td>%s</td>", (f & WL_STA_PS) ? "Yes" : "No");
3504 websWrite(wp, "<td>%s%s%s%s&nbsp;</td>",
3513 ej_wl_auth_list(int eid, webs_t wp, int argc, char_t **argv)
3523 if ((wl_bssid = websGetVar(wp, "wl_bssid", NULL)) && (atoi(wl_bssid)))
3527 websError(wp, 400, "unit number variable doesn't exist\n");
3554 websWrite(wp, "<tr align=\"center\">");
3555 auth_list_sta(wp, name, &mac_list->ea[i]);
3556 websWrite(wp, "</tr>");
3571 ej_nvram_invmatch(int eid, webs_t wp, int argc, char_t **argv)
3576 websError(wp, 400, "Insufficient args\n");
3585 return websWrite(wp, output);
3597 ej_nvram_list(int eid, webs_t wp, int argc, char_t **argv)
3604 websError(wp, 400, "Insufficient args\n");
3610 return websWrite(wp, word);
3617 ej_nvram_inlist(int eid, webs_t wp, int argc, char_t **argv)
3623 websError(wp, 400, "Insufficient args\n");
3629 return websWrite(wp, output);
3636 ej_nvram_invinlist(int eid, webs_t wp, int argc, char_t **argv)
3642 websError(wp, 400, "Insufficient args\n");
3651 return websWrite(wp, output);
3661 ej_nvram_indexmatch(int eid, webs_t wp, int argc, char_t **argv)
3668 websError(wp, 400, "Insufficient args\n");
3678 return websWrite(wp, output);
3689 ej_filter_client(int eid, webs_t wp, int argc, char_t **argv)
3704 websError(wp, 400, "Insufficient args\n");
3711 ret += websWrite(wp, "<tr>");
3712 ret += websWrite(wp, "<td></td>");
3715 ret += websWrite(wp, "<td><input name=\"filter_client_from_start%d\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>",
3717 ret += websWrite(wp, "<td>-</td>");
3718 ret += websWrite(wp, "<td><input name=\"filter_client_from_end%d\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>",
3720 ret += websWrite(wp, "<td></td>");
3723 ret += websWrite(wp, "<td>");
3724 ret += websWrite(wp, "<select name=\"filter_client_proto%d\">", i);
3725 ret += websWrite(wp, "<option value=\"tcp\" %s>TCP</option>",
3727 ret += websWrite(wp, "<option value=\"udp\" %s>UDP</option>",
3729 ret += websWrite(wp, "</select>");
3730 ret += websWrite(wp, "</td>");
3731 ret += websWrite(wp, "<td></td>");
3738 ret += websWrite(wp, "<td><input name=\"filter_client_to_start%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
3740 ret += websWrite(wp, "<td>-</td>");
3745 ret += websWrite(wp, "<td><input name=\"filter_client_to_end%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
3747 ret += websWrite(wp, "<td></td>");
3750 ret += websWrite(wp, "<td>");
3751 ret += websWrite(wp, "<select name=\"filter_client_from_day%d\">", i);
3753 ret += websWrite(wp, "<option value=\"%d\" %s>%s</option>",
3755 ret += websWrite(wp, "</select>");
3756 ret += websWrite(wp, "</td>");
3757 ret += websWrite(wp, "<td>-</td>");
3758 ret += websWrite(wp, "<td>");
3759 ret += websWrite(wp, "<select name=\"filter_client_to_day%d\">", i);
3761 ret += websWrite(wp, "<option value=\"%d\" %s>%s</option>",
3763 ret += websWrite(wp, "</select>");
3764 ret += websWrite(wp, "</td>");
3765 ret += websWrite(wp, "<td></td>");
3768 ret += websWrite(wp, "<td>");
3769 ret += websWrite(wp, "<select name=\"filter_client_from_sec%d\">", i);
3771 ret += websWrite(wp, "<option value=\"%d\" %s>%s</option>",
3773 ret += websWrite(wp, "</select>");
3774 ret += websWrite(wp, "</td>");
3775 ret += websWrite(wp, "<td>-</td>");
3777 ret += websWrite(wp, "<td>");
3778 ret += websWrite(wp, "<select name=\"filter_client_to_sec%d\">", i);
3780 ret += websWrite(wp, "<option value=\"%d\" %s>%s</option>",
3783 ret += websWrite(wp, "<option value=\"%d\" %s>12:00 AM</option>",
3785 ret += websWrite(wp, "</select>");
3786 ret += websWrite(wp, "</td>");
3787 ret += websWrite(wp, "<td></td>");
3790 ret += websWrite(wp, "<td><input type=\"checkbox\" name=\"filter_client_enable%d\" %s></td>",
3793 ret += websWrite(wp, "</tr>");
3804 ej_filter_url(int eid, webs_t wp, int argc, char_t **argv)
3814 websError(wp, 400, "Insufficient args\n");
3819 ret += websWrite(wp, "<p>");
3820 ret += websWrite(wp, "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
3821 ret += websWrite(wp, "<tr>");
3822 ret += websWrite(wp, "<th width=\"310\" valign=\"top\" rowspan=\"11\" ");
3823 ret += websWrite(wp, "onMouseOver=");
3824 ret += websWrite(wp,
3826 ret += websWrite(wp, "onMouseOut=\"return nd();\">");
3827 ret += websWrite(wp, "<input type=\"hidden\" name=\"filter_url\" value=\"10\">");
3828 ret += websWrite(wp, "URL Filters:&nbsp;&nbsp;");
3829 ret += websWrite(wp, "</th>");
3830 ret += websWrite(wp, "<td>&nbsp;&nbsp;</td>");
3831 ret += websWrite(wp, "<td class=\"label\" colspan=\"3\">LAN IP Address Range</td>");
3832 ret += websWrite(wp, "<td>&nbsp;</td>");
3833 ret += websWrite(wp, "<td class=\"label\">URL filter string</td>");
3834 ret += websWrite(wp, "<td class=\"label\">Enabled</td>");
3835 ret += websWrite(wp, "</tr>");
3841 ret += websWrite(wp, "<tr>");
3842 ret += websWrite(wp, "<td></td>");
3845 ret += websWrite(wp, "<td><input name=\"filter_url_from_start%d\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>",
3847 ret += websWrite(wp, "<td>-</td>");
3848 ret += websWrite(wp, "<td><input name=\"filter_url_from_end%d\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>",
3850 ret += websWrite(wp, "<td></td>");
3853 ret += websWrite(wp, "<td><input name=\"filter_url_addr%d\" value=\"%s\" size=\"40\" maxlength=\"128\"></td>",
3857 ret += websWrite(wp, "<td><input type=\"checkbox\" name=\"filter_url_enable%d\" %s></td>",
3860 ret += websWrite(wp, "</tr>");
3864 ret += websWrite(wp, "</table>");
3875 ej_forward_port(int eid, webs_t wp, int argc, char_t **argv)
3883 websError(wp, 400, "Insufficient args\n");
3890 ret += websWrite(wp, "<tr>");
3891 ret += websWrite(wp, "<td></td>");
3894 ret += websWrite(wp, "<td>");
3895 ret += websWrite(wp, "<select name=\"forward_port_proto%d\">", i);
3896 ret += websWrite(wp, "<option value=\"tcp\" %s>TCP</option>",
3898 ret += websWrite(wp, "<option value=\"udp\" %s>UDP</option>",
3900 ret += websWrite(wp, "</select>");
3901 ret += websWrite(wp, "</td>");
3902 ret += websWrite(wp, "<td></td>");
3909 ret += websWrite(wp, "<td><input name=\"forward_port_from_start%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
3911 ret += websWrite(wp, "<td>-</td>");
3916 ret += websWrite(wp, "<td><input name=\"forward_port_from_end%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
3918 ret += websWrite(wp, "<td>></td>");
3921 ret += websWrite(wp, "<td><input name=\"forward_port_to_ip%d\" value=\"%s\" size=\"15\" maxlength=\"15\"></td>",
3923 ret += websWrite(wp, "<td>:</td>");
3930 ret += websWrite(wp, "<td><input name=\"forward_port_to_start%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
3932 ret += websWrite(wp, "<td>-</td>");
3937 ret += websWrite(wp, "<td><input name=\"forward_port_to_end%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
3939 ret += websWrite(wp, "<td></td>");
3942 ret += websWrite(wp, "<td><input type=\"checkbox\" name=\"forward_port_enable%d\" %s></td>",
3945 ret += websWrite(wp, "</tr>");
3952 ej_autofw_port(int eid, webs_t wp, int argc, char_t **argv)
3960 websError(wp, 400, "Insufficient args\n");
3968 ret += websWrite(wp, "<tr>");
3969 ret += websWrite(wp, "<td></td>");
3972 ret += websWrite(wp, "<td>");
3973 ret += websWrite(wp, "<select name=\"autofw_port_out_proto%d\">", i);
3974 ret += websWrite(wp, "<option value=\"tcp\" %s>TCP</option>",
3976 ret += websWrite(wp, "<option value=\"udp\" %s>UDP</option>",
3978 ret += websWrite(wp, "</select>");
3979 ret += websWrite(wp, "</td>");
3980 ret += websWrite(wp, "<td></td>");
3987 ret += websWrite(wp, "<td><input name=\"autofw_port_out_start%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
3989 ret += websWrite(wp, "<td>-</td>");
3994 ret += websWrite(wp, "<td><input name=\"autofw_port_out_end%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
3996 ret += websWrite(wp, "<td></td>");
3999 ret += websWrite(wp, "<td>");
4000 ret += websWrite(wp, "<select name=\"autofw_port_in_proto%d\">", i);
4001 ret += websWrite(wp, "<option value=\"tcp\" %s>TCP</option>",
4003 ret += websWrite(wp, "<option value=\"udp\" %s>UDP</option>",
4005 ret += websWrite(wp, "</select>");
4006 ret += websWrite(wp, "</td>");
4007 ret += websWrite(wp, "<td></td>");
4014 ret += websWrite(wp, "<td><input name=\"autofw_port_in_start%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
4016 ret += websWrite(wp, "<td>-</td>");
4021 ret += websWrite(wp, "<td><input name=\"autofw_port_in_end%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
4023 ret += websWrite(wp, "<td></td>");
4030 ret += websWrite(wp, "<td><input name=\"autofw_port_to_start%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
4032 ret += websWrite(wp, "<td>-</td>");
4037 ret += websWrite(wp, "<td><input name=\"autofw_port_to_end%d\" value=\"%s\" size=\"5\" maxlength=\"5\"></td>",
4039 ret += websWrite(wp, "<td></td>");
4042 ret += websWrite(wp, "<td><input type=\"checkbox\" name=\"autofw_port_enable%d\" %s></td>",
4045 ret += websWrite(wp, "</tr>");
4058 ej_lan_route(int eid, webs_t wp, int argc, char_t **argv)
4066 websError(wp, 400, "Insufficient args\n");
4085 return websWrite(wp, ipaddr);
4087 return websWrite(wp, netmask);
4089 return websWrite(wp, gateway);
4091 return websWrite(wp, metric);
4105 ej_wan_route(int eid, webs_t wp, int argc, char_t **argv)
4116 websError(wp, 400, "Insufficient args\n");
4139 return websWrite(wp, ipaddr);
4141 return websWrite(wp, netmask);
4143 return websWrite(wp, gateway);
4145 return websWrite(wp, metric);
4160 static void cgi(webs_t wp, const char * const cmd)
4174 websWrite(wp, "%s", line);
4182 ej_ggl_plc_get_autoconf_root(int eid, webs_t wp, int argc, char_t **argv)
4184 cgi(wp, "get plc_cfg_root");
4189 ej_ggl_plc_get_info(int eid, webs_t wp, int argc, char_t **argv)
4191 cgi(wp, "get info");
4196 ej_ggl_plc_get_mac(int eid, webs_t wp, int argc, char_t **argv)
4198 cgi(wp, "get mac");
4203 ej_ggl_plc_get_nets(int eid, webs_t wp, int argc, char_t **argv)
4205 cgi(wp, "get nw_info");
4210 ej_ggl_plc_get_nick(int eid, webs_t wp, int argc, char_t **argv)
4212 cgi(wp, "get nick");
4217 ej_ggl_plc_get_role(int eid, webs_t wp, int argc, char_t **argv)
4219 cgi(wp, "get role");
4224 ej_ggl_plc_get_stas(int eid, webs_t wp, int argc, char_t **argv)
4226 cgi(wp, "get stas");
4231 ej_ggl_plc_get_uptime(int eid, webs_t wp, int argc, char_t **argv)
4233 cgi(wp, "get uptime");
4238 ej_ggl_cgi_version(int eid, webs_t wp, int argc, char_t **argv)
4240 cgi(wp, "get version");
4245 ej_ggl_get_avln_list(int eid, webs_t wp, int argc, char_t **argv)
4256 websWrite(wp, "<tr align=\"center\">");
4257 websWrite(wp, "<td>%s</td>", mac);
4258 websWrite(wp, "<td>%s</td>", nid);
4259 websWrite(wp, "<td>%u</td>", 5);
4260 websWrite(wp, "</tr>");
4354 ej_wl_list(int eid, webs_t wp, int argc, char_t **argv)
4368 websError(wp, 400, "Unknown argument %s\n",virtual);
4380 websError(wp, 400, "Unable to remove duplicate interfaces from ifname list<br>");
4397 websError(wp, 400, "wl name for interface:%s not found\n",name);
4417 websError(wp, 400, "Error extracting unit and subunit name from %s\n",wl_name);
4441 if (websGetVar(wp, "wl_bssid", NULL)) {
4442 str_to_compare = websGetVar(wp, "wl_unit", NULL);
4448 ret += websWrite(wp, "<option value=\"%s\" %s>%s(%s)</option>\n", unit_str,
4453 ret += websWrite(wp, "<option value=\"%s\" %s>(%s)</option>\n", unit_str,
4460 ret += websWrite(wp, "<option value=\"-1\" selected>None</option>");
4467 ej_wl_phytypes(int eid, webs_t wp, int argc, char_t **argv)
4478 return websWrite(wp, "None");
4491 ret += websWrite(wp, "<option value=\"%d\" %s> %s GHz</option>\n",
4502 ret += websWrite(wp, "<option value=\"%d\" %s> %s GHz</option>",
4510 ret += websWrite(wp, "<option value=\"%c\" %s>%s</option>",
4523 ret += websWrite(wp, "<option value=\"%c\" %s>%s</option>",
4531 ej_wl_nmode_enabled(int eid, webs_t wp, int argc, char_t **argv)
4540 websError(wp, 400, "Error getting wl_unit\n");
4545 websError(wp, 400, "Error getting unit/subunit\n");
4552 websWrite(wp, "\"0\"");
4554 websWrite(wp, "\"1\"");
4561 ej_wl_nphyrates(int eid, webs_t wp, int argc, char_t **argv)
4573 websError(wp, 400, "unit number variable doesn't exist\n");
4578 if ((ret = wl_phytype_get(wp, &phytype)) != 0)
4586 websError(wp, 400, "BW does not exist \n");
4596 ret += websWrite(wp, "\t\tdocument.forms[0].wl_nmcsidx.length = 0; \n");
4598 ret += websWrite(wp, "\t\tdocument.forms[0].wl_nmcsidx[0] = "
4602 ret += websWrite(wp, "\t\tdocument.forms[0].wl_nmcsidx.selectedIndex = 0;\n");
4610 ret += websWrite(wp, "\t\tif(document.forms[0].wl_txchain.selectedIndex > 0) {\n");
4616 ret += websWrite(wp, "\t\tdocument.forms[0].wl_nmcsidx[%d] = new Option(\"", i);
4618 ret += websWrite(wp, "Use Legacy Rate\", \"-2\");\n");
4620 ret += websWrite(wp,
4625 ret += websWrite(wp, "%2d: %d", mcsidxs[i], mcs_rate/1000);
4628 ret += websWrite(wp, ".%d", (mcs_rate % 1000)/100);
4629 ret += websWrite(wp, " Mbps");
4632 ret += websWrite(wp, " or %d", mcs_rate/1000);
4635 ret += websWrite(wp, ".%d", (mcs_rate % 1000)/100);
4636 ret += websWrite(wp, " Mbps");
4638 ret += websWrite(wp, "\", \"%d\");\n", mcsidxs[i]);
4641 ret += websWrite(wp,
4648 ret += websWrite(wp, "\t\t}\n");
4655 ej_wl_txchains_list(int eid, webs_t wp, int argc, char_t **argv)
4665 websError(wp, 400, "unit number variable doesn't exist\n");
4693 ret += websWrite(wp, "\t<option value=%d %s>%d</option>\n",
4703 ej_wl_rxchains_list(int eid, webs_t wp, int argc, char_t **argv)
4713 websError(wp, 400, "unit number variable doesn't exist\n");
4741 ret += websWrite(wp, "\t<option value=%d %s>%d</option>\n",
4750 ej_wl_radioid(int eid, webs_t wp, int argc, char_t **argv)
4757 websError(wp, 400, "Insufficient args\n");
4764 return websWrite(wp, "None");
4769 return websWrite(wp, var);
4773 return websWrite(wp, "None");
4778 ej_wl_corerev(int eid, webs_t wp, int argc, char_t **argv)
4783 return websWrite(wp, "None");
4785 return websWrite(wp, nvram_safe_get(strcat_r(prefix, "corerev", tmp)));
4790 ej_wl_cur_channel(int eid, webs_t wp, int argc, char_t **argv)
4808 websError(wp, 400, "unit number variable doesn't exist\n");
4815 if ((status = wl_phytype_get(wp, &phytype)) != 0)
4848 return websWrite(wp, "Current: %d %s",
4857 ej_wl_cur_nbw(int eid, webs_t wp, int argc, char_t **argv)
4864 websError(wp, 400, "unit number variable doesn't exist\n");
4873 return websWrite(wp, "Current: %s", (chanspec & WL_CHANSPEC_BW_MASK) ==
4879 ej_wl_cur_nctrlsb(int eid, webs_t wp, int argc, char_t **argv)
4886 websError(wp, 400, "unit number variable doesn't exist\n");
4895 return websWrite(wp, "Current: %s", (chanspec & WL_CHANSPEC_CTL_SB_MASK) ==
4902 ej_wl_cur_country(int eid, webs_t wp, int argc, char_t **argv)
4909 websError(wp, 400, "unit number variable doesn't exist\n");
4916 return websWrite(wp, "%s", buf);
4921 ej_wl_cur_phytype(int eid, webs_t wp, int argc, char_t **argv)
4928 websError(wp, 400, "unit number variable doesn't exist\n");
4941 return websWrite(wp, "Current: %s", phytype == WLC_BAND_5G ? "5 GHz" :
4944 return websWrite(wp, "Current: 802.11%s", phytype == WLC_PHY_TYPE_A ? "a" :
4948 return websWrite(wp, "Current: %s", phytype == WLC_BAND_5G ? "5 GHz" :
4956 ej_wl_nphy_set(int eid, webs_t wp, int argc, char_t **argv)
4961 if ((status = wl_phytype_get(wp, &phytype)) != 0)
4964 return websWrite(wp, "%d", ((phytype == WLC_PHY_TYPE_N) || (phytype == WLC_PHY_TYPE_SSN) ||
4970 ej_wl_protection(int eid, webs_t wp, int argc, char_t **argv)
4977 if ((status = wl_phytype_get(wp, &phytype)) != 0)
4984 ret += websWrite(wp, "<th width=\"310\"\n\tonMouseOver=\"return overlib('In <b>Auto</b>"
4986 ret += websWrite(wp, " %s performance in mixed %s networks. Turn protection <b>Off</b> to "
4997 ret += websWrite(wp, "\tonMouseOut=\"return nd();\">\n\t%s Protection:&nbsp;&nbsp;"
5002 ret += websWrite(wp, "\t\t<select name=\"%s\">\n",
5004 ret += websWrite(wp, "\t\t\t<option value=\"auto\" %s>Auto</option>\n",
5006 ret += websWrite(wp, "\t\t\t<option value=\"off\" %s>Off</option>\n",
5008 ret += websWrite(wp, "\t\t</select>\n\t</td>");
5015 ej_wl_mimo_preamble(int eid, webs_t wp, int argc, char_t **argv)
5025 websError(wp, 400, "unit number variable doesn't exist\n");
5043 ret += websWrite(wp, "<th width=\"310\"\n\tonMouseOver=\"return overlib('Force to use Green-Field or Mixed-Mode preamble. in<b>Auto</b>"
5045 ret += websWrite(wp, "\tonMouseOut=\"return nd();\">\n\t%s Mimo PrEamble:&nbsp;&nbsp;"
5047 ret += websWrite(wp, "\t\t<select name=\"%s\">\n", prot_str);
5048 ret += websWrite(wp, "\t\t\t<option value=\"gfbcm\" %s>GF-BRCM</option>\n",
5050 ret += websWrite(wp, "\t\t\t<option value=\"auto\" %s>Auto</option>\n",
5052 ret += websWrite(wp, "\t\t\t<option value=\"gf\" %s>Green Field</option>\n",
5054 ret += websWrite(wp, "\t\t\t<option value=\"mm\" %s>Mixed Mode</option>\n",
5056 ret += websWrite(wp, "\t\t</select>\n\t</td>");
5063 ej_wl_control_string(int eid, webs_t wp, int argc, char_t **argv)
5068 if ((status = wl_phytype_get(wp, &phytype)) != 0)
5071 return websWrite(wp, "%s", ((phytype == WLC_PHY_TYPE_N) || (phytype == WLC_PHY_TYPE_SSN) ||
5077 ej_wl_legacy_string(int eid, webs_t wp, int argc, char_t **argv)
5082 if ((status = wl_phytype_get(wp, &phytype)) != 0)
5085 return websWrite(wp, "%s", ((phytype == WLC_PHY_TYPE_N) || (phytype == WLC_PHY_TYPE_SSN) ||
5093 ej_wl_nphy_comment_beg(int eid, webs_t wp, int argc, char_t **argv)
5098 if ((status = wl_phytype_get(wp, &phytype)) != 0)
5100 return websWrite(wp, "%s", ((phytype == WLC_PHY_TYPE_N) || (phytype == WLC_PHY_TYPE_SSN) ||
5105 ej_wl_nphy_comment_end(int eid, webs_t wp, int argc, char_t **argv)
5110 if ((status = wl_phytype_get(wp, &phytype)) != 0)
5112 return websWrite(wp, "%s", ((phytype == WLC_PHY_TYPE_N) || (phytype == WLC_PHY_TYPE_SSN) ||
5120 ej_wl_phytype_name(int eid, webs_t wp, int argc, char_t **argv)
5125 wl_phytype_get(wp, &phytype);
5127 return websWrite(wp, "%s", ((phytype == WLC_PHY_TYPE_N) || (phytype == WLC_PHY_TYPE_SSN) ||
5133 ej_wl_cur_band(int eid, webs_t wp, int argc, char_t **argv)
5140 websError(wp, 400, "unit number variable doesn't exist\n");
5149 return websWrite(wp, "Current: %s ", bandtype == WLC_BAND_5G ? "5 GHz" :
5154 ej_wl_crypto(int eid, webs_t wp, int argc, char_t **argv)
5163 websError(wp, 400, "Error getting wl_unit\n");
5168 websError(wp, 400, "Error getting unit/subunit\n");
5174 websWrite(wp, nvram_safe_get(nv_param));
5180 ej_wl_wep(int eid, webs_t wp, int argc, char_t **argv)
5189 websError(wp, 400, "Error getting wl_unit\n");
5194 websError(wp, 400, "Error getting unit/subunit\n");
5200 websWrite(wp, nvram_safe_get(nv_param));
5212 ej_wl_invite_list(int eid, webs_t wp, int argc, char_t **argv)
5255 return websWrite(wp, sta_list);
5260 ej_wl_wfi_mode(int eid, webs_t wp, int argc, char_t **argv)
5269 return websWrite(wp, "WPS mode is enabled on this BSS.");
5271 return websWrite(wp, "WPS mode is not enabled on this BSS.");
5292 ej_wan_list(int eid, webs_t wp, int argc, char_t **argv)
5302 ret += websWrite(wp, "<option value=\"%d\" %s>%s</option>", unit,
5312 ej_wps_add(int eid, webs_t wp, int argc, char_t **argv)
5317 websWrite(wp, "Unconfiged AP");
5319 websWrite(wp, "Built-in Registrar");
5321 websWrite(wp, "Proxing...");
5325 websWrite(wp, "Stopped");
5333 ej_wps_process(int eid, webs_t wp, int argc, char_t **argv)
5343 websWrite(wp, "Configuring AP...");
5345 websWrite(wp, "&nbsp;&nbsp;<input type=\"submit\" name=\"action\" value=\"STOPWPS\">");
5353 websWrite(wp, "Processing WPS start...");
5357 websWrite(wp, "Success");
5360 websWrite(wp, "Fail due to WPS message exange error!");
5363 websWrite(wp, "Fail due to WPS time out!");
5366 websWrite(wp, "Init");
5372 websWrite(wp, "&nbsp;&nbsp;<input type=\"submit\" name=\"action\" value=\"STOPWPS\">");
5376 websWrite(wp, "&nbsp;&nbsp;<input type=\"submit\" name=\"action\" value=\"PBC Again\">");
5385 ej_wps_start(int eid, webs_t wp, int argc, char_t **argv)
5389 websWrite(wp, "<input type=\"submit\" name=\"action\" value=\"Start\">");
5396 ej_wps_gen_pin_btn(int eid, webs_t wp, int argc, char_t **argv)
5399 return websWrite(wp, "<input type=\"submit\" name=\"action\" value=\"Generate\">");
5705 ej_wps_enr_start(int eid, webs_t wp, int argc, char_t **argv)
5709 websWrite(wp, "<input type=\"submit\" name=\"action\" value=\"Enroll\">");
5717 ej_wps_enr_scan_result(int eid, webs_t wp, int argc, char_t **argv)
5724 websWrite(wp, "<option value=\"-1\" selected>None</option>");
5740 ret += websWrite(wp, "<option value=\"%d\" %s>%s (%s)</option>\n", i,
5747 websWrite(wp, "<option value=\"-1\" selected>None</option>");
5754 ej_wps_enr_process(int eid, webs_t wp, int argc, char_t **argv)
5763 websWrite(wp, "Start enrolling...");
5766 websWrite(wp, "Succeeded...");
5769 websWrite(wp, "Failed...");
5772 websWrite(wp, "Failed (timeout)...");
5775 websWrite(wp, "Failed (pbc overlap)...");
5778 websWrite(wp, "Finding a pbc access point...");
5781 websWrite(wp, "Assciating with access point...");
5784 websWrite(wp, "Init...");
5790 websWrite(wp, "&nbsp;&nbsp;<input type=\"submit\" name=\"action\" value=\"STOPWPS\">");
5799 ej_ure_list(int eid, webs_t wp, int argc, char_t **argv)
5806 websError(wp, 400, "Insufficient args\n");
5815 websWrite(wp, "selected" );
5822 websWrite(wp, "selected" );
5833 ej_ure_enabled(int eid, webs_t wp, int argc, char_t **argv)
5842 websError(wp, 400, "Error getting wl_unit\n");
5847 websError(wp, 400, "Error getting unit/subunit\n");
5854 websWrite(wp, "\"1\"");
5857 websWrite(wp, "\"0\"");
5874 ej_ure_any_enabled(int eid, webs_t wp, int argc, char_t **argv)
5877 websWrite(wp, "\"1\"");
5879 websWrite(wp, "\"0\"");
5889 ej_wl_ibss_mode(int eid, webs_t wp, int argc, char_t **argv)
5899 websError(wp, 400, "Error getting wl_unit\n");
5904 websError(wp, 400, "Error getting unit/subunit\n");
5921 websWrite(wp, "\"0\"");
5923 websWrite(wp, "\"1\"");
5925 websError(wp, 400, "Invalid wl%d_infra setting in NVRAM\n", unit);
5991 validate_list(webs_t wp, char *value, struct variable *v,
6005 if (!(value = websGetVar(wp, name, NULL)))
6010 if (!valid(wp, value, v ))
6027 valid_ipaddr(webs_t wp, char *value, struct variable *v)
6035 websBufferWrite(wp, "Invalid <b>%s</b> %s: not an IP address<br>",
6048 websBufferWrite(wp, "Invalid <b>%s</b> %s: not in the %s/",
6050 websBufferWrite(wp, "%s network<br>", inet_ntoa(netmask));
6054 websBufferWrite(wp, "Invalid <b>%s</b> %s: cannot be the network address<br>",
6059 websBufferWrite(wp, "Invalid <b>%s</b> %s: cannot be the broadcast address<br>",
6069 validate_ipaddr(webs_t wp, char *value, struct variable *v , char *varname)
6076 if (!valid_ipaddr(wp, value, v) ) return;
6088 validate_ipaddrs(webs_t wp, char *value, struct variable *v, char *varname)
6091 validate_list(wp, value, v, valid_ipaddr, varname);
6095 valid_choice(webs_t wp, char *value, struct variable *v)
6106 websBufferWrite(wp, "Invalid <b>%s</b> %s: not one of ", v->longname, value);
6108 websBufferWrite(wp, "%s%s", choice == v->argv ? "" : "/", *choice);
6109 websBufferWrite(wp, "<br>");
6115 validate_choice(webs_t wp, char *value, struct variable *v, char *varname)
6122 if (!valid_choice(wp, value, v)) return;
6133 validate_router_disable(webs_t wp, char *value, struct variable *v,
6142 if (!valid_choice(wp, value, v)) return;
6160 valid_range(webs_t wp, char *value, struct variable *v)
6171 websBufferWrite(wp, "Invalid <b>%s</b> %s: out of range %d-%d<br>",
6180 validate_range(webs_t wp, char *value, struct variable *v , char *varname)
6187 if (!valid_range(wp, value, v)) return ;
6199 valid_qos_var(webs_t wp, char *value, struct variable *v, char *varname )
6211 valid_name(webs_t wp, char *value, struct variable *v)
6222 websBufferWrite(wp, "Invalid <b>%s</b> %s: longer than %d characters<br>",
6227 websBufferWrite(wp, "Invalid <b>%s</b> %s: shorter than %d characters<br>",
6236 validate_guest_lan_ifname(webs_t wp, char *value, struct variable *v, char *varname )
6247 websBufferWrite(wp, "Guest LAN interface must be specified.<br>");
6252 websBufferWrite(wp, "Guest LAN interface index must be specified.<br>");
6260 websBufferWrite(wp, "Guest LAN interface index must be between 1 and 4.<br>");
6265 websBufferWrite(wp, "Unable to translate Guest LAN interface name: %s.<br>",value);
6271 websBufferWrite(wp, "Guest LAN interface %s is not a Wireless Interface.<br>",value);
6286 validate_vif_ssid(webs_t wp, char *value, struct variable *v, char *varname )
6314 wl_unit=websGetVar(wp, "wl_unit", NULL);
6333 if (!valid_name(wp, value, &local)) return;
6420 validate_name(webs_t wp, char *value, struct variable *v, char *varname )
6426 if (!valid_name(wp, value, v)) return;
6436 validate_bridge(webs_t wp, char *value, struct variable *v, char *varname )
6449 if ((wl_bssid = websGetVar(wp, "wl_bssid", NULL)) && (atoi(wl_bssid)))
6459 websError(wp, 400, "unit number variable doesn't exist\n");
6513 validate_ssid(webs_t wp, char *value, struct variable *v, char *varname )
6519 if ((wl_bssid = websGetVar(wp, "wl_bssid", NULL)) && (atoi(wl_bssid))){
6521 validate_vif_ssid(wp, value, v,varname);
6524 validate_name(wp, value, v, varname);
6530 validate_wl_closed(webs_t wp, char *value, struct variable *v, char *varname )
6532 validate_choice(wp, value, v, varname);
6545 validate_wl_macmode(webs_t wp, char *value, struct variable *v, char *varname )
6547 validate_choice(wp, value, v, varname);
6561 wl_mac = websGetVar(wp, wl_maclist, "");
6572 websBufferWrite(wp, "Selecting <b>allow</b> with <b>empty</b> "
6581 validate_wps2_range(webs_t wp, char *value, struct variable *v , char *varname)
6601 if (!valid_range(wp, value, v)) return ;
6613 validate_wps_reg(webs_t wp, char *value, struct variable *v, char *varname)
6636 validate_wps_oob(webs_t wp, char *value, struct variable *v, char *varname)
6659 validate_wps_mode(webs_t wp, char *value, struct variable *v, char *varname)
6693 if((auth = websGetVar(wp, "wl_auth", NULL)) && (strcmp(auth, "1") == 0)) {
6694 websBufferWrite(wp, "WPS does not support <b>Shared</b> "
6700 wep = websGetVar(wp, "wl_wep", NULL);
6718 if ((wpa = websGetVar(wp, "wl_akm_wpa", NULL)) == NULL)
6720 if ((psk = websGetVar(wp, "wl_akm_psk", NULL)) == NULL)
6723 if ((wpa2 = websGetVar(wp, "wl_akm_wpa2", NULL)) == NULL)
6725 if ((psk2 = websGetVar(wp, "wl_akm_psk2", NULL)) == NULL)
6741 websBufferWrite(wp, "WPS does not support <b>WPA/WPA-PSK</b>, "
6747 websBufferWrite(wp, "WPS only support <b>WPA2-PSK or "
6762 crypto = websGetVar(wp, "wl_crypto", NULL);
6767 websBufferWrite(wp, "<b>Crypto Algorithm</b> mode must be"
6772 websBufferWrite(wp, "WPS does not support <b>TKIP</b> only "
6782 websBufferWrite(wp, "WPS does not support <b>WEP</b> crypto "
6795 websBufferWrite(wp, "<br>Enable WPS will change the SSID "
6814 websBufferWrite(wp, "Enable WPS will <b>Disabled MAC Restrict Mode</b><br>");
6837 validate_ure(webs_t wp, char *value, struct variable *v, char *varname)
6861 if ((temp = websGetVar(wp, "wl_unit", NULL)))
6868 websError(wp, 400, "URE can't be enabled for a virtual I/F\n");
6874 if((temp = websGetVar(wp, "wl_ure", NULL)))
6882 websError(wp, 400, "Insufficient args\n");
6920 websError(wp, 400, "Can not have more than one URE interface\n");
6966 websError(wp, 400, "string too long\n");
6984 websError(wp, 400, "string too long\n");
7009 websError(wp, 400, "string too long\n");
7020 websError(wp, 400, "Failed to add AP interface to lan_ifnames\n");
7034 websError(wp, 400, "string too long\n");
7113 websError(wp, 400, "string too long\n");
7140 websError(wp, 400, "string too long\n");
7180 valid_hwaddr(webs_t wp, char *value, struct variable *v)
7195 websBufferWrite(wp, "Invalid <b>%s</b> %s: not a MAC address<br>",
7205 validate_hwaddr(webs_t wp, char *value, struct variable *v, char *varname )
7210 if (!valid_hwaddr(wp, value, v)) return;
7224 validate_hwaddrs(webs_t wp, char *value, struct variable *v, char *varname )
7230 validate_list(wp, value, v, valid_hwaddr, varname);
7234 validate_dhcp(webs_t wp, char *value, struct variable *v, char *varname)
7275 if (!(start = websGetVar(wp, dhcp_start, NULL)) ||
7276 !(end = websGetVar(wp, dhcp_end, NULL)))
7281 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a range<br>", v->longname);
7284 if (!valid_ipaddr(wp, start, &dhcp_variables[0]) ||
7285 !valid_ipaddr(wp, end, &dhcp_variables[1]))
7288 websBufferWrite(wp, "Invalid <b>%s</b> %s: greater than <b>%s</b> %s<br>",
7300 validate_lan_ipaddr(webs_t wp, char *value, struct variable *v, char *varname)
7341 if (!(lan_ipaddr = websGetVar(wp, fields[0].name, NULL)) ||
7342 !(lan_netmask = websGetVar(wp, fields[1].name, NULL)) ||
7343 !valid_ipaddr(wp, lan_ipaddr, &fields[0]) ||
7344 !valid_ipaddr(wp, lan_netmask, &fields[1]))
7353 websBufferWrite(wp, "Invalid <b>%s</b> %s: cannot be the network address<br>",
7358 websBufferWrite(wp, "Invalid <b>%s</b> %s: cannot be the broadcast address<br>",
7418 validate_filter_client(webs_t wp, char *value, struct variable *v, char *varname)
7444 if (!valid_range(wp, value, v)){
7445 websBufferWrite(wp, "Invalid filter client string <b>%s</b><br>",value);
7454 if (!(*locals[j] = websGetVar(wp, name, NULL)))
7462 if (websGetVar(wp, name, NULL))
7477 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a LAN IP Address Range<br>", v->longname);
7481 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a Destination Port Range<br>", v->longname);
7485 if (!valid_ipaddr(wp, from_start, &fields[0]) ||
7486 !valid_ipaddr(wp, from_end, &fields[1]) ||
7487 !valid_choice(wp, proto, &fields[2]) ||
7488 !valid_range(wp, to_start, &fields[3]) ||
7489 !valid_range(wp, to_end, &fields[4]) ||
7490 !valid_range(wp, from_day, &fields[5]) ||
7491 !valid_range(wp, to_day, &fields[6]) ||
7492 !valid_range(wp, from_sec, &fields[7]) ||
7493 !valid_range(wp, to_sec, &fields[8]))
7497 websBufferWrite(wp, "Invalid <b>%s</b> %s: greater than <b>%s</b> %s<br>",
7502 websBufferWrite(wp, "Invalid <b>%s</b> %s: greater than <b>%s</b> %s<br>",
7536 validate_filter_url(webs_t wp, char *value, struct variable *v, char *varname)
7555 if (!valid_range(wp, value, v)){
7556 websBufferWrite(wp, "Invalid url filter string <b>%s</b><br>",value);
7565 if (!(*locals[j] = websGetVar(wp, name, NULL)))
7573 if (!(url_addr = websGetVar(wp, name, NULL))) {
7579 if (websGetVar(wp, name, NULL))
7592 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a LAN IP Address Range<br>", v->longname);
7596 if (!valid_ipaddr(wp, from_start, &fields[0]) ||
7597 !valid_ipaddr(wp, from_end, &fields[1]))
7601 websBufferWrite(wp, "Invalid <b>%s</b> %s: greater than <b>%s</b> %s<br>",
7626 validate_forward_port(webs_t wp, char *value, struct variable *v, char *varname)
7649 if (!valid_range(wp, value, v)){
7650 websBufferWrite(wp, "Invalid forward port string <b>%s</b><br>",value);
7659 if (!(*locals[j] = websGetVar(wp, name, NULL)))
7667 if (websGetVar(wp, name, NULL))
7684 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a LAN IP Address Range<br>", v->longname);
7688 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a LAN IP Address<br>", v->longname);
7692 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a Destination Port Range<br>", v->longname);
7696 if (!valid_choice(wp, proto, &fields[0]) ||
7697 !valid_range(wp, from_start, &fields[1]) ||
7698 !valid_range(wp, from_end, &fields[2]) ||
7699 !valid_ipaddr(wp, to_ip, &fields[3]) ||
7700 !valid_range(wp, to_start, &fields[4]) ||
7701 !valid_range(wp, to_end, &fields[5]))
7704 websBufferWrite(wp, "Invalid <b>%s</b> %s: greater than <b>%s</b> %s<br>",
7709 websBufferWrite(wp, "Invalid <b>%s</b> %s: greater than <b>%s</b> %s<br>",
7714 websBufferWrite(wp, "Invalid <b>%s</b>: WAN Port Range and LAN Port Range must be the same size<br>", v->longname);
7740 validate_autofw_port(webs_t wp, char *value, struct variable *v, char *varname)
7765 if (!valid_range(wp, value, v)){
7766 websBufferWrite(wp, "Invalid auto forward port string <b>%s</b><br>",value);
7775 if (!(*locals[j] = websGetVar(wp, name, NULL)))
7783 if (websGetVar(wp, name, NULL))
7802 websBufferWrite(wp, "Invalid <b>%s</b>: must specify an Outbound Port Range<br>", v->longname);
7806 websBufferWrite(wp, "Invalid <b>%s</b>: must specify an Inbound Port Range<br>", v->longname);
7810 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a To Port Range<br>", v->longname);
7814 if (!valid_choice(wp, out_proto, &fields[0]) ||
7815 !valid_range(wp, out_start, &fields[1]) ||
7816 !valid_range(wp, out_end, &fields[2]) ||
7817 !valid_choice(wp, in_proto, &fields[3]) ||
7818 !valid_range(wp, in_start, &fields[4]) ||
7819 !valid_range(wp, in_end, &fields[5]) ||
7820 !valid_range(wp, to_start, &fields[6]) ||
7821 !valid_range(wp, to_end, &fields[7]))
7825 websBufferWrite(wp, "Invalid <b>%s</b> %s: greater than <b>%s</b> %s<br>",
7830 websBufferWrite(wp, "Invalid <b>%s</b> %s: greater than <b>%s</b> %s<br>",
7835 websBufferWrite(wp, "Invalid <b>%s</b> %s: greater than <b>%s</b> %s<br>",
7840 websBufferWrite(wp, "Invalid <b>%s</b>: Inbound Port Range and To Port Range must be the same size<br>", v->longname);
7845 websBufferWrite(wp, "Invalid <b>%s</b>: Inbound Port Range must be less than 100<br>", v->longname);
7878 validate_lan_route(webs_t wp, char *value, struct variable *v, char *varname)
7923 if (!(ipaddr = websGetVar(wp, lan_route_ipaddr, NULL)) ||
7924 !(netmask = websGetVar(wp, lan_route_netmask, NULL)) ||
7925 !(gateway = websGetVar(wp, lan_route_gateway, NULL)) ||
7926 !(metric = websGetVar(wp, lan_route_metric, NULL)))
7939 websBufferWrite(wp, "Invalid <b>%s</b>: must specify an IP Address<br>", v->longname);
7943 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a Subnet Mask<br>", v->longname);
7952 if (!valid_ipaddr(wp, ipaddr, &lan_route_variables[0]) ||
7953 !valid_ipaddr(wp, netmask, &lan_route_variables[1]) ||
7954 !valid_ipaddr(wp, gateway, &lan_route_variables[2]) ||
7955 !valid_range(wp, metric, &lan_route_variables[3]))
7970 validate_emf_entry(webs_t wp, char *value, struct variable *v, char *varname)
7992 if (!(mgrp = websGetVar(wp, emf_entry_mgrp, NULL)) ||
7993 !(ifname = websGetVar(wp, emf_entry_if, NULL)))
8002 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a valid multicast IP Address<br>",
8008 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a LAN interface name<br>",
8016 websBufferWrite(wp, "Invalid <b>%s</b>: must specify one of the bridge interfaces<br>",
8041 validate_emf_uffp_entry(webs_t wp, char *value, struct variable *v, char *varname)
8059 if (!(ifname = websGetVar(wp, emf_uffp_entry_if, NULL)))
8066 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a LAN interface name<br>",
8074 websBufferWrite(wp, "Invalid <b>%s</b>: must specify one of the bridge interfaces<br>",
8098 validate_emf_rtport_entry(webs_t wp, char *value, struct variable *v, char *varname)
8116 if (!(ifname = websGetVar(wp, emf_rtport_entry_if, NULL)))
8123 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a LAN interface name<br>",
8131 websBufferWrite(wp, "Invalid <b>%s</b>: must specify one of the bridge interfaces<br>",
8157 validate_wan_route(webs_t wp, char *value, struct variable *v, char *varname)
8185 if (!(ipaddr = websGetVar(wp, wan_route_ipaddr, NULL)) ||
8186 !(netmask = websGetVar(wp, wan_route_netmask, NULL)) ||
8187 !(gateway = websGetVar(wp, wan_route_gateway, NULL)) ||
8188 !(metric = websGetVar(wp, wan_route_metric, NULL)))
8201 websBufferWrite(wp, "Invalid <b>%s</b>: must specify an IP Address<br>", v->longname);
8205 websBufferWrite(wp, "Invalid <b>%s</b>: must specify a Subnet Mask<br>", v->longname);
8208 if (!valid_ipaddr(wp, ipaddr, &wan_route_variables[0]) ||
8209 !valid_ipaddr(wp, netmask, &wan_route_variables[1]) ||
8210 !valid_ipaddr(wp, gateway, &wan_route_variables[2]) ||
8211 !valid_range(wp, metric, &wan_route_variables[3]))
8228 validate_ipv6mode(webs_t wp, char *value, struct variable *v , char *varname)
8234 if (!valid_range(wp, value, v)) {
8235 websBufferWrite(wp, "<p>Invalid <b>%s</b> %s: Unsupported IPv6 mode.<br>",
8252 validate_ipv6prefix(webs_t wp, char *value, struct variable *v , char *varname)
8263 websBufferWrite(wp, "<p>Invalid <b>%s</b> %s: IPv6 network prefix contains an IPv6 address followed by a slash(/) and then by the number of netmask bits.<br>",
8269 websBufferWrite(wp, "<p>Invalid <b>%s</b> %s: the number of netmask bits after shash(/) is between 1~127.<br>",
8275 websBufferWrite(wp, "<p>Invalid <b>%s</b> %s: Not a proper IPv6 address before slash(/).<br>",
8290 validate_ipv6addr(webs_t wp, char *value, struct variable *v , char *varname)
8297 websBufferWrite(wp, "<p>Invalid <b>%s</b> %s: Incorrect IPv6 address format.<br>",
8316 validate_wl_auth(webs_t wp, char *value, struct variable *v, char *varname)
8323 if (!valid_choice(wp, value, v)){
8324 websBufferWrite(wp, "Invalid auth value string <b>%s</b><br>",value);
8329 char *wep = websGetVar(wp, "wl_wep", "");
8331 websBufferWrite(wp, "Invalid <b>WEP Encryption</b>: must be <b>Enabled</b> when <b>802.11 Authentication</b> is <b>%s</b><br>", value);
8348 validate_wl_preauth(webs_t wp, char *value, struct variable *v, char *varname)
8367 validate_wl_auth_mode(webs_t wp, char *value, struct variable *v, char *varname)
8374 if (!valid_choice(wp, value, v)){
8375 websBufferWrite(wp, "Invalid auto mode string <b>%s</b>",value);
8380 char *wep = websGetVar(wp, "wl_wep", "");
8381 char *ipaddr = websGetVar(wp, "wl_radius_ipaddr", "");
8383 websBufferWrite(wp, "Invalid <b>WEP Encryption</b>: must be <b>Enabled</b> when <b>Network Authentication</b> is <b>%s</b><br>", value);
8387 websBufferWrite(wp, "Invalid <b>%s</b>: must first specify a valid <b>RADIUS Server</b><br>", v->longname);
8402 validate_wl_akm(webs_t wp, char *value, struct variable *v, char *varname)
8414 wpa = websGetVar(wp, "wl_akm_wpa", NULL);
8417 psk = websGetVar(wp, "wl_akm_psk", NULL);
8421 wpa2 = websGetVar(wp, "wl_akm_wpa2", NULL);
8424 psk2 = websGetVar(wp, "wl_akm_psk2", NULL);
8427 brcm_psk = websGetVar(wp, "wl_akm_brcm_psk", NULL);
8437 char *ipaddr = websGetVar(wp, "wl_radius_ipaddr", "");
8439 websBufferWrite(wp, "Invalid <b>%s</b>: must first specify a valid <b>RADIUS Server</b><br>", v->longname);
8449 char *key = websGetVar(wp, "wl_wpa_psk", "");
8451 websBufferWrite(wp, "Invalid <b>%s</b>: must first specify a valid <b>WPA Pre-Shared Key</b><br>", v->longname);
8461 char *crypto = websGetVar(wp, "wl_crypto", NULL);
8470 websBufferWrite(wp, "Invalid <b>%s</b>: <b>Crypto Algorithm</b> mode must be TKIP or AES or TKIP+AES<br>", v->longname);
8507 validate_wl_wpa_psk(webs_t wp, char *value, struct variable *v, char *varname)
8519 websBufferWrite(wp, "Invalid <b>%s</b>: character %c is not a hexadecimal digit<br>", v->longname, *c);
8524 websBufferWrite(wp, "Invalid <b>%s</b>: must be between 8 and 63 ASCII characters or 64 hexadecimal digits<br>", v->longname);
8537 validate_wl_key(webs_t wp, char *value, struct variable *v, char *varname)
8553 websBufferWrite(wp, "Invalid <b>%s</b>: character %c is not a hexadecimal digit<br>", v->longname, *c);
8559 websBufferWrite(wp, "Invalid <b>%s</b>: must be 5 or 13 ASCII characters or 10 or 26 hexadecimal digits<br>", v->longname);
8572 validate_wl_wep(webs_t wp, char *value, struct variable *v, char *varname)
8580 if (!valid_choice(wp, value, v)){
8581 websBufferWrite(wp, "Invalid wep string <b>%s</b>",value);
8591 auth = websGetVar(wp, "wl_auth", "");
8593 auth_mode = websGetVar(wp, "wl_auth_mode", NULL);
8609 websBufferWrite(wp, "Invalid <b>%s</b>: must first specify a valid <b>Network Key %s</b><br>",
8612 websBufferWrite(wp, "<b>%s</b> is <b>Disabled</b><br>", v->longname);
8622 websBufferWrite(wp, "Invalid <b>WEP Encryption</b>: must be <b>Enabled</b> when <b>Network Authentication</b> is <b>%s</b><br>", auth_mode);
8633 validate_wl_crypto(webs_t wp, char *value, struct variable *v, char *varname)
8640 if (!valid_choice(wp, value, v)){
8641 websBufferWrite(wp, "Invalid crypto config string <b>%s</b>",value);
8655 validate_wan_ifname(webs_t wp, char *value, struct variable *v, char *varname)
8668 websBufferWrite(wp, "Invalid <b>%s</b>: must be one of <b>%s</b><br>", v->longname, nvram_safe_get("wan_ifnames"));
8673 validate_wl_lazywds(webs_t wp, char *value, struct variable *v, char *varname)
8678 validate_choice(wp, value, v, varname);
8682 validate_wl_wds_hwaddrs(webs_t wp, char *value, struct variable *v, char *varname)
8687 validate_list(wp, value, v, valid_hwaddr, varname);
8691 validate_wl_mode(webs_t wp, char *value, struct variable *v, char *varname)
8697 validate_choice(wp, value, v, varname);
8701 validate_wme_bool(webs_t wp, char *value, struct variable *v,char *varname)
8710 if (!(wme = websGetVar(wp, "wl_wme", NULL))){
8718 validate_choice(wp, value, v, varname);
8726 validate_wl_wme_params(webs_t wp, char *value, struct variable *v, char *varname)
8738 if (!(s = websGetVar(wp, "wl_wme", NULL))) {
8757 if ((value = websGetVar(wp, strcat_r(v->name, "0", tmp), NULL)) != NULL)
8760 if ((value = websGetVar(wp, strcat_r(v->name, "1", tmp), NULL)) != NULL)
8773 if ((value = websGetVar(wp, strcat_r(v->name, "2", tmp), NULL)) != NULL)
8781 if ((value = websGetVar(wp, strcat_r(v->name, "3", tmp), NULL)) != NULL)
8784 if ((value = websGetVar(wp, strcat_r(v->name, "4", tmp), NULL)) != NULL)
8792 if ((value = websGetVar(wp, strcat_r(v->name, "5", tmp), NULL)) != NULL)
8796 if ((value = websGetVar(wp, strcat_r(v->name, "6", tmp), NULL)) != NULL)
8810 websBufferWrite(wp, "Error setting WME AC value: <b>");
8811 websBufferWrite(wp, errmsg);
8812 websBufferWrite(wp, "<b><br>");
8904 validate_wl_wme_tx_params(webs_t wp, char *value, struct variable *v, char *varname)
8915 if (!(s = websGetVar(wp, "wl_wme", NULL))) {
8933 if ((value = websGetVar(wp, strcat_r(v->name, "0", tmp), NULL)) != NULL)
8941 if ((value = websGetVar(wp, strcat_r(v->name, "1", tmp), NULL)) != NULL)
8949 if ((value = websGetVar(wp, strcat_r(v->name, "2", tmp), NULL)) != NULL)
8957 if ((value = websGetVar(wp, strcat_r(v->name, "3", tmp), NULL)) != NULL)
8965 if ((value = websGetVar(wp, strcat_r(v->name, "4", tmp), NULL)) != NULL)
8984 websBufferWrite(wp, "Error setting WME TX parameters value: <b>");
8985 websBufferWrite(wp, errmsg);
8986 websBufferWrite(wp, "<b><br>");
8991 wl_unit(webs_t wp, char *value, struct variable *v, char *varname)
9004 if ((wl_bssid = websGetVar(wp, "wl_bssid", NULL)) && (atoi(wl_bssid))){
9030 wan_primary(webs_t wp)
9044 websBufferWrite(wp, "<br><b>%s</b> is set to primary.",
9052 wan_unit(webs_t wp, char *value, struct variable *v, char *varname)
9125 websBufferWrite(wp, "<br><b>%s</b> is <b>disabled</b> because both "
9144 websBufferWrite(wp, "<br><b>%s</b> is <b>disabled</b> because both its "
9156 websBufferWrite(wp, "<br><b>%s</b> is <b>disabled</b> because it can't "
9184 websBufferWrite(wp, "<br><b>%s</b> is disabled because it can't share "
9217 websBufferWrite(wp, "<br><b>MAC Address</b> in <b>%s</b> is changed to "
9259 websBufferWrite(wp, "<br><b>%s</b> is set to non-primary.",
9281 wan_primary(wp);
9287 validate_aci_ipaddr(webs_t wp, char *value, struct variable *v, char *varname)
9303 validate_aci_pref_chan(webs_t wp, char *value, struct variable *v, char *varname)
9841 validate_lan_cgi(webs_t wp)
9887 websBufferInit(wp);
9893 value = websGetVar(wp, "num_lan_ifaces" , NULL);
9916 value = websGetVar(wp, buf , NULL);
9979 value = websGetVar(wp, lanA_ipaddr , NULL);
9983 value = websGetVar(wp, lanB_ipaddr , NULL);
9987 value = websGetVar(wp, lanA_netmask , NULL);
9991 value = websGetVar(wp, lanB_netmask , NULL);
10002 valueA = websGetVar(wp , lanA_proto , NULL);
10003 valueB = websGetVar(wp , lanB_proto , NULL);
10012 value = websGetVar(wp, dhcpA_start , NULL);
10016 value = websGetVar(wp, dhcpB_start , NULL);
10029 value = websGetVar(wp, dhcpA_end , NULL);
10033 value = websGetVar(wp, dhcpB_end , NULL);
10081 value = websGetVar(wp, var, NULL);
10087 v->validate(wp, value, v, var);
10116 websWrite(wp, err_msg);
10118 websBufferFlush(wp);
10122 validate_cgi(webs_t wp)
10127 websBufferInit(wp);
10129 websWrite(wp, "out of memory<br>");
10130 websDone(wp, 0);
10137 if (!(value = websGetVar(wp, v->name, NULL)))
10146 v->validate(wp, value, v, NULL);
10149 websBufferFlush(wp);
10561 apply_cgi(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg,
10569 websHeader(wp);
10570 websWrite(wp, (char_t *) apply_header);
10572 page = websGetVar(wp, "page", "");
10574 value = websGetVar(wp, "action", "");
10579 websWrite(wp, "Validating values...");
10582 validate_cgi(wp);
10584 validate_lan_cgi(wp);
10587 websWrite(wp, "<br>");
10590 websWrite(wp, "done<br>");
10591 websWrite(wp, "Committing values...");
10595 websWrite(wp, "done<br>");
10601 websWrite(wp, "Restoring defaults...");
10604 websWrite(wp, "done<br>");
10610 websWrite(wp, "Releasing lease...");
10612 websWrite(wp, "error<br>");
10614 websWrite(wp, "done<br>");
10620 websWrite(wp, "Renewing lease...");
10622 websWrite(wp, "error<br>");
10624 websWrite(wp, "done<br>");
10630 websWrite(wp, "Rebooting...");
10637 char *os_server = websGetVar(wp, "os_server", nvram_safe_get("os_server"));
10638 char *os_version = websGetVar(wp, "os_version", "current");
10644 websWrite(wp, "Retrieving %s...", url);
10646 websWrite(wp, "error<br>");
10649 websWrite(wp, "done<br>");
10656 char *server = websGetVar(wp, "stats_server", nvram_safe_get("stats_server"));
10657 websWrite(wp, "Contacting %s...", server);
10659 websWrite(wp, "error<br>");
10662 websWrite(wp, "done<br>");
10668 websWrite(wp, "Turing Off Radio...");
10669 wl_radio_onoff(wp, 1);
10673 websWrite(wp, "Radio on...");
10674 wl_radio_onoff(wp, 0);
10679 websWrite(wp, "Generating WPS PIN number...");
10682 websWrite(wp, "OK");
10697 websWrite(wp, "WPS process stopped");
10708 websWrite(wp, "validate variable...\n");
10723 websWrite(wp, "OK");
10736 websWrite(wp, (char_t *) apply_footer, "security.asp");
10737 websFooter(wp);
10738 websDone(wp, 200);
10752 websWrite(wp, "validate variable...\n");
10753 if (!(value = websGetVar(wp, "wps_action", NULL))) {
10754 websWrite(wp, "Unable to get wps action.\n");
10759 websWrite(wp, "WPS is preparing to %s...\n", value);
10773 value = websGetVar(wp, "wps_method", NULL);
10776 websWrite(wp, "Unable to get config method.");
10783 value = websGetVar(wp, "wps_sta_pin", NULL);
10794 if (!(value = websGetVar(wp, "wps_sta_pin", NULL))) {
10795 websWrite(wp, "Unable to get PIN number.\n");
10813 websWrite(wp, "Warning: PIN checksum is invalid.\n");
10827 value = websGetVar(wp, "wps_autho_sta_mac", NULL);
10839 websWrite(wp, "Invalid <b>Authorized Station MAC</b> "
10858 websWrite(wp, "Unable to get wps action.");
10863 websWrite(wp, "OK");
10876 websWrite(wp, (char_t *) apply_footer, "security.asp");
10877 websFooter(wp);
10878 websDone(wp, 200);
10884 websWrite(wp, "Re-Scanning WPS supported AP(s)...");
10886 websWrite(wp, "OK");
10890 websWrite(wp, "validate variable...");
10891 if (!(value = websGetVar(wp, "wps_method", NULL)))
10892 websWrite(wp, "Unable to get config method.");
10895 if (!(wps_ap_index = websGetVar(wp, "wps_ap_list", NULL))) {
10896 websWrite(wp, "Unable to get selected WPS AP.");
10906 websWrite(wp, "Internal error, unable to get selected interface.");
10921 if (websGetVar(wp, "wps_enr_auto", NULL)) {
10930 websWrite(wp, "OK");
10958 if (!(value = websGetVar(wp, "wan_unit", NULL)) ||
10960 websWrite(wp, "Unable to delete connection, index error.");
10979 websWrite(wp, "Can not delete the last connection.");
10986 websWrite(wp, "Deleting connection...");
11019 wan_primary(wp);
11024 websWrite(wp, "done<br>");
11032 value = websGetVar(wp, "sn", NULL);
11034 websWrite(wp, "Invalid Revoke action<br>");
11037 cert_revoke(wp, value);
11050 websWrite(wp, "Validating values...");
11052 invite_name = websGetVar(wp, "invite_name", "");
11053 invite_mac = websGetVar(wp, "invite_mac", "");
11057 websWrite(wp, "done<br>");
11059 websWrite(wp, "Committing values...");
11060 websWrite(wp, "done<br>");
11062 websWrite(wp, "Inviting the STA...<p>");
11090 websWrite(wp, "<script type=\"text/javascript\">\n");
11091 websWrite(wp, "<!--\n");
11092 websWrite(wp, "window.location = \"%s\"\n", page);
11093 websWrite(wp, "//-->\n");
11094 websWrite(wp, "</script>\n");
11096 websFooter(wp);
11097 websDone(wp, 200);
11122 websWrite(wp, "<p>Action is canceled <p>\n");
11123 websWrite(wp, "<script type=\"text/javascript\">\n");
11124 websWrite(wp, "<!--\n");
11125 websWrite(wp, "window.location = \"%s\"\n", "invite.asp");
11126 websWrite(wp, "//-->\n");
11127 websWrite(wp, "</script>\n");
11129 websFooter(wp);
11130 websDone(wp, 200);
11138 wfi_count = websGetVar(wp, "count", "");
11183 websWrite(wp, " Invite successful.\n");
11188 websWrite(wp, " The station did not respond.\n");
11192 websWrite(wp, " The station rejected the invitation.\n");
11195 websWrite(wp, " Cancelled.\n");
11198 websWrite(wp, " WPS Failed.\n");
11199 websWrite(wp, (char_t *) apply_footer, "invite.asp");
11200 websFooter(wp);
11201 websDone(wp, 200);
11208 websWrite(wp, "<script type=\"text/javascript\">\n");
11209 websWrite(wp, "<!--\n");
11210 websWrite(wp, "window.location = \"%s\"\n", "cancelinvite.asp");
11211 websWrite(wp, "//-->\n");
11212 websWrite(wp, "</script>\n");
11214 websFooter(wp);
11215 websDone(wp, 200);
11222 wps_sta_pin = websGetVar(wp, "wps_sta_pin", "");
11237 websWrite(wp, "Invalid action %s<br>", value);
11240 websWrite(wp, (char_t *) apply_footer, websGetVar(wp, "page", ""));
11241 websFooter(wp);
11242 websDone(wp, 200);
11253 copy_wl_index_to_unindex(webs_t wp, char_t *urlPrefix, char_t *webDir,
11267 if ((value = websGetVar(wp, "action", NULL))) {
11274 if ((value = websGetVar(wp, "wl_unit", NULL))) {
11275 if ((wl_bssid = websGetVar(wp, "wl_bssid", NULL)) && (atoi(wl_bssid))){
11280 return apply_cgi(wp, urlPrefix, webDir, arg, url, path, query);
11287 if ((value = websGetVar(wp, "wl_unit", NULL))) {
11288 if ((wl_bssid = websGetVar(wp, "wl_bssid", NULL)) && (atoi(wl_bssid))){
11306 websError(wp, 400, "Unable to remove duplicate interfaces from ifname list<br>");
11352 return apply_cgi(wp, urlPrefix, webDir, arg, url, path, query);
11355 return websDefaultHandler(wp, urlPrefix, webDir, arg, url, path, query);
11360 wan_asp(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg,
11371 if ((value = websGetVar(wp, "action", NULL))) {
11380 websHeader(wp);
11381 websWrite(wp, (char_t *) apply_header);
11382 websWrite(wp, "Unable to create new connection. Maximum %d.", MAX_NVPARSE);
11383 websWrite(wp, (char_t *) apply_footer, websGetVar(wp, "page", ""));
11384 websFooter(wp);
11385 websDone(wp, 200);
11406 if ((value = websGetVar(wp, "wan_unit", NULL)))
11412 return apply_cgi(wp, urlPrefix, webDir, arg, url, path, query);
11414 else if ((value = websGetVar(wp, "wan_unit", NULL)))
11442 return websDefaultHandler(wp, urlPrefix, webDir, arg, url, path, query);
12588 cert_revoke(webs_t wp, char *sn_str)
12598 websWrite(wp, "Communicate to AS server failed<br>");
12602 websWrite(wp, "Revoke certificate(%s) failed<br>", sn_str);
12604 websWrite(wp, "%s<br>", rbuf);
12614 ej_as_cer_display(int eid, webs_t wp, int argc, char_t **argv)
12645 websWrite(wp, "<tr>");
12646 websWrite(wp, "<td>%s</td>", na);
12647 websWrite(wp, "<td>%s</td>", sn);
12648 websWrite(wp, "<td>%s</td>", dur);
12649 websWrite(wp, "<td>%s</td>", remain);
12650 websWrite(wp, "<td>%s</td>", type);
12651 websWrite(wp, "<td>%s</td>", status);
12654 websWrite(wp, "<form method=\"post\" action=\"apply.cgi\">");
12655 websWrite(wp, "<td>");
12656 websWrite(wp, "<input type=\"hidden\" name=\"sn\" value=\"%s\">", sn);
12657 websWrite(wp, "<input type=\"hidden\" name=\"page\" value=\"as.asp\">");
12658 websWrite(wp, "<input type=\"submit\" name=\"action\" value=\"Revoke\">");
12659 websWrite(wp, "</td>");
12660 websWrite(wp, "</form>");
12663 websWrite(wp, "<td></td>");
12666 websWrite(wp, "</tr>");
13554 do_media(webs_t wp, char_t *urlPrefix, char_t *webDir,
13558 if ((websGetVar(wp, "action", NULL))) {
13563 return apply_cgi(wp, urlPrefix, webDir, arg, url, path, query);
13566 return websDefaultHandler(wp, urlPrefix, webDir, arg, url, path, query);