diff options
author | tron <tron@pkgsrc.org> | 2001-03-10 22:05:53 +0000 |
---|---|---|
committer | tron <tron@pkgsrc.org> | 2001-03-10 22:05:53 +0000 |
commit | a56d0d5a5ffc3062c583659429c1ad667fda8ef1 (patch) | |
tree | 94afc1277f8cd7c03d5ce00580f76780cae96eeb /news | |
parent | d43a634d60bf7779b7e730192193aae84c418045 (diff) | |
download | pkgsrc-a56d0d5a5ffc3062c583659429c1ad667fda8ef1.tar.gz |
Further improvement of IPv6 patches:
- Make IPv6 addresses (not names) work. You still need to specify the port
number explicitly in this case.
- Fix bug in connection loop which caused PR pkg/12329.
The version number is bumped to "1.0nb5".
Diffstat (limited to 'news')
-rw-r--r-- | news/knews/Makefile | 4 | ||||
-rw-r--r-- | news/knews/files/patch-sum | 60 | ||||
-rw-r--r-- | news/knews/patches/patch-ag | 4 | ||||
-rw-r--r-- | news/knews/patches/patch-ai | 59 |
4 files changed, 80 insertions, 47 deletions
diff --git a/news/knews/Makefile b/news/knews/Makefile index ae35047b56f..edbcaef8039 100644 --- a/news/knews/Makefile +++ b/news/knews/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.31 2001/03/04 09:06:17 tron Exp $ +# $NetBSD: Makefile,v 1.32 2001/03/10 22:05:53 tron Exp $ DISTNAME= knews-1.0b.1 -PKGNAME= knews-1.0nb4 +PKGNAME= knews-1.0nb5 CATEGORIES= news x11 MASTER_SITES= http://www.matematik.su.se/~kjj/ diff --git a/news/knews/files/patch-sum b/news/knews/files/patch-sum index b2f211e6a53..ba210afc160 100644 --- a/news/knews/files/patch-sum +++ b/news/knews/files/patch-sum @@ -1,31 +1,31 @@ -$NetBSD: patch-sum,v 1.7 2001/02/25 11:10:13 tron Exp $ +$NetBSD: patch-sum,v 1.8 2001/03/10 22:05:54 tron Exp $ -MD5 (patch-aa) = 95cd0655c3bc770d6450343e204ecf97 -MD5 (patch-ab) = a7803c0d155e79576a8f0d4e94933786 -MD5 (patch-ac) = b377e050b3aad321de2ef795395a1ac8 -MD5 (patch-ad) = 42f9dd9fdfdca698de9b849f4a8dea54 -MD5 (patch-ae) = 166cf61034320c7f90c68f7db4bfad1c -MD5 (patch-af) = f6f7662ff65939090971bf1cbbe1765b -MD5 (patch-ag) = 81db2b27e60ee1b2a4900e82287387ee -MD5 (patch-ah) = bcf7cb17cd26e3fb086726355748da55 -MD5 (patch-ai) = 57e430776251a08ff279f8cdcf8f11e7 -MD5 (patch-aj) = 1728399cf60b4c9c1bda9d3790edf6e8 -MD5 (patch-ak) = 2d1dd4096bbbff6a4f75afda3a454537 -MD5 (patch-al) = d01ee21b4c0c6ca45c9b8ab8bd79bb43 -MD5 (patch-am) = 5b1a893cc22d5605fb6988a731d441f4 -MD5 (patch-an) = a46f948233a4220d7323d92366cc1827 -MD5 (patch-ao) = 7bce0ab56cbba3dcac936a1286a26c02 -MD5 (patch-ap) = 8eb9283da5a1cabacc8a444d55afe6b5 -MD5 (patch-aq) = 609bc8fbb5255911f101de2c9d929383 -MD5 (patch-ar) = 2cb0b541f00859e920bc91a4b5e150a6 -MD5 (patch-as) = 78b489aada6b25742fd685d0adfd153b -MD5 (patch-at) = fe938fc99e11a8edc69479732dd5b139 -MD5 (patch-au) = bf672aeb3a681403aab002f02a9dff15 -MD5 (patch-av) = 1ad60c13cf058f5562f032764cf6e3a3 -MD5 (patch-aw) = b0728c15c68f1089a29eca121c9a5a7e -MD5 (patch-ax) = f997987639dfd9b61db0e6251cdd1e69 -MD5 (patch-ay) = 04af83f040d847826c6950308487c8ca -MD5 (patch-az) = 450fb148f632c7555deec0d0440c0b93 -MD5 (patch-ba) = 59029d5338552d2da44f8e0a6c2ef048 -MD5 (patch-bb) = afb2b68cdf08bd757a2543a055a764a6 -MD5 (patch-bc) = cad8d9172dce5eeb1675320254928948 +SHA1 (patch-aa) = b125c5b5078e809dd0483a17d83fd0f055604639 +SHA1 (patch-ab) = c91ef1a71a9bd63a64d87e59a0a441386dc3d3c0 +SHA1 (patch-ac) = 8e087270e5b0be25b161b2462b61fcdce6edea42 +SHA1 (patch-ad) = 99bf250c156e7a4e1ea27953e5e52974373e2c27 +SHA1 (patch-ae) = 5048f46e187abb84822702de2aab486f707ea185 +SHA1 (patch-af) = 44698e8579f2ce6779a2959803ec8c2abf45c83d +SHA1 (patch-ag) = c40ecd5f97542e968b21b340e65552be06142b43 +SHA1 (patch-ah) = b971332d24fe400c30fb46e44be9e5317166898f +SHA1 (patch-ai) = 23a087b084321a022cf7d7abfcd491b63bdc8b6c +SHA1 (patch-aj) = e19750ae0c64cf65dd5c52cc8e1a4798a6c69c0a +SHA1 (patch-ak) = 45aa66d4d30cb5d5bfa5ce407472ec663481faa6 +SHA1 (patch-al) = 2988f9b41d0f22b4395ee8213f94ca47032a3f23 +SHA1 (patch-am) = e8f182e5f089e04e7a8b2e8ee260c254791bbb40 +SHA1 (patch-an) = a21c78baefa94ef2e8c6aa7310890d12337fbc65 +SHA1 (patch-ao) = 377bd3cdf11fac50c622113fea840179e7823200 +SHA1 (patch-ap) = e215b15ddc87fcc57d57387beda95565077bcc6a +SHA1 (patch-aq) = c0adbcb8c7baf8bd20275acebdf6cb9378bfff29 +SHA1 (patch-ar) = b6f2cb066d124c9fec7bafc71cb76276613527e4 +SHA1 (patch-as) = eb0a693428e57f8aec90ce3594fb7940dfff6c34 +SHA1 (patch-at) = 08a2f2bbcef800df6f8f312a002a0b65b764ba26 +SHA1 (patch-au) = 5280d94ba94a520c1458cb018d65b30fe6ebbf67 +SHA1 (patch-av) = 28231ab867fb61a881c519a9e1bc0f4e4aad4ded +SHA1 (patch-aw) = 474de717f637c76066cc7e580b840e8ffb66020f +SHA1 (patch-ax) = 210e3b9a3185c7cc503a47923cf54d3d62a5e0d7 +SHA1 (patch-ay) = a636d73a4d6bc930dbf66abec5e342e2f00547ed +SHA1 (patch-az) = 1d91236b5f1dd59e54e9d8b02f31090abe70b67b +SHA1 (patch-ba) = a46041cc02ec99379d1c7a69534ca4574a1d8b77 +SHA1 (patch-bb) = 05963335420741b8ce5658ad43cbfa83379fe289 +SHA1 (patch-bc) = 74b0c0ee543f3753886dc75ea7d32a61256eb5b5 diff --git a/news/knews/patches/patch-ag b/news/knews/patches/patch-ag index aa808b74119..cc198d555b2 100644 --- a/news/knews/patches/patch-ag +++ b/news/knews/patches/patch-ag @@ -1,4 +1,4 @@ -$NetBSD: patch-ag,v 1.4 2001/02/24 22:40:40 tron Exp $ +$NetBSD: patch-ag,v 1.5 2001/03/10 22:05:54 tron Exp $ --- src/sysdeps.c.orig Tue Dec 29 11:46:52 1998 +++ src/sysdeps.c Sat Feb 24 23:31:43 2001 @@ -44,7 +44,7 @@ $NetBSD: patch-ag,v 1.4 2001/02/24 22:40:40 tron Exp $ + struct addrinfo hints, *res; + + port = 0; -+ c = strchr(host, ':'); ++ c = strrchr(host, ':'); + if (c) { + *c = '\0'; + if (c[1] >= '0' && c[1] <= '9') diff --git a/news/knews/patches/patch-ai b/news/knews/patches/patch-ai index af1e2e71b40..5a8a9768cd4 100644 --- a/news/knews/patches/patch-ai +++ b/news/knews/patches/patch-ai @@ -1,7 +1,7 @@ -$NetBSD: patch-ai,v 1.3 2001/02/25 11:10:13 tron Exp $ +$NetBSD: patch-ai,v 1.4 2001/03/10 22:05:54 tron Exp $ --- src/server.c.orig Fri Jan 9 18:16:22 1998 -+++ src/server.c Sun Feb 25 12:07:35 2001 ++++ src/server.c Sat Mar 10 23:00:44 2001 @@ -2,19 +2,21 @@ * Copyright (C) 1995, 1996 Karl-Johan Johnsson. */ @@ -26,23 +26,23 @@ $NetBSD: patch-ai,v 1.3 2001/02/25 11:10:13 tron Exp $ struct SERVER { int fd; char *buffer; -@@ -128,30 +130,39 @@ +@@ -128,37 +130,68 @@ * tell != 0 means tell about errors * tell > 1 means say what you're doing */ -int server_open(SERVER *server, struct SERV_ADDR *addr, int tell) +int server_open(SERVER *server, SERV_ADDR *addr, int tell) { - long tmp; +- long tmp; ++ int tmp; -- server_close(server); + server_close(server); - server->fd = open_socket(); - if (server->fd < 0) { - set_message("Error: Failed to create socket!", True); - return -1; - } + while (addr) { -+ server_close(server); + server->fd = open_socket(addr); + if (server->fd < 0) { + set_message("Error: Failed to create socket!", True); @@ -55,7 +55,8 @@ $NetBSD: patch-ai,v 1.3 2001/02/25 11:10:13 tron Exp $ + set_message("Server contacted, waiting for response...", False); - tmp = connect_socket(server->fd, addr); -+ tmp = connect_socket(server->fd, addr); ++ if (connect_socket(server->fd, addr) == 0) ++ break; - if (tmp < 0 && would_block(server->fd, errno)) { - if (tell == 0) @@ -65,22 +66,54 @@ $NetBSD: patch-ai,v 1.3 2001/02/25 11:10:13 tron Exp $ - do_wait(&server->fd, True, server->quit_func, server); - if (server->fd < 0) - return -1; -+ if (tmp < 0 && would_block(server->fd, errno)) { ++ if (would_block(server->fd, errno)) { + if (tell == 0) + return 0; /* don't block */ + -+ tmp = 0; + do_wait(&server->fd, True, server->quit_func, server); -+ if (server->fd >= 0) -+ break; ++ if (server->fd >= 0) { ++#ifdef __NetBSD__ ++ socklen_t length; ++ int error; ++#else ++ int length, error; ++#endif ++ length = sizeof(error); ++ if (getsockopt(server->fd, SOL_SOCKET, SO_ERROR, ++ (char *)&error, &length) == 0) { ++ if (error == 0) ++ break; ++ else ++ errno = error; ++ } ++ } + } + ++ server_close(server); + addr = next_addr(addr); + } + -+ if (!addr) { -+ server_close(server); ++ if (server->fd < 0) { ++ if (tell) { ++ char message[128]; ++ char *tmp = error_string(errno); ++ ++ if (!tmp) ++ tmp = "Connection failed"; ++ sprintf(message, "Error: %s!", tmp); ++ set_message(message, True); ++ } + return -1; } server->buffer[0] = '\0'; +- if (tmp >= 0) +- do { +- tmp = read(server->fd, server->buffer, server->len); +- } while (tmp < 0 && errno == EINTR); ++ do { ++ tmp = read(server->fd, server->buffer, server->len); ++ } while (tmp < 0 && errno == EINTR); + + if (tmp >= 0) { + server->buffer[tmp] = '\0'; |