void asp_version(int argc, char **argv) { #if 0 if (argc != 0) { web_puts(tomato_version); } else { web_write(tomato_version, strrchr(tomato_version, '.') - tomato_version); } #else if (argc != 0) { switch (atoi(argv[0])) { case 2: // kernel version web_pipecmd("uname -r", WOF_NONE); break; case 3: // wl driver version web_puts(EPI_VERSION_STR); break; default: // tomato version web_puts(tomato_version); break; } } else { web_puts(tomato_shortver); } #endif }
void wo_ping(char *url) { char cmd[256]; const char *addr; addr = webcgi_get("addr"); if (!check_addr(addr, 64)) return; killall("ping", SIGTERM); web_puts("\npingdata = '"); sprintf(cmd, "ping -c %d -s %d %s", atoi(webcgi_safeget("count", "0")), atoi(webcgi_safeget("size", "0")), addr); web_pipecmd(cmd, WOF_JAVASCRIPT); web_puts("';"); }
void wo_trace(char *url) { char cmd[256]; const char *addr; addr = webcgi_get("addr"); if (!check_addr(addr, 64)) return; killall("traceroute", SIGTERM); web_puts("\ntracedata = '"); sprintf(cmd, "traceroute -I -m %u -w %u %s", atoi(webcgi_safeget("hops", "0")), atoi(webcgi_safeget("wait", "0")), addr); web_pipecmd(cmd, WOF_JAVASCRIPT); web_puts("';"); }
static void wo_iptables(char *url) { web_pipecmd("iptables -nvL; iptables -t nat -nvL; iptables -t mangle -nvL", WOF_NONE); }
static void wo_nvram(char *url) { web_pipecmd("nvram show", WOF_NONE); }