Flaws in the Empire protocol make redirections within execute next to

impossible to implement correctly, and nested execute practically
useless (#116377).  Catch and refuse those:
(executing): New.
(doexecute, prompt): Set and clear it.
(redir_authorized): Reject if set.
(doexecute, play): Don't signal doexecute() failure through input_fd,
because that screws up up when we're executing already.  Increment
send_eof in doexecute() instead.
(send_eof): External linkage.
This commit is contained in:
Markus Armbruster 2007-11-28 07:10:27 +00:00
parent 51846ec38f
commit 2dbc45eff7
3 changed files with 23 additions and 13 deletions

View file

@ -45,6 +45,7 @@ extern char empirehost[];
extern char empireport[];
extern int eight_bit_clean;
extern int input_fd;
extern int send_eof;
extern FILE *auxfp;
extern char *SO;
extern char *SE;