From 4acf17e801ae64ddfa46dcf0c66135f396195a2e Mon Sep 17 00:00:00 2001 From: millert <> Date: Mon, 2 Sep 1996 21:26:09 +0000 Subject: Looks at RSH envariable and calls rcmdsh() with that value if set. --- src/lib/libc/net/rcmd.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/lib/libc/net/rcmd.c b/src/lib/libc/net/rcmd.c index df555a51d6..44c516da04 100644 --- a/src/lib/libc/net/rcmd.c +++ b/src/lib/libc/net/rcmd.c @@ -34,7 +34,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$OpenBSD: rcmd.c,v 1.15 1996/09/01 18:31:29 deraadt Exp $"; +static char *rcsid = "$OpenBSD: rcmd.c,v 1.16 1996/09/02 21:26:09 millert Exp $"; #endif /* LIBC_SCCS and not lint */ #include @@ -72,7 +72,16 @@ rcmd(ahost, rport, locuser, remuser, cmd, fd2p) int oldmask; pid_t pid; int s, lport, timo; - char c; + char c, *p; + + /* call rcmdsh() with specified remote shell if appropriate. */ + if ((p = getenv("RSH"))) { + struct servent *sp = getservbyname("shell", "tcp"); + + if (sp && sp->s_port == rport) + return (rcmdsh(ahost, rport, locuser, remuser, + cmd, p)); + } /* use rsh(1) if non-root and remote port is shell. */ if (geteuid()) { -- cgit v1.2.3-55-g6feb