sm64coopdx/lang
roddy db3a7e3483
Update sockets and structs for full IPv6 support (#198)
* Initial IPv6 support

The address struct was changed to use sockaddr_in6 instead of sockaddr_in. Resolving domains also uses getaddrinfo() instead of the deprecated gethostbyname(), and if the returned address is IPv4, transform it to an IPv6-mapped address to make it work with the AF_INET6 socket.

* Direct Connection input box behaviour change

This makes the Direct Connection input box accept all types of addresses. IPv4, IPv6 and hostnames are now supported. Direct IPv6 addresses must be enclosed in square brackets [IPv6]:port to be able to separate IP from port, otherwise it will be treated as an IPv4 address or hostname.

* sanity checks

This fixes a weird error while reconnecting when using direct IPv6 addresses. getaddrinfo() doesn't like square brackets on the host IP, so remove those when found.
This commit also fixes a problem where gGetHostName wasn't being properly set when connecting through a hostname.

* cleanup and bugfix

Small code cleanup removing some debugging comments. This also fixes a bug where initializing the game without the --join argument (which initializes network as NT_NONE) was still calling a piece of code where it was resolving a domain and copying an empty gGetHostName to configJoinIp, which made coop_join_ip be cleared on the config file.

* fix rare cases of binding errors

Due to some options in the sockaddr_in6 struct that doesn't need to be set, rare cases can happen that there will be some random data that will interfere with such values. This made binding randomly or persistently fail. This commit makes that before binding, make sure to fill the entire struct with 0 before setting it up.

* Translations for WARN_SOCKET

This provides translations for the new text when hosting a server. I cannot guarantee the accuracy of the translations, except English, Portuguese and German, where it was written by native speakers.

* Update socket_windows.c

yeah right. resolving conflicts and stuff.
2024-09-01 12:48:24 -04:00
..
Czech.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00
Dutch.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00
English.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00
French.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00
German.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00
Italian.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00
Polish.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00
Portuguese.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00
Russian.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00
Spanish.ini Update sockets and structs for full IPv6 support (#198) 2024-09-01 12:48:24 -04:00