Re: Developer for IPv6 Squid patch.
> > > - This patch does change literally the term IN_ADDR by in_addr in all the > > files containing this term, except the file "inet_ntoa.c", the only one > > not including "config.h" (either direct or undirectly). > > Ok. Well, more specifically the term in_addr in the context "struct in_addr" by "struct IN_ADDR"... Otherwhise, it would be a non-reversible chaos in variable terms like: a.sin_addr. ^^^ Just put it clear for future mail-archive readers
Re: Developer for IPv6 Squid patch.
On Mon, 18 Apr 2005, Rafael Martinez Torres wrote: Following rule 2, ("do never commmit anything directly in HEAD") It's more than a rule. It's enforced, and if you somehow manage to bypass the weak access controls then your changes will get automatically wiped out. HEAD at sourceforge is not the main Squid tree, only a shadow of the main repository. - This patch does change literally the term IN_ADDR by in_addr in all the files containing this term, except the file "inet_ntoa.c", the only one not including "config.h" (either direct or undirectly). Ok. - The correposding "defines" are in config.h . They are guarded by "INET6" define, (#ifdef INET6), so branches others that squid3-ipv6 should not be affected in their compilations. Ok. Questions: - -Thought the "config.h" as the best place to do defines. Any other suggestion ? It's good. In a long term, if this change is to be discarded, it can easily rebuild by an script ( or the revesing patch) It should only get discarded if the ipv6 porting comes up with a better method, replacing it with something else. Patch applied. Regards Henrik
Re: Developer for IPv6 Squid patch.
On Thu, Apr 14, 2005, Henrik Nordstrom wrote: > >sourceForge account name: rmartinez > > > >interest: contribute to port squid3 module into IPv6, namely module squid3 > >/ branch squid3-ipv6, leaded by Xuan Baldauf. > > Access granted. Welcome! -- Adrian Chadd"To believe with certainty we must first <[EMAIL PROTECTED]> begin by doubting."
Re: Developer for IPv6 Squid patch.
On Thu, 14 Apr 2005, Rafael Martinez Torres wrote: Hi: Following procedure to get commit access into SQUID CVS repository, I introduce myself: sourceForge account name: rmartinez interest: contribute to port squid3 module into IPv6, namely module squid3 / branch squid3-ipv6, leaded by Xuan Baldauf. Access granted. Regards Henrik
Re: Developer for IPv6 Squid patch.
Hi: Following procedure to get commit access into SQUID CVS repository, I introduce myself: sourceForge account name: rmartinez interest: contribute to port squid3 module into IPv6, namely module squid3 / branch squid3-ipv6, leaded by Xuan Baldauf. additional notes: There is a reference to this branch on Projects.html. "IPv6 support for squid", so no need for another I declare myself to know all the rules expressed on "rules.html" ... -- PGP public key: http://www.ngn.euro6ix.org/IPv6/rafael.martinez.gpg
Re: Developer for IPv6 Squid patch.
On Thu, 14 Apr 2005, [ISO-8859-1] Xuân Baldauf wrote: It would be nice if you could give Rafael cvs commit access (if not already done) Rafael, please see http://devel.squid-cache.org/howto.html for instructions if this interests you. Regards Henrik
Re: Developer for IPv6 Squid patch.
Henrik Nordstrom wrote: On Thu, 14 Apr 2005, Rafael Martinez Torres wrote: MANY-MANY TIMES ON A SOURCE-FILE. This become unreadable, since properly speaking, IPv6 does not provide any application funcionality, like modules snmp, wwcp...and your code is exhaustevely full of #ifdef INET6. Indeed, and any IPv6 implementation relying on a lot of #ifdefs sprinkled around in the code won't get into HEAD as it becomes a maintenance nightmare to keep the code updated, and very error prone on changes. Incremental merging of changes not depending on a lot of #ifdefs is highly preferred. And also ensures reasonable continuation of the changes even if one person can not finish them all. The drawback is you cannot "cvsmerge HEAD" before commit into main Squid Release, since this affects the prototypes on many routines on the HEAD branch. -idnsPTRLookup(const struct in_addr addr, IDNSCB *callback, void *data). +idnsPTRLookup(const struct IN_ADDR addr, IDNSCB *callback, void *data). So then get this change into HEAD first. It is harmless and does not obfuscate the code. Regards Henrik Hello Henrik, It would be nice if you could give Rafael cvs commit access (if not already done), so that he is able to develop IPv6 support. From the current viewpoint, my time for doing this has become rather scarce. ciao, Xuân.
Re: Developer for IPv6 Squid patch.
On Thu, 14 Apr 2005, Rafael Martinez Torres wrote: MANY-MANY TIMES ON A SOURCE-FILE. This become unreadable, since properly speaking, IPv6 does not provide any application funcionality, like modules snmp, wwcp...and your code is exhaustevely full of #ifdef INET6. Indeed, and any IPv6 implementation relying on a lot of #ifdefs sprinkled around in the code won't get into HEAD as it becomes a maintenance nightmare to keep the code updated, and very error prone on changes. Incremental merging of changes not depending on a lot of #ifdefs is highly preferred. And also ensures reasonable continuation of the changes even if one person can not finish them all. The drawback is you cannot "cvsmerge HEAD" before commit into main Squid Release, since this affects the prototypes on many routines on the HEAD branch. -idnsPTRLookup(const struct in_addr addr, IDNSCB *callback, void *data). +idnsPTRLookup(const struct IN_ADDR addr, IDNSCB *callback, void *data). So then get this change into HEAD first. It is harmless and does not obfuscate the code. Regards Henrik
Re: Developer for IPv6 Squid patch.
Well, after having taken a look into the status of IPv6 on SQUID, things are so: STATUS: --- - squid-1.1: (KAME) For that SQUID was not so open to include it. - squid-2.5: (Roger Venning) Build from module squid / branch s2_5 and KAME patch, tag ipv6. (left over?) - squid-3 : Build from HEAD, module squid3 / branch squid-3ipv6. (active) SOME TECHNICAL COMMENTS: --- - squid-1.1: (unkown) - squid-2.5: Excellent. Should be the master reference for future work. ( See notes below on STRATEGY ) - squid-3: Very few changes. Some of then must be revised. (Yes, Xuan, "struct sockaddr_storage" is neutral for IPv6-IPv4 programming, but If I'm not wrong it is not the counterpart of "struct in_addr" as you suggest on include/utils.h...) struct inaddr_storage { struct sockaddr_storage embedded; } Take a look into the attached file. STRATEGY: - 1.- I do subscribe conservative politics from SQUID, CVS.html/ Commit checklist. Otherwise, we cannot warranty the suitability of the HEAD branch. People involved usually have no time to end this work (even me :-| ). 2.- The module/tag squid/ipv6 (not squid3) uses this portable hack at src/defines.h #ifdef INET6 #define IN_ADDR in6_addr #else #deine IN_ADDR in_addr #endif As there are many socket-related routines involved through the code, is is preferable to read struct IN_ADDR foo; than #ifdef INET6 struct in6_addr foo; /*some else macros*/ #else struct in_addr foo; #endif MANY-MANY TIMES ON A SOURCE-FILE. This become unreadable, since properly speaking, IPv6 does not provide any application funcionality, like modules snmp, wwcp...and your code is exhaustevely full of #ifdef INET6. The drawback is you cannot "cvsmerge HEAD" before commit into main Squid Release, since this affects the prototypes on many routines on the HEAD branch. -idnsPTRLookup(const struct in_addr addr, IDNSCB *callback, void *data). +idnsPTRLookup(const struct IN_ADDR addr, IDNSCB *callback, void *data). For the time beeing, I would ignore this conflict... WE have to test and test... 3.- So the things, I would like to work on squid3/squid3-ipv6 branch keeping an eye into squid/ipv6. For example, the configure.in is more robust on squid/ipv6 than in squid3/squid3-ipv6. With some visual tools like kompare and COMMON SENSE AIDED, you can include these routines on the target squid3/squid3-ipv6. My first target is configure.in. 4.- By the way, as a jock, ENABLE_IPV6 is a miss-spell !! Should write IPv6...! -- PGP public key: http://www.ngn.euro6ix.org/IPv6/rafael.martinez.gpg -| |struct sockaddr| Abstract for AF_INET,AF_UNIX. -| |struct sockaddr_in | Concrete for AF_INET => IPv4 addr + port -| |struct sockaddr_un | Concrete for AF_UNIX => file path -| |struct sockaddr_storage| Abstract for AF_INET,AF_INET6 (AF_UNIX?) -| |struct sockaddr_in6| Concrete for AF_INET6 => IPv6 addr+port+flw_inf+scp_id -| |struct in_addr | Concrete IPv4 address format ( NOT include port) -| |struct in6_addr| Concrete IPv6 address format (NOT include port) -|
Re: Developer for IPv6 Squid patch.
Rafael Martinez Torres wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 to Whom it may concern: I, Rafael Martinez, software developer integrated at Euro6IX proyect (http://www.euro6ix.org), would like to join the SQUID developer's team in order to contribute the CVS version to be ported into IPv6. I have valuable skill on porting programs into IPv6 (see http://www.ngn.euro6ix.org/IPv6) but up to date my contribution is releasing the patches in an informal-way, non certified, for evaluating purposes and experimenting by the research community (usually Universities). Always under the terms by the GPL license. In some cases, like the PERL INET6 module, I'm the official maintainer. Others, like TCL and MySQL are transiently considered. Summing up, I have been one month learning the internals of the SQUID layout, on the STABLE-VERSION (tar.gz) , and I have a -yet uncomplete- patch for 2.5.STABLE8 version. In the CVS patch,( I have to check and read it depthly ) it seems like the wwcp, ftp, icp, protocols are not touched yet...ç On ASN module you will face a non-trivial problem to index a table with 128 bits integers, since the longest C-integer is 64 bits... I think my work will be more usefull if you do accept me to join the CVS with write permissions, or, in case of security police, I cand send you my local patchs to commit them- You should not care on my salary, assurance or other contractual matters, since I'm paid by the Euro6IX consortium. Waiting instructions from your side, Rafael Martinez. Hello Rafael, I have been starting to create IPv6 support for squid3. (See http://www.squid-cache.org/bugs/show_bug.cgi?id=1026 and the bottom of http://devel.squid-cache.org/projects.html ). I would be happy if someone (you) could pursue creating IPv6 support more intensely than I am currently able to (due to lack of unpaid time). ciao, Xuân.