summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2017-01-05Test a few cmake option combinations before the build.iphydf
This takes a few seconds but allows us to cover cases that aren't checked often.
2017-01-05docs(INSTALL): Bring back autotools instructionsZetok Zalbavar
Reverted, since apparently cmake is not supposed to be used for things other than testing/development and causes client build failures. Apparently making it work for clients would require complicating maintenance, which clearly can't be done. This reverts commit 48ddb115995f2bb55a736ae4cc54c70f3d34eeb4.
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-04Only fetch 1 revision from git during Travis builds.iphydf
2017-01-04Add tests to secure memcmp and memzero functions.Diadlo
2017-01-04Add secure memcmp and memzero implementation.Diadlo
Implementation mostly taken from libsodium utils. Fix #347
2017-01-04Add CMakeLists.txt.user to gitignoreDiadlo
2017-01-03Add a separate configure switch for DHT_bootstrapSergey 'Jin' Bostandzhyan
closes #319
2017-01-03Add CircleCI SupportZoff
2017-01-02Fix SSL verification in coveralls.iphydf
2016-12-29Remove .cabal-sandbox option from tox-spectest find line.iphydf
This was just for finding it in toktok-stack, which now uses haskell-stack, and thus no longer has a .cabal-sandbox. We'll just assume that the Makefile properly sets up the path such that tox-spectest is available.
2016-12-28simplify integration as a third-party lib in cmake projectsNils Fenner
The CMAKE_SOURCE_DIR variable points to the top-level directory of a project while we want to point to the top-level directory of the lib. This change simplifies the integration as a third-party lib. We can use CMAKE_CURRENT_SOURCE_DIR or simply "nothing" ('.') to point to the directory where the CMakeLists.txt file resides.
2016-12-23Release v0.1.2iphydf
2016-12-23avoid dereferencing Tox_Optionsiphydf
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-21Use after free reported in #278 occurs because toxav_kill()mannol
calls msi_kill() (toxav.c:180) which frees msi_call instances (msi.c:161) which are then used when call_remove() (toxav.c:1136) is called. This fix prevents call_remove() from calling invalid pointer. Fixes #278
2016-12-20Add test to check if tox_new/tox_kill leaks.iphydf
We create and destroy 20k tox instances and run a single tox_iterate on it. This test is not comprehensive, but provides a simple check to see whether the destruction properly cleans up memory and perhaps other resources.
2016-12-20Avoid array out of bounds read in friend saving.iphydf
Fixes #345.