diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2013-02-28 11:09:14 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2013-02-28 11:09:14 +0100 |
commit | a14f319805c288db25cc9feac3048d89f3d7b41a (patch) | |
tree | 0ea5c9f3bdc7899e70cbc481b65bdba0bf51d6c8 /networking | |
parent | bc0ffc0e971c61dc7f09aab2a35966f99cc606ba (diff) | |
download | busybox-a14f319805c288db25cc9feac3048d89f3d7b41a.tar.gz |
nc: don't redirect stderr to network in -e PROG mode
This in incompatible with nc-1.10, but makes a lot of sense.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking')
-rw-r--r-- | networking/nc.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/networking/nc.c b/networking/nc.c index 0c843a686..8cb4b306e 100644 --- a/networking/nc.c +++ b/networking/nc.c @@ -24,7 +24,7 @@ //config: Allow netcat to act as a server. //config: //config:config NC_EXTRA -//config: bool "Netcat extensions (-eiw and filename)" +//config: bool "Netcat extensions (-eiw and -f FILE)" //config: default y //config: depends on NC //config: help @@ -60,17 +60,18 @@ //usage:#define nc_full_usage "\n\n" //usage: "Open a pipe to IP:PORT" IF_NC_EXTRA(" or FILE") //usage: NC_OPTIONS_STR -//usage: IF_NC_EXTRA( -//usage: "\n -e PROG Run PROG after connect" //usage: IF_NC_SERVER( //usage: "\n -l Listen mode, for inbound connects" //usage: IF_NC_EXTRA( -//usage: "\n (use -l twice with -e for persistent server)") +//usage: "\n (use -ll with -e for persistent server)" +//usage: ) //usage: "\n -p PORT Local port" //usage: ) -//usage: "\n -w SEC Timeout for connect" +//usage: IF_NC_EXTRA( +//usage: "\n -w SEC Connect timeout" //usage: "\n -i SEC Delay interval for lines sent" //usage: "\n -f FILE Use file (ala /dev/ttyS0) instead of network" +//usage: "\n -e PROG Run PROG after connect" //usage: ) //usage: //usage:#define nc_notes_usage "" @@ -147,7 +148,7 @@ int nc_main(int argc, char **argv) *p++ = argv[optind++]; } ) - /* optind points to argv[arvc] (NULL) now. + /* optind points to argv[argc] (NULL) now. ** FIXME: we assume that getopt will not count options ** possibly present on "-e PROG ARGS" and will not ** include them into final value of optind @@ -226,10 +227,9 @@ int nc_main(int argc, char **argv) /* child, or main thread if only one -l */ xmove_fd(cfd, 0); xdup2(0, 1); - xdup2(0, 2); + /*xdup2(0, 2); - original nc 1.10 does this, we don't */ IF_NC_EXTRA(BB_EXECVP(execparam[0], execparam);) - /* Don't print stuff or it will go over the wire... */ - _exit(127); + bb_perror_msg_and_die("can't execute '%s'", execparam[0]); } /* Select loop copying stdin to cfd, and cfd to stdout */ |