Commit graph

102 commits

Author SHA1 Message Date
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