From: SourceForge.net <no...@so...> - 2006-09-17 15:43:45
|
Patches item #649507, was opened at 2002-12-06 05:15 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=311118&aid=649507&group_id=11118 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: new feature Group: None Status: Open Resolution: None Priority: 5 Submitted By: Olaf Seibert (rhialto) Assigned to: Nobody/Anonymous (nobody) Summary: IPv6 support Initial Comment: This day and age, IPv6 support is mandatory for any serious network application. Using the proper API it even simplifies the address and socket handling. For inspiration I include the patches I made to the Internet Junkbuster so that is supports IPv6 for clients and servers alike, which includes allowing IPv4 clients to access IPv6 servers (such as www.netbsd.org, www.kame.net, server.pasta.cs.uit.no) and the other way around. A big part of the patch is for ACL configuration file changes, because it handles addresses on a low level. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2006-09-17 08:43 Message: Logged In: NO Python for OS/2 seems to have getaddrinfo; I don't know if they emulate it on top of gethostbyname and friends or actually "simply" make a call to a native or add-on OS/2 library. In any way, it is a lead to either confirm OS/2 has getaddrinfo or have example C code on how to emulate it on top of the older interface. ---------------------------------------------------------------------- Comment By: Fabian Keil (fabiankeil) Date: 2006-09-17 08:33 Message: Logged In: YES user_id=875547 Sure it would be nice to have IPv6 support, but personally I don't need it and I'm not going to add the patch if it doesn't work cross-platform. Like lots of other people I use Privoxy with Tor. Tor doesn't support IPv6, therefore I don't gain anything by your patch. I understand that IPv6 is important for you, but that doesn't mean it's important for everyone else, too. I would be surprised if 15% of Privoxy's user base cared about whether or not IPv6 is supported, but I'm sure 100% care about whether or not Privoxy continues to work on their operating system. Please note that I advocate keeping gethostbyname(_r) and friends for compatibility reasons only, if you get your patch working on all supported operating systems without using the standard C resolve functions, that's fine with me. If it already does, that's even better. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2006-09-17 07:59 Message: Logged In: NO Windows has getnameinfo, even Windows 95: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/getnameinfo_2.asp As to putting these changes behind #ifdef's, it was my expectation that this would happen indeed. ---------------------------------------------------------------------- Comment By: Olaf Seibert (rhialto) Date: 2006-09-17 07:34 Message: Logged In: YES user_id=177931 I don't agree with fabiankeil. The "IPv6" patch is in fact not an IPv6 patch; it replaces old deprecated interfaces with new current ones. That IPv6 (and whatever other address families your computer may support!) can be used then is "merely a side-effect". If you're worried about OSes not supporting getaddrinfo(3), re-implement it in terms of gethostbyname{,_r}(3). Or in fact, I'm sure lots of people have already done so and you can just copy some code from somewhere. The result will be much more maintainable, since you won't need any ifdefs in your code (since it is writtten using current APIs) and you just need to decide (in configure or somesuch) whether you need to link in your compatibility implementation. > I don't think IPv6 support is important enough... I refer to the first 2 sentences of my original submission, and I add to that that I use IPv6 daily (since at least 2002 when I submitted the original patch), because my ISP offers IPv6 tunnels, so from my point of view a program which does not support IPv6 is as broken as one that does not support, say, Latin-1 characters but ony 7-bit ASCII. ---------------------------------------------------------------------- Comment By: Fabian Keil (fabiankeil) Date: 2006-09-17 07:07 Message: Logged In: YES user_id=875547 Adding DNS retries again shouldn't be a problem, according to gai_strerror(3) we just have to check for EAI_AGAIN instead of TRY_AGAIN. However there is a bigger problem with the patch below. As David already noted in his To-Do item, IPv6 support has to be transparent for platforms that lack required features. Ditching gethostbyname(_r) and gethostbyaddr(_r) completely and using getnameinfo instead, doesn't make sense to me. According to FreeBSD's man page, getnameinfo is defined by the IEEE Std 1003.1g-2000 (POSIX.1). It is probably available for most BSDs and GNU/Linux distributions, but I would be very surprised if it was available for OS/2 and Windows mingw. I don't think IPv6 support is important enough to stop supporting some of the currently supported operating systems, and in this case I don't get why gethostbyname(_r) and gethostbyaddr(_r) should be removed anyway. Why isn't IPv6 support hidden behind some ifdefs? ---------------------------------------------------------------------- Comment By: Roland Rosenfeld (roro) Date: 2006-09-17 01:14 Message: Logged In: YES user_id=43129 I had some trouble with two linebreaks in CVS log tags in this patch, so I tried to fix them. The result can be found in the debian CVS subtree at http://ijbswa.cvs.sourceforge.net/ijbswa/current/debian/patches/03_ipv6.dpatch?revision=1.2 As far as I can see, this now applies cleanly, the only disadvantage I see, is that the DNS retry code, Fabian recently added, went away with this. Is this no longer needed for IPv6 or do we have to work on this? ---------------------------------------------------------------------- Comment By: Daniel Leite (higuita) Date: 2006-09-16 21:57 Message: Logged In: YES user_id=400731 i updated the patch to the latest cvs http://caravela.homelinux.net/~higuita/extra/privoxy_ipv6-3.0.4.patch it seen to work with my system, but i'm no programmer, i just tried to fix the rejections... i hope without breaking anything. ---------------------------------------------------------------------- Comment By: David Schmidt (david__schmidt) Date: 2006-08-14 07:32 Message: Logged In: YES user_id=249980 See: https://sourceforge.net/tracker/index.php?func=detail&aid=1533125&group_id=11118&atid=400339 ---------------------------------------------------------------------- Comment By: David Schmidt (david__schmidt) Date: 2006-08-14 07:31 Message: Logged In: YES user_id=249980 Changed to developer to-do. ---------------------------------------------------------------------- Comment By: Roland Rosenfeld (roro) Date: 2006-07-30 09:17 Message: Logged In: YES user_id=43129 I just uploaded another update of http://www.spinnaker.de/tmp/privoxy_ipv6-3.0.3.patch which adds some "break" statements to loadcfg.c, jbsockets.c and jcc.c. Without this patch all permit-access and deny-access directives in the config file throw error messages, because they run in the default tree of the switch statement, which throws the error message. This was already broken in the old 3.1 version of the IPv6 patch. ---------------------------------------------------------------------- Comment By: Roland Rosenfeld (roro) Date: 2006-07-30 06:27 Message: Logged In: YES user_id=43129 Yes, my patch applies without rejects to HEAD and the resulting code compiles without errors. ---------------------------------------------------------------------- Comment By: David Schmidt (david__schmidt) Date: 2006-07-30 06:09 Message: Logged In: YES user_id=249980 roro - thanks for the update. Can you do me a favor - check out HEAD and see if it applies there? ---------------------------------------------------------------------- Comment By: Roland Rosenfeld (roro) Date: 2006-07-30 05:55 Message: Logged In: YES user_id=43129 Just noticed, that on http://www.deepspace6.net/sections/sources.html a newer version (5) of this patch exists. I adapted http://www.spinnaker.de/tmp/privoxy_ipv6-3.0.3.patch to this version now. If you already downloaded my patch, please get a new version now (sorry for inconvenience). ---------------------------------------------------------------------- Comment By: Roland Rosenfeld (roro) Date: 2006-07-30 05:30 Message: Logged In: YES user_id=43129 I took the privoxy_ipv6_4.patch.gz patch below and tried to adapt it to privoxy 3.0.3-2. This compiles and runs with IPv4 addresses, but I cannot try out with IPv6 cause I don't have IPv6 access right now :-( Why the hell, can't I attach another patch to this bug report? Anyway, I place the patch at http://www.spinnaker.de/tmp/privoxy_ipv6-3.0.3.patch Could someone try this out and give me feedback, whether this works? Ciao Roland ---------------------------------------------------------------------- Comment By: Schoinobates Volans (schoinobates) Date: 2003-06-11 08:57 Message: Logged In: YES user_id=41822 I have updated my patch to more recent CVS version. I also prepared a ready-to-compile tarball. Everything is available from http://www.deepspace6.net/sources.html . Administrators, feel free to attach updated patch here. ---------------------------------------------------------------------- Comment By: Andreas Oesterhelt (oes) Date: 2003-03-13 04:40 Message: Logged In: YES user_id=78811 Attaching Lionel's latest version. ---------------------------------------------------------------------- Comment By: Schoinobates Volans (schoinobates) Date: 2003-02-13 03:23 Message: Logged In: YES user_id=41822 A bugfix release of my patch, version 4, is now available on my website: http://www.mamane.lu/privoxy/. The bug fixed is: "When connecting to a host with multiple addresses, in some cases, on failure to connect on the first address, the other addresses were not tried." ---------------------------------------------------------------------- Comment By: Schoinobates Volans (schoinobates) Date: 2003-01-24 11:19 Message: Logged In: YES user_id=41822 I've continued development. A new version is available at <a HREF="http://www.mamane.lu/privoxy/privoxy_ipv6_3.patch.gz">my website</a>. (Sent it to the mailing list, too). ---------------------------------------------------------------------- Comment By: Andreas Oesterhelt (oes) Date: 2003-01-24 07:23 Message: Logged In: YES user_id=78811 Attaching Lionel's version. > (and if only someone would explain to me how I can attach a > file to this "patch tracker" here) You can only add files to your own items unless you have tracker admin rights. ---------------------------------------------------------------------- Comment By: Schoinobates Volans (schoinobates) Date: 2003-01-20 02:27 Message: Logged In: YES user_id=41822 The diff attached here and called "ijb20-ipv6.patch" is for the Internet Junkbuster 2.0. I adapted part of it to Privoxy pre-3.1 CVS, and sent the patch to the "Dev" Mailing List. The archives seem to have eaten my patch, though... Should be this message: https://sourceforge.net/mailarchive/message.php?msg_id=2649175 (and if only someone would explain to me how I can attach a file to this "patch tracker" here) ---------------------------------------------------------------------- Comment By: Johannes Berg (johill) Date: 2003-01-20 02:24 Message: Logged In: YES user_id=32619 Never mind. I read 2.0 and thought 3.0, that explains it ;) Will look for some ideas here and try adding it to 3.0, but don't count on it, I don't have much time for that ---------------------------------------------------------------------- Comment By: Johannes Berg (johill) Date: 2003-01-20 01:40 Message: Logged In: YES user_id=32619 What is the diff against? I can't seem to find acl.c anywhere which the patch tries to modify. ---------------------------------------------------------------------- Comment By: Andreas Oesterhelt (oes) Date: 2002-12-09 06:35 Message: Logged In: YES user_id=78811 Wow - are these christmas presents? Olaf, thanks for sharing your patch! IPv6 is very high on the 3.1 whish list. Lionel, thanks for adapting it to the current Privoxy codebase! This will save a lot of work! Happy, --Andreas ---------------------------------------------------------------------- Comment By: Schoinobates Volans (schoinobates) Date: 2002-12-08 12:07 Message: Logged In: YES user_id=41822 I've written a patch that implements the following: - connecting to ipv6 addresses, given by hostname - listening to ipv6 address, given by hostname - clients can connect to both ipv4 and ipv6 Not implemented are: - connecting to the ipv4 address when name resolution gives both an IPv4 and an IPv6 address, e.g. when the server we are connecting to has an IPv6 address, but doesn't listen on it, or when IPv6 is misconfigured on the proxy - parsing of IPv6 adress literal in URL's and config files - removing IPv6 support at run-time I have NOT tested on any other platform than GNU/Linux, glibc 2.2. In particular, I assumed that all supported platforms support getaddrinfo and getnameinfo. Is it the case? I have NOT checked that it does still compile / work without the INET6 macro defined (used to activate IPv6 support). As I cannot figure out how to attach a file here, I'm sending the patch to the Mailing List. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=311118&aid=649507&group_id=11118 |