Commit Graph

290 Commits (348f2d35beef61c85f218d899b103ae07672d42d)

Author SHA1 Message Date
rubidium 9467b7c6d6 (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 1e68ee0de8 (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 119d742015 (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 42d7f30dcc (svn r18608) -Change: add the concept of music sets 15 years ago
rubidium da30e736ca (svn r18330) -Cleanup: remove some unneeded includes 15 years ago
rubidium 318c2fad7c (svn r17963) -Codechange: some documentation style 15 years ago
smatz c2c23ec661 (svn r17746) -Codechange: 'operator new' doesn't return NULL, NetworkSend_Init() is useless 15 years ago
rubidium 65f97fb38c (svn r17742) -Codechange: remove unused variable from Recv_Packet 15 years ago
rubidium 67a11a5776 (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 982b8ee5fc (svn r17693) -Cleanup: remove some unneeded includes 15 years ago
smatz 7c74afb1c3 (svn r17692) -Codechange: minor coding style fixes 15 years ago
rubidium d579a9366a (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 cf2d2cb4b6 (svn r17350) -Fix (r17336): broken compilation with mingw 15 years ago
rubidium 533e3da493 (svn r17339) -Codechange: move thread related files to their own directory (like done for video, music, sound, etc) 15 years ago
rubidium 99d46e0ad7 (svn r17248) -Fix: add GPL license notice where appropriate 15 years ago
smatz b8bd45ba4f (svn r17169) -Codechange: apply coding style to some for statements 15 years ago
smatz d64bdb138c (svn r17168) -Codechange: apply coding style to if and while statements 15 years ago
rubidium 93493827b6 (svn r17139) -Change: add the concept of sound sets 15 years ago
rubidium d61be2637e (svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives 15 years ago
rubidium ede3aee313 (svn r17015) -Fix [FS#3075]: infinite recursion in content dependency checking 15 years ago
rubidium 71c7064ad6 (svn r16601) -Fix [FS#2880]: try 2... hopefully better this time 15 years ago
rubidium f1840d084b (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 580e478e4e (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 15 years ago
smatz 3793b966c3 (svn r16380) -Codechange: rename pool.hpp to pool_type.hpp 15 years ago
smatz 50624d5c0f (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 7eb14aa49f (svn r16377) -Codechange: unify FOR_ALL_* macros, use separate index variable instead of var->index 15 years ago
smatz 0c10daa243 (svn r16327) -Codechange: replace IsValidPoolItemID(index) by PoolItem::IsValidID(index) 15 years ago
smatz cf986c3099 (svn r16326) -Codechange: replace GetPoolItemPoolSize() by PoolItem::GetPoolSize() 15 years ago
smatz d495dc5dbc (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 15 years ago
smatz e5529d8995 (svn r16265) -Fix (r16238): wrong format string for debug output 15 years ago
rubidium dd0b93532a (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 f6070e2261 (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 c530ca27bb (svn r16134) -Change: do not add duplicates to the broadcast list 15 years ago
rubidium b34eb75c11 (svn r16065) -Fix: don't readd (and resolve) the last joined server each time the window gets repainted 15 years ago
glx 388dc27474 (svn r16050) -Fix (r15933): little typo causing OTTDfreeaddrinfo to use the fallback even when freeaddrinfo is available 15 years ago
rubidium b78820a361 (svn r16034) -Fix: compile warnings generated by 64 bits MSVC. 15 years ago
rubidium 7ae8228ed3 (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 c71e59263d (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 04b174687b (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 fe42ae8ad4 (svn r16000) -Feature: IPv6 support 15 years ago
rubidium be53295ee8 (svn r15993) -Codechange: clean up/generalise the handling of the server list 15 years ago
rubidium 19b50f8ed8 (svn r15990) -Codechange: provide a thread safe variant of GetAddressAsString. 15 years ago
rubidium 10ccad9d3d (svn r15984) -Codechange: prepare the UDP receiver to process multiple types of returned server lists. 15 years ago
rubidium 1cd5ac75ff (svn r15982) -Codechange: use GetAddressAsString to get the name instead of passing the hostname and the IP into a string. 15 years ago
rubidium f9f61dc208 (svn r15981) -Fix: don't print the address family when writing the IP+port to the config file. 15 years ago
rubidium 5a6198092d (svn r15980) -Codechange: don't try to bind to the same socket twice; it's quite pointless. 15 years ago
rubidium edf4ab97e1 (svn r15979) -Codechange: tweak the debug/warning levels of some of the messages when binding 15 years ago
rubidium ac043bc7e8 (svn r15978) -Codechange: support parsing [] enclosed IPv6 addresses. 15 years ago
rubidium 632a263f8a (svn r15976) -Codechange: make it a bit more clear for what (type of) address binding fails 15 years ago
rubidium b9864e9988 (svn r15975) -Codechange: register each of the IPs we have bound to to the masterserver 15 years ago
glx da49105b9e (svn r15974) -Fix (r15969): win32 compilation was broken (again) 15 years ago
rubidium bc072884b0 (svn r15972) -Codechange: remove unneeded parameter 15 years ago
rubidium e1a7fad295 (svn r15971) -Codechange: make it possible for UDP socket handlers to bind to multiple sockets. 15 years ago
rubidium e3d183f3dd (svn r15970) -Codechange: make it possible to resolve a single address into multiple sockets. 15 years ago
rubidium f6e27e7274 (svn r15969) -Codechange: make the list of broadcast addresses virtually unlimited. 15 years ago
rubidium d66827b289 (svn r15968) -Codechange: do not allocate a buffer for NetworkAddresses so passing it around is easier. 15 years ago
rubidium a25684b833 (svn r15967) -Codechange: do not access NetworkSocketHandler::has_quit directly 15 years ago
rubidium 22ab962baf (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 3e6d3ff9a2 (svn r15954) -Fix: comparing addresses kinda fails (sometimes) causing duplicates in the game list 15 years ago
rubidium 3ce836c4af (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 d5e4f8152f (svn r15950) -Fix (r15946): mingw compilation 15 years ago
rubidium 2f220d09bb (svn r15948) -Fix: resolve network addresses before comparing them 15 years ago
rubidium a5576bc6e1 (svn r15946) -Codechange: move netmask matching to NetworkAddress and add some support for IPv6 netmask matching. 15 years ago
glx a1b6c34623 (svn r15945) -Fix (r15944): win32 compilation 15 years ago
rubidium 1a0249f9d8 (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 c3af69eb9d (svn r15941) -Codechange: jonty-comp's wish partly implemented (content server) ;) 15 years ago
rubidium e8852635ab (svn r15940) -Codechange: move setting reuse address to the binding process. 15 years ago
glx d3db002a4f (svn r15938) -Fix: broadcast addresses detection was broken for win32 15 years ago
rubidium cda1cb02ed (svn r15935) -Codechange: function to compare IP addresses (to sort them) 15 years ago
rubidium 627163b785 (svn r15934) -Fix: work around Solaris' inability to "parse" 0 as defined in the specifications. 15 years ago
glx cfac582c36 (svn r15933) -Fix (r15920): mingw doesn't know getaddrinfo() and freeaddrinfo() either 15 years ago
glx 825aa87e80 (svn r15930) -Fix (r15926): MSVC compilation 15 years ago
rubidium 2b7a30f209 (svn r15926) -Codechange: make the broadcast IP list less AF dependent. 15 years ago
rubidium be8919c968 (svn r15925) -Codechange: remove _network_server_bind_ip as it's pretty AF dependant. 15 years ago
rubidium 197eff1fa9 (svn r15924) -Codechange: replace NetworkResolveHost with something less AF dependant. 15 years ago
rubidium 3e6c6d7294 (svn r15922) -Codechange: unify the ways to listen on a socket 15 years ago
rubidium 020b1f9328 (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 34f9223f6a (svn r15920) -Codechange: make the (TCP) connecting less AF dependent. 15 years ago
glx c56767317f (svn r15919) -Fix (r15916): mingw doesn't know getnameinfo() (unless you compile for XP SP2+). Also fix a MSVC warning. 15 years ago
rubidium 6664998667 (svn r15918) -Fix (r15917): comparing IPs sometimes failed due to 'random' data (as spotted by SpComb) 15 years ago
rubidium f22566f8df (svn r15917) -Codechange: remove the latest traces of NetworkAddress::GetIP. 15 years ago
rubidium 785779ca62 (svn r15916) -Codechange: let the network game list use NetworkAddress 15 years ago
rubidium bdf3611d02 (svn r15915) -Codechange: let the udp code use NetworkAddress. 15 years ago
rubidium 822ff14d73 (svn r15914) -Codechange: let the content handling make use of NetworkAddress. 15 years ago
rubidium c3e87f345d (svn r15718) -Cleanup: apply some comment coding style on the rest of the sources too 16 years ago
rubidium 34bd9ee636 (svn r15626) -Fix [FS#2698]: UTF8 string handling could cause buffer overruns. 16 years ago
rubidium 2722cabcce (svn r15242) -Feature: allow moving clients between companies/spectators by the server and the clients themselves (dihedral) 16 years ago
rubidium bf47489d58 (svn r15206) -Fix [FS#2567]: memory corruption due to not properly cleanup up the mess when cancelling a download 16 years ago
rubidium fd7063530c (svn r15178) -Change: rename 'update' to 'upgrade' as that's a bit more clear 16 years ago
rubidium 7c5a618639 (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 206841ba5f (svn r15163) -Change/Fix: use a non-blocking method to resolve the hostname and connect to game servers. 16 years ago
rubidium ad43d72a3e (svn r15161) -Change: bump url to 96 bytes 16 years ago
rubidium 1bc8e3f536 (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 72b0341ed0 (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 850a2735cc (svn r15079) -Codechange: split tcp 'backend' and in-game handling like it is for UDP. 16 years ago
rubidium 737c187f79 (svn r15053) -Cleanup: remove some unneeded includes 16 years ago
rubidium 01e92ac32a (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 28ea38ae55 (svn r14949) -Cleanup: pointer coding style 16 years ago
rubidium 0e1127e8b5 (svn r14915) -Codechange: unify the receiving and sending of commands, and thus unifying most of the validity checking too. 16 years ago
rubidium 42fb037005 (svn r14766) -Fix (r14730ish): remove unused typedef. 16 years ago
rubidium 3b08d2ecaa (svn r14760) -Fix (rlongago): network connection of clients being closed twice (found due to added assertion in r14730) 16 years ago
rubidium 5fe023cb1b (svn r14759) -Fix (r14730): tab completion causing out-of-bounds read. 16 years ago
rubidium 54f23ed0b3 (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 e267bee098 (svn r14724) -Codechange: move some NetworkClientSocket related function/definitions closer together. 16 years ago
rubidium 97662a0fff (svn r14723) -Codechange: shuffling some stuff around to reduce indirect #include dependencies. 16 years ago
rubidium cb8b31c3c1 (svn r14721) -Codechange: s/NetworkTCPSocketHandler/NetworkClientSocket/ as it's (way) more descriptive what it's used for. 16 years ago
rubidium 9a96557763 (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 d146b48063 (svn r14712) -Codechange: split server and client side w.r.t. the storage of network related company information. 16 years ago
rubidium 6d23f48bb6 (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 a5b33d1f3b (svn r14671) -Fix: compilation was broken for some systems 16 years ago
rubidium f56e630e5c (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 5ab74534da (svn r14414) -Fix: replace instances of strncpy with strecpy as strncpy doesn't guarantee the resulting string is '\0'-terminated. 16 years ago
smatz eeaeecd255 (svn r14177) -Fix: define INADDR_NONE only when it hasn't been defined yet 16 years ago
smatz 1294253d68 (svn r14174) -Fix: since now, we are 'losing' things, not 'loosing' 16 years ago
rubidium c816cc37fd (svn r14063) -Codechange: replace some "magic" constants with enumified constants. 16 years ago
rubidium 6199dc987b (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 0fab1dc699 (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 812ab1279a (svn r14026) -Cleanup (r13995, r14004): trailing whitespaces 16 years ago
rubidium 12037a8b38 (svn r13997) -Fix (r13988): in some cases no broadcast addresses would be found. 16 years ago
rubidium b32b101b8c (svn r13995) -Fix (r13988): some warnings of the compile farm. 16 years ago
glx b9bbcfcb9b (svn r13990) -Fix (r13988): win32 compilation failed 16 years ago
rubidium eb5fb4443a (svn r13988) -Codechange: move the to IP resolving functions to a separate file. 16 years ago
rubidium 348600eca9 (svn r13713) -Fix: possible crash on creating a network packet. 16 years ago
rubidium 03afcec36f (svn r13712) -Fix: enforce the length restrictions of company and president name in the commands too. 16 years ago
smatz 1f1eea4873 (svn r13378) -Fix (r13375): compilation without network support was broken 16 years ago
rubidium 994779e9e2 (svn r13369) -Codechange: remove duplication of network configuration settings between NetworkSettings and NetworkGameInfo.
-Fix: failure of changing the server password during games because the password wasn't duplicated properly.
16 years ago
rubidium bae02e8c67 (svn r13343) -Codechange: reorder/move variable/functions in the network headers so that nothing from the network directory needs to include basically all network headers. 16 years ago
rubidium f1820a5708 (svn r12930) -Add: build support for NetBSD and HP-UX. Patch by ahoka. 16 years ago
smatz 3fe8c58257 (svn r12777) -Codechange: rename fatal() and error() in strgen, so it can always have the NORETURN attribute 16 years ago
rubidium d46d8d9c9d (svn r12765) -Codechange: move some stuff out of variables.h that required including other headers in variables.h. 16 years ago
rubidium cd23dd64bf (svn r12637) -Fix [FS#1913]: possible NULL pointer dereference when reading some NewGRF data. 16 years ago
glx 15cd2931f3 (svn r12407) -Add [FS#1866]: more language flags for servers 17 years ago
rubidium 90acd52f22 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h. 17 years ago
rubidium 2fc62eab05 (svn r11818) -Codechange: split player.h into smaller pieces. 17 years ago
rubidium b09d957f31 (svn r11777) -Codechange: split the string header and make do not include it when it's not necessary. 17 years ago
rubidium db73addb43 (svn r11702) -Codechange: move all date related stuff to date*. 17 years ago
rubidium 81bf9f8503 (svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h' 17 years ago
rubidium 00c9d3ef20 (svn r11691) -Codechange: move+rename helpers.hpp and only include it when it is really needed. 17 years ago
rubidium 8ebdfb258f (svn r11674) -Codechange: refactor some functions out of macros.h into more logical locations. 17 years ago
rubidium 49e6247de8 (svn r11557) -Codechange: send and store the passwords a little more secure to/in the servers.
Each server and game yield a (usually) different 'salt'. This salt is used by the clients to hash their passwords. This way the passwords are not sent in clear text and it is not trivial to use those hashes on other servers.
NOTE: It is still NOT safe to use your trusted passwords and it will not stop people from being able to 'hijack' your password, it only makes it harder to do and certainly much less trivial than just dumping passwords from the memory.
17 years ago
skidd13 c0a2c0c23e (svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style 17 years ago
skidd13 7a4d96f629 (svn r11480) -Codechange: Rename the function ALIGN fitting to the naming style
This fixes also FS#1450
17 years ago
skidd13 98f66552be (svn r11475) -Codechange: rename clamp and clampu to Clamp and ClampU to fit with the coding style 17 years ago
truelight 9cf6fe8bca (svn r11357) -Fix: NetworkUniqueID could be 80 chars, while the max size we generate is 32. So reduce the size a bit. Pointed out by dihedral, so give him a big hug ;) 17 years ago
rubidium 6f75794b0f (svn r11290) -Fix: obiwan in the assertion that checked for overflows when writing a packet, causing still correctly sized packets to cause assertions. 17 years ago
rubidium 364d42f2cd (svn r10729) -Fix: some hardware (PS(P|3)) seems to loose the non-blocking state of UDP sockets. 17 years ago
rubidium 3ba01bec84 (svn r10501) -Fix [FS#1015]: error dialog was sometimes shown on all clients when a command failed instead of only the client that actually did the command. 17 years ago
glx 9113b5721a (svn r10017) -Add (FS#790): more languages flags for servers 17 years ago
rubidium 7577954ced (svn r9672) -Cleanup: lots of coding style fixes around operands. 17 years ago
rubidium 979ccd45ba (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {}; 18 years ago