Age | Commit message (Collapse) | Author |
|
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
|
|
It's enabled by default.
|
|
|
|
|
|
Also clarify that passwords can be empty or NULL.
|
|
These are cheap asserts. I've also replaced the fprintf's with
`LOGGER_ERROR` calls.
|
|
They aren't, but it's unclear whether it's structurally impossible.
|
|
|
|
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).
|
|
Details in comments.
|
|
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
|
|
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.
|
|
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.
|
|
tar -jxf expects a file.
|
|
Fixes #363.
|
|
This way we can at least see what fails in which way.
|
|
|
|
|
|
|
|
|
|
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.
|
|
So we can see what went wrong if it fails.
|
|
We still have some non-standard C code in toxcore for now.
|
|
|
|
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).
|
|
This reverts commit 59e2a844f04a8725e8079f854158aa86ef5988b2, and
defines _DARWIN_C_SOURCE in toxcore/network.c
|
|
This one is not allowed to fail and ensures that toxcore can at least be
built for OSX.
|
|
|
|
This reverts commit f3469070fe899e8e4fd88665386a55bad9f77cd8.
|
|
This takes a few seconds but allows us to cover cases that aren't checked
often.
|
|
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.
|
|
- 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.
|
|
|
|
|
|
Implementation mostly taken from libsodium utils.
Fix #347
|
|
|
|
closes #319
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
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.
|
|
Fixes #345.
|