//usage: "nc [OPTIONS] -l -p PORT [HOST] [PORT] - listen"
//usage: )
//usage:#define nc_full_usage "\n\n"
-//usage: "Options:"
-//usage: "\n -e PROG Run PROG after connect (must be last)"
+//usage: " -e PROG Run PROG after connect (must be last)"
//usage: IF_NC_SERVER(
//usage: "\n -l Listen mode, for inbound connects"
//usage: )
dup2(0, 1);
/* dup2(0, 2); - do we *really* want this? NO!
* exec'ed prog can do it yourself, if needed */
- execvp(proggie[0], proggie);
- bb_perror_msg_and_die("can't execute '%s'", proggie[0]);
+ BB_EXECVP_or_die(proggie);
}
/* connect_w_timeout:
if (port == 0) {
/* "nc -nl -p LPORT RHOST" (w/o RPORT!):
* we should accept any remote port */
- set_nport(&remend, 0); /* blot out remote port# */
+ set_nport(&remend.u.sa, 0); /* blot out remote port# */
}
r = memcmp(&remend.u.sa, &themaddr->u.sa, remend.len);
- set_nport(&remend, sv_port); /* restore */
+ set_nport(&remend.u.sa, sv_port); /* restore */
if (r != 0) {
/* nc 1.10 bails out instead, and its error message
* is not suppressed by o_verbose */
rr = getsockopt(netfd, IPPROTO_IP, IP_OPTIONS, optbuf, &x);
if (rr >= 0 && x) { /* we've got options, lessee em... */
- bin2hex(bigbuf_net, optbuf, x);
- bigbuf_net[2*x] = '\0';
+ *bin2hex(bigbuf_net, optbuf, x) = '\0';
fprintf(stderr, "IP options: %s\n", bigbuf_net);
}
#endif
us to hang forever, and hit it */
o_wait = 5; /* enough that we'll notice?? */
rr = xsocket(ouraddr->u.sa.sa_family, SOCK_STREAM, 0);
- set_nport(themaddr, htons(SLEAZE_PORT));
+ set_nport(&themaddr->u.sa, htons(SLEAZE_PORT));
connect_w_timeout(rr);
/* don't need to restore themaddr's port, it's not used anymore */
close(rr);
getopt32(argv, "hnp:s:uvw:" IF_NC_SERVER("l")
IF_NC_EXTRA("i:o:z"),
&str_p, &str_s, &o_wait
- IF_NC_EXTRA(, &str_i, &str_o, &o_verbose));
+ IF_NC_EXTRA(, &str_i, &str_o), &o_verbose);
argv += optind;
#if ENABLE_NC_EXTRA
if (option_mask32 & OPT_i) /* line-interval time */
(themaddr ? themaddr->u.sa.sa_family : AF_UNSPEC),
x);
if (o_lport)
- set_nport(ouraddr, htons(o_lport));
+ set_nport(&ouraddr->u.sa, htons(o_lport));
}
xmove_fd(x, netfd);
setsockopt_reuseaddr(netfd);