Commit graph

29 commits

Author SHA1 Message Date
heinrich5991 ca8fcc823c Use more secure hash function for map downloads
SHA256 was chosen because it is reasonably standard, the file names
don't explode in length (this rules out SHA512) and it is supported by
basically all versions of OpenSSL (this rules out SHA512/256 and SHA3).

The protocol is changed in a backward compatible way: The supporting
server sends the SHA256 corresponding to the map in the `MAP_DETAILS`
message prior to sending the `MAP_CHANGE` message. The client saves the
SHA256 obtained from the `MAP_DETAILS` message until the next
`MAP_CHANGE` message.

For servers not supporting this protocol, the client falls back to
simply opening maps like in the previous scheme.

Remove the `map_version` tool, it is not being used and would have been
a little bit effort to update.

Use the OpenSSL implementation of SHA256 if it is supported, otherwise
fall back to a public domain one.

Fix #1127.
2018-06-24 17:04:50 +02:00
heinrich5991 f8277267a0 Remove mem_alloc and mem_free, use standard C functions instead
Replace `mem_free` by `free`, and `mem_alloc` by `malloc` or `calloc`
(the latter one being used to allocate a zeroed array of elements,
sometimes, this makes a call to `mem_zero` superfluous).

This results in having to remove `mem_stats` which previously recorded
the number of allocations and their size that the Teeworlds code did
directly.

Remove OOM handling in `src/game/client/components/binds.cpp`.

Remove needless copying in the CSV code in
`src/game/client/components/statboard.cpp`.
2018-04-09 11:56:39 +02:00
yangfl 1620fc9b0f Fix typo 2018-02-07 16:10:40 +08:00
heinrich5991 2682480f8a Rename GetUncompressedDataSize to GetDataSize
Also rename the old `GetDataSize` to `GetFileDataSize`. `GetDataSize`
now returns the actual data size, not the data size before
decompression.
2017-08-30 08:36:17 +02:00
root 2c748ebf70 Fixing PR over heinrich revision 2017-08-30 00:21:41 +02:00
sctt 0849fa6024 fixing map_resave and adding map_replace_image
Update datafile.h

Update datafile.cpp

Update datafile.cpp

Update map_resave.cpp

Update datafile.h

Update map_resave.cpp

Update datafile.h

Update datafile.cpp

Update config_store.cpp

Update config_retrieve.cpp

Update io.cpp

Update gamecontext.cpp

Update config_store.cpp

Update CMakeLists.txt

Create map_replace_image.cpp

Update map_replace_image.cpp

fixing bug with height and witdth
2017-08-29 16:21:16 +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
def 35dcb4d6cf Don't open map file again if we have it open already 2017-07-08 22:09:03 +02:00
def f3e3d57a90 Always close files, cleaner demo recording, fix some other stuff 2017-07-08 13:39:20 +02:00
Väinö Mäkelä f1038b0092 Obey the Teeworlds code formatting rules. 2016-01-18 18:20:47 +02:00
Väinö Mäkelä cb84cf2216 Improve the handling of invalid skins.
CDataFileReader::Open(): Check the return status of io_read()
before reading the buffer, to avoid reading uninitialized data
in case the file was shorter than a full header.

CSkins::SkinScan(): Check that the image is high enough.
2016-01-17 10:48:21 +02:00
heinrich5991 a945cca8a5 Fix datafile building before the file is open 2015-08-27 12:55:35 +02:00
heinrich5991 d13ebf93a2 Add config_store and config_retrieve tool 2015-08-27 12:55:35 +02:00
def 4a3f75884e Hopefully fix bug with some malformed maps that can make the client crash 2014-01-11 00:52:23 +01:00
oy 8d0cc2a825 reduced stack memory usage of CDataFileWriter 2011-07-31 01:40:28 +02:00
oy 5fbf6d0bfd fixed compiler warnings. Closes #679 2011-05-05 01:43:27 +02:00
oy 06115dd49d added "Whitespace and line Endings cleanup" by GreYFoX 2011-04-13 20:37:12 +02:00
oy 2a72c0b38b added a mechanism to check for a valid standard map. Closes #132 2011-03-31 15:13:49 +02:00
oy d9ce720387 made engine an interface 2011-02-27 15:03:57 +01:00
GreYFoXGTi 1b2703aaba Refactoring & fixed WEAPONSPEC_GUN in content.py 2011-02-12 21:18:41 +01:00
Sworddragon fc9211c777 Updated copyrights 2010-11-20 21:26:06 +01:00
oy b343ef7f55 fixed mac compiling. Closes #238 2010-10-28 23:32:01 +02:00
oy 3a98f7a048 added mod system. Closes #34 2010-10-06 23:07:35 +02:00
oy c172c24fd1 cleanup old datafile when loading a new one 2010-09-28 12:46:15 +02:00
oy 25ceafaf22 fixed writing datafiles on big-endian systems, added some checks and fixed memory cleanup 2010-09-27 22:35:57 +02:00
Choupom 3dd1ea0d8f fixed header and swap sizes in datafiles (may fixes #14) 2010-09-05 14:30:44 +02:00
oy abc84ac0b0 added fixes for compiler errors and warnings by sworddragon 2010-08-16 02:21:18 +02:00
Magnus Auvinen b12ae69fee fixed compile errors for osx 2010-06-02 04:00:05 +08:00
Magnus Auvinen 72c06a2589 copied refactor to trunk 2010-05-29 07:25:38 +00:00