Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
 
4
void	getstr(int, char*, int);
5
 
6
void
7
main(void)
8
{
9
	char luser[128], ruser[128], term[128], err[128];
10
 
11
	getstr(0, err, sizeof(err));
12
	getstr(0, ruser, sizeof(ruser));
13
	getstr(0, luser, sizeof(luser));
14
	getstr(0, term, sizeof(term));
15
	write(0, "", 1);
16
 
17
	if(luser[0] == '\0')
18
		strncpy(luser, ruser, sizeof luser);
19
	luser[sizeof luser-1] = '\0';
20
	syslog(0, "telnet", "rlogind %s", luser);
21
	execl("/bin/ip/telnetd", "telnetd", "-n", "-u", luser, nil);
22
	fprint(2, "can't exec con service: %r\n");
23
	exits("can't exec");
24
}
25
 
26
void
27
getstr(int fd, char *str, int len)
28
{
29
	char c;
30
	int n;
31
 
32
	while(--len > 0){
33
		n = read(fd, &c, 1);
34
		if(n < 0)
35
			return;
36
		if(n == 0)
37
			continue;
38
		*str++ = c;
39
		if(c == 0)
40
			break;
41
	}
42
	*str = '\0';
43
}