head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.192 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.190 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.5.0.188 pkgsrc-2025Q3-base:1.5 pkgsrc-2025Q2:1.5.0.186 pkgsrc-2025Q2-base:1.5 pkgsrc-2025Q1:1.5.0.184 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.182 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.180 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.5.0.178 pkgsrc-2024Q2-base:1.5 pkgsrc-2024Q1:1.5.0.176 pkgsrc-2024Q1-base:1.5 pkgsrc-2023Q4:1.5.0.174 pkgsrc-2023Q4-base:1.5 pkgsrc-2023Q3:1.5.0.172 pkgsrc-2023Q3-base:1.5 pkgsrc-2023Q2:1.5.0.170 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.168 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.5.0.166 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.164 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.162 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.160 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.158 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.156 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.154 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.152 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.150 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.5.0.148 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.144 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.124 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.146 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.142 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.140 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.138 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.136 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.134 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.132 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.130 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.128 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.126 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.5.0.122 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.120 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.118 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.5.0.116 pkgsrc-2016Q3-base:1.5 pkgsrc-2016Q2:1.5.0.114 pkgsrc-2016Q2-base:1.5 pkgsrc-2016Q1:1.5.0.112 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.5.0.110 pkgsrc-2015Q4-base:1.5 pkgsrc-2015Q3:1.5.0.108 pkgsrc-2015Q3-base:1.5 pkgsrc-2015Q2:1.5.0.106 pkgsrc-2015Q2-base:1.5 pkgsrc-2015Q1:1.5.0.104 pkgsrc-2015Q1-base:1.5 pkgsrc-2014Q4:1.5.0.102 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.100 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.98 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.96 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.5.0.94 pkgsrc-2013Q4-base:1.5 pkgsrc-2013Q3:1.5.0.92 pkgsrc-2013Q3-base:1.5 pkgsrc-2013Q2:1.5.0.90 pkgsrc-2013Q2-base:1.5 pkgsrc-2013Q1:1.5.0.88 pkgsrc-2013Q1-base:1.5 pkgsrc-2012Q4:1.5.0.86 pkgsrc-2012Q4-base:1.5 pkgsrc-2012Q3:1.5.0.84 pkgsrc-2012Q3-base:1.5 pkgsrc-2012Q2:1.5.0.82 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.80 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.78 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.5.0.76 pkgsrc-2011Q3-base:1.5 pkgsrc-2011Q2:1.5.0.74 pkgsrc-2011Q2-base:1.5 pkgsrc-2011Q1:1.5.0.72 pkgsrc-2011Q1-base:1.5 pkgsrc-2010Q4:1.5.0.70 pkgsrc-2010Q4-base:1.5 pkgsrc-2010Q3:1.5.0.68 pkgsrc-2010Q3-base:1.5 pkgsrc-2010Q2:1.5.0.66 pkgsrc-2010Q2-base:1.5 pkgsrc-2010Q1:1.5.0.64 pkgsrc-2010Q1-base:1.5 pkgsrc-2009Q4:1.5.0.62 pkgsrc-2009Q4-base:1.5 pkgsrc-2009Q3:1.5.0.60 pkgsrc-2009Q3-base:1.5 pkgsrc-2009Q2:1.5.0.58 pkgsrc-2009Q2-base:1.5 pkgsrc-2009Q1:1.5.0.56 pkgsrc-2009Q1-base:1.5 pkgsrc-2008Q4:1.5.0.54 pkgsrc-2008Q4-base:1.5 pkgsrc-2008Q3:1.5.0.52 pkgsrc-2008Q3-base:1.5 cube-native-xorg:1.5.0.50 cube-native-xorg-base:1.5 pkgsrc-2008Q2:1.5.0.48 pkgsrc-2008Q2-base:1.5 cwrapper:1.5.0.46 pkgsrc-2008Q1:1.5.0.44 pkgsrc-2008Q1-base:1.5 pkgsrc-2007Q4:1.5.0.42 pkgsrc-2007Q4-base:1.5 pkgsrc-2007Q3:1.5.0.40 pkgsrc-2007Q3-base:1.5 pkgsrc-2007Q2:1.5.0.38 pkgsrc-2007Q2-base:1.5 pkgsrc-2007Q1:1.5.0.36 pkgsrc-2007Q1-base:1.5 pkgsrc-2006Q4:1.5.0.34 pkgsrc-2006Q4-base:1.5 pkgsrc-2006Q3:1.5.0.32 pkgsrc-2006Q3-base:1.5 pkgsrc-2006Q2:1.5.0.30 pkgsrc-2006Q2-base:1.5 pkgsrc-2006Q1:1.5.0.28 pkgsrc-2006Q1-base:1.5 pkgsrc-2005Q4:1.5.0.26 pkgsrc-2005Q4-base:1.5 pkgsrc-2005Q3:1.5.0.24 pkgsrc-2005Q3-base:1.5 pkgsrc-2005Q2:1.5.0.22 pkgsrc-2005Q2-base:1.5 pkgsrc-2005Q1:1.5.0.20 pkgsrc-2005Q1-base:1.5 pkgsrc-2004Q4:1.5.0.18 pkgsrc-2004Q4-base:1.5 pkgsrc-2004Q3:1.5.0.16 pkgsrc-2004Q3-base:1.5 pkgsrc-2004Q2:1.5.0.14 pkgsrc-2004Q2-base:1.5 pkgsrc-2004Q1:1.5.0.12 pkgsrc-2004Q1-base:1.5 pkgsrc-2003Q4:1.5.0.10 pkgsrc-2003Q4-base:1.5 netbsd-1-6-1:1.5.0.6 netbsd-1-6-1-base:1.5 netbsd-1-6:1.5.0.8 netbsd-1-6-RELEASE-base:1.5 pkgviews:1.5.0.4 pkgviews-base:1.5 buildlink2:1.5.0.2 buildlink2-base:1.5 netbsd-1-5-PATCH003:1.5 netbsd-1-5-PATCH001:1.5; locks; strict; comment @# @; 1.5 date 2001.03.10.22.05.54; author tron; state Exp; branches; next 1.4; 1.4 date 2001.02.24.22.40.40; author tron; state Exp; branches; next 1.3; 1.3 date 2001.02.23.22.19.42; author tron; state Exp; branches; next 1.2; 1.2 date 99.03.14.15.07.21; author tron; state dead; branches; next 1.1; 1.1 date 99.01.25.19.41.37; author tron; state Exp; branches; next ; desc @@ 1.5 log @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". @ text @$NetBSD: patch-ag,v 1.4 2001/02/24 22:40:40 tron Exp $ --- src/sysdeps.c.orig Tue Dec 29 11:46:52 1998 +++ src/sysdeps.c Sat Feb 24 23:31:43 2001 @@@@ -20,8 +20,8 @@@@ #include #include -#include "server.h" #include "sysdeps.h" +#include "server.h" #undef PURIFY_HACK /*#define PURIFY_HACK*/ @@@@ -96,6 +96,9 @@@@ #ifdef EINPROGRESS err_no == EINPROGRESS || #endif +#ifdef EALREADY + err_no == EALREADY || +#endif err_no == EAGAIN); } @@@@ -256,10 +259,12 @@@@ /***********************************************************************/ +#if !defined(USE_INET6) struct SERV_ADDR { struct in_addr addr; unsigned short port; }; +#endif /* * host: either "hostname:port" or "ip.ip.ip.ip:port", @@@@ -271,6 +276,28 @@@@ */ SERV_ADDR *get_host(char *host, unsigned short def_port, int byte_swap) { +#if defined(USE_INET6) + char *c, *port, buffer[6]; + struct addrinfo hints, *res; + + port = 0; + c = strrchr(host, ':'); + if (c) { + *c = '\0'; + if (c[1] >= '0' && c[1] <= '9') + port = c + 1; + } + if (!port) { + sprintf(buffer, "%d", def_port); + port = buffer; + } + + memset(&hints, '\0', sizeof(hints)); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + hints.ai_protocol = 0; + return getaddrinfo(host, port, &hints, &res) ? NULL : res; +#else SERV_ADDR *ret; struct in_addr addr; unsigned short port; @@@@ -332,14 +359,38 @@@@ ret->port = port; return ret; +#endif } -int open_socket(void) +SERV_ADDR *next_addr(SERV_ADDR *addr) + +{ +#ifdef USE_INET6 + return addr->ai_next; +#else + return NULL; +#endif +} +void free_addr(SERV_ADDR *addr) + +{ +#ifdef USE_INET6 + freeaddrinfo(addr); +#else + XtFree((char *)addr); +#endif +} + +int open_socket(SERV_ADDR *addr) { int fd, tmp; do { - fd = socket(PF_INET, SOCK_STREAM, 0); +#ifdef USE_INET6 + fd = socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol); +#else + fd = socket(AF_INET, SOCK_STREAM, 0); +#endif } while (fd < 0 && errno == EINTR); if (fd < 0) { @@@@ -372,8 +423,15 @@@@ int connect_socket(int fd, SERV_ADDR *addr) { - struct sockaddr_in serv_addr; int tmp; +#ifdef USE_INET6 + do { + tmp = connect(fd, addr->ai_addr, addr->ai_addrlen); + } while (tmp < 0 && errno == EINTR); + + return tmp; +#else + struct sockaddr_in serv_addr; if (!addr) { fputs("knews: connect_socket: addr is NULL!!!\n", stderr); @@@@ -390,6 +448,7 @@@@ } while (tmp < 0 && errno == EINTR); return tmp; +#endif } #if 0 /* Misc stuff for ftp routines */ @@@@ -548,7 +607,7 @@@@ char *get_mailhostname(void) { struct utsname un = {{0,},}; - char *host = NULL, *domain; + char *host = NULL; #ifdef PURIFY_HACK return NULL; @ 1.4 log @Bump the version number to 1.0nb3 after major rework of IPv6 patch: - No busy loops when connecting to the NNTP server. - Handle multiple records return by getaddrinfo(3) at the proper location. - Avoid unnecessary socket creations and deletions by always passing the correct address family to open_socket(). @ text @d1 1 a1 1 $NetBSD$ d47 1 a47 1 + c = strchr(host, ':'); @ 1.3 log @Add IPv6 support and bump version number to 1.0nb2. @ text @d4 1 a4 1 +++ src/sysdeps.c Fri Feb 23 23:11:36 2001 d67 1 a67 1 @@@@ -332,14 +359,15 @@@@ d75 20 a94 1 +int open_socket(int family) d100 5 a104 1 + fd = socket(family, SOCK_STREAM, 0); d108 1 a108 1 @@@@ -372,6 +400,35 @@@@ d112 2 d115 3 a117 1 + int family; d119 1 a119 25 + family = AF_INET; + while (addr) { + if (family != addr->ai_family) { + int newsocket; + + newsocket = open_socket(addr->ai_family); + if (newsocket < 0) + return -1; + if (dup2(newsocket, fd) < 0) + close(newsocket); + + close(newsocket); + family = addr->ai_family; + } + + do { + if ((connect(fd, addr->ai_addr, addr->ai_addrlen) == 0) || + (errno == EISCONN)) + return 0; + } while (would_block(fd, errno)); + + addr = addr->ai_next; + } + + return -1; d121 1 a121 2 struct sockaddr_in serv_addr; int tmp; d123 3 a125 1 @@@@ -390,6 +447,7 @@@@ d133 1 a133 1 @@@@ -548,7 +606,7 @@@@ @ 1.2 log @Update for "knews" package to version 1.0b1 supplied by Frederick Bruckman in PR pkg/7151: - XFace support. - Misc. bugfixes based on patches from Matthias Scheler, Christian Bauernfeind and Greg Ubben. @ text @d1 1 a1 1 $NetBSD: patch-ag,v 1.1 1999/01/25 19:41:37 tron Exp $ d3 5 a7 10 --- src/save.c.orig Fri Jan 9 18:16:23 1998 +++ src/save.c Mon Jan 25 20:29:37 1999 @@@@ -1049,7 +1049,7 @@@@ } if (report->stop - report->start < MIN_URL_LEN) { - set_message("Url to short!", True); + set_message("Url too short!", True); return; } d9 129 @ 1.1 log @Two fixes by Christian Bauernfeind: - fix broken tabulator rendering - fix a typo @ text @d1 1 a1 1 $NetBSD$ @