summaryrefslogtreecommitdiff
path: root/toxcore
AgeCommit message (Collapse)Author
2017-03-26Fix network malloc(0) bugDiadlo
2017-03-12Fix Travis always succeeding despite tests failingMaxim Biro
2017-03-04Fix formatting with astyleDiadlo
Fix #494
2017-03-04Move 'family' copying after all address checksDiadlo
Fix #495
2017-02-27Remove empty lineLittleVulpix
Found by chance by Nurupo when browsing the file
2017-02-26Remove network dependency from toxcryptoDiadlo
2017-02-26Add part of platform-independent network API implementationDiadlo
socket -> net_socket htons -> net_htons htonl -> net_htonl connect -> net_connect sendto -> net_sendto_ip4 getaddrinfo -> net_getipport sa_family_t -> Family
2017-02-21Use VLA macroMaxim Biro
2017-02-11remove statics used in onion comparison functionszugz
2017-01-28Add VLA compatibility macro for C89-ish compilers.iphydf
2017-01-26Release v0.1.6.iphydf
2017-01-26Replace redundant packet type check in handler with assert.Yuri
2017-01-26Add platform-independent Socket and IP implementationDiadlo
2017-01-24Add Android build to CI.Zoff
Fixes #340 Fixes #457
2017-01-22Add appveyor build for native windows tests.iphydf
It doesn't compile, yet. A few changes (like VLA support) need to be made before we can enable appveyor as a required PR check.
2017-01-21reduce thread-unsafe use of static variableszugz
- rework ip_ntoa() to avoid use of static variables - rework sort_client_list() to avoid use of static variables - move static 'lastdump' into Messenger struct - rework ID2String() to avoid use of static variables; rename to id_to_string() - fetch_broadcast_info(): attempt to mitigate risks from concurrent execution - current_time_monotonic(): attempt to mitigate risks from concurrent execution - comment on non-thread-safety of unix_time_update
2017-01-19Release v0.1.5.iphydf
2017-01-19Update license headers and remove redundant file name comment.iphydf
"All rights reserved" was incorrect. The project was licensed under GPL3, which means a lot of rights are licensed to everybody in the world, i.e. not reserved to the "Tox Project".
2017-01-18Setup autotools to read .so version info from a separate fileSergey 'Jin' Bostandzhyan
We want to use the same libtool style .so versions in both build systems, ideally both systems should read the version information from the same configuration file. This commit introduces an so.version configuration file and sets up the autotools to use it. The version numbers in so.version define the ABI compatibility and should be updated prior to each release. implements #323
2017-01-12Release v0.1.4.iphydf
2017-01-11Remove `TOX_DEBUG` and have asserts always enabled.iphydf
These are cheap asserts. I've also replaced the fprintf's with `LOGGER_ERROR` calls.
2017-01-11Check that TCP connections aren't dropped in callbacks.iphydf
They aren't, but it's unclear whether it's structurally impossible.
2017-01-11Fix logging condition for IPv6 client timestamp updates.iphydf
2017-01-10Always kill invalid file transfers when receiving file controls.iphydf
Previously, toxcore would send a kill control to the friend only if the file control was valid. Determining which file transfer is used does not depend on the specific file control. We can always kill it in that case. Also, added some logging for file control logic, since there is no other feedback on error (failure of the file control handler is swallowed).
2017-01-10Minor simplification in `file_seek` code.iphydf
Details in comments.
2017-01-07Remove \ at end of list in makefile.iphydf
2017-01-07Replace make_quick_sort with qsortendoffile78
2017-01-07Avoid accessing uninitialised memory in `net_crypto`.iphydf
On x86 and x86_64, this change has no effect. On IA64, this fixes a potential hardware exception. A function returned a partially initialised value of aggregate type. The only caller of this function checks that the value is valid before accessing it by testing the one definitely initialised member. Therefore on x86 and derived architectures, there is no uninitialised memory access. On IA64, with the regular calling convention, the struct is allocated on the caller stack and passed as a pointer, so there the uninitialised memory is also never accessed. However, on calling conventions where one or more struct members past the first byte are passed in registers or copied in memory, this call can cause undefined behaviour. Specifically, the value can contain a trap representation of the integers (at the very least the 16 bit port) and cause a hardware exception and SIGFPE in userland. Regardless of the explanation above, this change fixes an instance of undefined behaviour that just happened to be OK on all systems we tested on.
2017-01-06Fix bad attempt at refactoringMaxim Biro
2017-01-06Eliminate dead return statement.iphydf
Previously, the `ipv6` variable was initialised to `-1`, but that value was never read. Either it was set to 0 or 1, or the function would return before it was read. Thus, I've changed it to uninitialised `bool is_ipv4` (inverted semantics to avoid negative conditions `if (!is_ipv6)`). The `pack_ip_port` function is a bit unfortunate, but I'm not rewriting it until we have a binary writer (I'd be rewriting it twice).
2017-01-06Revert "Revert "Portability fixes""David Zero
This reverts commit 59e2a844f04a8725e8079f854158aa86ef5988b2, and defines _DARWIN_C_SOURCE in toxcore/network.c
2017-01-05Release v0.1.3.iphydf
2017-01-05Revert "Portability fixes"endoffile78
This reverts commit f3469070fe899e8e4fd88665386a55bad9f77cd8.
2017-01-04Portability fixesDavid Zero
- CFLAG gnu99 was changed to c99. - CXXFLAG c++98 was changed to c++11. - CFLAG -pedantic-errors was added so that non-ISO C now throws errors. - _XOPEN_SOURCE feature test macro added and set to 600 to expose SUSv3 and c99 definitions in modules that required them. - Fixed tests (and bootstrap daemon logging) that were failing due to the altered build flags. - Avoid string suffix misinterpretation; explicit narrowing conversion. - Misc. additions to .gitignore to make sure build artifacts don't wind up in version control.
2017-01-04Add secure memcmp and memzero implementation.Diadlo
Implementation mostly taken from libsodium utils. Fix #347
2016-12-23Release v0.1.2iphydf
2016-12-22Remove tox_options_copy.iphydf
2016-12-22Use `tox_options_set_*` instead of direct member access.iphydf
Also added a `tox_options_copy` function for cloning an options object. This can be useful when creating several Tox instances with slightly varying options.
2016-12-22Improve documentation of crypto_core.iphydf
2016-12-22Wrap all sodium/nacl functions in crypto_core.c.iphydf
2016-12-20Avoid array out of bounds read in friend saving.iphydf
Fixes #345.
2016-12-17Release v0.1.1iphydf
2016-12-16Strengthen the note about ABI compatibility in tox.h.iphydf
We really want to get all clients off this struct. We won't actually remove it until 0.2, but we're going to break ABI compatibility with this in various 0.1.x releases.
2016-12-15Drop an unworking MacroGregory Mullen (grayhatter)
Closes #327
2016-12-14Add option to disable local peer discoveryMaxim Biro
2016-12-14Release 0.1.0.iphydf
Fixes #216.
2016-12-13Fix version compatibility test.sudden6
Also added some test cases for it.
2016-12-13Fix padding in SAVED_FRIEND struct and add test.Robin Lindén
Test covers saving and loading of a Tox instance with a friend added.
2016-12-12Conditionally enable non-portable assert on LP64.iphydf
This only works on LP64. It may fail on Windows, which can be LLP64 (IL32P64).
2016-12-10Fix off by one error in saving our own status message.iphydf