version 1.14, 1998/05/15 01:26:09 |
version 1.15, 1998/05/15 03:16:35 |
|
|
*/ |
*/ |
|
|
#include "telnet_locl.h" |
#include "telnet_locl.h" |
|
#include <err.h> |
|
|
#if defined(IPPROTO_IP) && defined(IP_TOS) |
#if defined(IPPROTO_IP) && defined(IP_TOS) |
int tos = -1; |
int tos = -1; |
|
|
|
|
if(argc != 3) { |
if(argc != 3) { |
printf("%s sequence challenge\n", argv[0]); |
printf("%s sequence challenge\n", argv[0]); |
return; |
return 0; |
} |
} |
|
|
switch(fork()) { |
switch(fork()) { |
|
|
execv(PATH_SKEY, argv); |
execv(PATH_SKEY, argv); |
exit (1); |
exit (1); |
case -1: |
case -1: |
perror("fork"); |
err(1, "fork"); |
break; |
break; |
default: |
default: |
(void) wait(&status); |
(void) wait(&status); |
|
|
* Todo: 1. Could take random integers (12, 0x12, 012, 0b1). |
* Todo: 1. Could take random integers (12, 0x12, 012, 0b1). |
*/ |
*/ |
|
|
static |
static char |
special(s) |
special(s) |
register char *s; |
register char *s; |
{ |
{ |
|
|
#endif /* !defined(TN3270) */ |
#endif /* !defined(TN3270) */ |
|
|
/*VARARGS*/ |
/*VARARGS*/ |
static |
static int |
bye(argc, argv) |
bye(argc, argv) |
int argc; /* Number of arguments */ |
int argc; /* Number of arguments */ |
char *argv[]; /* arguments */ |
char *argv[]; /* arguments */ |
|
|
genget(name, (char **) SlcList, sizeof(struct slclist)); |
genget(name, (char **) SlcList, sizeof(struct slclist)); |
} |
} |
|
|
static |
static int |
slccmd(argc, argv) |
slccmd(argc, argv) |
int argc; |
int argc; |
char *argv[]; |
char *argv[]; |
|
|
genget(name, (char **) EnvList, sizeof(struct envlist)); |
genget(name, (char **) EnvList, sizeof(struct envlist)); |
} |
} |
|
|
|
int |
env_cmd(argc, argv) |
env_cmd(argc, argv) |
int argc; |
int argc; |
char *argv[]; |
char *argv[]; |
|
|
{ |
{ |
register struct env_lst *ep; |
register struct env_lst *ep; |
|
|
if (ep = env_find(var)) |
if ((ep = env_find(var)) != NULL) |
ep->export = 0; |
ep->export = 0; |
} |
} |
|
|
|
|
return 0; |
return 0; |
} |
} |
|
|
|
int |
auth_cmd(argc, argv) |
auth_cmd(argc, argv) |
int argc; |
int argc; |
char *argv[]; |
char *argv[]; |
|
|
* Print status about the connection. |
* Print status about the connection. |
*/ |
*/ |
/*ARGSUSED*/ |
/*ARGSUSED*/ |
static |
static int |
status(argc, argv) |
status(argc, argv) |
int argc; |
int argc; |
char *argv[]; |
char *argv[]; |
|
|
|
|
user = getenv("USER"); |
user = getenv("USER"); |
if (user == NULL || |
if (user == NULL || |
(pw = getpwnam(user)) && pw->pw_uid != getuid()) { |
((pw = getpwnam(user)) && pw->pw_uid != getuid())) { |
if (pw = getpwuid(getuid())) |
if ((pw = getpwuid(getuid())) != NULL) |
user = pw->pw_name; |
user = pw->pw_name; |
else |
else |
user = NULL; |
user = NULL; |
|
|
/* |
/* |
* Help command. |
* Help command. |
*/ |
*/ |
static |
static int |
help(argc, argv) |
help(argc, argv) |
int argc; |
int argc; |
char *argv[]; |
char *argv[]; |
|
|
} |
} |
return 0; |
return 0; |
} |
} |
|
|
static char *rcname = 0; |
|
static char rcbuf[128]; |
|
|
|
#if defined(IP_OPTIONS) && defined(IPPROTO_IP) |
#if defined(IP_OPTIONS) && defined(IPPROTO_IP) |
|
|