-/* $Id: telnetd.c,v 1.10 2004/02/22 09:45:57 bug1 Exp $
+/* $Id: telnetd.c,v 1.13 2004/09/14 17:24:58 bug1 Exp $
*
* Simple telnet server
* Bjorn Wesen, Axis Communications AB (bjornw@axis.com)
#define BUFSIZE 4000
-static const char *loginpath
#ifdef CONFIG_LOGIN
- = "/bin/login";
+static const char *loginpath = "/bin/login";
#else
-;
+static const char *loginpath;
#endif
static const char *issuefile = "/etc/issue.net";
pty = getpty(tty_name);
if (pty < 0) {
- syslog_msg(LOG_USER, LOG_ERR, "All network ports in use!");
+ syslog(LOG_ERR, "All network ports in use!");
return 0;
}
if ((pid = fork()) < 0) {
- syslog_msg(LOG_USER, LOG_ERR, "Can`t forking");
+ syslog(LOG_ERR, "Can`t forking");
}
if (pid == 0) {
/* In child, open the child's side of the tty. */
setsid();
if (open(tty_name, O_RDWR /*| O_NOCTTY*/) < 0) {
- syslog_msg(LOG_USER, LOG_ERR, "Could not open tty");
+ syslog(LOG_ERR, "Could not open tty");
exit(1);
}
dup(0);
execv(loginpath, (char *const *)argv_init);
/* NOT REACHED */
- syslog_msg(LOG_USER, LOG_ERR, "execv error");
+ syslog(LOG_ERR, "execv error");
exit(1);
}
if (c == EOF) break;
switch (c) {
case 'f':
- issuefile = strdup (optarg);
+ issuefile = optarg;
break;
case 'l':
- loginpath = strdup (optarg);
+ loginpath = optarg;
break;
#ifndef CONFIG_FEATURE_TELNETD_INETD
case 'p':
argv_init[0] = loginpath;
+ openlog(bb_applet_name, 0, LOG_USER);
+
#ifdef CONFIG_FEATURE_TELNETD_INETD
maxfd = 1;
sessions = make_new_session();
#ifndef CONFIG_FEATURE_TELNETD_INETD
struct tsession *next = ts->next; /* in case we free ts. */
#endif /* CONFIG_FEATURE_TELNETD_INETD */
-
+
if (ts->size1 && FD_ISSET(ts->ptyfd, &wrfdset)) {
int num_totty;
char *ptr;