]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/ip/rlogind.c
snoopy(8): avoid extra spaces in dhcp filter output
[plan9front.git] / sys / src / cmd / ip / rlogind.c
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 }