Hi!

On Mon, 2008-11-17 at 18:18 +0100, Alina Friedrichsen wrote:
[...]
> > ad "double free bug": I fail to see the bug.
> 
> In the development branch at the jump mark close_connection
> abuf_free() is called. But this may happen before abuf_init() was
> called. In my glibc it ends up in a double free() warning. Under other
> conditions a segfault is maybe the result. With my patch abuf_init()
> is called, before any "goto close_connection" instruction.

Oooops. Thanks for making me see.
I think we should better add another label. Yes, "goto" is evil. Yes, a
more serious fix is somewhat tedious work.
In the (somewhat) near future, I'm somewhat copying - more or less - the
non-blocking data write code from the txtinfo plugin to the httpinfo
plugin to get the blocking I/O out of the way there too.

[...]
> > Since I have only pure theoretical knowledge about IPv6 (and that is
> > pretty limited to the usual basic stuff like formats etc.) but I'm
> > curious:
> > ----  snip  ---- 
> >       if(ip_version == AF_INET) {
> >         memmove(&net.v6.s6_addr[12], &net.v4.s_addr, sizeof(in_addr_t));
> >         memset(&net.v6.s6_addr[0], 0x00, 10 * sizeof(uint8_t));
> >         memset(&net.v6.s6_addr[10], 0xff, 2 * sizeof(uint8_t));
> >         prefix_len += 96;
> >       }
> > ----  snip  ----
> > That seems to implement some IPv4-to-IPv6 address mapping.
> > Is this something somewhat standardized? Are there more "competing"
> > mapping schemes?
> > Is there some concensus about IPv4-to-IPv6 address
> > mapping/interoperation?
> 
> On linux systems an IPv6 socket binds per default
> (if /proc/sys/net/ipv6/bindv6only is 0) on the IPv4 and IPv6 port. If

I actually disable that (read: write 1 in there via /etc/sysctl.conf)
everywhere per default (if I'm root;-).
There were some some strange problem somewhere just because of this
AFAIK quite Linux-specific behaviour.

>  now an IPv4 client connects to the IPv6 server the server get not an
> IPv4 address but an v4 mapped IPv6 address. This code above converts
> an IPv4 address to the corresponding v4 mapped IPv6 address.
> So if you write in the config
> PlParam "Host" "192.168.1.42"
> the client IP address can connect to the plugin too, if you run the
> olsrd and plugin server in the IPv6 mode.

Thanks. So obviously I was on a completely wrong track.
[...]

	Bernd
-- 
Firmix Software GmbH                   http://www.firmix.at/
mobil: +43 664 4416156                 fax: +43 1 7890849-55
          Embedded Linux Development and Services



