Blame netkit-rsh-0.16-prompt.patch
|
cvsdist |
c4afb89 |
--- netkit-rsh-0.16/rexec/rexec.c.prompt Mon Feb 28 16:23:33 2000
|
|
cvsdist |
c4afb89 |
+++ netkit-rsh-0.16/rexec/rexec.c Mon Feb 28 16:49:23 2000
|
|
cvsdist |
c4afb89 |
@@ -164,12 +164,30 @@
|
|
cvsdist |
c4afb89 |
user_name[strlen(user_name)-1] = '\0'; /* Hopefully fgets always adds
|
|
cvsdist |
c4afb89 |
a newline. */
|
|
cvsdist |
c4afb89 |
passwd = getpass("Password: ");
|
|
cvsdist |
c4afb89 |
+ } else {
|
|
cvsdist |
c4afb89 |
+
|
|
cvsdist |
c4afb89 |
+ if ( user_name == NULL )
|
|
cvsdist |
c4afb89 |
+ user_name = getenv("REXEC_USER");
|
|
cvsdist |
c4afb89 |
+ if ( user_name == NULL ) {
|
|
cvsdist |
c4afb89 |
+ uid_t uid = getuid();
|
|
cvsdist |
c4afb89 |
+ struct passwd *pw = getpwuid(uid);
|
|
cvsdist |
c4afb89 |
+ if (!(pw && pw->pw_name)) {
|
|
cvsdist |
c4afb89 |
+ fprintf(stderr, "Can't lookup uid %d\n", uid);
|
|
cvsdist |
c4afb89 |
+ exit(1);
|
|
cvsdist |
c4afb89 |
+ }
|
|
cvsdist |
c4afb89 |
+ user_name = strdup(pw->pw_name);
|
|
cvsdist |
c4afb89 |
+ }
|
|
cvsdist |
c4afb89 |
+ if ( passwd == NULL )
|
|
cvsdist |
c4afb89 |
+ passwd = getenv("REXEC_PASS");
|
|
cvsdist |
c4afb89 |
+ if ( passwd == NULL )
|
|
cvsdist |
c4afb89 |
+ passwd = getpass("Password: ");
|
|
cvsdist |
c4afb89 |
}
|
|
cvsdist |
c4afb89 |
|
|
cvsdist |
c4afb89 |
- if ( user_name == NULL )
|
|
cvsdist |
c4afb89 |
- user_name = getenv("REXEC_USER");
|
|
cvsdist |
c4afb89 |
- if ( passwd == NULL )
|
|
cvsdist |
c4afb89 |
- passwd = getenv("REXEC_PASS");
|
|
cvsdist |
c4afb89 |
+ if (!(user_name && passwd)) {
|
|
cvsdist |
c4afb89 |
+ fprintf(stderr, "Can't use %s without supplying a user and password\n",
|
|
cvsdist |
c4afb89 |
+ progname);
|
|
cvsdist |
c4afb89 |
+ exit(1);
|
|
cvsdist |
c4afb89 |
+ }
|
|
cvsdist |
c4afb89 |
|
|
cvsdist |
c4afb89 |
if ( (sock = rexec(&host, port_exec, user_name, passwd, command,
|
|
cvsdist |
c4afb89 |
p_to_aux_sock)) < 0 )
|