dccifd and ipv6 on linux

Vernon Schryver vjs@calcite.rhyolite.com
Tue Mar 15 14:51:24 UTC 2005


> From: Vincent Schonau 

> dccifd on my system doesn't like ipv6 addresses:
>
> [ from a dccifd log file ]
>
> unrecognized IP address "2001:888:11d4:32::1"

That might be due to a bogus line that I somehow added to dcclib/clnt_send.c
See the attached context-diff patch about removing 
      memcpy(&ap->ip, &su.ipv4.sin_addr, sizeof(ap->ip));

On the other hand, I don't see why dccifd should care about that problem.
Where does IPv6 find that IPv6 address?  In a mail message?

> So, in a first-guess effort to fix this, I tried 'cdcc ipv6 on':
>
>  > Note that this version of the DCC was built without IPv6 support.
>  > IPv6 switch not changed.
>
> My Linux systems (Fedora Core 3, 2.6.10 kernel) all have working IPv6 
> implementations. I do not understand 'configure' magic well enough to 
> understand why the ipv6 test fails on my systems.

What does ./configure say on such a system?  There should be something
about whatever doesn't seem to support IPv6.

As far as I know, the DCC IPv6 support is complete, but it gets little
or no use and so it is rather rough.
Right now I'm running dccd on FreeBSD with IPv6 turned on.  But that
only shows that localhost IPv6 works.


Vernon Schryver    vjs@rhyolite.com




***************
*** 1323,1330 ****
                        ap->ip.v4.s_addr = su.ipv4.sin_addr.s_addr;
                } else {
                        memcpy(&ap->ip.v6, &su.ipv6.sin6_addr,
                              sizeof(su.ipv6.sin6_addr));
                }
                /* If this is a previously known address,
                 * preserve what we already knew about it */
                for (i = 0; i < DIM(cur->addrs); ++i) {
--- 1323,1331 ----
                        ap->ip.v4.s_addr = su.ipv4.sin_addr.s_addr;
                } else {
                        memcpy(&ap->ip.v6, &su.ipv6.sin6_addr,
                }
+               memcpy(&ap->ip, &su.ipv4.sin_addr, sizeof(ap->ip));
                /* If this is a previously known address,
                 * preserve what we already knew about it */
                for (i = 0; i < DIM(cur->addrs); ++i) {



More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.