Commit graph

155 commits

Author SHA1 Message Date
heinrich5991 7de42a1414 Couple of thread fixes 2017-10-10 00:08:24 +02:00
Redix a3a82b6571 Move filename clearing function to base lib 2017-09-28 16:02:01 +02:00
Ryozuki f472b02b17 fix little typo 2017-09-25 14:25:23 +02:00
def 705349f2e5 Clean up and fix semaphores and threading 2017-08-31 19:18:07 +02:00
Learath2 cd386488e2 Rename semaphore_* to sphore_*
Previous naming conflicted with Mach kernel definitions.
2017-08-31 19:18:07 +02:00
Learath2 cd3038315b Forgot the include 2017-08-31 19:18:07 +02:00
Learath2 abb9891947 Use the pointer address to ensure uniqueness 2017-08-31 19:18:07 +02:00
Learath2 a8e19205dc Fix conceptual mistakes 2017-08-31 19:18:07 +02:00
Learath2 153c6871c8 Try (ab)using named semaphores on OSX 2017-08-31 19:18:07 +02:00
def 5d8a0ddc1e Add time in console 2017-08-04 22:38:22 +02:00
heinrich5991 33315452c3 Merge branch 'master' into leak_fix 2017-07-31 20:42:32 +02:00
Learath2 4622ab4cb6 Merge pull request #814 from heinrich5991/pr_ddnet_fix_cmake_mac
Fix the CMake Mac build
2017-07-30 11:38:12 +02:00
HMH 04e2946efc mem_free is safe on null pointers 2017-07-28 15:42:32 +02:00
heinrich5991 6247aa0c7f Enable -Wextra and -Wformat=2
Also annotate `dbg_msg`, `str_format` and `str_timestamp_ex` so that the
compiler can determine whether the format strings are correct.

Fix the compiler warnings generated by these extra warnings -- some of
them were security issues.
2017-07-27 20:38:17 +02:00
heinrich5991 ed0949cb2e Remove unused function gui_messagebox
The Mac implementation was causing problems and it wasn't used anywhere.
2017-07-26 11:38:26 +02:00
def 53565aa937 fixes 2017-07-09 14:56:57 +02:00
heinrich5991 409bc0e019 Ensure null-termination in str_escape
This also fixes a couple of potential buffer overflows. The affected
code is still buggy (doesn't do the right thing on potential buffer
overflow), but at least it won't result in crashes/out of bound writes
anymore.
2017-07-08 13:06:03 +02:00
def 36d5c8d608 string toggling supports escaped strings; also some code cleanup 2017-07-08 11:03:51 +02:00
def a6e144ea72 Let's not crash the client and server on dbg_assert 2017-06-02 20:12:20 +02:00
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