Discussion:
IPv6 code produced error in the OS without IPv6
(too old to reply)
Stas Degteff
2012-06-05 19:33:48 UTC
Permalink
Hello Andre!

Dmitriy Smirnov 2:5010/352 reported about error in the binkd 1.0a-610:
==========
DS>> + 04 Jun 11:39:31 [19146] call to 2:5080/***@fidonet
DS>> ? 04 Jun 11:39:31 [19146] socket: Protocol not supported
DS>> 04 Jun 11:39:31 [10640] rc(19146)=0
==========

Error "socket: Protocol not supported" generated for each call.
configure don't have option "--without-ipv6", but this option should exist.


Stas
Jabber-ID: ***@grumbler.org
GPG key 0x72186DB9 (keyserver: hkp://wwwkeys.eu.pgp.net)

... Golded+, Husky & RNTrack maintainer, Binkd developer&webmaster
Andre Grueneberg
2012-06-05 16:59:34 UTC
Permalink
Hi Stas

Stas Degteff schrieb:

SD> ==========
DS>>> + 04 Jun 11:39:31 [19146] call to 2:5080/***@fidonet
DS>>> ? 04 Jun 11:39:31 [19146] socket: Protocol not supported
DS>>> 04 Jun 11:39:31 [10640] rc(19146)=0
SD> ==========
SD> Error "socket: Protocol not supported" generated for each call.
SD> configure don't have option "--without-ipv6", but this option
SD> should exist.

I still don't see the need for this option, but you may feel free to add it for
all those who
This system rather looks broken.

a) IPv6 support will only be compiled if the libc supports it in principle.
b) A resolver should return only those address families the system supports.
c) As far as I can see f102.n5080.z2.binkp.net has both IPv6 and IPv4 so the
above should try both addresses (in the order provided by the Resolver).
d) If it doesn't there might be a configuration error. Maybe "defnode -6 *".

So without much more detail, I guess it's hard to evaluate where exactly the
issue is. These details include the full configuration file (without passwords
;), the OS in use, the version of the kernel, of the libc, binkd -vv, configure
output, if it's GLIBC > 2.5 /etc/gai.conf ...

Or maybe this node should just enable IPv6 on the system. :->

CU Andre E-Mail: ***@grueneberg.de
Stas Degteff
2012-06-06 20:27:42 UTC
Permalink
Hello Andre!

05 Jun 12 20:59, you wrote to me:

SD>> ==========
DS>>>> + 04 Jun 11:39:31 [19146] call to 2:5080/***@fidonet
DS>>>> ? 04 Jun 11:39:31 [19146] socket: Protocol not supported
DS>>>> 04 Jun 11:39:31 [10640] rc(19146)=0
SD>> ==========
SD>> Error "socket: Protocol not supported" generated for each call.
SD>> configure don't have option "--without-ipv6", but this option
SD>> should exist.

AG> I still don't see the need for this option, but you may feel free to
AG> add it for all those who This system rather looks broken.

AG> a) IPv6 support will only be compiled if the libc supports it in
AG> principle.
AG> b) A resolver should return only those address families the
AG> system supports.

IPv6 switched off in the configuration of many systems. Reason very simple:
Internet provider don't (can't) assign IPv6 address to client.

AG> c) As far as I can see f102.n5080.z2.binkp.net has
AG> both IPv6 and IPv4 so the above should try both addresses (in the
AG> order provided by the Resolver).

My host supports IPv6. But 2:5010/148 isn't. You use a wrong argument.

AG> d) If it doesn't there might be a configuration error. Maybe "defnode
AG> -6 *".

Well well. In your offer we sees strange situation:
# added new:
defnode -6 *
# existed early:
node a ...(parameters)
node b ...(parameters)
....
node xxxx (parameters)

You suggest to edit each node line?
Dmitry has written (I translated this from russian and my english is bad,
sorry):
- Let it will compiled with IPv6, but an (command-line) option at start to has
more practical, rather write for all links


Stas
Jabber-ID: ***@grumbler.org
GPG key 0x72186DB9 (keyserver: hkp://wwwkeys.eu.pgp.net)

... Golded+, Husky & RNTrack maintainer, Binkd developer&webmaster
Andre Grueneberg
2012-06-07 13:26:28 UTC
Permalink
Hi Stas

Stas Degteff schrieb:

AG>> b) A resolver should return only those address families the
AG>> system supports.
SD> IPv6 switched off in the configuration of many systems. Reason very
SD> simple: Internet provider don't (can't) assign IPv6 address to
SD> client.

These are two independent things. You can easily enable IPv6 in your host
although it doesn't have external IPv6 connection. At least moderatly modern
operating systems default to IPv6 on ... without problem in an IPv4-only
environment.

AG>> c) As far as I can see f102.n5080.z2.binkp.net has
AG>> both IPv6 and IPv4 so the above should try both addresses (in the
AG>> order provided by the Resolver).
SD> My host supports IPv6. But 2:5010/148 isn't. You use a wrong
SD> argument.

I am quoting the log lines:

DS>>>>> + 04 Jun 11:39:31 [19146] call to 2:5080/***@fidonet
DS>>>>> ? 04 Jun 11:39:31 [19146] socket: Protocol not supported
DS>>>>> 04 Jun 11:39:31 [10640] rc(19146)=0

So 2:5010/148 tried to call to 2:5080/102. Binkd called getaddrinfo() and it
should get two addresses in return ... one IPv6 and one IPv4 -- order depending
on the resolver's configuration.

But (according to this log), it only tried one address?! And this is the fault
here. And we need to address it ... I was reading the code wrongly.

AG>> d) If it doesn't there might be a configuration error. Maybe "defnode
AG>> -6 *".
SD> Well well. In your offer we sees strange situation:

I did not offer it ... this was a suspicion about a configuration error(!).

SD> You suggest to edit each node line?

No. I suggest to correct it if there is some "(def)?node -6" in the
configuration. I.e. remove -6!

SD> Dmitry has written (I translated this from russian and my english
SD> is bad, sorry):
SD> - Let it will compiled with IPv6, but an (command-line) option at
SD> start to has more practical, rather write for all links



CU Andre E-Mail: ***@grueneberg.de
Andre Grueneberg
2012-06-07 13:49:08 UTC
Permalink
Hi Stas

Andre Grueneberg schrieb:

DS>>>>>> + 04 Jun 11:39:31 [19146] call to 2:5080/***@fidonet
DS>>>>>> ? 04 Jun 11:39:31 [19146] socket: Protocol not supported
DS>>>>>> 04 Jun 11:39:31 [10640] rc(19146)=0
AG> But (according to this log), it only tried one address?! And this
AG> is the fault here. And we need to address it ... I was reading the
AG> code wrongly.

Error in client.c corrected. One will still see the error message -- I wasn't
sure where better to put it. Maybe we could reduce the severity?!

CU Andre E-Mail: ***@grueneberg.de
Stas Degteff
2012-06-07 21:53:04 UTC
Permalink
Hello Andre!

07 Jun 12 17:26, you wrote to me:

AG>>> b) A resolver should return only those address families the
AG>>> system supports.
SD>> IPv6 switched off in the configuration of many systems. Reason
SD>> very
SD>> simple: Internet provider don't (can't) assign IPv6 address to
SD>> client.

AG> These are two independent things. You can easily enable IPv6 in your
AG> host although it doesn't have external IPv6 connection.

This is security hole. Or firewall should block all IPv6 (in The Windows -
don't block)



Stas
Jabber-ID: ***@grumbler.org
GPG key 0x72186DB9 (keyserver: hkp://wwwkeys.eu.pgp.net)

... Golded+, Husky & RNTrack maintainer, Binkd developer&webmaster
Benny Pedersen
2012-06-12 17:12:06 UTC
Permalink
Hello Andre!

07 Jun 2012 17:26, Andre Grueneberg wrote to Stas Degteff:

AG> But (according to this log), it only tried one address?! And this is
AG> the fault here. And we need to address it ... I was reading the code
AG> wrongly.

yes, if binkd does not try both ipv6/ipv4 if the dns hostname provide both,
then binkd is brokken

default order is ipv6 first if not found on dns, try failback with ipv4, this
order can be changed in gai.conf if desired

one day there will be ipv6 only hosts that cant connect to ipv4 only hosts, so
make it right from the beginning !


Regards Benny

... there can only be one way of life, and it works :)
Benny Pedersen
2012-06-12 17:02:44 UTC
Permalink
Hello Stas!

07 Jun 2012 00:27, Stas Degteff wrote to Andre Grueneberg:

SD> IPv6 switched off in the configuration of many systems. Reason very
SD> simple: Internet provider don't (can't) assign IPv6 address to client.

so use a tunnel provider, shame on them my dlink dsr 1000 n supports ipv6, but
it does not support the free tunnel providers, and it cant handle 2 wan ipv6 at
the same time

SD> My host supports IPv6. But 2:5010/148 isn't. You use a wrong argument.

was that the make the harddisk crash ? :(

SD> You suggest to edit each node line?

nope nodelist should have ipv6 or ipv4 hostname if there should be diff
problems outthere

SD> Dmitry has written (I translated this from russian and my english is
SD> bad, sorry):

SD> - Let it will compiled with IPv6, but an (command-line) option at
SD> start to has more practical, rather write for all links

why is the nodelist lying about ipv6/ipv4 host ?, clients should only use
hostname to get ipv6/ipv4 ip, if one host dont want to support ipv4 any more
then remove it from the hostname in nodelist, what day will that happend ? :=)


Regards Benny

... there can only be one way of life, and it works :)
Stas Degteff
2012-06-16 22:56:46 UTC
Permalink
Hello Benny!

12 Jun 12 21:02, you wrote to me:


BP> nope nodelist should have ipv6 or ipv4 hostname if there should be
BP> diff problems outthere

SD>> Dmitry has written (I translated this from russian and my english
SD>> is bad, sorry):

SD>> - Let it will compiled with IPv6, but an (command-line) option at
SD>> start to has more practical, rather write for all links

BP> why is the nodelist lying about ipv6/ipv4 host ?, clients should only
BP> use hostname to get ipv6/ipv4 ip, if one host dont want to support
BP> ipv4 any more then remove it from the hostname in nodelist, what day
BP> will that happend ? :=)


You mix caller capabilities and receiver capabilites!!! And You don't
understand what I speak you.

Caller (Dmitry's host): IPv4 only host. It binkd with IPv6 support try connect
to my node. My node accept both IPv4 and IPv6 connections and I publish both
IPv4 and IPv6 addresses. In the result caller can't connect with my node. This
is seriosly bug of the binkd with IPv6 support.

Scheme of the bug:

IPv4 caller IPv4+IPv6 node

1.IPv4 connection 1.IPv4 real address
2.IPv6 local-link only 2.IPv6 real address
or disabled or don't exist 3.Domain name referenses to both IPv4&IPv6

Binkd on caller resolve DNS name using system (library) resolver,
resolver return IPv6 address,
binkd try establish connection to IPv6 address,
connection *can't* *be* *established*


Stas
Jabber-ID: ***@grumbler.org
GPG key 0x72186DB9 (keyserver: hkp://wwwkeys.eu.pgp.net)

... Golded+, Husky & RNTrack maintainer, Binkd developer&webmaster
Benny Pedersen
2012-06-12 16:51:00 UTC
Permalink
Hello Andre!

05 Jun 2012 20:59, Andre Grueneberg wrote to Stas Degteff:

AG> a) IPv6 support will only be compiled if the libc supports it in
AG> principle.

this is solved with --without-ipv6

AG> b) A resolver should return only those address families the system
AG> supports.

that will be stable

AG> c) As far as I can see f102.n5080.z2.binkp.net has both IPv6 and IPv4
AG> so the above should try both addresses (in the order provided by the
AG> Resolver).

that is unstalbe from design of resolver, since even if it resolves it no
garenti that there is any listner

AG> d) If it doesn't there might be a configuration error. Maybe "defnode
AG> -6 *".

oh :)

AG> So without much more detail, I guess it's hard to evaluate where
AG> exactly the issue is. These details include the full configuration
AG> if it's GLIBC > file (without passwords ;), the OS in use, the version
AG> of the kernel, of the libc, binkd -vv, configure output, 2.5
AG> /etc/gai.conf ...

postfix can be compiled without ipv6 on a host that fully supports ipv6, i
still dont understand why :=)

----- postfix.ebuild begins -----
[I] mail-mta/postfix
Available versions: 2.7.4 ~2.7.5 ~2.7.6 ~2.7.7 ~2.7.8 ~2.7.9 ~2.7.10
2.8.7 ~2.8.8 2.8.9 ~2.8.10 ~2.8.11 ~2.9.1 ~2.9.1-r1 ~2.9.1-r2 ~2.9.2 ~2.9.3
[M]~2.10_pre20120520 {+berkdb cdb doc dovecot-sasl examples hardened ipv6 ldap
ldap-bind mbox memcached mysql nis pam postgres sasl selinux sqlite ssl vda}
Installed versions: 2.8.9(14:32:20 01-06-2012)(dovecot-sasl mysql sasl
ssl -cdb -doc -hardened -ipv6 -ldap -ldap-bind -mbox -nis -pam -postgres
-selinux -sqlite -vda)
Homepage: http://www.postfix.org/
Description: A fast and secure drop-in replacement for sendmail.

----- postfix.ebuild ends -----

----- binkd.ebuild begins -----
[I] net-fido/binkd [1]
Available versions: 1.0-r561!m (~)1.0-r607!m (~)1.0-r608!m {-aso -bwlim
bzip2 -doc -ntlm -perl -proxy zlib}
Installed versions: 1.0-r608!m(01:59:56 11-04-2012)(bwlim bzip2 zlib -aso
-doc -ntlm -perl -proxy)
Homepage: http://happy.kiev.au/
Description: Binkd daemon for ftn over ip

[1] "fidonet" /var/lib/layman/fidonet
----- binkd.ebuild ends -----

since ./configure in binkd did not support --without-ipv6 i did not make it
supported in my ebuild

-example_use_flag means disabled
example_use_flag means enabled by default
+example_use_flag means enabled

use ufed to change it for binkd in gentoo/funtoo

AG> Or maybe this node should just enable IPv6 on the system. :->

waste of ram imho


Regards Benny

... there can only be one way of life, and it works :)
Andre Grueneberg
2012-06-12 19:31:56 UTC
Permalink
Hi Benny

Benny Pedersen schrieb:

AG>> a) IPv6 support will only be compiled if the libc supports it in
AG>> principle.
BP> this is solved with --without-ipv6

Which has not been implemented yet. I always see people asking for it, but
no-one implementing it. I don't see a need.

AG>> b) A resolver should return only those address families the system
AG>> supports.
BP> that will be stable

So the question is why does the resolver library of the host work differently?
Ancient system?

AG>> c) As far as I can see f102.n5080.z2.binkp.net has both IPv6 and IPv4
AG>> so the above should try both addresses (in the order provided by the
AG>> Resolver).
BP> that is unstalbe from design of resolver, since even if it resolves
BP> it no garenti that there is any listner

Sorry, I don't get the point? What's unstable?
Indeed there has been a bug in binkd until 1.0a-610 which effectively prevented
it from trying the next address in the returned result set. Yes, this is a
major bug ... and it has been fixed.

AG>> So without much more detail, I guess it's hard to evaluate where
AG>> exactly the issue is. These details include the full configuration
AG>> if it's GLIBC > file (without passwords ;), the OS in use, the version
AG>> of the kernel, of the libc, binkd -vv, configure output, 2.5
AG>> /etc/gai.conf ...
BP> postfix can be compiled without ipv6 on a host that fully supports
BP> ipv6, i still dont understand why :=)

Me neither ... but this might stem from times where IP was not defined as IPv6
being mandatory (RFC6540, BCP0177). Times have changed ... so any software may
rely on that.

AG>> Or maybe this node should just enable IPv6 on the system. :->
BP> waste of ram imho

What century was your computer built?

CU Andre E-Mail: ***@grueneberg.de
Loading...