summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-20Fix libsodium unresolved external symbol errorsMaxim Biro
2017-02-20Fix pthreads in AppVeyor buildMaxim 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-20Only retry failed tests on Circle CI instead of all.iphydf
Retrying all tests is more likely to result in a different set of tests failing the second time. This change makes sure only the failed tests are retried.
2017-01-19Release v0.1.5.iphydf
2017-01-19Limit number of retries to 3.iphydf
2017-01-19Make Travis tests slightly more robust by re-running them.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-18Add tutorial and "danger: experimental" banner to README.iphydf
2017-01-18Clarify how the autotools build is done on Travis.iphydf
2017-01-18decouple version-sync script from cmakeCarsten Brandt
2017-01-18SO versions for cmake and libtoolCarsten Brandt
this updates the version-sync script to generate proper SO versions which will be used by cmake and libtool to create version symlinks on the system when a library is installed as well as setting the SO version in the binary. To see what this does, you have to configure tox with a prefix: ./configure --prefix=/tmp/tox-with-libtool mkdir cbuild && cd cbuild && cmake -DCMAKE_INSTALL_PREFIX=/tmp/tox-with-cmake .. Then run `make && make install`. in both instances you should see the following installed in `lib/`: libtoxcore.so -> libtoxcore.so.1.4.0 libtoxcore.so.1 -> libtoxcore.so.1.4.0 libtoxcore.so.1.4.0 inside the binary the soname should be the one with .1 and it should not contain the full version: $ objdump -p libtoxcore.so.1.4.0 | grep SONAME SONAME libtoxcore.so.1
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-16Make building `DHT_bootstrap` in cmake optional.iphydf
It's enabled by default.
2017-01-13Fixed FreeBSD build failure due to undefined MSG_NOSIGNAL.Yuri
2017-01-12Release v0.1.4.iphydf
2017-01-12Clarify that the pass key `new` function can fail.iphydf
Also clarify that passwords can be empty or NULL.
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-10Explicitly check if compiler supports C99Sergey 'Jin' Bostandzhyan
c-tocxocre will start using C99 code, so check if the compiler supports it and abort in configure with an error if it does not. closes #413
2017-01-08Add soversion to library files to generate proper symlinksCarsten Brandt
As mentioned in https://github.com/TokTok/c-toxcore/issues/359#issuecomment-270710463 the current CMake build does not generate version symlinks for library .so files. This is because the version is not specified for library targets. See - https://cmake.org/cmake/help/v3.0/prop_tgt/SOVERSION.html#prop_tgt:SOVERSION - https://cmake.org/cmake/help/v3.0/prop_tgt/VERSION.html#prop_tgt:VERSION Use PROJECT_VERSION_MAJOR and MINOR for SOVERSION because api may break from 0.1 to 0.2 in the 0.x release cycle.
2017-01-08added comment to magic code in CMakeLists.txtCarsten Brandt
This part has been added in https://github.com/TokTok/c-toxcore/commit/67ac9138ab773728f0a8d1093aaa80d40a9f9efc Took the commit message to provide a comment in the file.
2017-01-08Fix NaCl build: tar was called incorrectly.iphydf
tar -jxf expects a file.
2017-01-08Set up autotools build to build against vanilla NaCl.iphydf
Fixes #363.
2017-01-07Run windows tests but ignore their failures.iphydf
This way we can at least see what fails in which way.
2017-01-07Don't use `git.depth=1` anymore.iphydf
2017-01-07Fix issues in crypto_test.cendoffile78
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-06Add logging callback to messenger_test.iphydf
So we can see what went wrong if it fails.
2017-01-06Warn on -pedantic, don't error yet.iphydf
We still have some non-standard C code in toxcore for now.
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-06Add an OSX build that doesn't run tests.iphydf
This one is not allowed to fail and ensures that toxcore can at least be built for OSX.
2017-01-05Release v0.1.3.iphydf
2017-01-05Revert "Portability fixes"endoffile78
This reverts commit f3469070fe899e8e4fd88665386a55bad9f77cd8.