diff options
| -rw-r--r-- | toys/net/netcat.c | 23 | 
1 files changed, 12 insertions, 11 deletions
diff --git a/toys/net/netcat.c b/toys/net/netcat.c index e8bee37a..62586054 100644 --- a/toys/net/netcat.c +++ b/toys/net/netcat.c @@ -7,13 +7,13 @@   * netcat -L zombies  USE_NETCAT(OLDTOY(nc, netcat, TOYFLAG_USR|TOYFLAG_BIN)) -USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("^tlL")"w#<1W#<1p#<1>65535q#<1s:f:46uU"USE_NETCAT_LISTEN("[!tlL][!Lw]")"[!46U]", TOYFLAG_BIN)) +USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("^tElL")"w#<1W#<1p#<1>65535q#<1s:f:46uU"USE_NETCAT_LISTEN("[!tlL][!Lw]")"[!46U]", TOYFLAG_BIN))  config NETCAT    bool "netcat"    default y    help -    usage: netcat [-46U] [-u] [-wpq #] [-s addr] {IPADDR PORTNUM|-f FILENAME} +    usage: netcat [-46U] [-u] [-wpq #] [-s addr] {IPADDR PORTNUM|-f FILENAME|COMMAND...}      Forward stdin/stdout to a file or network connection. @@ -36,19 +36,20 @@ config NETCAT_LISTEN    default y    depends on NETCAT    help -    usage: netcat [-t] [-lL COMMAND...] +    usage: netcat [-tElL] -    -l	Listen for one incoming connection -    -L	Listen for multiple incoming connections (server mode) -    -t	Allocate tty (must come before -l or -L) +    -l	Listen for one incoming connection, then exit +    -L	Listen and background each incoming connection (server mode) +    -t	Allocate tty +    -E	Forward stderr -    The command line after -l or -L is executed (as a child process) to handle -    each incoming connection. If blank -l waits for a connection and forwards -    it to stdin/stdout. If no -p specified, -l prints port it bound to and +    When listening the COMMAND line is executed as a child process to handle +    an incoming connection. With no COMMAND -l forwards the connection +    to stdin/stdout. If no -p specified, -l prints the port it bound to and      backgrounds itself (returning immediately).      For a quick-and-dirty server, try something like: -    netcat -s 127.0.0.1 -p 1234 -tL /bin/bash -l +    netcat -s 127.0.0.1 -p 1234 -tL sh -l  */  #define FOR_netcat @@ -181,7 +182,7 @@ void netcat_main(void)            }            dup2(in1, 0);            dup2(in1, 1); -          if (FLAG(L)) dup2(in1, 2); +          if (FLAG(E)) dup2(in1, 2);            if (in1>2) close(in1);            xexec(toys.optargs);          }  | 
