Commit Graph

4695 Commits

Author SHA1 Message Date
zugz (tox)
d5d6e3f60f
Combine last_reported_announced with last_seen in Onion_Friend
This resets friend search rate in two circumstances where it should be
reset:
* When the friend gets a dhtpk packet to us;
* When a friend connection to the friend goes down.
2018-09-25 00:08:08 +02:00
iphydf
b694dbc223
Add Cirrus CI configuration.
This CI can run Bazel tests, because it supports IPv6. This is nice,
because now we can run IPv6 tests on every PR.
2018-09-24 22:00:17 +00:00
iphydf
8bb5be3525
Run tests on Appveyor (Windows native build).
We ignore the errors for now.
2018-09-23 00:17:06 +00:00
iphydf
9c7c924e3c
Run UBSAN (undefined behaviour sanitizer) on Circle CI.
This runs in the same build as asan, so "asan" now stands for both asan
and ubsan.
2018-09-22 12:27:58 +00:00
Mick Sayson
f87f8719d0
Improve cmake build for MSVC. 2018-09-22 11:14:45 +00:00
Mick Sayson
dc0b2e7919
Fix using uninitialized mutex on call end. 2018-09-21 20:44:24 +00:00
zugz (tox)
e43b2eadc0
Send rejoin packets on conference disconnection
We were mistakenly not making a rejoin attempt on freezing connections
due to all closest connections going down. This fixes that, and tweaks
the test. I've still only done tens rather than hundreds of tests, but
I'm fairly confident that the conference test now consistently passes.
2018-09-20 22:30:28 +02:00
yangfl
d3d5b701cb
Fix typos 2018-09-19 18:16:13 +00:00
iphydf
758bd9aa87
Fix yamllint test (it's gone from bazel, add a new one). 2018-09-19 09:55:58 +00:00
iphydf
2abc00693c
Format yaml files according to yamllint's requirements.
Also remove branch filter for appveyor. We only have a single branch in
every repository. Development happens in forks.
2018-09-16 14:47:23 +00:00
hugbubby
889e89b3dd
Fixed a silly boolean practice using uint8_t 2018-09-16 09:13:03 -05:00
iphydf
e0f9f2f3a7
Use most recent version of Bazel (0.17.1). 2018-09-14 22:19:28 +00:00
iphydf
49bb43f662
Standardise header guards.
Using the full path including the repo name.
2018-09-14 19:09:10 +00:00
iphydf
7821cd8412
Use C++ style casts in C++ code. 2018-09-14 14:08:27 +00:00
hugbubby
0688877fba
Use run_auto_test fixture in typing_test.c 2018-09-14 13:51:41 +00:00
iphydf
9f1757e3a5
Assert that we don't kill tox before killing toxav.
Possibly this is what's happening in #1149.
2018-09-10 18:51:51 +00:00
iphydf
33c2f5138f
Always use the passed logger (from Messenger) in msi_kill. 2018-09-08 22:47:32 +00:00
iphydf
93cc178cfe
Add tool to find directly recursive calls in toxcore.
We should avoid recursion, as it makes reasoning about stack growth
harder. This tool shows (currently) 4 (non-tail) recursive functions, at
least 2 of which are easy to fix.
2018-09-08 22:08:34 +00:00
iphydf
ab4477d931
Fix typo: tcp_replays -> tcp_relays. 2018-09-08 20:07:12 +00:00
iphydf
d9541d542c
Use (void) for empty parameter lists in C.
Because `()` means "some unknown number of parameters".
2018-09-08 10:59:30 +00:00
iphydf
08cc4184a1
Add messenger state plugin system.
This is for modules like groups to hook into to have their own state
management in the `tox_savedata` format.
2018-09-07 12:22:10 -05:00
iphydf
1cd1836917
Avoid recursion in ip_is_lan and ip_is_local. 2018-09-06 20:07:23 +00:00
iphydf
f59e6ff0cb
Ignore "unused-result" warning in super_donators code. 2018-09-06 13:28:08 +00:00
zugz
1b2322284f
Add mechanism for recovering from disconnections in conferences
* add freezing and unfreezing of peers
  * add rejoin packet
  * revise handling of temporary invited connections
  * rename "peer kill" packet to "peer leave" packet
  * test rejoining in conference test
  * use custom clock in conference test
2018-09-05 20:56:26 +02:00
iphydf
6872c14e1a
Avoid use of global mutable state in mono_time on win32.
This uses a trick to get read-write access to `this` from a `const`
member function, similar to C++ `mutable`, but uglier.
2018-09-03 20:03:47 +00:00
iphydf
d296490a74
Use code font for tool names and flags in INSTALL.md. 2018-09-02 21:36:41 +00:00
Maxim Biro
1a6e8b908b
Fix login issue on Travis-CI FreeBSD build 2018-09-01 06:35:17 -04:00
zugz (tox)
9764285ab1
Use test clock in run_auto_test tests and dht test 2018-08-31 17:08:35 +02:00
Maxim Biro
2e4cae692e
Use our own logging facility to log toxcore's logs 2018-08-30 22:44:18 +00:00
cotox
deb82006e5
Feature bootstrap trace/debug log output
Don't know why codes with macro dosen't work.
As it's only a few expensive, just code it without macro for now.

\#if (MIN_LOGGER_LEVEL == LOG_TRACE) || (MIN_LOGGER_LEVEL == LOG_DEBUG)
    fprintf(stderr, "[%s] %s:%d(%s) %s\n", strlevel, file, line, func, message);
\#endif
2018-08-30 22:44:18 +00:00
iphydf
36f0caaf07
Simplify configure.ac for faster autotools build.
* Remove ability to disable logging.
* Remove unused `NCURSES_FOUND`.
* Remove checks for stdbool and existence of int types.
  These mostly exist, and if they don't, we'll just fail to compile.
* Remove checks for various functions.
* Add check for `explicit_bzero` and `memset_s`.
2018-08-30 22:15:04 +00:00
iphydf
730e4cfe82
Remove the use of CLOCK_MONOTONIC_RAW.
The raw clock isn't subject to NTP adjustments. It may run less
accurately than the regular monotonic clock. I see no reason why raw
would be better for tox than the normal one.

This avoids one piece of OS-specific ifdef'd code.
2018-08-30 21:57:35 +00:00
iphydf
a5cd4764aa
Clean up add_to_list function a bit.
Can't trivially get rid of recursion here, since it's a non-linear
recursive function.
2018-08-30 21:33:15 +00:00
iphydf
515196dfa2
Include necessary opencv2 header on OSX.
opencv2 is deprecated and homebrew ships with opencv3 now.
2018-08-30 21:11:17 +00:00
Robin Lindén
18117581bd
Release 0.2.7 2018-08-30 22:43:11 +02:00
zugz (tox)
66ab386d6f
try ipv6 connections even after udp timeout
Also adds a test (auto_reconnect_test) which fails without this change.
2018-08-27 22:27:01 +02:00
iphydf
0075374f2b
Make ip_is_lan return bool instead of 0/-1.
This inverts the truthiness of the return value. Previously, 0 meant
`true` and -1 meant `false`. Now, `true` (1) means `true` and `false` (0)
means `false`.
2018-08-27 12:54:46 +00:00
Maxim Biro
25a477a7e4
Enable FreeBSD Travis-CI build 2018-08-27 05:05:10 -04:00
Maxim Biro
53c1989eba
Fix FreeBSD VM on Travis not shutting down 2018-08-27 01:50:47 -04:00
iphydf
9a70a2c185
Use bool in place of 0/1 int values. 2018-08-26 20:58:37 +00:00
iphydf
5352f48301
Make the tsan build fail instead of swallowing its errors.
We'll make it non-required, but we want to know about these failures so
we are incentivised to fix them.
2018-08-26 20:23:27 +00:00
zugz (tox)
01e2cc55cb
Add support for setting a custom monotonic time function in mono_time 2018-08-26 22:05:37 +02:00
iphydf
acc19a202f
Format crypto_core.c.
Changes:
* 100 columns maximum (not strict, can be a bit more sometimes).
* No space after cast.
2018-08-26 19:15:44 +00:00
iphydf
473cde24d8
Update copyright to 2018. 2018-08-26 18:57:29 +00:00
iphydf
368e7e37bc
Fix test class name for mono_time_test.
Was: Util, should be: MonoTime.
2018-08-26 18:18:47 +00:00
iphydf
a1035cf814
Add some tests for ping_array.
No timeout test here yet, because we don't yet have the ability to
manipulate time at will, so we would have to actually sleep.
2018-08-26 17:32:19 +00:00
iphydf
64ddb7fff2
Call abort instead of exit on test failure.
This raises a signal, so we can more easily catch it with gdb.
2018-08-26 13:18:43 +00:00
iphydf
80f8458146
Run save_compatibility_test in the autotools build. 2018-08-25 23:25:15 +00:00
iphydf
17e8195a8f
Fix the PORT_ALLOC failure of save_compatibility_test.
`tox_new_log` has a much larger range of ports it can select from.
2018-08-25 22:28:38 +00:00
iphydf
e99c13120f
Change while-loop to for-loop to express for-each-frame.
* Assignments can't be used as expressions, therefore `while` loops
  should not be used as a `for-each` construct. Use `for`, instead.
2018-08-25 20:39:24 +00:00