TinTin++ Mud Client The TinTin++ message board

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
TinTin++ Mud Client

#CHAT not compatible with IPv6

 
Post new topic   Reply to topic    The TinTin++ message board Forum Index -> Feature Requests
View previous topic :: View next topic  
Author Message
Slysven



Joined: 10 Apr 2011
Posts: 365
Location: As "Jomin al'Bara" in WoTMUD or Wiltshire, UK

PostPosted: Mon Feb 04, 2013 10:11 am    Post subject: #CHAT not compatible with IPv6 Reply with quote

Whilst poking around in code in chat.c and net.c I found that although that latter supports connecting to an IPv6 Server - conditional on compilation with the getaddrinfo() and associated functions being available - the corresponding part of the former DOES NOT and thus can only connect to peers with IPv4 sockets. I am trying to produce a patch that will overcome this limitation. HOWEVER, I am unfamiliar with this area of coding and am working from publicly available documentation and intuition so I would like to know if anyone can clarify the following for me:

1): Assuming I can open sockets for both IPv4 and IPv6, I suppose I need to listen for incoming connection requests on both? Do I have to specify different ports for the connection requests (the Mud Master Chat Protocol defaults to 4050 but this seems to pre-date IPv6 and I cannot find anything on this)?

2): The MMCP documents the initiation process thus:
Quote:
Establishing a Connection
Caller: Once a connection is made the caller sends a connection string; which looks like: "CHAT:<chat name>\n<ip address><port>". The sprintf syntax is: "CHAT:%s\n%s%-5u". The port must be 5 characters, padded on the right side with spaces. Once this string has been sent it waits for a response from the other side. If a "NO" is received the call is cancelled. If the call was accepted the string "YES:<chat name>\n" is received. Next the MM version number is sent out. The version number sending is not required and can happen independently of the connection. It's just a convenient place to do it.

Receiver: When a socket call is detected it accepts the socket then waits for the "CHAT:" string to be send from the caller. If the receiver wishes to deny the call, the string "NO" needs to be sent back to the caller. To accept the call, the string "YES:<chat name>\n" is sent back. That's all the receiver has to do. Next the MM version number is sent out. This is not required.
How well specified is the <ip address> given that it would now be either an IPv4 or IPv6 form.

3). Obviously if the peer on the other end of a connection can also handle both IPv4 and IPv6 we should only use ONE of them at a time, which should be used in preference?

4). Am I actually barking up a tree that has not been grown yet? Am I actually assuming too much that MMCP was ever conceived to be carried on anything other than IPv4? Laughing
Back to top
View user's profile Send private message
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3770

PostPosted: Mon Feb 04, 2013 5:22 pm    Post subject: Reply with quote

I personally wouldn't mess with this unless you can actually test it.

Something like Arachnos might be preferable for the future anyways.

http://tintin.sourceforge.net/msdp/arachnos/
Back to top
View user's profile Send private message Send e-mail
Slysven



Joined: 10 Apr 2011
Posts: 365
Location: As "Jomin al'Bara" in WoTMUD or Wiltshire, UK

PostPosted: Mon Feb 04, 2013 10:02 pm    Post subject: Reply with quote

Ah, found my ISP does not offer ANY IPv6 connectivity whatsoever at the moment Nope Crying, so any testing will be confined to the limits of my home LAN.

I have found some useful information at http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html which does suggest that the code for setting up and taking down network sockets could be streamlined and make more IP version agnostic, I'll give it a look over and see ... Smile
Back to top
View user's profile Send private message
Slysven



Joined: 10 Apr 2011
Posts: 365
Location: As "Jomin al'Bara" in WoTMUD or Wiltshire, UK

PostPosted: Wed Apr 30, 2014 9:36 am    Post subject: Reply with quote

Just a quick note, if your ISP does not offer IPv6 connectivity you can contact SixSX:
On their website they wrote:
SixXS (Six Access) is a free, non-profit, non-cost service for Local Internet Registries (LIR's) and endusers. The main target is to create a common portal to help company engineers find their way with IPv6 networks deploying IPv6 to their customers in a rapid and controllable fashion. To reach these targets we are providing a whitelabel IPv6 Tunnel Broker and Ghost Route Hunter, an IPv6 route monitoring tool and various other services to help out where needed.

There, as an end-user, you can sign up and initially get a IPv6-over-IPv4 tunnel set up to a machine (end-point) on your home LAN, which, if set up as a router (radvd ???), can funnel IPv6 traffic to an ISP who has offered to provide FOR FREE, an IPv6 point of presence on the interweb thingy...! Big Smile

Doing this and running something like radvd on that machine on your LAN you can get fixed, unique, IPv6 addresses (the total available to you is equal in total number to the ENTIRE number range of the IPv4) for any IPv6 enabled device you have on your network: PC, tablet, console, central heating system, refrigerator, cuddly-toy...
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    The TinTin++ message board Forum Index -> Feature Requests All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Get TinTin++ Mud Client at SourceForge.net. Fast, secure and Free Open Source software downloads Get TinTin++ Mud Client at SourceForge.net. Fast, secure and Free Open Source software downloads
TinTin++ Homepage

Powered by phpBB © 2001, 2002 phpBB Group