Commit Graph
88 Commits
Author SHA1 Message Date
iphydf 4a2cb37e4b fix: Fix some uninitialised memory errors found by valgrind and msan.
Also added a valgrind build to run it on every pull request. I've had to
disable a few tests because valgrind makes those run infinitely slowly,
consistently timing them out.
2022-01-13 20:15:21 +00:00
iphydf f5f22a5c76 chore: Enable layering check in all c-toxcore build files. 2022-01-12 18:33:13 +00:00
iphydf 73484d8995 cleanup: Use calloc instead of malloc for struct allocations.
`malloc` is used only for byte/int arrays. Also, we no longer allow plain
`void *` allocations. Every allocation should have a real value type.
2022-01-09 22:42:50 +00:00
iphydf 24f49fc917 chore: Fix up a few source code comment and style issues.
Tokstyle no longer allows:
* Includes inside an `extern "C"`
* Comments on function definition and declaration to be different.
* Doxygen comments commenting on other doxygen comments.
2021-12-21 18:14:53 +00:00
iphydf 4746a8b3af cleanup: Remove apidsl; remove crypto_memcmp.
* `crypto_memcmp` was replaced by more specific functions. We never want
  to compare arbitrary amounts of data this way. We use these functions
  to compare key material.
* apidsl has been bothering people, so now we un-bother them. You're
  welcome.
* Added the memlock/unlock functions from the New Group Chats branch.
* Remove some system dependencies in crypto_core_mem.c.
* Renamed UPPERCASE_NAMES to Snake_Camel_Case names.
2021-12-19 19:22:38 +00:00
iphydf f49ea44daa cleanup: Remove crypto_pwhash import.
Vanilla nacl builds won't have toxencryptsave.
2021-12-15 17:16:35 +00:00
iphydf 6b75f8b889 chore: Remove config.h.
This aligns the autotools build with the cmake build, which doesn't have
a config.h file. It also removes the ambiguity of config.h and
other/bootstrap_daemon/src/config.h.
2021-12-15 10:26:50 +00:00
iphydf 5c53e6a30f chore: Add autotools build; exempt crypto_pwhash from tokstyle. 2021-12-13 18:47:45 +00:00
iphydf 30c939e4ab cleanup: Fix some clang-tidy warnings and make them errors.
The android warnings are disabled now because they suggest using
linux-only extensions of libc. Useful for android indeed, but we're
targeting non-android and non-linux systems as well.
2021-12-10 15:21:27 +00:00
iphydf d930ecca4c chore: Run infer static analyser on circle ci builds.
Also running some other analysis that we used to have on Travis.
2021-12-06 20:25:50 +00:00
iphydf 669ea8797b Fix typo: NAC_LIBS -> NACL_LIBS.
This is working, so probably `NACL_LIBS` is entirely useless, but I
can't be bothered to figure out what this was supposed to be, so here we
are.
2020-05-04 19:54:58 +01:00
iphydf f8ab32aaa4 Add a check that we don't have any unused functions.
This check puts all of our code in a C++ anonymous namespace, which is
effectively making all functions `static`. This allows the compiler to
determine that a function is unused, so we can delete it.
2020-05-02 22:00:09 +01:00
iphydf c08b2fb3e2 Remove tokstyle exemptions from build files.
We put some tokstyle exemptions into the source files themselves,
instead. This way we can check some of the code in those files, and more
in the future when tokstyle supports more constructs (like apidsl).

Also: hacked ping_array.api.h to not emit `_array` as parameter names.
We'll need to fix apidsl to do this better. This works for now.
2020-04-16 11:05:08 +00:00
iphydf 11ad5471b9 Use spdx license identifier instead of GPL blurb. 2020-03-14 13:06:19 +00:00
iphydf 605dfe882c Consistently use camel case enum names.
Including in tests and implementation files.
2018-10-09 17:33:37 +00:00
iphydf 49bb43f662 Standardise header guards.
Using the full path including the repo name.
2018-09-14 19:09:10 +00:00
iphydf 473cde24d8 Update copyright to 2018. 2018-08-26 18:57:29 +00:00
iphydf 8739f7fccb Make tox.c unambiguously parseable.
Rules:
1. Constants are uppercase names: THE_CONSTANT.
2. SUE[1] types start with an uppercase letter and have at least one
   lowercase letter in it: The_Type, THE_Type.
3. Function types end in "_cb": tox_friend_connection_cb.
4. Variable and function names are all lowercase: the_function.

This makes it easier for humans reading the code to determine what an
identifier means. I'm not convinced by the enum type name change, but I
don't know a better rule. Currently, a lot of enum types are spelled like
constants, which is confusing.

[1] struct/union/enum
2018-07-05 23:09:28 +00:00
iphydf 957508f698 Remove utils.c and utils.h from toxencryptsave build.
These were deleted earlier.
2018-06-25 20:27:21 +00:00
iphydf 12365a7cc9 Fixes to the imported sodium sources to compile without warnings. 2018-06-25 20:09:53 +00:00
iphydf be797d4b03 Move system header includes from network.h to network.c 2018-05-20 15:42:42 +00:00
iphydf 92ffad1a72 Use nullptr as NULL pointer constant instead of NULL or 0.
This changes only code, no string literals or comments.
2018-01-30 23:35:50 +00:00
iphydf 6e0ac337c9 Avoid clashes with "build" directories on case-insensitive file systems. 2018-01-28 15:17:34 +00:00
iphydf 42636861d8 Publish a single public BUILD target for c-toxcore. 2018-01-22 21:18:24 +00:00
iphydf 52778aed93 Make BUILD files more finely-grained.
This allows us to precisely see which libraries depend on which and lets
us split them up more, if necessary.
2018-01-21 19:44:09 +00:00
iphydf 0a5be3cbc5 Use C99 standard in bazel builds. 2018-01-18 21:52:31 +00:00
iphydf 18a33169b8 Add bazel build scripts for c-toxcore.
This allows us and users to reproducibly build verified versions of the
library with checksums. It will power the toktok-stack continuous build
with checked-in checksums at specific git revisions.
2018-01-18 16:11:52 +00:00
iphydf d26f0eb3bc Change toxencryptsave API to never overwrite pass keys. 2017-12-29 23:24:54 +00:00
Diadlo 0542ffa2db Adjust docs of few toxencrypt function to the code
Add correct information about behaviour if input pointer is NULL

Fix #590
2017-10-27 00:29:25 +02:00
iphydf 8d81c5625d Implement missing TES constant functions.
Fixes #503.
2017-03-30 20:18:00 +00:00
iphydf 8f96ca6d86 Update license headers and remove redundant file name comment.
"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-19 00:01:44 +00:00
Sergey 'Jin' Bostandzhyan 3f24f04876 Setup autotools to read .so version info from a separate file
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-18 11:20:07 +01:00
iphydf 6480765222 Clarify that the pass key new function can fail.
Also clarify that passwords can be empty or NULL.
2017-01-12 01:09:44 +00:00
iphydf 8f1dbaa2c5 Set up autotools build to build against vanilla NaCl.
Fixes #363.
2017-01-08 15:27:26 +00:00
iphydf 2328cb74ab Improve documentation of crypto_core. 2016-12-22 10:26:59 +00:00
iphydf ce29c8e7ec Wrap all sodium/nacl functions in crypto_core.c. 2016-12-22 10:26:59 +00:00
iphydf c5ced9b2d8 Remove unused get/set salt/key functions from toxencryptsave. 2016-12-19 15:48:24 +00:00
Zetok Zalbavar 4733f849fa docs(TES): correct docs to reflect how many bytes fns actually require 2016-12-17 19:45:43 +00:00
iphydf bbdd798256 Fix unresolved reference in toxencryptsave API.
Also, make sure this won't happen again by checking for it in
format-source.
2016-12-14 11:35:43 +00:00
iphydf 4cf69996cc Add apidsl file for toxencryptsave.
This breaks the toxencryptsave API. It hides the Tox_Pass_Key struct
definition.
2016-12-13 14:24:40 +00:00
Maxim Biro 697530af3b Improve toxencryptsave documentation 2016-12-09 03:01:36 -05:00
Gregory Mullen (grayhatter) 51139a080c v0.0.0 => v0.0.1 2016-09-28 12:12:39 -07:00
iphydf a9fbdaf46b Do not use else after return.
http://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code
2016-09-02 11:02:56 +01:00
iphydf 77db27331e Sort #includes in all source files. 2016-09-01 16:35:46 +01:00
iphydf 633da98ae6 Add braces to all if statements. 2016-08-31 20:04:16 +01:00
iphydf 459f8f2013 Check code formatting on Travis.
We run astyle on Travis and check if there is a diff. The build terminates if
git finds a difference.
2016-08-12 01:00:00 +01:00
Roman Yepishev b0e720846f Add missing files so that archive for make dist is complete 2016-02-26 22:58:13 -05:00
Gregory Mullen (GrayHatter) d552cd6e24 lets define this correctlly instead 2016-02-13 20:56:15 -08:00
Gregory Mullen (GrayHatter) 9628f9d171 added the dropped ; 2016-02-13 20:53:30 -08:00
Gregory Mullen (GrayHatter) 58ebf7a5b6 added versioning to toxencryptsave 2016-02-13 20:50:16 -08:00