Commit Graph

5947 Commits

Author SHA1 Message Date
Jeff Becker
a45f92dca7
use random good path for outbound traffic so that it uses an even spread accross
all paths
2020-05-23 16:07:20 -04:00
Jeff Becker
382e4215a8
path testing interval increase to reduce bandwidth use 2020-05-23 16:07:20 -04:00
Jeff Becker
00143e63f4
put replay filters on transit hops to reduce retransmissions. 2020-05-23 16:07:20 -04:00
Jeff Becker
114bdd5ce5
add move and copy constructors/assigment operators to ip_address 2020-05-23 16:07:20 -04:00
Jeff Becker
3eb006f78c
iwp/libuv cleanup: remove llarp_pkt_list and all users of it as it's broke 2020-05-23 16:07:19 -04:00
Jeff Becker
6af498092b
exit traffic via loki addresses 2020-05-23 16:07:19 -04:00
Jeff
1884d17e9d
Merge pull request #1290 from jagerman/deb-ci-snapshots
Drone static build and deb uploads
2020-05-23 15:13:05 -04:00
Jason Rhinelander
8851766c5d macos static build & upload 2020-05-23 14:21:05 -03:00
Jason Rhinelander
a484ccffc2 static curl build fixes
- fix ldap disabling flag
- disable a ton of protocols (include ldap, properly)
- remove INSTALL_COMMAND (the default seems to work fine)
- disable --quiet so we can see the configuration summary
2020-05-23 14:02:04 -03:00
Jason Rhinelander
cf447dc3a4 Build (and upload) debs by merging into the deb branches
Similar to the static files, the debs also end up under
builds.lokinet.dev/deb.
2020-05-23 11:33:50 -03:00
Jason Rhinelander
f54beadaa9 Add tar+upload to builds.lokinet.dev of static build
Relies on an SSH_KEY secret being set in the repository.

Also move the linked library check to a bash script because escaping a
value in jsonnet (escape once) that gets passed through yaml (escape
twice) and then bash (escape again) is too painful.
2020-05-23 00:36:30 -03:00
Jason Rhinelander
861f83c9cc drone tweaks
- add some comments
- exclude commits to the debian/ubuntu branches from getting built
- disable "Updating man-db" which chews up several seconds during
package install
2020-05-23 00:32:00 -03:00
Jeff
437895ca36
Merge pull request #1289 from jagerman/merge-master
Merge master
2020-05-22 07:28:40 -04:00
Jason Rhinelander
5b7d194ff1 Merge remote-tracking branch 'origin/master' into dev 2020-05-22 00:45:24 -03:00
Jeff
22830fe423
Merge pull request #1287 from loki-project/majestrate-patch-1
change ci badge to use drone
2020-05-21 17:15:18 -04:00
Jeff
636622afdb
Merge pull request #1288 from jagerman/remove-str-crutch
Remove llarp::str(string_view)
2020-05-21 17:01:01 -04:00
Jason Rhinelander
854619f04f Workaround for ghc::filesystem (mac) compatibility 2020-05-21 17:21:04 -03:00
Jason Rhinelander
d05e6716cb Remove llarp::str(string_view)
It was a workaround for pre-C++17 std::string which didn't support
passing a string_view to various functions/operators.  There's only one
place left that needs an explicit conversion, and that's where it is
used as a map key; so just be explicit there and remove llarp::str()
everywhere else.
2020-05-21 17:05:30 -03:00
Jeff
bad6974ee5
change ci badge to use drone 2020-05-21 10:56:29 -04:00
Jeff
d35b246d28
Merge pull request #1286 from jagerman/fix-links-output
Fix the static build linked libs output check
2020-05-21 10:53:22 -04:00
Jason Rhinelander
9e1e11825e Fix the static build linked libs output check
- The `grep` had a typo of `-e` instead of `-E` which made it not work

- Made the command actually fail the pipeline if unwanted linked libs
were found.

- Print in green if everything is okay.

- Add librt.so to the whitelist
2020-05-21 11:47:05 -03:00
Jason Rhinelander
7d5a99d820
Merge pull request #1284 from majestrate/toggle-lto-2020-05-20
add WITH_LTO option to disble lto on compile time
2020-05-20 20:45:36 -03:00
Jeff
b885f924e8
Merge pull request #1285 from jagerman/bye-bye-travis-ci
Remove travis-ci
2020-05-20 19:45:14 -04:00
Jason Rhinelander
11342b1d9f Remove travis-ci
We don't have much left there that works -- the one useful build (s390x)
errors out with a no available disk space error, so just give up on it.
2020-05-20 20:43:26 -03:00
Jeff
639432c678
Merge pull request #1282 from jagerman/drone-macos
Bunch of crap for macOS
2020-05-20 19:41:14 -04:00
Jason Rhinelander
e4e6fc205e Disable lto for most linux builds
Keeps it on for the first three (sid/release, sid/debug, and clang) and
turns them off for the rest.
2020-05-20 20:35:25 -03:00
Jeff Becker
a6d17dcd16
add WITH_LTO option to disble lto on compile time 2020-05-20 19:29:49 -04:00
Jason Rhinelander
ab02519a40 Add missing quote to static build linked libs test 2020-05-20 19:48:29 -03:00
Jason Rhinelander
3bb24580a4 make format 2020-05-20 19:48:13 -03:00
Jason Rhinelander
a2d46eda1e Colour diff; print error *after* diff, and make it red 2020-05-20 19:18:28 -03:00
Jason Rhinelander
1d11456d26 Move specify CLICOLOR_FORCE=1 to the drone backend 2020-05-20 19:18:28 -03:00
Jason Rhinelander
ebd2142114 Don't use std::optional::value() because f u macos
This replaces all use of std::optional's `opt.value()` with `*opt`
because macOS is great and the ghost of Steve Jobs says that actually
supporting std::optional's value() method is not for chumps before macOS
10.14.  So don't use it because Apple is great.

Pretty much all of our use of it actually is done better with operator*
anyway (since operator* doesn't do a check that the optional has a
value).

Also replaced *most* of the `has_value()` calls with direct bool
context, except for one in the config section which looked really
confusing at a glance without a has_value().
2020-05-20 19:18:28 -03:00
Jason Rhinelander
7f9160bb6e Untangle some interdependencies
macOS doing a shared library build is not working without untangling
some of the interdependencies.  This commit does that, at least enough
to get macOS to compile.

This isn't the cleanest as currently implemented (we have some net/
things in `liblokinet-platform` and some in `liblokinet`, and likewise
ev/vpnio.cpp is in `liblokinet` while the rest of `ev/*` is in
`liblokinet-platform`).
2020-05-20 19:18:28 -03:00
Jason Rhinelander
97088719e0 Avoid reserved __identifiers
Identifier names with `__` in them are reserved for the implementation.
One leading underscore followed by a lower-case letter is fine though
(leading underscore followed by *upper*-case is, however, also
reserved).
2020-05-20 19:18:28 -03:00
Jason Rhinelander
60d704b25d Remove dead code 2020-05-20 19:18:28 -03:00
Jason Rhinelander
f9bbc30c3d IsIPv4Bogon: constexpr array instead of a function-local static vector
The fixed-size array + not needing to do an atomic operation in the
function should allow better compiler optimization.

(And with C++17 the type and size are inferred).
2020-05-20 19:18:27 -03:00
Jason Rhinelander
bdc9c7bfa8 Move IPRange out of net.hpp; free up TruncateV6 etc.
- Move IPRange into its own net/ip_range.hpp

- Move the static net::IPPacket::TruncateV6, etc. functions to free
net::TruncateV6, etc. functions (now from net/ip.hpp instead of
net/ip_packet.hpp).

- Make net::TruncateV6 and net::ExpandV4 constexpr.

- Add IPRange::FromIPv4 factory function (to replace the iprange_ipv4
free function)
2020-05-20 19:18:27 -03:00
Jason Rhinelander
72bf215da4 Move IPPacket header (part 1)
Rename net/ip.{cpp,hpp} to net/ip_packet.{cpp,hpp}.

(Doing this in two commits because I want to repurpose ip.hpp/ip.cpp,
and want git to figure out the history properly).
2020-05-20 19:18:27 -03:00
Jason Rhinelander
be9ddf2ae1 Bring back ghc::filesystem for broke AF macos
macOS doesn't provide `<filesystem>` support when targetting anything
earlier than 10.15.
2020-05-20 19:18:27 -03:00
Jason Rhinelander
4d34ee82c9 Move Catalina build to drone (on lokinet-mini) 2020-05-20 19:18:27 -03:00
Jason Rhinelander
7cb542ea23
Merge pull request #1274 from notlesh/fix-keymanager-test-2020-05-18
Fix various unit tests
2020-05-20 19:16:30 -03:00
Stephen Shelton
ffdeca5378
Initialize all primitive values in Config 2020-05-20 15:54:23 -06:00
Stephen Shelton
807bfc5302
Initialize Config with LoadConfig in all key manager tests 2020-05-20 15:54:23 -06:00
Stephen Shelton
fa6845b206
Use global RC file paths instead of redefining them 2020-05-20 15:54:23 -06:00
Stephen Shelton
ac225eb65e
Testing: explicitly initialize variable 2020-05-20 15:54:22 -06:00
Stephen Shelton
7167b4ad02
Properly initialize config in unit test 2020-05-20 15:54:21 -06:00
Jeff
a43bdef27c
Merge pull request #1280 from jagerman/gcc10
Add gcc-10 build
2020-05-19 19:07:45 -04:00
Jason Rhinelander
b1281cd9d3 Add gcc-10 build
This is temporary (until the `g++` metapackage switches from gcc 9 to
gcc 10).
2020-05-19 17:34:32 -03:00
Jason Rhinelander
110fbe14c9
Merge pull request #1279 from jagerman/curl-fix
Fix cmake curl definition
2020-05-19 01:45:35 -03:00
Jason Rhinelander
604501b07f Fix cmake curl definition 2020-05-18 23:49:30 -03:00