Commit Graph

6693 Commits

Author SHA1 Message Date
Jeff
75ef28531e allow lns subdomains 2020-09-19 10:38:57 -04:00
Jeff
a035dbdb9a enable peer stats by default 2020-09-19 09:56:47 -04:00
Jeff
686b13b2f3 fix up cmake lokimq target 2020-09-19 09:50:54 -04:00
Jeff
78b40d6725 wire up lns gotnamemessage handler to kitchen sink 2020-09-19 09:29:36 -04:00
Ryan Tharp
5d43a804d1
Update requirements and other README.md clean up (#1343)
* Update requirements and other clean up

git is now required due to submodules
libcurl/libcap: not sure if the minimum version is correct, The number I used is based on the bionic package version
add recursive option to all cloning
other tweaks to make concise and  precise

* Remove libcurl

* Add nproc back

* add libcurl back for windows

* Remove libcurl from WIndows

as lokinet-bootstrap.exe is just curl.exe now and will be removed soon
2020-09-18 10:36:57 -04:00
Rick V
7136f77c2e
allow running lokinet as root on windows (#1347)
* - allow running lokinet as root on windows
  ($PROGRAMDATA/.lokinet/lokinet.ini)
- oops forgot to eat my own command line args

* cursed windows

* now that we eat our own startup options the entry in cxxopts is fully
ded

* aha our command line options get smashed up

* revert plus DRY fix
2020-09-17 15:20:50 -04:00
Jeff
21930cf667
LNS (#1342)
* initial relay side lns

* fix typo

* add reserved names and refactor test for dns

* lns name decryption

* all wired up (allegedly)

* refact to use service::EncryptedName for LNS responses to include nonce with ciphertext

* fully rwemove tag_lookup_job

* replace lns cache with DecayingHashTable

* check for lns name validity against the following rules:

* not localhost.loki, loki.loki, or snode.loki

* if it contains no dash then max 32 characters long, not including the .loki tld (and also assuming a leading subdomain has been stripped)

* These are from general DNS requirements, and also enforced in
registrations:

* Must be all [A-Za-z0-9-]. (A-Z will be lower-cased by the RPC call).

* cannot start or end with a -

* max 63 characters long if it does contain a dash

* cannot contain -- in the third and fourth characters unless it starts with xn--

* handle timeout in name lookup job by calling the right handler with std::nullopt
2020-09-17 15:18:08 -04:00
Jason Rhinelander
f5e5066bd5
Update deps (#1348)
* Update submodules/static deps to latest versions

* Add mingw zmq build patch

* Drop support for Windows 2000
2020-09-16 15:47:35 -04:00
Jeff
c64c9093f2
make endpoints reachable by default (#1344) 2020-09-14 18:19:17 -04:00
Jeff
dfd8df5e7f
add uninstall target (#1340)
* add uninstall target

* * redo cmake uninstall
* remove lokinet-vpn python script
* don't install lokinet-vpn twice
2020-09-09 12:06:57 -04:00
Jeff
854ce48e1c
remove gitlab ci as it is unused (#1341) 2020-09-09 12:03:47 -04:00
Jeff
681459185f
remove locks (#1336)
* remove locks

* use tryPushBack to attempt to prevent deadlocks
2020-09-04 15:55:49 -04:00
cathugger
838d28c6ed
contrib: NetworkManager dnsmasq config (#1335) 2020-09-04 14:58:11 -04:00
cathugger
412821ed77
contrib: systemd-resolved config (#1334) 2020-09-04 14:02:16 -04:00
Jeff
3ab7db7723
macos route poking (#1333)
* fix up macos route poker logic

* fix typo

* use string_view

* add forgotten header

* full paths

* add debugging

* catch exception on adding route

* workarround for macos

* typofix

* typofix

* fix for macos

* fix command for macos

* because we autopoke remove explicit route poking in rpc

* probably final fix of macos route poking

* split routes instead of deleting them

* dynamic route poking

* move log statement for introset lookup and dont consider bad sessions as able to send

* send convotag reset frame when we have no session

* add exit map to rpc

* use split_any
2020-09-03 18:22:22 -04:00
Jeff
60f4d96ba5
proper route poking (#1330)
* route poking:

* remove popen() call, replace with reading /proc/net/route for getting default route
* dynamically poke and unpoke routes on runtime

* swap intros and fix rpc endpoint for version to return what the ui expects

* use std::string::find_first_not_of instead of using a lambda
2020-09-01 17:22:22 -04:00
Thomas Winget
2c6e7b86c3
SRV records fixes (#1332)
* fix a log print log level

* correctly match SRV record service and protocol...

* tests for new dns question functions
2020-08-31 19:25:58 -04:00
Thomas Winget
b1c14af938
SRV Record handling for introsets (#1331)
* update loki-mq submodule for tuple support

* srv record reply implementation

still need to encode srv records into intro sets / router contacts
as well as decode from them and match against queried service.proto

* inverted condition fix in config code

* SRV record struct (de-)serialization for intro sets

* parsing and using srv records from config (for/in introsets)

* adopt str utils from core and use for srv parsing

* changes to repeat requests

no longer drop repeat requests on the floor, but do not make
an *actual* request for them if one is in progress.

do not call reply hook for each reply for a request, as
each userland request is actually made into several lokinet
requests and this would result in duplicate replies.

* fetch SRVs from introsets for .loki

* make format

* dns and srv fixes, srv appears to be working
2020-08-31 16:07:17 -04:00
Jeff
521765b5a8
Merge pull request #1319 from majestrate/clean-up-dev-2020-07-27
exit tool rewrite in C++ (without macos support yet)
2020-08-28 11:52:15 -04:00
Jason Rhinelander
fd684a225b Update nlohmann to latest stable 2020-08-28 11:03:43 -03:00
jeff
def8a9ce46 disable running router hive just build it 2020-08-28 13:59:29 +00:00
jeff
1537ad18df format 2020-08-28 11:35:10 +00:00
jeff
fc5035902a only stop router hive from fixture when router hive is not None 2020-08-28 11:31:03 +00:00
jeff
75f550434c change assert to throw an exception instead when service node has no peer stats enable.
update unit tests so it passes on debian sid
2020-08-28 11:26:50 +00:00
jeff
52d20968a7 remove llarp::StrEq 2020-08-28 11:05:29 +00:00
jeff
bbc749294e fix windows build typo 2020-08-27 16:48:27 +00:00
jeff
5391e6a66a initial config overriding on runtime 2020-08-27 12:43:53 +00:00
jeff
e3bfe76f98 add exit auth token awareness to config 2020-08-27 07:12:56 -04:00
Jeff Becker
1b4f5ee5ea
add forgotten win32 header 2020-08-25 17:24:38 -04:00
jeff
39f5e7213f set send timeout to 5 seconds for exits 2020-08-25 19:00:05 +00:00
Jeff Becker
d39ed26ff0
add headers and fix type for windows 2020-08-25 10:12:40 -04:00
Jeff Becker
68e72d88fd
add forgotten header on macos 2020-08-25 09:51:39 -04:00
Jeff Becker
d70e11feba
change what patches are applied 2020-08-25 09:44:12 -04:00
Jeff Becker
d4e1a44452
fix typo 2020-08-25 08:55:15 -04:00
Jeff Becker
ab568b27d0
bump windows version for CI until patches are updated 2020-08-25 08:51:55 -04:00
Jeff Becker
184503dab1
change to unsigned char for CI 2020-08-25 08:48:35 -04:00
Jeff Becker
bc40453100
get rid of void pointer arithmatic and signed vs unsigned comparison 2020-08-25 08:41:38 -04:00
Jeff Becker
fc75da174e
disable second path for now until it works 2020-08-25 08:36:26 -04:00
Jeff Becker
43a58b9c74
const correctness 2020-08-24 20:44:20 -04:00
Jeff Becker
21bc3bd9a0
format 2020-08-24 20:35:31 -04:00
Jeff Becker
d8dcffe80a
resolve conflict with dev 2020-08-24 20:27:47 -04:00
jeff
574a986d9a
explicitly set frame reset field to zero by default 2020-08-24 20:23:26 -04:00
jeff
f6f56029d3
working netlink route poker 2020-08-24 20:23:26 -04:00
jeff
668ddf837f
checks 2020-08-24 20:21:55 -04:00
jeff
e039aeb6d5
remove codepath for convotag invalidation 2020-08-24 20:21:55 -04:00
jeff
0c3b57199a
fix initialization 2020-08-24 20:21:55 -04:00
jeff
abc55924e7
forgot header 2020-08-24 20:21:55 -04:00
jeff
5a8884cc2f
uncomment block 2020-08-24 20:21:55 -04:00
jeff
8472aea93f
initial netlink jizz 2020-08-24 20:21:55 -04:00
jeff
b0bb0b7609
initial route poking 2020-08-24 20:21:55 -04:00