summaryrefslogtreecommitdiff
path: root/src/usr.bin/nc/netcat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr.bin/nc/netcat.c')
-rw-r--r--src/usr.bin/nc/netcat.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c
index 4bef71a7ca..a034bbab8c 100644
--- a/src/usr.bin/nc/netcat.c
+++ b/src/usr.bin/nc/netcat.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: netcat.c,v 1.108 2012/07/07 09:36:30 haesbaert Exp $ */ 1/* $OpenBSD: netcat.c,v 1.109 2012/07/07 15:33:02 haesbaert Exp $ */
2/* 2/*
3 * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> 3 * Copyright (c) 2001 Eric Jackson <ericj@monkey.org>
4 * 4 *
@@ -345,11 +345,17 @@ main(int argc, char *argv[])
345 if (s < 0) 345 if (s < 0)
346 err(1, NULL); 346 err(1, NULL);
347 /* 347 /*
348 * For UDP, we will use recvfrom() initially 348 * For UDP and -k, don't connect the socket, let it
349 * to wait for a caller, then use the regular 349 * receive datagrams from multiple socket pairs.
350 * functions to talk to the caller.
351 */ 350 */
352 if (uflag) { 351 if (uflag && kflag)
352 readwrite(s);
353 /*
354 * For UDP and not -k, we will use recvfrom() initially
355 * to wait for a caller, then use the regular functions
356 * to talk to the caller.
357 */
358 else if (uflag && !kflag) {
353 int rv, plen; 359 int rv, plen;
354 char buf[16384]; 360 char buf[16384];
355 struct sockaddr_storage z; 361 struct sockaddr_storage z;