Commit graph

136 commits

Author SHA1 Message Date
heinrich5991 1d81d56850 Introduce new, vanilla-compatible server info protocol
This means that we have a reliable and fast way to query for extended info,
while also not wasting network bandwidth.

The protocol is designed to be extensible, there's four bytes space for
encoding more request types (currently zeroed), and there's one string in each
response packet and one string for each player available (currently the empty
string).

The protocol itself has no problems with more than 64 players, although the
current client implementation will drop the player info after the 64th player,
because it uses a static array for storage.

Also fixes #130, the player list is just sorted each time new player info
arrives.
2017-03-29 12:56:13 +02:00
Learath2 8c79f28802 Fix a crash on malformed input 2017-03-06 15:18:52 +01:00
Learath2 3c6a21ace2 dbg_assert felt more appropriate 2017-03-06 12:58:49 +01:00
Learath2 ed5824589c Make str_hex_decode a little more friendly 2017-03-04 23:06:07 +03:00
Learath2 b7cbaedea0 New auth system for rcon 2017-03-02 18:16:29 +03:00
heinrich5991 cd3b0ae855 Implement the confusable algorithm from Unicode more closely
See UTS#39 "Unicode Security Mechanisms":
http://www.unicode.org/reports/tr39/

This means that characters with accents or other things around them are
now considered the confusable with the base character.

Fixes #557. Fixes #575.
2016-10-30 13:45:55 +01:00
heinrich5991 e950351346 Put the password generation into base 2016-10-01 23:04:16 +02:00
def 28f50e4440 Revert "Implement comma in search and exclude queries to separate search terms"
This reverts commit 3341e18d13.
2016-08-07 00:52:00 +02:00
def 3341e18d13 Implement comma in search and exclude queries to separate search terms 2016-08-02 22:16:02 +02:00
H-M-H c9e65c7931 Merge branch 'master' into sqlmasters 2016-05-03 23:07:24 +02:00
def ab13a0086d Updater: Support downloading files into new directories 2016-05-01 14:20:55 +02:00
H-M-H 88ed7391da handle exceptions from sql properly
- write failed sqlinserts to a file
- improved structure
2016-02-20 15:33:35 +01:00
east f3f33904f7 secure_rand() as replacement for client source port generation 2016-01-02 15:37:44 +01:00
east 675c6eb1e0 Demo browser column listbox added 2015-08-27 15:05:24 +02:00
def c033ad6828 Fix compilation on windows, needs implementation of fs_getmtime on Windows 2015-08-22 20:32:02 +02:00
def 08ac551e0e Add fs_getmtime as preparation for sorting by timestamp of file in demo view 2015-08-22 17:57:58 +02:00
BeaR ff3c4f22b4 Add hex value edit field for quad point color 2015-08-20 12:51:30 +02:00
def 6d68e22cd1 Hopefully fix string fuzzying for unicode 2015-07-11 19:26:57 +02:00
heinrich5991 8ccfd0188d Error out on overlong UTF-8 sequences
This not only makes `str_utf8_decode` a compliant parser, but also fixes an
issue where overlong encodings led to undetected line breaks.

Implemented as per https://encoding.spec.whatwg.org/#utf-8-decoder.

Audited the following files, checking whether the new semantics work with the
existing code:
- src/base/system.c
- src/engine/client/text.cpp
- src/game/client/components/chat.cpp
- src/game/server/gamecontext.cpp

They all check whether the string is at its end separately.
2015-06-30 21:15:10 +02:00
heinrich5991 71548fc0d6 If no rcon password is set, generate one
After the generation (using the OS random number generator), the password is
displayed to the user on stdout.
2015-06-21 19:56:35 +02:00
Learath Lea df57a981de Add os_compare_version. Check for WinXP. 2015-04-18 15:53:11 +03:00
def ea55306a90 Minor fix 2015-04-08 13:58:39 +02:00
def 3992b1346b Hopefully fix compilation on new OS X systems
Names collided with some new OS X defined names, fixes #189
2015-04-07 19:07:38 +02:00
def f893ed6ec4 Fix and clean up autoupdater 2015-03-13 15:14:00 +01:00
eeeee 739a83a3ce fix missing size_t definition on mac 2015-03-05 23:47:17 -08:00
heinrich5991 fa0708b99d Make the secure random stuff platform-independent 2015-03-06 01:35:08 +01:00
Learath Lea 8d7251be4a Add shell_execute. 2015-02-23 20:24:48 +02:00
timgame 758c4b1c4d added 'NOINDEX' and 'OR' to automapper 2015-02-19 22:54:47 +01:00
eeeee 56c42c3c31 websockets support in server 2015-02-08 19:11:34 -08:00
def a08ed87cc4 Initial work on confusable utf8 name detection 2014-11-24 16:22:00 +01:00
def 140173311e Uncached time_get by default 2014-11-18 18:21:30 +01:00
def 4e9b6ea336 Ugly fix for client (TODO: improve) 2014-11-10 00:17:31 +01:00
def aede6df2ca Cache get_time calls 2014-11-10 00:08:50 +01:00
def bc9d632103 Clean up whitespace detection a bit and add BRAILLE PATTERN BLANK (U+2800) 2014-11-08 20:14:12 +01:00
def a36358190b Mac OS X compilation 2014-09-11 21:38:23 +02:00
def 49682f4a8d Threaded logger output 2014-09-09 23:02:05 +02:00
def 3c4bf96b8c Recording with multiple clients working 2014-08-22 14:18:16 +02:00
def 3eaad43b6b Merge remote-tracking branch 'upstream-teeworlds/0.6' into DDRace
Conflicts:
	bam.lua
	data/languages/index.txt
	src/engine/server/server.cpp
	src/engine/shared/network_server.cpp
	src/game/client/components/chat.cpp
	src/game/client/components/menus_settings.cpp
	src/game/server/entities/character.cpp
	src/game/server/gamecontext.cpp
	src/game/version.h
2013-12-26 18:02:22 +01:00
def c42e9f1399 Add /points and /toppoints using points.cfg file 2013-07-21 04:52:23 +02:00
oy fd5fe8b6ae fixed a warning 2013-04-26 17:10:05 +02:00
oy f0e09f50d9 improved chat msg spam protection 2013-04-01 20:30:58 +02:00
Magnus Auvinen 1711be955b fixed all the errors that the clang static analayzer found 2013-02-24 17:58:34 +01:00
oy b7e5bb54ad fixed semaphore on macosx 2013-02-24 17:35:51 +01:00
oy 7328098f8d Merge pull request #912 from matricks/threadedflip
Threadedflip
2012-01-03 15:40:30 -08:00
Magnus Auvinen e59b24d8db fixed atomics and semaphore for windows. can't test it correctly however due to that I only have a virtual box machine 2012-01-01 15:56:28 +01:00
oy b44ee3d975 reworked ban system 2011-12-29 23:36:53 +01:00
oy 4f0ee26fcf removed some unused code 2011-12-29 12:37:28 +01:00
oy 83d8422c4c added "fixed tcp and added ipv6 tcp support" by SushiTee 2011-07-06 18:20:46 +02:00
oy e1ef01f656 made tab completion for names in chat start with the ones that match on the beginning 2011-06-09 23:28:20 +02:00
heinrich5991 0ea5641df4 adding thread_detach to system.h and system.c 2011-05-01 15:48:09 +02:00
oy 06115dd49d added "Whitespace and line Endings cleanup" by GreYFoX 2011-04-13 20:37:12 +02:00
oy 34a9ca20a7 added ipv6 support from the old lua branch 2011-03-28 20:11:28 +02:00
oy 50b266086b made dbg_dumpmem and dbg_lognetwork work again 2011-03-05 11:46:24 +01:00
oy 088ec3e2f3 made the client's map search work with sub folders. Closes #254 2011-02-21 11:23:30 +01:00
oy 49bea07df7 show the path of $CURRENTDIR. Closes #323 2010-12-11 23:10:13 +01:00
oy 9ef5e64916 added function to add a time stamp string 2010-12-08 00:26:55 +01:00
oy 7c26dcbadd moved function to remove files 2010-12-08 00:13:59 +01:00
oy d30dd9da8f added Storage function to move/rename files by Batchyx 2010-12-08 00:09:18 +01:00
Sworddragon fc9211c777 Updated copyrights 2010-11-20 21:26:06 +01:00
oy af56496281 moved str_skip_to_whitespace function 2010-10-25 18:41:15 +02:00
oy 6a26cd6621 fixed various problems with the file dialog in the editor 2010-10-07 23:51:07 +02:00
oy 67e9f03f23 when setting a config string variable check if it's a utf8 string and encode it if the check fails. Closes #10 2010-10-01 00:55:16 +02:00
oy aaf8e2bc8e cleaned up demo listing and fixed its sorting. Closes #73 2010-09-29 00:53:53 +02:00
oy 7e0b37e06c fixed that it checks the current dir for demos too 2010-09-24 13:38:03 +02:00
Kaffeine addf2882b8 Fixed comments (system.h) 2010-09-24 13:01:36 +02:00
oy a2083b31e3 fixed last commit 2010-09-16 12:48:32 +02:00
Choupom 582763bc21 made folders in editor (#80) 2010-09-16 12:28:10 +02:00
Choupom 0198e51fa3 made demo readable for custom map that user doesn't have (#5) 2010-09-05 16:34:39 +02:00
oy 7503c64237 made unpacking of net strings more strict - prevents possible malformed output 2010-08-12 15:22:07 +02:00
Magnus Auvinen 72c06a2589 copied refactor to trunk 2010-05-29 07:25:38 +00:00
Magnus Auvinen 878ede3080 major update with stuff 2009-10-27 14:38:53 +00:00
Magnus Auvinen 8bd49fe30b some clean up. fixed double server side record messages 2009-06-15 13:01:04 +00:00
Magnus Auvinen 307cf4aa64 done language selector 2009-06-15 08:15:53 +00:00
Magnus Auvinen 6d9ccee95d base for the localization system 2009-06-13 16:54:04 +00:00
Magnus Auvinen 69511102de improved the font system even futher. utf8 is now used everywhere. it uses less memory as well 2009-06-13 08:22:37 +00:00
Magnus Auvinen f8490e6ea6 added str_isspace and str_length functions to system 2008-11-08 08:27:11 +00:00
Magnus Auvinen 9acb3e5e71 continued on ban support. cleaned up settings a bit. reworked the datadir autodetection. introduced engine_openfile, engine_getpath and engine_listdir. never use fs_listdir or io_open directly 2008-10-21 18:05:06 +00:00
Joel de Vahl 2b6f991010 Better mem_check reporting 2008-10-07 16:17:58 +00:00
Joel de Vahl d1b55351cc Big endian fix. 2008-10-06 16:44:34 +00:00
Magnus Auvinen cebda9790b some cleanups. splitted e_network.c into several files. continued on the ban support 2008-10-02 12:29:19 +00:00
Dominik Geyer 397b9a764b data-dir autodetection; data-dir override; compiled-in data-dir; messagebox if detection fails; does chdir into data-dir 2008-10-01 17:16:22 +00:00
Dominik Geyer 9266f242c3 implemented gui_messagebox() which displays low-level message-box 2008-09-30 15:52:15 +00:00
Magnus Auvinen 33b50738e6 added dead reckoning to the characters 2008-09-23 07:43:41 +00:00
Magnus Auvinen 171ca682d3 added saving of favorites 2008-09-03 21:02:30 +00:00
Magnus Auvinen 16912026db added cl_layershot. fixed some bugs in the network 2008-08-17 07:05:16 +00:00
Magnus Auvinen 817f431377 moved out e_system, e_detect, vmath and math to a little base library 2008-08-14 17:19:13 +00:00
Renamed from src/engine/e_system.h (Browse further)