• BinkleyForce IPv6 patch

    From Konstantin Kuzov@2:5019/40.1 to All on Mon Jan 23 09:34:24 2012
    Konnichi wa, *All-kun*! Aogu manako oyobi uketamawaru waga koe!

    There is a small patch for binkleyforce 0.22.9-v for systems with IPv6 support (getaddrinfo/getnameinfo). Not tested much but looks like all works fine.

    http://fido.g0x.ru/gpl/fido/ftnsoft/mailer/bforce/bforce-0.22.9-v-ipv6.patch

    So, my node is fully IPv6 capable now. ^_^

    Ganbatte, *All*!

    [_N0SF3R@TU_]
    ... GoldED-NSF/LNX 1.1.5-20101212 (Linux 3.2.1-gentoo iF6M42)
    --- #[ICQ: 211191411] [Kaori Sekken: Master.NoSFeRaTU[@]Gmail.com] [Kumi Nyaa]#
    * Origin: Ojisan, oriru mottekuru suna oyobi korosu sagaru kabe (2:5019/40.1)
  • From Andre Grueneberg@2:2411/525 to Konstantin Kuzov on Mon Jan 23 09:42:24 2012
    Hi Konstantin

    Konstantin Kuzov schrieb:

    There is a small patch for binkleyforce 0.22.9-v for systems with IPv6 support (getaddrinfo/getnameinfo). Not tested much but looks like all
    works fine. http://fido.g0x.ru/gpl/fido/ftnsoft/mailer/bforce/bforce-0.22.9-v-ipv6
    .patch
    So, my node is fully IPv6 capable now. ^_^

    There are a few glitches in the patch:

    1)
    + DEB((D_INFO, "tcpip_connect: trying \"%s\" at port %d", hostbuf, servbuf));

    ... servbuf is a string ... so you should replace %d with %s. [Made the same mistake myself a few times ;)]

    2)
    You should be cautious with how you determine the port (strrchr(host, ':')) ... this will fail for literal IPv6 addresses.

    3)
    + state.peerport = (long)htons(((struct sockaddr_in *)&client)->sin_port);
    ... is by far not protocol independent. You should either use getnameinfo(..., NI_NUMERICSERV) or build some protocol dependent code.

    BinkForce doesn't do own incoming session handling?!

    CU Andre E-Mail: andre@grueneberg.de
    --- timEd/Linux 1.11.b5
    * Origin: Testing timed/Linux (2:2411/525)
  • From Konstantin Kuzov@2:5019/40.1 to Andre Grueneberg on Mon Jan 23 17:35:04 2012
    Konnichi wa, *Andre-kun*! Aogu manako oyobi uketamawaru waga koe!
    Tomodachi _Andre Grueneberg_ tsukuru airon _Konstantin Kuzov_
    Nichiji - /*23 Ÿ­¢ 12 09:42*/, Daizai - /*BinkleyForce IPv6 patch*/:

    There is a small patch for binkleyforce 0.22.9-v for systems with
    IPv6 support (getaddrinfo/getnameinfo). Not tested much but looks
    like all works fine.
    http://fido.g0x.ru/gpl/fido/ftnsoft/mailer/bforce/bforce-0.22.9-v-ip
    v6 .patch So, my node is fully IPv6 capable now. ^_^

    There are a few glitches in the patch:

    1)
    + DEB((D_INFO, "tcpip_connect: trying \"%s\" at port %d",
    hostbuf, servbuf));
    ... servbuf is a string ... so you should replace %d with %s. [Made
    the same mistake myself a few times ;)]

    Fixed. ^_^

    2)
    You should be cautious with how you determine the port (strrchr(host, ':')) ... this will fail for literal IPv6 addresses.

    Yeah, I know port was required for literal ipv6 addresses to work. Now It is not, but square brackets enclosing required instead. ^_^

    By the way, your qico patch have similar issue:
    if (( portname = strchr( proxy ? proxy : name, ':' ))) {

    3)
    + state.peerport = (long)htons(((struct sockaddr_in *)&client)->sin_port);
    ... is by far not protocol independent. You should either use getnameinfo(..., NI_NUMERICSERV) or build some protocol dependent
    code.

    Improved.

    BinkForce doesn't do own incoming session handling?!

    Nope, only in slave mode through inetd.

    Ganbatte, *Andre*!

    [_N0SF3R@TU_]
    ... GoldED-NSF/LNX 1.1.5-20101212 (Linux 3.2.1-gentoo iF6M42)
    --- #[ICQ: 211191411] [Kaori Sekken: Master.NoSFeRaTU[@]Gmail.com] [Kumi Nyaa]#
    * Origin: Ojisan, oriru mottekuru suna oyobi korosu sagaru kabe (2:5019/40.1)
  • From Michiel van der Vlist@2:280/5555 to Konstantin Kuzov on Tue Jan 24 13:28:02 2012
    Hello Konstantin,

    On Monday January 23 2012 17:35, you wrote to Andre Grueneberg:

    Yeah, I know port was required for literal ipv6 addresses to work. Now
    It is not, but square brackets enclosing required instead. ^_^

    Encasing literal IPv6 addresses in square brackets is standard procedure to resolve ambiguities with port numbers.


    See http://www.ftsc.org/docs/fsp-1036.001


    Cheers, Michiel

    --- GoldED+/W32-MINGW 1.1.5-b20110320
    * Origin: 2001:470:1f15:1117::1 (2:280/5555)
  • From Konstantin Kuzov@2:5019/40.1 to Michiel van der Vlist on Tue Jan 24 20:16:58 2012
    Konnichi wa, *Michiel-kun*! Aogu manako oyobi uketamawaru waga koe!
    Tomodachi _Michiel van der Vlist_ tsukuru airon _Konstantin Kuzov_
    Nichiji - /*24 Ÿ­¢ 12 13:28*/, Daizai - /*BinkleyForce IPv6 patch*/:

    Yeah, I know port was required for literal ipv6 addresses to
    work. Now It is not, but square brackets enclosing required
    instead. ^_^

    MvdV> Encasing literal IPv6 addresses in square brackets is standard
    MvdV> procedure to resolve ambiguities with port numbers.

    Yes, I know that. Thats why I implement port parsing in that way to comply with rfc2732.

    Ganbatte, *Michiel*!

    [_N0SF3R@TU_]
    ... GoldED-NSF/LNX 1.1.5-20101212 (Linux 3.2.1-gentoo iF6M42)
    --- #[ICQ: 211191411] [Kaori Sekken: Master.NoSFeRaTU[@]Gmail.com] [Kumi Nyaa]#
    * Origin: Ojisan, oriru mottekuru suna oyobi korosu sagaru kabe (2:5019/40.1)