head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.102 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.100 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.5.0.98 pkgsrc-2025Q3-base:1.5 pkgsrc-2025Q2:1.5.0.96 pkgsrc-2025Q2-base:1.5 pkgsrc-2025Q1:1.5.0.94 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.92 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.90 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.5.0.88 pkgsrc-2024Q2-base:1.5 pkgsrc-2024Q1:1.5.0.86 pkgsrc-2024Q1-base:1.5 pkgsrc-2023Q4:1.5.0.84 pkgsrc-2023Q4-base:1.5 pkgsrc-2023Q3:1.5.0.82 pkgsrc-2023Q3-base:1.5 pkgsrc-2023Q2:1.5.0.80 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.78 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.5.0.76 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.74 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.72 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.70 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.68 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.66 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.64 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.62 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.60 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.5.0.58 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.54 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.34 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.56 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.52 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.50 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.48 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.46 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.44 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.42 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.40 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.38 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.36 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.5.0.32 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.30 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.28 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.5.0.26 pkgsrc-2016Q3-base:1.5 pkgsrc-2016Q2:1.5.0.24 pkgsrc-2016Q2-base:1.5 pkgsrc-2016Q1:1.5.0.22 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.5.0.20 pkgsrc-2015Q4-base:1.5 pkgsrc-2015Q3:1.5.0.18 pkgsrc-2015Q3-base:1.5 pkgsrc-2015Q2:1.5.0.16 pkgsrc-2015Q2-base:1.5 pkgsrc-2015Q1:1.5.0.14 pkgsrc-2015Q1-base:1.5 pkgsrc-2014Q4:1.5.0.12 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.10 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.8 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.6 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.5.0.4 pkgsrc-2013Q4-base:1.5 pkgsrc-2013Q3:1.5.0.2 pkgsrc-2013Q3-base:1.5 pkgsrc-2013Q2:1.4.0.18 pkgsrc-2013Q2-base:1.4 pkgsrc-2013Q1:1.4.0.16 pkgsrc-2013Q1-base:1.4 pkgsrc-2012Q4:1.4.0.14 pkgsrc-2012Q4-base:1.4 pkgsrc-2012Q3:1.4.0.12 pkgsrc-2012Q3-base:1.4 pkgsrc-2012Q2:1.4.0.10 pkgsrc-2012Q2-base:1.4 pkgsrc-2012Q1:1.4.0.8 pkgsrc-2012Q1-base:1.4 pkgsrc-2011Q4:1.4.0.6 pkgsrc-2011Q4-base:1.4 pkgsrc-2011Q3:1.4.0.4 pkgsrc-2011Q3-base:1.4 pkgsrc-2011Q2:1.4.0.2 pkgsrc-2011Q2-base:1.4 pkgsrc-2011Q1:1.3.0.10 pkgsrc-2011Q1-base:1.3 pkgsrc-2010Q4:1.3.0.8 pkgsrc-2010Q4-base:1.3 pkgsrc-2010Q3:1.3.0.6 pkgsrc-2010Q3-base:1.3 pkgsrc-2010Q2:1.3.0.4 pkgsrc-2010Q2-base:1.3 pkgsrc-2010Q1:1.3.0.2 pkgsrc-2010Q1-base:1.3 pkgsrc-2009Q4:1.2.0.6 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.4 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.2 pkgsrc-2009Q2-base:1.2; locks; strict; comment @# @; 1.5 date 2013.08.30.16.56.09; author joerg; state Exp; branches; next 1.4; commitid xTpXylln9JUM1v3x; 1.4 date 2011.04.26.21.23.26; author mjl; state Exp; branches; next 1.3; 1.3 date 2010.02.24.23.22.45; author mjl; state Exp; branches; next 1.2; 1.2 date 2009.04.07.14.02.06; author mjl; state Exp; branches; next 1.1; 1.1 date 2009.04.07.00.21.47; author mjl; state Exp; branches; next ; desc @@ 1.5 log @Deal with gethostbyname_r fallout. @ text @$NetBSD: patch-ag,v 1.4 2011/04/26 21:23:26 mjl Exp $ --- jbsockets.c.orig 2011-12-10 17:26:30.000000000 +0000 +++ jbsockets.c @@@@ -1240,7 +1240,14 @@@@ unsigned long resolve_hostname_to_ip(con { struct sockaddr_in inaddr; struct hostent *hostp; -#if defined(HAVE_GETHOSTBYNAME_R_6_ARGS) || defined(HAVE_GETHOSTBYNAME_R_5_ARGS) || defined(HAVE_GETHOSTBYNAME_R_3_ARGS) +#if defined(__NetBSD__) + struct hostent result; + struct sockaddr_in raddr; + struct sockaddr_in *rlist[2]; + + memset(&result, '\0', sizeof(struct hostent)); +#endif +#if (defined(HAVE_GETHOSTBYNAME_R_6_ARGS) || defined(HAVE_GETHOSTBYNAME_R_5_ARGS) || defined(HAVE_GETHOSTBYNAME_R_3_ARGS)) && !defined(__NetBSD__) struct hostent result; #if defined(HAVE_GETHOSTBYNAME_R_6_ARGS) || defined(HAVE_GETHOSTBYNAME_R_5_ARGS) char hbuf[HOSTENT_BUFFER_SIZE]; @@@@ -1260,7 +1267,7 @@@@ unsigned long resolve_hostname_to_ip(con if ((inaddr.sin_addr.s_addr = inet_addr(host)) == -1) { unsigned int dns_retries = 0; -#if defined(HAVE_GETHOSTBYNAME_R_6_ARGS) +#if defined(HAVE_GETHOSTBYNAME_R_6_ARGS) && !defined(__NetBSD__) while (gethostbyname_r(host, &result, hbuf, HOSTENT_BUFFER_SIZE, &hostp, &thd_err) && (thd_err == TRY_AGAIN) && (dns_retries++ < MAX_DNS_RETRIES)) @@@@ -1291,6 +1298,39 @@@@ unsigned long resolve_hostname_to_ip(con { hostp = NULL; } +#elif defined(__NetBSD__) + /* mjl */ + { + struct addrinfo *resp = NULL; + struct addrinfo hints; + + hostp = NULL; + memset(&hints, '\0', sizeof(struct addrinfo)); + hints.ai_family = AF_INET; + + while (getaddrinfo(host, NULL, &hints, &resp) == EAI_AGAIN + && (dns_retries++ < MAX_DNS_RETRIES)) + { + log_error(LOG_LEVEL_ERROR, + "Timeout #%u while trying to resolve %s. Trying again.", + dns_retries, host); + } + + if(resp) + { + result.h_addrtype = resp->ai_family; + memcpy(&raddr, &((struct sockaddr_in *) resp->ai_addr) + ->sin_addr, sizeof(struct sockaddr_in)); + /* set up fake hostent */ + rlist[0] = &raddr; + rlist[1] = NULL; + result.h_addr_list = (char **)rlist; + hostp = &result; + + freeaddrinfo(resp); + } + } + #elif defined(MUTEX_LOCKS_AVAILABLE) privoxy_mutex_lock(&resolver_mutex); while (NULL == (hostp = gethostbyname(host)) @ 1.4 log @Update privoxy to 3.0.17 - Fixes several provlems resulting in stalling the client until the server timed out. - Fixes ACL bug that made it impossible to build a blacklist. - Improved logging. - Extended default filter list. @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 --- jbsockets.c.orig 2010-07-26 13:30:09.000000000 +0200 +++ jbsockets.c 2011-04-26 19:47:46.000000000 +0200 @@@@ -1112,6 +1112,13 @@@@ d9 1 d17 1 a17 1 #if defined(HAVE_GETHOSTBYNAME_R_6_ARGS) || defined(HAVE_GETHOSTBYNAME_R_5_ARGS) || defined(HAVE_GETHOSTBYNAME_R_3_ARGS) d20 11 a30 1 @@@@ -1163,6 +1170,39 @@@@ @ 1.3 log @Update to privoxy 3.0.16 stable. This is the first stable release since 3.0.12. It introduces IPv6 support, improved keep-alive support and a bunch of minor improvements. @ text @d3 4 a6 3 --- jbsockets.c.orig 2009-10-04 18:38:26.000000000 +0200 +++ jbsockets.c 2009-10-19 23:16:53.000000000 +0200 @@@@ -1097,6 +1097,14 @@@@ a8 1 unsigned int dns_retries = 0; d11 2 a12 2 + struct sockaddr_in raddr; + struct sockaddr_in *rlist[2]; d14 1 a14 1 + memset(&result, '\0', sizeof(struct hostent)); a15 1 + d19 1 a19 1 @@@@ -1147,6 +1155,39 @@@@ @ 1.2 log @Squash one pkglint warning. Fix oversight in dns patch. @ text @d3 3 a5 3 --- jbsockets.c.orig 2008-12-20 15:53:55.000000000 +0100 +++ jbsockets.c 2009-04-07 15:54:10.000000000 +0200 @@@@ -945,6 +945,14 @@@@ d20 1 a20 1 @@@@ -995,6 +1003,39 @@@@ d57 1 a57 1 #elif FEATURE_PTHREAD @ 1.1 log @Update privoxy to 3.0.12 This is a stable release which includes many enhancements but no major new features. The most prominent improvement is support for keep-alive connections. Also add a patch to deal with non-availability of gethostbyname_r() on NetBSD -- privoxy then uses gethostbyname() in a mutexed section, effectively single threading DNS lookup. This is extremely annoying when running into DNS timeouts. Hack around it by implementing functionality using getaddrinfo(). @ text @d3 2 a4 2 --- jbsockets.c.orig 2009-03-31 14:08:54.000000000 +0200 +++ jbsockets.c 2009-03-31 14:36:35.000000000 +0200 d20 1 a20 1 @@@@ -995,7 +1003,39 @@@@ d30 1 a59 1 && (h_errno == TRY_AGAIN) && (dns_retries++ < MAX_DNS_RETRIES)) @