1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
Commit graph

100 commits

Author SHA1 Message Date
Rick V db0920d921
use backport fork for release installer only
move all invariant assets to common repo

remove ded code, libuv patches can be swapped in at build time for debug/release builds
2020-03-05 12:47:46 -06:00
Stephen Shelton 182057e881
Remove 'clang-format off' and make format 2020-02-26 14:10:26 -07:00
Jason Rhinelander b4440094b0 De-abseil, part 2: mutex, locks, (most) time
- util::Mutex is now a std::shared_timed_mutex, which is capable of
  exclusive and shared locks.

- util::Lock is still present as a std::lock_guard<util::Mutex>.

- the locking annotations are preserved, but updated to the latest
  supported by clang rather than using abseil's older/deprecated ones.

- ACQUIRE_LOCK macro is gone since we don't pass mutexes by pointer into
  locks anymore (WTF abseil).

- ReleasableLock is gone.  Instead there are now some llarp::util helper
  methods to obtain unique and/or shared locks:
    - `auto lock = util::unique_lock(mutex);` gets an RAII-but-also
      unlockable object (std::unique_lock<T>, with T inferred from
      `mutex`).
    - `auto lock = util::shared_lock(mutex);` gets an RAII shared (i.e.
      "reader") lock of the mutex.
    - `auto lock = util::unique_locks(mutex1, mutex2, mutex3);` can be
      used to atomically lock multiple mutexes at once (returning a
      tuple of the locks).
  This are templated on the mutex which makes them a bit more flexible
  than using a concrete type: they can be used for any type of lockable
  mutex, not only util::Mutex.  (Some of the code here uses them for
  getting locks around a std::mutex).  Until C++17, using the RAII types
  is painfully verbose:

  ```C++
  // pre-C++17 - needing to figure out the mutex type here is annoying:
  std::unique_lock<util::Mutex> lock(mutex);
  // pre-C++17 and even more verbose (but at least the type isn't needed):
  std::unique_lock<decltype(mutex)> lock(mutex);
  // our compromise:
  auto lock = util::unique_lock(mutex);
  // C++17:
  std::unique_lock lock(mutex);
  ```

  All of these functions will also warn (under gcc or clang) if you
  discard the return value.  You can also do fancy things like
  `auto l = util::unique_lock(mutex, std::adopt_lock)` (which lets a
  lock take over an already-locked mutex).

- metrics code is gone, which also removes a big pile of code that was
  only used by metrics:
  - llarp::util::Scheduler
  - llarp:🧵:TimerQueue
  - llarp::util::Stopwatch
2020-02-21 23:22:47 -04:00
Jeff Becker cec36b62b5 make logic and net thread one in the same 2019-12-10 11:49:32 -07:00
Jeff Becker 70771a2460
fix last commit 2019-12-07 14:58:52 -05:00
Jeff Becker f56e543d75
add deadlock checker and revert bencode change from long ago 2019-12-07 14:58:19 -05:00
Rick V cf3469e11a
crash on wine, we support linux, ucb_unix, svr4
natively ffs. i tested this patch on wine 4.4 on fuckin
Solaris 11 snv_151
2019-12-01 19:01:40 -06:00
Jason Rhinelander f54740fa85 Don't pointlessly set conffname back to itself 2019-11-20 18:00:10 -04:00
Jason Rhinelander e0340e86b2 clang-format fixes 2019-11-20 17:45:56 -04:00
Jason Rhinelander 2bdde18558 Remove shell globbing of path
resolvePath was leaking memory (the returned char * from realpath was
never freed), but upon closer inspection resolvePath doesn't seem right:
shell/glob/~ expansion is the job of the shell, not the argument (but
worse, if you pass it something like '~' (quoted) it would expand, which
is wrong.

Also de-duplicate some code.
2019-11-20 17:22:07 -04:00
jeff 869ab0b652 Merge remote-tracking branch 'upstream/dev' into vpn-api-2019-10-03 2019-10-21 08:01:29 -04:00
Michael 3371da98cf
Use libcurl (optional dependency) to hit jsonrpc 2019-10-09 23:00:50 +01:00
jeff c26b67c379 finish wiring up jni shizz 2019-10-08 10:52:01 -04:00
jeff 7d7c6bf38c Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography 2019-10-07 06:08:47 -04:00
jeff 52757fef0e Merge remote-tracking branch 'micheal/background_mode' into vpn-api-2019-10-03 2019-10-04 14:10:58 -04:00
Michael 15cb49c9bd
Introduce --background to only start JSON RPC
fixes #853
2019-10-04 10:32:52 +01:00
Stephen Shelton c9b862a12b Add a --version flag to lokinet CLI args 2019-10-02 12:08:45 -06:00
jeff 32ed821763 Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography 2019-10-01 10:51:28 -04:00
Michael ae3fc3a395
Add initial macOS app 2019-09-24 09:50:57 +01:00
Jeff Becker 12314e8d00
ensure no crash on quit 2019-09-04 08:41:07 -04:00
Michael 1aec0dfa2b
Move logging to subdirectory 2019-09-03 20:52:27 +01:00
Rick V f6c97091fd
clang-format 2019-08-01 22:25:48 -05:00
Rick V 581e64a2ef
back out for now 2019-08-01 21:39:45 -05:00
Rick V 578bcba73d
ok use exception filter
typo

no infinite loops
2019-08-01 21:39:44 -05:00
Rick V 16096c6adb
add debug helper lib for core dump generation on all supported windows targets
had an epiphany earlier

i kept having problems with static linking because
i merged the GNU C runtime with the SEH library
instead of merging the latter with pthread
2019-08-01 21:39:42 -05:00
Jeff Becker c1bf69f96f
run main in it's own thread and set its process name. 2019-07-26 08:55:08 -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
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 00c237dc6d
Move config class to its own dir 2019-07-02 01:58:38 +01:00
Michael 8323725509
Initial No-Op Crypto implementation 2019-05-29 09:46:34 +01:00
Ryan Tharp 124e9dc4bf
Merge pull request #556 from neuroscr/issue547-2
handle relative config paths better
2019-04-23 17:40:54 -07:00
Ryan Tharp 89837d5528 handle relative config paths better 2019-04-23 17:40:44 -07:00
Ryan Tharp 4f70c729c0
Merge pull request #554 from neuroscr/issue547-2
fix generate router config
2019-04-23 17:04:05 -07:00
Ryan Tharp ecec0628f0 fix generate router config 2019-04-23 17:03:42 -07:00
Ryan Tharp db25a9107c format / fix syntax error 2019-04-23 16:17:10 -07:00
Ryan Tharp f9d20fe75b
Merge branch 'master' into cooler_help 2019-04-23 16:10:52 -07:00
Ryan Tharp b36b378583 issue 547 make format 2019-04-23 14:57:01 -07:00
Ryan Tharp 8cf6a77c1d address issue loki-project#547, remove client.ini, update ini defaults, and clean up help message 2019-04-23 14:50:49 -07:00
Michael 5589d9b471
Make help more useful 2019-04-23 21:52:13 +01:00
Rick V afdb6cf2f3
windows is the oddball yet again 2019-04-22 18:06:03 -05:00
Jeff Becker 73a71e43c3
vec -> arg 2019-04-21 18:15:47 -04:00
Jeff Becker 0a990fbdff
fix positional arguments in main 2019-04-21 17:48:28 -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 57d6668e55
Move metrics out of daemon into llarp::Context 2019-04-05 10:20:48 +01:00
Rick V 1fb3a0bf62
stderr is unbuffered by default? 2019-04-03 01:14:15 -05:00
Michael 91f401ff71
Integrate metrics into router 2019-03-25 20:36:23 +00:00
Michael c5a129ddff
Convert to use abseil synchronisation primitives 2019-03-03 21:20:38 +00:00
Rick V 3931b7d9d7
implement missing libabyss functionality
remove some finished TODOs
2019-02-06 19:53:11 -06:00
Rick V ad1179a333
remove ref to nrmicro
add note
2019-02-06 19:53:11 -06:00
Rick V 8741f0dd59
NetBSDs don't fully implement POSIX.1-2001 (!!!) 2019-02-06 19:53:07 -06:00