diff options
Diffstat (limited to 'main/netcat-openbsd/0003-get-sev-by-name.patch')
-rw-r--r-- | main/netcat-openbsd/0003-get-sev-by-name.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/main/netcat-openbsd/0003-get-sev-by-name.patch b/main/netcat-openbsd/0003-get-sev-by-name.patch new file mode 100644 index 0000000000..c5ba82ee69 --- /dev/null +++ b/main/netcat-openbsd/0003-get-sev-by-name.patch @@ -0,0 +1,34 @@ +From: Aron Xu <aron@debian.org> +Date: Mon, 13 Feb 2012 14:45:08 +0800 +Subject: get sev by name + +--- + netcat.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/netcat.c b/netcat.c +index d40e3a5..e0ad5c7 100644 +--- a/netcat.c ++++ b/netcat.c +@@ -1193,12 +1193,19 @@ atelnet(int nfd, unsigned char *buf, unsigned int size) + void + build_ports(char *p) + { ++ struct servent *sv; + const char *errstr; + char *n; + int hi, lo, cp; + int x = 0; + +- if ((n = strchr(p, '-')) != NULL) { ++ sv = getservbyname(p, uflag ? "udp" : "tcp"); ++ if (sv) { ++ portlist[0] = calloc(1, PORT_MAX_LEN); ++ if (portlist[0] == NULL) ++ err(1, NULL); ++ snprintf(portlist[0], PORT_MAX_LEN, "%d", ntohs(sv->s_port)); ++ } else if ((n = strchr(p, '-')) != NULL) { + *n = '\0'; + n++; + +-- |