mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-05 12:56:08 +00:00
MFV r288243: nc from OpenBSD 5.8.
This commit is contained in:
commit
100e2a06e2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=288303
@ -1,4 +1,4 @@
|
||||
.\" $OpenBSD: nc.1,v 1.67 2014/02/26 20:56:11 claudio Exp $
|
||||
.\" $OpenBSD: nc.1,v 1.68 2015/03/26 10:35:04 tobias Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1996 David Sacerdote
|
||||
.\" All rights reserved.
|
||||
@ -27,7 +27,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd April 11, 2014
|
||||
.Dd September 26, 2015
|
||||
.Dt NC 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -133,7 +133,7 @@ connection to another program (e.g.\&
|
||||
.Xr ssh 1
|
||||
using the
|
||||
.Xr ssh_config 5
|
||||
.Cm ProxyUseFdPass
|
||||
.Cm ProxyUseFdpass
|
||||
option).
|
||||
.It Fl h
|
||||
Prints out
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: netcat.c,v 1.127 2015/02/14 22:40:22 jca Exp $ */
|
||||
/* $OpenBSD: netcat.c,v 1.130 2015/07/26 19:12:28 chl Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001 Eric Jackson <ericj@monkey.org>
|
||||
*
|
||||
@ -52,15 +52,16 @@
|
||||
#include <err.h>
|
||||
#include <errno.h>
|
||||
#include <getopt.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
#include <netdb.h>
|
||||
#include <poll.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
#include "atomicio.h"
|
||||
|
||||
#ifndef SUN_LEN
|
||||
@ -163,6 +164,8 @@ main(int argc, char *argv[])
|
||||
uport = NULL;
|
||||
sv = NULL;
|
||||
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
|
||||
while ((ch = getopt_long(argc, argv,
|
||||
"46DdEe:FhI:i:klNnoO:P:p:rSs:tT:UuV:vw:X:x:z",
|
||||
longopts, NULL)) != -1) {
|
||||
@ -1042,7 +1045,6 @@ fdpass(int nfd)
|
||||
bzero(&mh, sizeof(mh));
|
||||
bzero(&cmsgbuf, sizeof(cmsgbuf));
|
||||
bzero(&iov, sizeof(iov));
|
||||
bzero(&pfd, sizeof(pfd));
|
||||
|
||||
mh.msg_control = (caddr_t)&cmsgbuf.buf;
|
||||
mh.msg_controllen = sizeof(cmsgbuf.buf);
|
||||
@ -1059,17 +1061,17 @@ fdpass(int nfd)
|
||||
|
||||
bzero(&pfd, sizeof(pfd));
|
||||
pfd.fd = STDOUT_FILENO;
|
||||
pfd.events = POLLOUT;
|
||||
for (;;) {
|
||||
r = sendmsg(STDOUT_FILENO, &mh, 0);
|
||||
if (r == -1) {
|
||||
if (errno == EAGAIN || errno == EINTR) {
|
||||
pfd.events = POLLOUT;
|
||||
if (poll(&pfd, 1, -1) == -1)
|
||||
err(1, "poll");
|
||||
continue;
|
||||
}
|
||||
err(1, "sendmsg");
|
||||
} else if (r == -1)
|
||||
} else if (r != 1)
|
||||
errx(1, "sendmsg: unexpected return value %zd", r);
|
||||
else
|
||||
break;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: socks.c,v 1.20 2012/03/08 09:56:28 espie Exp $ */
|
||||
/* $OpenBSD: socks.c,v 1.21 2015/03/26 21:19:51 tobias Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1999 Niklas Hallqvist. All rights reserved.
|
||||
@ -308,8 +308,8 @@ socks_connect(const char *host, const char *port,
|
||||
}
|
||||
|
||||
/* Terminate headers */
|
||||
if ((r = atomicio(vwrite, proxyfd, "\r\n", 2)) != 2)
|
||||
err(1, "write failed (2/%d)", r);
|
||||
if ((cnt = atomicio(vwrite, proxyfd, "\r\n", 2)) != 2)
|
||||
err(1, "write failed (%zu/2)", cnt);
|
||||
|
||||
/* Read status reply */
|
||||
proxy_read_line(proxyfd, buf, sizeof(buf));
|
||||
|
Loading…
Reference in New Issue
Block a user