Tridge:

Thanks for posting this patch. I had to manually merge a few of the
files because of Simo's event context changes, but those were quite
straightforward.

However when I attempted to build, I got warnings and errors because
lib/util/util_ip.h (and I'm assuming the corresponding function
implementations in lib/util/util_ip.c) could not be found.

I believe these files were omitted from your patch because Git does not
include any added files in a "git diff" unless those files have been
explicitly added using "git add". I can see the changes to
lib/util/config.mk that reference util_ip.o, but I see no other Makefile
changes that would make me look for any more added files.

Could you please post lib/util/util_ip.[ch]? If you could post just
those 2 files separately, I could easily pull them into what I have
already merged with your original patch.

Thanks,
Andrew

tridge@samba.org wrote:
> Hi David,
>
> (I have replied CCing the samba-technical list, as others may be
> interested. I hope you don't mind)
>
> > Did you manage to make any more progress with Samba 4 and IPv6?

>
> yes, I stayed up late working on it last night. I attach my current
> patch. Note that it ended up being very different from the approach
> you took. Instead of having new ipv6 routines in socket_ip.c, I am now
> teaching all the IP code to know about both v4 and v6. I have also
> continued the trend to using char* to represent IPs, and have moved to
> using the more modern getnameinfo(), getaddrinfo() etc calls.
>
> The other major change is the "late binding" of the socket functions
> to either v4 or v6. When you call socket_create() on an IP socket it
> doesn't create the socket immediately. It waits until you do a listen,
> or a connect or similar, and uses the address arguments passed to
> those to work out whether you really need v4 or v6. If however you
> pass an explicit "ipv4" to socket_create() then it will force it to
> ipv4. That is used by the nbt code. All the other code just asks for
> "ip" and it works out the right address family when you first use the
> socket.
>
> There are still a couple of kinks in the patch below that I need to
> work out, but I think the general approach will work well.
>
> Cheers, Tridge
>