--- /usr/src/linksys/WRT54G_1_42_2/release/src/router/rc/services.c 2003-10-17 14:47:56.000000000 -0400 +++ services.c 2003-12-04 13:50:52.000000000 -0500 @@ -17,7 +17,7 @@ * All Rights Reserved. * * - * $Id: services.c,v 1.27 2003/10/04 10:06:02 sparq Exp $ + * $Id: services.c,v 1.2 2003/11/14 17:18:50 bdferris Exp $ */ #include @@ -372,6 +372,7 @@ start_dhcpd(); start_upnp(); start_nas(); + start_telnetd(); dprintf("done\n"); return 0; @@ -384,7 +385,6 @@ stop_upnp(); stop_dhcpd(); stop_dns(); - //stop_httpd(); // Don't kill httpd when user press Apply. stop_cron(); stop_tftpd(); stop_syslog(); @@ -750,8 +750,8 @@ if(!check_wan_link(0)) buf_to_file(PING_TMP, "Network is unreachable"); - else if(strchr(ip, ' ') || strchr(ip, '`') || strstr(ip, PING_TMP)) // Fix Ping.asp bug, user can execute command ping in Ping.asp - buf_to_file(PING_TMP, "Invalid IP Address or Domain Name"); + // else if(strchr(ip, ' ') || strchr(ip, '`') || strstr(ip, PING_TMP)) // Fix Ping.asp bug, user can execute command ping in Ping.asp + // buf_to_file(PING_TMP, "Invalid IP Address or Domain Name"); else if(nvram_invmatch("ping_times","") && nvram_invmatch("ping_ip","")){ char cmd[80]; @@ -947,6 +947,34 @@ return ret ; } +int +start_telnetd(void) +{ + int ret = 0; + pid_t pid; + // char *telnetd_argv[] = { "/usr/sbin/telnetd", + char *telnetd_argv[] = { "/sbin/telnetd", + "-l", "/usr/bin/sh", NULL }; + + ret = _eval(telnetd_argv, NULL, 0, &pid); + + dprintf("done\n"); + return ret; +} + +int +stop_telnetd(void) +{ + int ret; + + ret = eval("killall","-9","telnetd"); + + dprintf("done\n"); + return ret ; +} + + + /* * Call when keepalive mode */