Commit Graph

318 Commits (a6b18f0d928bd4509faa200eaa0a3b76a2b2e126)

Author SHA1 Message Date
rubidium 1c3d42598e (svn r20510) -Codechange: unify packet queue handling and make insertion O(1) instead of O(n) 14 years ago
alberth 35fec79700 (svn r20499) -Doc: Spelling fixes, and one doxygen comment addition. 14 years ago
terkhen 80c43f52e8 (svn r20289) -Codechange: Unify fall through coding style. 14 years ago
frosch 4bd32799f1 (svn r20286) -Codechange: Unify end of doxygen comments. 14 years ago
frosch ed4f806f1d (svn r20283) -Codechange: Unify start of doygen comments. 14 years ago
alberth a825b4fa5f (svn r20266) -Doc: Mostly typo fixes, a few doxygen-related improvements. 14 years ago
terkhen 88ca183191 (svn r20239) -Doc: Give a common name to all fall throughs (FALL THROUGH). 14 years ago
frosch 4ce5c6d93d (svn r20089) -Fix [FS#3932]: Access of already freed memory, esp. due to hidden destructor call from Swap(). 14 years ago
michi_cc 22357624ff (svn r20030) -Fix: MSVC 2010 defines more POSIX error constants that we define as well. 14 years ago
rubidium 2555522eab (svn r19809) -Codechange: make some unnamed network related enums/defines static const variables 14 years ago
rubidium a8fa3dd3ce (svn r19781) -Fix [FS#3809]: compilation on NetBSD failed (Krille) 14 years ago
smatz f48f4c8293 (svn r19693) -Codechange: split STATUS_INACTIVE to two states 14 years ago
rubidium df4d8b3bc9 (svn r19678) -Fix (r19607): client status was shown incorrect in the console 14 years ago
smatz 0ef33548c2 (svn r19614) -Codechange: "it's" => "its" where appropriate 14 years ago
smatz 7f3844d3aa (svn r19610) -Codechange: rename STATUS_AUTH to STATUS_AUTHORIZED 14 years ago
smatz 11d6e21c3a (svn r19607) -Codechange: use different packet types instead of packet subtypes 14 years ago
smatz 837913aa5a (svn r19508) -Codechange: remove semicolon after DEFINE_UNAVAILABLE_CONTENT_RECEIVE_COMMAND and DEFINE_UNAVAILABLE_UDP_RECEIVE_COMMAND 14 years ago
rubidium 6b35de215c (svn r19385) -Fix [FS#3684]: [IPv6] Netmask calculations were wrong if cidr >= 32. 15 years ago
yexo 7ff55502f0 (svn r19256) -Codechange: use a constructor/destructor for GRFConfig to make sure all members are properly initialized 15 years ago
yexo a9c8dbc0a0 (svn r19255) -Codechange: encapsulate GRFIdentifier in GRFConfig instead of subclassing it 15 years ago
rubidium 7a73a7490d (svn r19090) -Codechange: some comment coding style fixes 15 years ago
rubidium ab35d95b5a (svn r19072) -Fix [FS#3599]: possible read/write after free when the client triggered the server to close the connection 15 years ago
rubidium f47f3a4157 (svn r19054) -Fix [FS#3598]: when banning yourself via rcon do not send the 'command response' to the client as the connection has already been terminated 15 years ago
rubidium 228da0ccd3 (svn r19001) -Fix: some GCC compile warnings 15 years ago
rubidium d818c7c7b1 (svn r18996) -Fix (r18993, r18994): MSVC 64 bits had somethings to complain about 15 years ago
rubidium 2db44fc18e (svn r18994) -Change: content mirroring support (based on work by TrueBrain). 15 years ago
rubidium f608ad7baf (svn r18875) -Codechange: remove some unneeded bits from the network protocol and improve the naming of some variables 15 years ago
rubidium 15adbad2f4 (svn r18834) -Fix [FS#3538]: compilation failed on OpenBSD (matze) 15 years ago
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 15 years ago
rubidium f89d6bea0e (svn r18801) -Fix: in some cases error messages weren't properly sent to the client before closing the connection. As a result the client would say 'connection lost' when the cause was something completely different. 15 years ago
rubidium 83c8c562bb (svn r18800) -Fix: in some cases with invalid packets one can crash recent trunk and 1.0.0 betas; 0.7.5 and before can't be crashed though. 15 years ago
rubidium a8d6d18b22 (svn r18608) -Change: add the concept of music sets 15 years ago
rubidium b00a5f1069 (svn r18330) -Cleanup: remove some unneeded includes 15 years ago
rubidium d79439fb3c (svn r17963) -Codechange: some documentation style 15 years ago
smatz eb72a0095f (svn r17746) -Codechange: 'operator new' doesn't return NULL, NetworkSend_Init() is useless 15 years ago
rubidium df75db67eb (svn r17742) -Codechange: remove unused variable from Recv_Packet 15 years ago
rubidium 5ff6053326 (svn r17699) -Codechange: move #ifdef ENABLE_NETWORK till after the 'generic' includes so compilation without network support doesn't get broken as easily by changes in header files 15 years ago
rubidium d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 15 years ago
smatz 32cbe57178 (svn r17692) -Codechange: minor coding style fixes 15 years ago
rubidium 01ab1c6001 (svn r17606) -Add: initial support for Haiku; a dedicated server with zlib and libpng compiles and links (for me). Something's fishy with the network so it doesn't actually work (yet) 15 years ago
glx 8a367f1ff4 (svn r17350) -Fix (r17336): broken compilation with mingw 15 years ago
rubidium 07d2af338e (svn r17339) -Codechange: move thread related files to their own directory (like done for video, music, sound, etc) 15 years ago
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 15 years ago
smatz 2d3ddab7ca (svn r17169) -Codechange: apply coding style to some for statements 15 years ago
smatz c5533ae470 (svn r17168) -Codechange: apply coding style to if and while statements 15 years ago
rubidium 9ee2a66c86 (svn r17139) -Change: add the concept of sound sets 15 years ago
rubidium 1fe3ad3288 (svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives 15 years ago
rubidium ae71df349e (svn r17015) -Fix [FS#3075]: infinite recursion in content dependency checking 15 years ago
rubidium 9b156c1bd4 (svn r16601) -Fix [FS#2880]: try 2... hopefully better this time 15 years ago
rubidium 4cd94e17a1 (svn r16574) -Codechange: reorder stuff in NetworkGameInfo so compilers waste less bytes aligning stuff and fix the comment of the structs. 15 years ago
alberth bab70a823d (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 15 years ago
smatz 56a7b70591 (svn r16380) -Codechange: rename pool.hpp to pool_type.hpp 15 years ago
smatz 62a7948af0 (svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation time, binary size and run time (with asserts disabled) should be improved 15 years ago
smatz 04723b240e (svn r16377) -Codechange: unify FOR_ALL_* macros, use separate index variable instead of var->index 15 years ago
smatz 871107f529 (svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index) 15 years ago
smatz ed1e54bd84 (svn r16326) -Codechange: replace GetPoolItemPoolSize() by PoolItem::GetPoolSize() 15 years ago
smatz 6221d74644 (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 15 years ago
smatz d4971a22d0 (svn r16265) -Fix (r16238): wrong format string for debug output 15 years ago
rubidium 951b9e7615 (svn r16238) -Change: improve/clarify some network related debug "error" messages by adding more information to them. Also give some clues on how to fix certain issues (like failing advertising). 15 years ago
yexo c8ce3f7ef0 (svn r16175) -Fix: Disable the join button in the multiplayer lobby for AI companies, since joining an AI company is not possible. 15 years ago
rubidium 5db32d1dc5 (svn r16134) -Change: do not add duplicates to the broadcast list 15 years ago
rubidium d04ebf2fa5 (svn r16065) -Fix: don't readd (and resolve) the last joined server each time the window gets repainted 15 years ago
glx 532fca65ef (svn r16050) -Fix (r15933): little typo causing OTTDfreeaddrinfo to use the fallback even when freeaddrinfo is available 15 years ago
rubidium 47e2901e18 (svn r16034) -Fix: compile warnings generated by 64 bits MSVC. 15 years ago
rubidium 460fbc7c92 (svn r16007) -Fix (r16004): when we want to bind to both IPv4 and IPv6, make the master socket do that too; too bad getaddrinfo can't handle binding to any address on any port at the same time :( 15 years ago
rubidium 28bce241fd (svn r16005) -Fix: assertion when there is no last joined server; when you've got an unresolved address, the hostname cannot be resolved either so return it as-is. 15 years ago
rubidium 8477e92386 (svn r16004) -Fix (r16000): explicitly binding to an IPv4 socket would try to register an IPv6 address (only if it could ofcourse) 15 years ago
rubidium c0f9af5607 (svn r16000) -Feature: IPv6 support 15 years ago
rubidium 882e495f5c (svn r15993) -Codechange: clean up/generalise the handling of the server list 15 years ago
rubidium 0f0cc67d62 (svn r15990) -Codechange: provide a thread safe variant of GetAddressAsString. 15 years ago
rubidium 080095ade5 (svn r15984) -Codechange: prepare the UDP receiver to process multiple types of returned server lists. 15 years ago
rubidium cd8da0d69e (svn r15982) -Codechange: use GetAddressAsString to get the name instead of passing the hostname and the IP into a string. 15 years ago
rubidium 9d6edae94d (svn r15981) -Fix: don't print the address family when writing the IP+port to the config file. 15 years ago
rubidium 18146572b0 (svn r15980) -Codechange: don't try to bind to the same socket twice; it's quite pointless. 15 years ago
rubidium c2152fa31f (svn r15979) -Codechange: tweak the debug/warning levels of some of the messages when binding 15 years ago
rubidium a5a424ce28 (svn r15978) -Codechange: support parsing [] enclosed IPv6 addresses. 15 years ago
rubidium 20e82c46d3 (svn r15976) -Codechange: make it a bit more clear for what (type of) address binding fails 15 years ago
rubidium 1eb4aa971e (svn r15975) -Codechange: register each of the IPs we have bound to to the masterserver 15 years ago
glx d466fa9672 (svn r15974) -Fix (r15969): win32 compilation was broken (again) 15 years ago
rubidium c0f8214218 (svn r15972) -Codechange: remove unneeded parameter 15 years ago
rubidium 2a6e9288fd (svn r15971) -Codechange: make it possible for UDP socket handlers to bind to multiple sockets. 15 years ago
rubidium 6db7f15b3a (svn r15970) -Codechange: make it possible to resolve a single address into multiple sockets. 15 years ago
rubidium 82f8badc07 (svn r15969) -Codechange: make the list of broadcast addresses virtually unlimited. 15 years ago
rubidium fdddfd6269 (svn r15968) -Codechange: do not allocate a buffer for NetworkAddresses so passing it around is easier. 15 years ago
rubidium 22d9306889 (svn r15967) -Codechange: do not access NetworkSocketHandler::has_quit directly 15 years ago
rubidium 0678cb561d (svn r15961) -Codechange: prepare the 'client' side for receiving 'session keys' from the masterserver so servers can register with multiple IPs as the same server. 15 years ago
rubidium edfc2e536e (svn r15954) -Fix: comparing addresses kinda fails (sometimes) causing duplicates in the game list 15 years ago
rubidium 616cac0c54 (svn r15951) -Fix (r15946) [FS#2803]: ofcourse a couple of OSes/compilers do not provide a nice 'interface', so we have to do it the ugly way. 15 years ago
glx 5eed35ef54 (svn r15950) -Fix (r15946): mingw compilation 15 years ago
rubidium a779611665 (svn r15948) -Fix: resolve network addresses before comparing them 15 years ago
rubidium 2fd9f0fffa (svn r15946) -Codechange: move netmask matching to NetworkAddress and add some support for IPv6 netmask matching. 15 years ago
glx e460d3f4d0 (svn r15945) -Fix (r15944): win32 compilation 15 years ago
rubidium 7cf4639255 (svn r15944) -Codechange: disable IPv4 over IPv6 sockets as there is no default value and not all OSes actually support IPv4 over IPv6 so making it the same on all OSes eases debugging and such 15 years ago
rubidium ce06df313d (svn r15941) -Codechange: jonty-comp's wish partly implemented (content server) ;) 15 years ago
rubidium 1463b00b48 (svn r15940) -Codechange: move setting reuse address to the binding process. 15 years ago
glx 2dafb9dd57 (svn r15938) -Fix: broadcast addresses detection was broken for win32 15 years ago
rubidium e05e1822d6 (svn r15935) -Codechange: function to compare IP addresses (to sort them) 15 years ago
rubidium 2bfc9ca50c (svn r15934) -Fix: work around Solaris' inability to "parse" 0 as defined in the specifications. 15 years ago
glx 65d10e66f0 (svn r15933) -Fix (r15920): mingw doesn't know getaddrinfo() and freeaddrinfo() either 15 years ago
glx d84fb358f5 (svn r15930) -Fix (r15926): MSVC compilation 15 years ago
rubidium 11723c40b2 (svn r15926) -Codechange: make the broadcast IP list less AF dependent. 15 years ago
rubidium 47602d7b60 (svn r15925) -Codechange: remove _network_server_bind_ip as it's pretty AF dependant. 15 years ago
rubidium dccfba6e20 (svn r15924) -Codechange: replace NetworkResolveHost with something less AF dependant. 15 years ago
rubidium 632d74c6b1 (svn r15922) -Codechange: unify the ways to listen on a socket 15 years ago
rubidium ba5aafb9bb (svn r15921) -Fix: some OSes don't like sizeof(sockaddr_storage) but want sizeof(sockaddr) or whatever is 'valid' for the given protocol 15 years ago
rubidium c7b6469dab (svn r15920) -Codechange: make the (TCP) connecting less AF dependent. 15 years ago
glx 521bf687ee (svn r15919) -Fix (r15916): mingw doesn't know getnameinfo() (unless you compile for XP SP2+). Also fix a MSVC warning. 15 years ago
rubidium beef5da970 (svn r15918) -Fix (r15917): comparing IPs sometimes failed due to 'random' data (as spotted by SpComb) 15 years ago
rubidium c5160c7c8e (svn r15917) -Codechange: remove the latest traces of NetworkAddress::GetIP. 15 years ago
rubidium 1e205e01b8 (svn r15916) -Codechange: let the network game list use NetworkAddress 15 years ago
rubidium c0c6e07081 (svn r15915) -Codechange: let the udp code use NetworkAddress. 15 years ago
rubidium 804370d964 (svn r15914) -Codechange: let the content handling make use of NetworkAddress. 15 years ago
rubidium b25a4f8231 (svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too 16 years ago
rubidium 86ca408d46 (svn r15626) -Fix [FS#2698]: UTF8 string handling could cause buffer overruns. 16 years ago
rubidium 04709f2798 (svn r15242) -Feature: allow moving clients between companies/spectators by the server and the clients themselves (dihedral) 16 years ago
rubidium 4f5a8b15ed (svn r15206) -Fix [FS#2567]: memory corruption due to not properly cleanup up the mess when cancelling a download 16 years ago
rubidium ff328bf68b (svn r15178) -Change: rename 'update' to 'upgrade' as that's a bit more clear 16 years ago
rubidium eeb38a8e3a (svn r15176) -Fix [FS#2554]: querying the content server could free when resolving the hostname or connecting takes long/is timing out. 16 years ago
rubidium 28a641066e (svn r15163) -Change/Fix: use a non-blocking method to resolve the hostname and connect to game servers. 16 years ago
rubidium 99b1f1a8f4 (svn r15161) -Change: bump url to 96 bytes 16 years ago
rubidium 07e135547e (svn r15135) -Fix/Change: allow str_validate (part of receiving strings from the network) to pass newlines instead of replacing them with question marks, but only when asked to do so. 16 years ago
rubidium 3a13b75e37 (svn r15126) -Feature: downloading content from a central server (content.openttd.org) where authors can upload they NewGRFS/AI etc. This should make joining servers that use only NewGRFs that are distributed via this system easier as the players can download the NewGRFs from in the game. It should also make it easier to see whether there are updates for NewGRFs and make the necessary updates. 16 years ago
rubidium e18c24cdb5 (svn r15079) -Codechange: split tcp 'backend' and in-game handling like it is for UDP. 16 years ago
rubidium 04ea0b9316 (svn r15053) -Cleanup: remove some unneeded includes 16 years ago
rubidium fc696a7e29 (svn r15052) -Codechange: move the implementation of Send_CompanyInformation to network_server.cpp as the server's the one that sends that information 16 years ago
rubidium 11da45ee55 (svn r14949) -Cleanup: pointer coding style 16 years ago
rubidium 427e2d30c5 (svn r14915) -Codechange: unify the receiving and sending of commands, and thus unifying most of the validity checking too. 16 years ago
rubidium e198bf02ab (svn r14766) -Fix (r14730ish): remove unused typedef. 16 years ago
rubidium 105b84e343 (svn r14760) -Fix (rlongago): network connection of clients being closed twice (found due to added assertion in r14730) 16 years ago
rubidium e626e07bd3 (svn r14759) -Fix (r14730): tab completion causing out-of-bounds read. 16 years ago
rubidium afddfcb2b1 (svn r14730) -Codechange: remove the need for networkclientsockets and networkclientinfo structs to be in a contiguous piece of memory and put them in a pool.
-Note: 255 should really be enough for now... making it any more means network protocol bumps.
16 years ago
rubidium 52fb6b7d7c (svn r14724) -Codechange: move some NetworkClientSocket related function/definitions closer together. 16 years ago
rubidium 9476a49763 (svn r14723) -Codechange: shuffling some stuff around to reduce indirect #include dependencies. 16 years ago
rubidium ae96ca635c (svn r14721) -Codechange: s/NetworkTCPSocketHandler/NetworkClientSocket/ as it's (way) more descriptive what it's used for. 16 years ago
rubidium b4734ee9a4 (svn r14719) -Codechange: replace DEREF_CLIENT with an instance function and replace looping socket structs with info structs when the loop is only interested in the info structs (i.e. not derefing the info from sockets when one can loop info directly and the socket isn't used) 16 years ago
rubidium abc903d625 (svn r14712) -Codechange: split server and client side w.r.t. the storage of network related company information. 16 years ago
rubidium 782b80eff7 (svn r14709) -Codechange: make a clearer distinction between 'unique' client identification ids and the indices into the clients/client info arrays. 16 years ago
smatz d2a050bb29 (svn r14671) -Fix: compilation was broken for some systems 16 years ago
rubidium 3b798599b6 (svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with. 16 years ago
rubidium e7829c1a57 (svn r14414) -Fix: replace instances of strncpy with strecpy as strncpy doesn't guarantee the resulting string is '\0'-terminated. 16 years ago
smatz 361292bd23 (svn r14177) -Fix: define INADDR_NONE only when it hasn't been defined yet 16 years ago
smatz c9bef19043 (svn r14174) -Fix: since now, we are 'losing' things, not 'loosing' 16 years ago
rubidium 97c184f8f8 (svn r14063) -Codechange: replace some "magic" constants with enumified constants. 16 years ago
rubidium 72c154fd0f (svn r14052) -Codechange: make the size of the chat message "box" configurable and increase the default size slightly so it can hold the longest chat messages. 16 years ago
rubidium 3b4c3a3df6 (svn r14045) -Codechange: move the network's limitation to chat messages to a more logical location and give it a more consistent name. 16 years ago
glx 788b625553 (svn r14026) -Cleanup (r13995, r14004): trailing whitespaces 16 years ago
rubidium 0ebcac669e (svn r13997) -Fix (r13988): in some cases no broadcast addresses would be found. 16 years ago
rubidium b1eaf763e1 (svn r13995) -Fix (r13988): some warnings of the compile farm. 16 years ago
glx 0f10939029 (svn r13990) -Fix (r13988): win32 compilation failed 16 years ago
rubidium c88cb1daa0 (svn r13988) -Codechange: move the to IP resolving functions to a separate file. 16 years ago