version 1.68, 2014/07/20 12:08:55 |
version 1.69, 2014/07/22 07:30:24 |
|
|
static char *margv[20]; |
static char *margv[20]; |
|
|
#ifdef SKEY |
#ifdef SKEY |
int |
int |
skey_calc(argc, argv) |
skey_calc(int argc, char **argv) |
int argc; |
|
char **argv; |
|
{ |
{ |
int status; |
int status; |
|
|
|
|
} |
} |
} |
} |
#endif |
#endif |
|
|
|
|
|
static void |
static void |
makeargv(void) |
makeargv() |
|
{ |
{ |
char *cp, *cp2, c; |
char *cp, *cp2, c; |
char **argp = margv; |
char **argp = margv; |
|
|
* Todo: 1. Could take random integers (12, 0x12, 012, 0b1). |
* Todo: 1. Could take random integers (12, 0x12, 012, 0b1). |
*/ |
*/ |
|
|
static char |
static char |
special(s) |
special(char *s) |
char *s; |
|
{ |
{ |
char c; |
char c; |
char b; |
char b; |
|
|
* Construct a control character sequence |
* Construct a control character sequence |
* for a special character. |
* for a special character. |
*/ |
*/ |
static char * |
static char * |
control(c) |
control(cc_t c) |
cc_t c; |
|
{ |
{ |
static char buf[5]; |
static char buf[5]; |
/* |
/* |
|
|
return (buf); |
return (buf); |
} |
} |
|
|
|
|
|
|
/* |
/* |
* The following are data structures and routines for |
* The following are data structures and routines for |
* the "send" command. |
* the "send" command. |
|
|
#define GETSEND(name) ((struct sendlist *) genget(name, (char **) Sendlist, \ |
#define GETSEND(name) ((struct sendlist *) genget(name, (char **) Sendlist, \ |
sizeof(struct sendlist))) |
sizeof(struct sendlist))) |
|
|
static int |
static int |
sendcmd(argc, argv) |
sendcmd(int argc, char **argv) |
int argc; |
|
char **argv; |
|
{ |
{ |
int count; /* how many bytes we are going to need to send */ |
int count; /* how many bytes we are going to need to send */ |
int i; |
int i; |
|
|
return (count == success); |
return (count == success); |
} |
} |
|
|
static int |
static int send_tncmd(void (*func)(int, int), char *cmd, char *name); |
send_tncmd(void (*func)(), char *cmd, char *name); |
|
|
|
static int |
static int |
send_esc() |
send_esc(void) |
{ |
{ |
NETADD(escape); |
NETADD(escape); |
return 1; |
return 1; |
} |
} |
|
|
static int |
static int |
send_docmd(name) |
send_docmd(char *name) |
char *name; |
|
{ |
{ |
return(send_tncmd(send_do, "do", name)); |
return(send_tncmd(send_do, "do", name)); |
} |
} |
|
|
static int |
static int |
send_dontcmd(name) |
send_dontcmd(char *name) |
char *name; |
|
{ |
{ |
return(send_tncmd(send_dont, "dont", name)); |
return(send_tncmd(send_dont, "dont", name)); |
} |
} |
static int |
|
send_willcmd(name) |
static int |
char *name; |
send_willcmd(char *name) |
{ |
{ |
return(send_tncmd(send_will, "will", name)); |
return(send_tncmd(send_will, "will", name)); |
} |
} |
static int |
|
send_wontcmd(name) |
static int |
char *name; |
send_wontcmd(char *name) |
{ |
{ |
return(send_tncmd(send_wont, "wont", name)); |
return(send_tncmd(send_wont, "wont", name)); |
} |
} |
|
|
int |
int |
send_tncmd(func, cmd, name) |
send_tncmd(void (*func)(int, int), char *cmd, char *name) |
void (*func)(); |
|
char *cmd, *name; |
|
{ |
{ |
char **cpp; |
char **cpp; |
extern char *telopts[]; |
extern char *telopts[]; |
|
|
return 1; |
return 1; |
} |
} |
|
|
static int |
static int |
send_help() |
send_help(void) |
{ |
{ |
struct sendlist *s; /* pointer to current command */ |
struct sendlist *s; /* pointer to current command */ |
for (s = Sendlist; s->name; s++) { |
for (s = Sendlist; s->name; s++) { |
|
|
* to by the arguments to the "toggle" command. |
* to by the arguments to the "toggle" command. |
*/ |
*/ |
|
|
static int |
static int |
lclchars() |
lclchars(int unused) |
{ |
{ |
donelclchars = 1; |
donelclchars = 1; |
return 1; |
return 1; |
} |
} |
|
|
static int |
static int |
togdebug() |
togdebug(int unused) |
{ |
{ |
if (net > 0 && |
if (net > 0 && |
(setsockopt(net, SOL_SOCKET, SO_DEBUG, &debug, sizeof(debug))) == -1) { |
(setsockopt(net, SOL_SOCKET, SO_DEBUG, &debug, sizeof(debug))) == -1) { |
|
|
return 1; |
return 1; |
} |
} |
|
|
|
static int |
static int |
togcrlf(int unused) |
togcrlf() |
|
{ |
{ |
if (crlf) { |
if (crlf) { |
printf("Will send carriage returns as telnet <CR><LF>.\r\n"); |
printf("Will send carriage returns as telnet <CR><LF>.\r\n"); |
|
|
|
|
int binmode; |
int binmode; |
|
|
static int |
static int |
togbinary(val) |
togbinary(int val) |
int val; |
|
{ |
{ |
donebinarytoggle = 1; |
donebinarytoggle = 1; |
|
|
|
|
return 1; |
return 1; |
} |
} |
|
|
static int |
static int |
togrbinary(val) |
togrbinary(int val) |
int val; |
|
{ |
{ |
donebinarytoggle = 1; |
donebinarytoggle = 1; |
|
|
|
|
return 1; |
return 1; |
} |
} |
|
|
static int |
static int |
togxbinary(val) |
togxbinary(int val) |
int val; |
|
{ |
{ |
donebinarytoggle = 1; |
donebinarytoggle = 1; |
|
|
|
|
{ 0 } |
{ 0 } |
}; |
}; |
|
|
static int |
static int |
togglehelp(int unused) |
togglehelp(int unused) |
{ |
{ |
struct togglelist *c; |
struct togglelist *c; |
|
|
return 0; |
return 0; |
} |
} |
|
|
static void |
static void |
settogglehelp(set) |
settogglehelp(int set) |
int set; |
|
{ |
{ |
struct togglelist *c; |
struct togglelist *c; |
|
|
|
|
#define GETTOGGLE(name) (struct togglelist *) \ |
#define GETTOGGLE(name) (struct togglelist *) \ |
genget(name, (char **) Togglelist, sizeof(struct togglelist)) |
genget(name, (char **) Togglelist, sizeof(struct togglelist)) |
|
|
static int |
static int |
toggle(argc, argv) |
toggle(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
int retval = 1; |
int retval = 1; |
char *name; |
char *name; |
|
|
{ 0 } |
{ 0 } |
}; |
}; |
|
|
static struct setlist * |
static struct setlist * |
getset(name) |
getset(char *name) |
char *name; |
|
{ |
{ |
return (struct setlist *) |
return (struct setlist *) |
genget(name, (char **) Setlist, sizeof(struct setlist)); |
genget(name, (char **) Setlist, sizeof(struct setlist)); |
} |
} |
|
|
void |
void |
set_escape_char(s) |
set_escape_char(char *s) |
char *s; |
|
{ |
{ |
if (rlogin != _POSIX_VDISABLE) { |
if (rlogin != _POSIX_VDISABLE) { |
rlogin = (s && *s) ? special(s) : _POSIX_VDISABLE; |
rlogin = (s && *s) ? special(s) : _POSIX_VDISABLE; |
|
|
} |
} |
} |
} |
|
|
static int |
static int |
setcmd(argc, argv) |
setcmd(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
int value; |
int value; |
struct setlist *ct; |
struct setlist *ct; |
|
|
return 1; |
return 1; |
} |
} |
|
|
static int |
static int |
unsetcmd(argc, argv) |
unsetcmd(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
struct setlist *ct; |
struct setlist *ct; |
struct togglelist *c; |
struct togglelist *c; |
|
|
* 'mode' command. |
* 'mode' command. |
*/ |
*/ |
#ifdef KLUDGELINEMODE |
#ifdef KLUDGELINEMODE |
static int |
static int |
dokludgemode() |
dokludgemode(int unused) |
{ |
{ |
kludgelinemode = 1; |
kludgelinemode = 1; |
send_wont(TELOPT_LINEMODE, 1); |
send_wont(TELOPT_LINEMODE, 1); |
|
|
} |
} |
#endif |
#endif |
|
|
static int |
static int |
dolinemode() |
dolinemode(int unused) |
{ |
{ |
#ifdef KLUDGELINEMODE |
#ifdef KLUDGELINEMODE |
if (kludgelinemode) |
if (kludgelinemode) |
|
|
return 1; |
return 1; |
} |
} |
|
|
static int |
static int |
docharmode() |
docharmode(int unused) |
{ |
{ |
#ifdef KLUDGELINEMODE |
#ifdef KLUDGELINEMODE |
if (kludgelinemode) |
if (kludgelinemode) |
|
|
return 1; |
return 1; |
} |
} |
|
|
static int |
static int |
dolmmode(bit, on) |
dolmmode(int bit, int on) |
int bit, on; |
|
{ |
{ |
unsigned char c; |
unsigned char c; |
|
|
|
|
return 1; |
return 1; |
} |
} |
|
|
int |
int |
tn_setmode(bit) |
tn_setmode(int bit) |
{ |
{ |
return dolmmode(bit, 1); |
return dolmmode(bit, 1); |
} |
} |
|
|
int |
int |
tn_clearmode(bit) |
tn_clearmode(int bit) |
{ |
{ |
return dolmmode(bit, 0); |
return dolmmode(bit, 0); |
} |
} |
|
|
{ 0 }, |
{ 0 }, |
}; |
}; |
|
|
|
static int |
static int |
|
modehelp(int unused) |
modehelp(int unused) |
{ |
{ |
struct modelist *mt; |
struct modelist *mt; |
|
|
#define GETMODECMD(name) (struct modelist *) \ |
#define GETMODECMD(name) (struct modelist *) \ |
genget(name, (char **) ModeList, sizeof(struct modelist)) |
genget(name, (char **) ModeList, sizeof(struct modelist)) |
|
|
static int |
static int |
modecmd(argc, argv) |
modecmd(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
struct modelist *mt; |
struct modelist *mt; |
|
|
|
|
* "display" command. |
* "display" command. |
*/ |
*/ |
|
|
static int |
static int |
display(argc, argv) |
display(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
struct togglelist *tl; |
struct togglelist *tl; |
struct setlist *sl; |
struct setlist *sl; |
|
|
/* |
/* |
* Set the escape character. |
* Set the escape character. |
*/ |
*/ |
static int |
static int |
setescape(argc, argv) |
setescape(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
char *arg; |
char *arg; |
char buf[50]; |
char buf[50]; |
|
|
return 1; |
return 1; |
} |
} |
|
|
static int |
static int |
togcrmod() |
togcrmod(int unused1, char *unused2[]) |
{ |
{ |
crmod = !crmod; |
crmod = !crmod; |
printf("Deprecated usage - please use 'toggle crmod' in the future.\r\n"); |
printf("Deprecated usage - please use 'toggle crmod' in the future.\r\n"); |
|
|
return 1; |
return 1; |
} |
} |
|
|
int |
int |
telnetsuspend() |
telnetsuspend(int unused1, char *unused2[]) |
{ |
{ |
setcommandmode(); |
setcommandmode(); |
{ |
{ |
|
|
return 1; |
return 1; |
} |
} |
|
|
int |
int |
shell(argc, argv) |
shell(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
long oldrows, oldcols, newrows, newcols, err; |
long oldrows, oldcols, newrows, newcols, err; |
|
|
|
|
} |
} |
|
|
static int |
static int |
bye(argc, argv) |
bye(int argc, char *argv[]) |
int argc; /* Number of arguments */ |
|
char *argv[]; /* arguments */ |
|
{ |
{ |
close_connection(); |
close_connection(); |
longjmp(toplevel, 1); |
longjmp(toplevel, 1); |
|
|
quit(); |
quit(); |
} |
} |
|
|
static int |
static int |
logout() |
logout(int unused1, char *unused2[]) |
{ |
{ |
send_do(TELOPT_LOGOUT, 1); |
send_do(TELOPT_LOGOUT, 1); |
(void) netflush(); |
(void) netflush(); |
|
|
{ 0 }, |
{ 0 }, |
}; |
}; |
|
|
static void |
static void |
slc_help(int unused) |
slc_help(int unused) |
{ |
{ |
struct slclist *c; |
struct slclist *c; |
|
|
} |
} |
} |
} |
|
|
static struct slclist * |
static struct slclist * |
getslc(name) |
getslc(char *name) |
char *name; |
|
{ |
{ |
return (struct slclist *) |
return (struct slclist *) |
genget(name, (char **) SlcList, sizeof(struct slclist)); |
genget(name, (char **) SlcList, sizeof(struct slclist)); |
} |
} |
|
|
static int |
static int |
slccmd(argc, argv) |
slccmd(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
struct slclist *c; |
struct slclist *c; |
|
|
|
|
}; |
}; |
|
|
static void |
static void |
env_help() |
env_help(void) |
{ |
{ |
struct envlist *c; |
struct envlist *c; |
|
|
|
|
} |
} |
|
|
static struct envlist * |
static struct envlist * |
getenvcmd(name) |
getenvcmd(char *name) |
char *name; |
|
{ |
{ |
return (struct envlist *) |
return (struct envlist *) |
genget(name, (char **) EnvList, sizeof(struct envlist)); |
genget(name, (char **) EnvList, sizeof(struct envlist)); |
} |
} |
|
|
static int |
static int |
env_cmd(argc, argv) |
env_cmd(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
struct envlist *c; |
struct envlist *c; |
|
|
|
|
struct env_lst envlisthead; |
struct env_lst envlisthead; |
|
|
static struct env_lst * |
static struct env_lst * |
env_find(var) |
env_find(unsigned char *var) |
unsigned char *var; |
|
{ |
{ |
struct env_lst *ep; |
struct env_lst *ep; |
|
|
|
|
return(NULL); |
return(NULL); |
} |
} |
|
|
void |
void |
env_init() |
env_init(void) |
{ |
{ |
extern char **environ; |
extern char **environ; |
char **epp, *cp; |
char **epp, *cp; |
|
|
env_export((unsigned char *)"XAUTHORITY"); |
env_export((unsigned char *)"XAUTHORITY"); |
} |
} |
|
|
struct env_lst * |
struct env_lst * |
env_define(var, value) |
env_define(unsigned char *var, unsigned char *value) |
unsigned char *var, *value; |
|
{ |
{ |
struct env_lst *ep; |
struct env_lst *ep; |
|
|
|
|
} |
} |
|
|
static void |
static void |
env_undefine(var) |
env_undefine(unsigned char *var) |
unsigned char *var; |
|
{ |
{ |
struct env_lst *ep; |
struct env_lst *ep; |
|
|
|
|
} |
} |
|
|
static void |
static void |
env_export(var) |
env_export(unsigned char *var) |
unsigned char *var; |
|
{ |
{ |
struct env_lst *ep; |
struct env_lst *ep; |
|
|
|
|
} |
} |
|
|
static void |
static void |
env_unexport(var) |
env_unexport(unsigned char *var) |
unsigned char *var; |
|
{ |
{ |
struct env_lst *ep; |
struct env_lst *ep; |
|
|
|
|
} |
} |
|
|
static void |
static void |
env_send(var) |
env_send(unsigned char *var) |
unsigned char *var; |
|
{ |
{ |
struct env_lst *ep; |
struct env_lst *ep; |
|
|
|
|
} |
} |
|
|
static void |
static void |
env_list() |
env_list(void) |
{ |
{ |
struct env_lst *ep; |
struct env_lst *ep; |
|
|
|
|
} |
} |
} |
} |
|
|
unsigned char * |
unsigned char * |
env_default(init, welldefined) |
env_default(int init, int welldefined) |
int init; |
|
{ |
{ |
static struct env_lst *nep = NULL; |
static struct env_lst *nep = NULL; |
|
|
|
|
return(NULL); |
return(NULL); |
} |
} |
|
|
unsigned char * |
unsigned char * |
env_getvalue(var, exported_only) |
env_getvalue(unsigned char *var, int exported_only) |
unsigned char *var; |
|
int exported_only; |
|
{ |
{ |
struct env_lst *ep; |
struct env_lst *ep; |
|
|
|
|
fclose(rcfile); |
fclose(rcfile); |
} |
} |
|
|
|
int |
int |
tn(int argc, char *argv[]) |
tn(argc, argv) |
|
int argc; |
|
char *argv[]; |
|
{ |
{ |
struct addrinfo hints, *res, *res0; |
struct addrinfo hints, *res, *res0; |
int error; |
int error; |
|
|
}; |
}; |
|
|
|
|
static Command * |
static Command * |
getcmd(name) |
getcmd(char *name) |
char *name; |
|
{ |
{ |
Command *cm; |
Command *cm; |
|
|
|
|
return (Command *) genget(name, (char **) cmdtab2, sizeof(Command)); |
return (Command *) genget(name, (char **) cmdtab2, sizeof(Command)); |
} |
} |
|
|
void |
void |
command(top, tbuf, cnt) |
command(int top, char *tbuf, int cnt) |
int top; |
|
char *tbuf; |
|
int cnt; |
|
{ |
{ |
Command *c; |
Command *c; |
|
|
|
|
/* |
/* |
* Help command. |
* Help command. |
*/ |
*/ |
static int |
static int |
help(argc, argv) |
help(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
Command *c; |
Command *c; |
|
|
|
|
*/ |
*/ |
|
|
static unsigned long |
static unsigned long |
sourceroute(arg, cpp, lenp) |
sourceroute(char *arg, char **cpp, int *lenp) |
char *arg; |
|
char **cpp; |
|
int *lenp; |
|
{ |
{ |
static char lsr[44]; |
static char lsr[44]; |
char *cp, *cp2, *lsrp, *lsrep; |
char *cp, *cp2, *lsrp, *lsrep; |