Commit Graph

491 Commits

Author SHA1 Message Date
Jeff
1a145ea515
Merge pull request #697 from majestrate/fix-freebsd-pthread
typo fix
2019-07-12 09:50:37 -04:00
Jeff Becker
8c67f14838
typo fix lel 2019-07-12 08:31:37 -04:00
Jeff
a768a9ad59
Merge pull request #695 from majestrate/fix-freebsd-pthread
fix freebsd build for real
2019-07-11 13:29:48 -04:00
Jeff Becker
ebab9b8905
fix freebsd build for real 2019-07-11 11:07:16 -04:00
Jeff
8e6c830641
Merge pull request #691 from majestrate/fix-freebsd-pthread
fix freebsd build
2019-07-11 10:00:37 -04:00
Jeff Becker
b207990d01
use elseif 2019-07-11 07:27:00 -04:00
Jeff Becker
4206132ea1
use correct function from free bsd pthread 2019-07-10 18:03:52 -04:00
Jeff Becker
e0d8e34369
fix freebsd build 2019-07-10 12:46:21 -04:00
Michael
488695047f
Remove redundant else blocks 2019-07-09 22:54:46 +01:00
Jeff Becker
8ac9ef6f18
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-07-09 09:48:15 -04:00
Jeff Becker
b9bcc2b775
make threadpool consice 2019-07-09 09:47:24 -04:00
Michael
b01e5accbb
Add function to set threadname, and use from threadpool impl 2019-07-09 01:06:22 +01:00
Jeff Becker
58005c5f81
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-07-08 10:17:21 -04:00
Michael
a2326efa37
Revert "Merge pull request #679 from tewinget/revert-config-refactor"
This reverts commit 2996a7f29c, reversing
changes made to 10df3bd4b3.
2019-07-06 14:46:25 +01:00
Jeff Becker
ec1910b8ca
remove threadpool.hpp
make link layer not use null lock and null mutex
2019-07-02 15:01:14 -04:00
Jeff Becker
fc8f58822c
remove threadpool.hpp
make link layer not use null lock and null mutex
2019-07-02 15:00:24 -04:00
Jeff Becker
04c9c61dfb
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-07-02 11:25:10 -04:00
Thomas Winget
d044d60101 Reverts #678 #677 and #669 with hashes:
10df3bd
766ece8
979f095

See those commits for further details
2019-07-02 11:02:20 -04:00
Michael
8c2d67f8f1
Fix tests 2019-07-02 10:06:29 +01:00
Michael
b51f7d8015
Convert to load config in config loader 2019-07-02 01:58:39 +01:00
Michael
bd78471dae
Move ini parser as well 2019-07-02 01:58:38 +01:00
Michael
80d1e4aef9
Add in-source version of std::filesystem::permissions 2019-07-02 00:01:25 +01:00
Jeff Becker
d6ec528a72
start work on seperating ips out of endpoint 2019-07-01 10:56:56 -04:00
Jeff Becker
64e9622270
start seperating tun and endpoint 2019-07-01 09:44:25 -04:00
Jeff Becker
4e355327d8
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-06-26 09:12:19 -04:00
Jeff Becker
c7e9118bb6
fix fs stuff 2019-06-24 15:34:30 -04:00
Jeff Becker
6c1a04e804
reset errno and make unit tests pass 2019-06-24 13:36:25 -04:00
Jeff Becker
b178aa1a36
make it compile and make it secure files 2019-06-24 13:08:36 -04:00
Jeff Becker
ba6f9ed2d7
continue using llarp::openfilestream 2019-06-24 12:51:29 -04:00
Jeff Becker
bf3212820b
finish up issue 17 2019-06-24 12:48:55 -04:00
Jeff Becker
e265661adb
try fixing issue number 17 (not done) 2019-06-24 12:48:48 -04:00
Jeff Becker
54a098356d
continue using llarp::openfilestream 2019-06-24 12:39:03 -04:00
Jeff Becker
38d5a4855a
finish up issue 17 2019-06-24 12:26:15 -04:00
Jeff Becker
aad71c2022
try fixing issue number 17 (not done) 2019-06-24 11:51:58 -04:00
Jeff Becker
cd05fa6150
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-06-18 08:46:35 -04:00
Rick V
0b1e3ce959
fix windows native console 2019-06-17 23:38:10 -05:00
Rick V
c6c31efec9
make format 2019-06-17 23:29:54 -05:00
Rick V
97fad8194c
fix legacy windows console logger 2019-06-17 23:29:25 -05:00
Jeff Becker
227f561ffc
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-06-14 08:11:16 -04:00
Michael
95646d2d87
Publish metric tags 2019-06-13 23:09:58 +01:00
Michael
7d4126407c
Introduce tags for metrics 2019-06-13 22:58:17 +01:00
Michael
bb0c05a2ca
Introduce tag types 2019-06-13 22:58:16 +01:00
Jeff Becker
6714b06470
json logging option 2019-06-13 09:26:34 -04:00
Jeff Becker
eb10638497
Merge branch 'master' into ipv6-tun 2019-06-12 09:21:37 -04:00
Jeff Becker
3174e581b7
make format 2019-06-12 09:15:02 -04:00
Jeff Becker
584cc61f8f
Merge remote-tracking branch 'origin/master' 2019-06-12 09:11:22 -04:00
Michael
d244674339
Unfuck integer metrics 2019-06-11 21:46:51 +01:00
Michael
0a5ac10880
Unfuck metrics 2019-06-11 21:46:51 +01:00
Michael
a1ef2ca342
Tidy up metric code 2019-06-11 21:38:31 +01:00
Jeff Becker
2403ab8f86
ipv6 2019-06-11 12:44:05 -04:00
Jeff Becker
d95d03593a
put deltas in timestamps 2019-06-10 09:20:48 -04:00
Michael
3822fe2341
Create util::MemFn and memFn to make binding callbacks easier 2019-06-02 22:19:10 +01:00
Michael
8323725509
Initial No-Op Crypto implementation 2019-05-29 09:46:34 +01:00
Michael
3f53965b71
Remove all use of IBEncodeMessage 2019-05-24 03:01:36 +01:00
Jeff Becker
c355d37beb
use limited size queue for logic and singled threaded threadpool 2019-05-22 13:18:19 -04:00
Jeff
28623766c1
Merge pull request #617 from majestrate/master
changes after consensous
2019-05-22 08:06:26 -04:00
Michael
7ca0927d8f
Replace dict_reader/list_reader with version which doesn't involve indirection 2019-05-22 01:36:03 +01:00
Jeff Becker
b86e834e1b
Merge remote-tracking branch 'origin/master' 2019-05-20 08:25:57 -04:00
Jeff Becker
73f1d34239
make format and revert stupid alloc changes 2019-05-20 08:19:33 -04:00
Michael
dd8a93a400
Apply rule of zero to code base 2019-05-19 23:11:07 +01:00
Jeff
65766a501f
Merge pull request #610 from michael-loki/more_thread_pool
Convert more things to use thread::ThreadPool
2019-05-19 17:16:14 -04:00
Michael
636bb2a17d
Convert router diskworker to use a modern ThreadPool 2019-05-18 23:04:08 +01:00
Michael
19578fa8fc
Fix ASAN build 2019-05-18 16:34:03 +01:00
Michael
f734ffeae4 Fixup MSVC build 2019-05-15 23:03:24 +01:00
Jeff Becker
5d388bc9f2
meh 2019-05-15 11:54:26 -04:00
Jeff Becker
24a27df402
i am a potatoe 2019-05-11 10:56:11 -04:00
Jeff Becker
d2ef6fc77b
just use new/delete :^) 2019-05-11 10:34:42 -04:00
Jeff
bae926d3d6 fix osx compile 2019-05-10 12:18:26 -04:00
Jeff Becker
faacc86eb5
qualify 2019-05-10 07:52:50 -04:00
Jeff Becker
11b9aea4a7
fix 2019-05-10 07:49:56 -04:00
Jeff Becker
018dd008ec
add custom single threaded allocator for utp buffers
fix up test net stuff
2019-05-09 16:28:56 -04:00
Jeff Becker
a0c9d912f5
make it compile
(faaaaaaaaaaaaaaaAAAAAAAAAaaaaaAAaaaaaaaaAAaaaAAAAAAAAaak)
2019-05-09 11:39:12 -04:00
Jeff Becker
767b521325
log node name 2019-05-09 11:36:14 -04:00
Jeff Becker
9b379a1659
add explicit constructor 2019-05-08 11:42:38 -04:00
Jeff Becker
9d7ff9b35e
compare based on pointer when one or both are nullptr 2019-05-08 11:09:57 -04:00
Jeff Becker
34533db620
add urgent build that builds over an existing path for an endpoint 2019-05-07 08:31:34 -04:00
Michael
1744ae7686
Tidy up service endpoint a bit more 2019-05-07 09:29:47 +01:00
Jeff Becker
92ad98be8b
refactor hooks to be have more c++isms
make path build timeouts use log level warning
2019-05-05 09:51:48 -04:00
Jeff Becker
fc3bccb161
revert 2019-05-03 10:07:17 -04:00
Jeff Becker
0cc8517bca
add error messages to ini parser and catch base cases. 2019-05-03 09:39:25 -04:00
Jeff Becker
d423ee02d2
use shared_ptr 2019-05-03 09:15:03 -04:00
Jeff
01906c5d94 Merge remote-tracking branch 'origin/master' 2019-04-28 13:33:27 -04:00
Jeff
81bf00f9bc
Merge pull request #566 from majestrate/on-off-patch
add on/off values
2019-04-28 07:49:59 -04:00
Jeff Becker
2332294258
add on/off values 2019-04-28 07:49:36 -04:00
Jeff Becker
49439d80c1
add on/off values 2019-04-28 07:48:29 -04:00
Jeff Becker
fea64eaf12
handle subdomains 2019-04-26 08:14:29 -04:00
Jeff Becker
d20ba9ceab
handle subdomains 2019-04-26 08:11:34 -04:00
Michael
9ee525a006
Fix shadowing warnings 2019-04-26 00:21:19 +01:00
Jeff Becker
0529e45ebe
more 2019-04-25 13:15:56 -04:00
Jeff Becker
af1529fa72
Merge remote-tracking branch 'origin/master' 2019-04-25 07:25:22 -04:00
Michael
4143472a17
Add cmake module to target a library as 'system', and fix a few warnings 2019-04-25 00:27:31 +01:00
Jeff Becker
3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format 2019-04-22 08:25:25 -04:00
michael-loki
0195152e05 Allow builds on MSVC (#518)
* Import cxxopts to replace getopts usage

* Add visual studio build things

* Fixup abseil build parts

* Replace __attribute__((unused)) with ABSL_ATTRIBUTE_UNUSED

* Fixup minor windows build issues

* Replace getopts usage

* Temporarily fixup .rc files

* More minor windows fixes

* Get a working build

* Revert .rc files

* Revert changes to nodedb
2019-04-19 13:24:33 -05:00
Michael
c39c931d03
Remove IStateful virtual inheritance 2019-04-19 16:10:26 +01:00
Jeff
e10edfd0b8
Merge pull request #531 from majestrate/master
bundle RC in build record to improve build success rates.
2019-04-18 07:52:19 -04:00
Jeff Becker
94eb37d490
bundle RC in build record to improve build success rates. 2019-04-17 15:05:54 -04:00
Jeff
bfdbf634dd
Merge pull request #523 from majestrate/master
recent stability pokes
2019-04-16 13:55:10 -04:00
Jeff Becker
9503cc66f0
add disk worker based file flusher logger
make format

remove package.json
2019-04-16 09:20:48 -04:00
Michael
544c5f9b61 Move metrics publishers to their own directory 2019-04-14 17:18:32 +01:00
Jeff
5834607997 * don't ban bootstrap nodes with profiling
* less vigorous profiling timeouts
* async remove rc from disk
2019-04-14 07:25:15 -04:00
Rick V
d887004d99
fix warning 2019-04-11 11:32:10 -05:00
Rick V
9a24c46aa6
move these into a read-write data segment 2019-04-11 10:53:21 -05:00
Jeff Becker
5399b93270
make format and readd win32 console color logging 2019-04-11 11:36:20 -04:00
Jeff Becker
4948fd50f8
be consice 2019-04-11 09:25:42 -04:00
Jeff Becker
40f8434851
syslog 2019-04-11 09:13:29 -04:00
Jeff Becker
9e24557429
refactor logger 2019-04-11 08:58:23 -04:00
Jeff Becker
48254c8ea0
make it compile 2019-04-08 08:05:54 -04:00
Michael
6f23cbe176
Add JSON publisher 2019-04-07 18:55:21 +01:00
Rick V
1fb3a0bf62
stderr is unbuffered by default? 2019-04-03 01:14:15 -05:00
Rick V
120e24ee0a
flush stream after each write 2019-04-02 23:56:16 -05:00
Michael
6b5a688e08
Fix Catalog.Iterator test failure 2019-03-29 22:14:22 +00:00
michael-loki
1fddf59743
Flush output stream after publish
Fixes #458
2019-03-29 11:52:28 +00:00
Jeff Becker
bfcaaa87be
check for empty buffer 2019-03-28 10:32:15 -04:00
Jeff Becker
74534c22b8
mark profile success on outbound connection success, add default case in metrics 2019-03-26 11:27:14 -04:00
Rick V
3c21db9316 lul 2019-03-25 23:38:57 +00:00
Michael
8f0f6dde9d
Include What You Use 2019-03-25 23:16:28 +00:00
Michael
f2c5d32399
Metric collection subsystem 2019-03-25 20:36:23 +00:00
Michael
acfff4ca5c
Threading structures for metrics 2019-03-25 20:36:23 +00:00
Rick V
ad966342d9
make windows happy 2019-03-18 16:12:42 -05:00
Jeff Becker
2218749134
Merge remote-tracking branch 'origin/staging' into staging 2019-03-07 17:58:29 -05:00
Jeff Becker
6a09348c47
today's work 2019-03-07 17:53:36 -05:00
Ryan Tharp
75c7c12502 fix linux gcc 7.3 issues, feeling like #include <condition_variable> should be in one of the threading headers tho 2019-03-07 21:45:37 +00:00
Jeff Becker
eceb55623c
more 2019-03-07 10:17:29 -05:00
Jeff
1a09a12ee0
Merge branch 'staging' into absl_mutex 2019-03-05 17:06:23 -05:00
Michael
61f3273dc4
Add threading annotations and fix potential deadlocks 2019-03-04 00:03:52 +00:00
Michael
c5a129ddff
Convert to use abseil synchronisation primitives 2019-03-03 21:20:38 +00:00
Michael
ab83d3d54e
Fixup build on debian 2019-03-03 21:17:03 +00:00
Michael
31441b46dc
Convert from rapidjson to use nlohmann::json 2019-03-02 02:32:50 +00:00
Ryan Tharp
6b763807e6 add missing include to make linux gcc 7.3 happy 2019-02-27 00:03:25 +00:00
Jeff
db504e8044
Merge pull request #354 from despair86/dev
regression fixes
2019-02-26 17:40:48 -05:00
Rick V
975b4ca743
clang-format 2019-02-26 15:48:03 -06:00
Rick V
d67eb40697
require full C++11 toolset for mingw-w64 (see loki-project/loki #441) 2019-02-25 21:06:02 -06:00
Rick V
e94d1ebb4f
combine these 2019-02-25 17:35:37 -06:00
Rick V
f0ce9a0afb
try fixing threading bug
XXX: get jeff to go over threadpool code for overview
2019-02-25 16:15:01 -06:00
Michael
e4cf1f245c
Convert most of llarp to use Printer 2019-02-24 23:46:44 +00:00
Michael
e6e19369e9
Create Printer - A general-purpose, stateful printer class 2019-02-24 23:46:44 +00:00
Michael
95a5c386fe
Initial type trait work 2019-02-24 23:46:44 +00:00
Michael
b80ecfa4d6
Use string_view for string_view 2019-02-24 23:46:44 +00:00
Michael
4fb2b39f74
Format changes 2019-02-22 17:18:54 +00:00
Michael
c6e6bdb90f
Fix for windows just being the Worst 2019-02-20 22:09:29 +00:00
Michael
4132f883a7
Make libabyss mandatory 2019-02-20 22:08:49 +00:00
Michael
de13ab3adc
Fix warning in bencode 2019-02-20 22:05:40 +00:00
Ryan Tharp
547cf96606 make macos 10.12 happy 2019-02-20 05:46:23 -08:00
Ryan Tharp
2b433f046d
Oh it was a typo 2019-02-19 16:13:16 -08:00
Ryan Tharp
8e000c8321
linux gcc 7.3 support 2019-02-19 16:10:19 -08:00
Ryan Tharp
f06b275193
make macos happy 2019-02-19 16:03:20 -08:00
Ryan Tharp
413843bab1
Merge branch 'staging' into dev 2019-02-19 14:10:35 -08:00
Rick V
5a3947ca5c
clang-format 2019-02-18 17:58:12 -06:00
Rick V
0f45e286ff
XXX: the inline string_view constructors *should* be harmless on pre-C++17 platforms...
fix windows build
2019-02-18 17:50:04 -06:00
Ryan Tharp
f247a3623c So lu on linux gcc 7.3 but llu everywhere else? 2019-02-18 02:13:42 -08:00
Ryan Tharp
25d00e2974 Merge remote-tracking branch 'origin/master' 2019-02-18 02:00:36 -08:00
Ryan Tharp
ad91071633 Fix undefined behaviors and misaligned member access 2019-02-18 01:59:33 -08:00
Ryan Tharp
8e51d3a491 fix linux gcc 7.3 error (warning) 2019-02-18 09:39:18 +00:00
Jeff
bbbad826ef
Merge pull request #316 from michael-loki:buffer_obj
Convert llarp_buffer_t to be a class with methods
2019-02-17 16:59:31 -05:00
Michael
a00d6afc5e
Convert llarp_buffer_t to be a class with methods 2019-02-17 13:09:48 +00:00
Michael
a0125ffe86
Move abyss/json to llarp/util/json 2019-02-15 23:43:26 +00:00
Jeff Becker
b5a1637224
make shared lib compile 2019-02-15 17:55:52 -05:00
Michael
656843e9a3
Fix issues on debian 2019-02-12 01:19:38 +00:00
Ryan Tharp
d17383aba6 Merge branch 'cmake_refactor' of https://github.com/michael-loki/loki-network 2019-02-12 00:54:18 +00:00
Jeff
555711b70d
Merge pull request #303 from michael-loki/no_new
Replace usage of new/delete with unique_ptr/stack allocation
2019-02-11 13:38:06 -05:00
Jeff Becker
46222df421
refactor 2019-02-11 12:14:43 -05:00
Michael
67b5d48095
Replace usage of new/delete with unique_ptr/stack allocation 2019-02-11 16:24:05 +00:00
Michael
057365d40c
Fix issues on debian 2019-02-11 00:02:20 +00:00
Jeff Becker
e1fceb3636
fix it (again) 2019-02-08 17:44:21 -05:00
Jeff Becker
66753430ad
fix it 2019-02-08 16:29:56 -05:00
Jeff Becker
e1522faeaa
add introspection rpc endpoint 2019-02-08 14:43:25 -05:00
Jeff Becker
faf8149502
make testnet ini files work 2019-02-07 09:35:02 -05:00
Jeff Becker
fae2b1a444
make it compile on debian and ubuntu 2019-02-07 07:31:14 -05:00
Jeff
1369c3b23c
Merge pull request #283 from despair86/dev
more windows fixes
2019-02-06 21:10:30 -05:00
Rick V
4c19f562f0
A compromise for C++17 ports.
Remove abseil build config for such targets.
Include headers (which should fall through by definition).
Macintosh can go fuck itself.
2019-02-06 19:53:15 -06:00
Rick V
72d0720da0
use c++17 stl on windows
While the absl:: namespace is aliased to std:: in a
standard win32 build, it also needlessly adds the
library to the build process, only to discard most
of it at link time. This also makes the distinction
between Abseil STL and G++ STL more explicit, to avoid
some forms of confusion.

From the product page:
"...We think not: if you look at the preprocessor conditional
structure in our string_view.h you'll see that we are trying
to identify whether your C++ installation has std::string_view.
If you do, absl::string_view is defined only as an alias to the
standard type. If you don't, you get a C++11/C++14 compatible
implementation of the type. This means you can adopt Abseil,
and for types we are b you can use the type from the absl
namespace. As soon as your project is built with the appropriate
compiler/standard library version, we'll fall away and leave you
with the standard type, albeit spelled funny. Better: as soon as
you know that your project will only build with the appropriate
language version you can run tools that we will provide to change
the places that refer to absl::string_view to spell it std::string_view
-- since those are the same type, this is safe to do, even across
API boundaries.

So, one reason you might want to adopt Abseil: early access to facilities
from upcoming C++ standard library releases, with a clear migration path."
2019-02-06 19:53:14 -06:00
Rick V
dd52f13c7c
turn off text translation on windows
(std::ios::binary does nothing on unix btw)
2019-02-06 19:53:07 -06:00
Michael
6d8d910aff
Refactor and add tests for bits.hpp 2019-02-07 00:23:22 +00:00
Ryan Tharp
6446074881
Merge pull request #267 from michael-loki/abseil
Import abseil LTS 20181200
2019-02-05 14:06:02 -08:00
Ryan Tharp
4bf4faa956 make format 2019-02-04 16:41:33 -08:00
Michael
6055829df4
Remove tl::optional and use absl::optional always 2019-02-03 02:13:31 +00:00
Michael
7212baa062
Add implicit conversion from ManagedBuffer to llarp_buffer_t 2019-02-03 01:44:09 +00:00
Michael
7ca3e13e78
Rename to ManagedBuffer 2019-02-03 00:48:10 +00:00
Michael
47380ba64b
Simplify some code 2019-02-03 00:31:10 +00:00
Michael
f3b0af9d2f
Create CopyableBuffer type 2019-02-02 23:21:35 +00:00
Michael
2de621b0ad
Disable copy constructing llarp_buffer_t 2019-02-01 01:58:13 +00:00
Ryan Tharp
c7e126a426 fix buffer overrun 2019-01-30 23:53:43 -08:00
Jeff Becker
18c4107ff6
* wire up jsonrpc caller for lokid integration
* add jsonrpc caller http basic auth
2019-01-28 08:04:45 -05:00
Jeff Becker
519cec50ac
update libabyss rpc endpoints for service nodes 2019-01-24 08:55:44 -05:00
Jeff Becker
9991d17976
Merge branch 'staging' into use-lokid-seed 2019-01-22 12:24:19 -05:00
Jeff Becker
3b76182ee6
fix whitespace parsing 2019-01-22 10:16:35 -05:00
Jeff Becker
465a3d3e43
redo ini parser 2019-01-22 09:13:26 -05:00
Michael
6e38e85a79
Produce hierarchy of 'libraries' inside libllarp 2019-01-15 23:15:43 +00:00
Michael
79157414f3
Split crypto.hpp into 3 different files 2019-01-13 16:32:51 +00:00
Michael
081d4dfa32
Reorganise source into more folders 2019-01-11 01:19:49 +00:00
Michael
e5eda0fb8f
Move lokinet unspecific components to a util/ library 2019-01-10 20:07:24 +00:00