Commit Graph

8128 Commits

Author SHA1 Message Date
Thomas Winget
1e29465237 fix missing namespace 2022-11-22 18:39:22 -05:00
Thomas Winget
c4c81cc9f8 I hate clang-format sometimes 2022-11-22 18:33:12 -05:00
Thomas Winget
3d71bbd1e4 log func should return a string instead 2022-11-22 17:59:54 -05:00
Thomas Winget
d44ad497fd rvalue ref -> value 2022-11-22 17:48:03 -05:00
Thomas Winget
548ce5c3a2 invert packet direction on WINDIVERT_ADDRESS
We simply keep the WINDIVERT_ADDRESS struct given on recv, so when
using it for send we need to invert the direction (the Output bit)
2022-11-22 16:36:33 -05:00
Thomas Winget
5238c3f1a0 force windivert to recalc IP checksum 2022-11-22 16:36:33 -05:00
Thomas Winget
133cee0fd9 Remove obsolete/extraneous WouldLoop function
The DNS resolver code should not and can not be responsible for
preventing packet looping.
2022-11-22 16:36:33 -05:00
Thomas Winget
a518e654c5 add much logging around dns and windivert 2022-11-22 16:36:33 -05:00
Jason Rhinelander
e8d1361865
Remove another obsolete bootstrap
I found another defunct obsolete boostrap file on a few foundation
service nodes; this adds it to the list.
2022-11-18 16:00:12 -04:00
Jason Rhinelander
5345c60b30
Merge pull request #2065 from Bilb/fix-min-height-gui
fix: allow GUI window height as low as 600 for small screens
2022-11-17 19:47:14 -04:00
Audric Ackermann
c57d8ef091 fix: allow GUI window height as low as 600 for small screens 2022-11-18 10:00:32 +11:00
Jason Rhinelander
f9db657f64
Make Default&Required or Required&Hidden compilation failures
Default & Required makes no sense: if we have a default it makes no
sense to make it required.  The previous behaviour when this was
specified was to force an (uncommented) value in the config with the
value, but this was only used in the test suite.

Required & Hidden makes no sense either: if it's required to be
specified we definitely don't want to hide it from the generated config
file.

These are now compile-time failures.
2022-11-15 13:15:54 -04:00
Jason Rhinelander
68bb74a95d
Make [lokid]:rpc setting required in SN mode
When running as a service node we can't do anything without a lokid rpc
URL, and we don't necessarily have a good default for it.

This makes it required so that we fail with an appropriate error message
(rather than connect timeouts) if it is not specified.
2022-11-15 13:14:15 -04:00
Jason Rhinelander
c8ce78315d
Fix missing option names
At some point between 0.9.9 and 0.9.10 we removed the printing of option
names when a value doesn't have a default, but this means the config is
littered with things like:

    # This option sets the greater foo value.

with no actual option name printed out when there is no default.

This fixes it by always printing the option name in such a case, just
with an empty value, e.g.:

    # This option sets the greater foo value.
    #big-foo=
2022-11-15 13:11:11 -04:00
Jason Rhinelander
7906fac4f0
Merge pull request #2053 from jagerman/mac-dmg-bg
Make dmg background retina capable
2022-11-10 22:33:26 -04:00
Jason Rhinelander
7f3cb0ff38 Make dmg background retina capable
The bg has to get encoded in a multi-format TIFF to make it work.

Also increase the vertical size a bit so that it still looks okay in
case you are a crazy person with a bunch of toolbars and other junk
cluttering up the window.
2022-11-10 20:32:23 -04:00
majestrate
4b5ab4bde3
Merge pull request #2051 from jagerman/mac-dmg-bg
Add mac .dmg background
2022-11-10 13:33:44 -05:00
Jason Rhinelander
135664ccb0 Add mac .dmg background 2022-11-09 20:46:37 -04:00
majestrate
27fd4d8faf
Merge pull request #2049 from majestrate/add-omitted-header-2022-11-08
add omitted header
2022-11-09 17:37:20 -05:00
Thomas Winget
bb14a7bd09
when in rome, remove duplicate includes 2022-11-09 10:39:01 -05:00
Jeff Becker
259114b51d
add omitted header
certain files needed to include either fstream and our shim for std::filesystem.
this includes fstream into our shim and includes this shim in places
that require fstream. this is done because some toolchains (cough
cough broke af arch linux amalgums) can have weird subsets of the
requirements of C++17 that overlap, except when they dont, denoted by
unknowable undisclosed circumstances.

this issue was reported by a user in the wild, and this fixes it.
2022-11-09 07:16:29 -05:00
Jason Rhinelander
4f1f336e50
Bump openssl static build version 2022-11-03 20:51:02 -03:00
majestrate
7325878afd
Merge pull request #2048 from majestrate/simplify-ons-ready-logic-2022-11-03
simplify llarp::service::Endpoint::ReadyToDoLookup()
2022-11-03 11:14:35 -04:00
majestrate
29da2a9943
Update llarp/service/endpoint.cpp
Co-authored-by: Jason Rhinelander <jason@imaginary.ca>
2022-11-03 10:49:57 -04:00
Jeff Becker
e5efe793ca
llarp::service::Endpoint::ReadyToDoLookup()
previously we had a checking style function that passes in an optional
defaulting to nullopt as a micro optimzation, this makes the code
unnessarily obtuse.

simplify this by splitting up into 2 functions,
one for getting the unique endpoints and one for checking if the
number of them is above the minimum.

add overload for ReadyToDoLookup() that checks against constant but
can do more in the future if desired to reduce the burden on future contributors.
2022-11-03 10:00:44 -04:00
Jason Rhinelander
9dfb4a389c
Update gui subproject 2022-11-02 20:47:28 -03:00
majestrate
b67a70517d
Merge pull request #2046 from majestrate/fix-lokinet-vpn-2022-11-02
prevent throwing on no error in lokinet-vpn
2022-11-02 16:41:44 -04:00
Jeff Becker
0cf637178d
prevent throwing on no error in lokinet-vpn 2022-11-02 15:42:49 -04:00
Jeff Becker
0bb58b4ac0
dont hardcode keyid 2022-11-02 09:32:31 -04:00
Jeff Becker
88b5a84df3
explicitly select signing key used in source tarball signing script 2022-11-02 09:24:31 -04:00
Jeff Becker
9adf099d20
remove dead file 2022-11-02 09:13:37 -04:00
majestrate
8ec1a57dac
correct documentation
the `make format` target doesn't exist anymore as we moved it to a shell script.
2022-11-02 09:12:47 -04:00
majestrate
bcaf9f886c
point to explicit link
linking to docs directory is technically not correct. we should link to the file github shows for preview which is docs/readme.md
2022-11-02 09:07:12 -04:00
majestrate
9ca0d7094e
update note about platform support
android is currently unsupported
2022-11-02 09:05:34 -04:00
majestrate
1c51bb1041
Merge pull request #2045 from majestrate/windows-service-issues
windows platform bug fixes
2022-11-02 08:27:12 -04:00
Jeff Becker
d911e26b1d
remove duplicate log statement 2022-11-01 19:09:17 -04:00
Jeff Becker
3a8007cc3f
remove assert()
we_changed_our_state can accept the state we are in right now, so this
assert no longer is correct.
2022-11-01 11:29:00 -04:00
Jason Rhinelander
6a110a4f1b
RPC: fix "halt" command 2022-11-01 11:06:03 -04:00
Jason Rhinelander
3bc3ae9d84
patch unbound to fix windows shutdown crash 2022-11-01 11:06:03 -04:00
Jason Rhinelander
40348b24e1
Fix crash on unbound cleanup
We need to make a copy here because (see comment).
2022-11-01 11:06:03 -04:00
Jason Rhinelander
b8678a767e
Fix crashy race condition in shutdown
Query->Cancel() will remove the Query, but that introduces a race
condition where unbound may still try to invoke the callback (with a
no-longer-valid pointer) if we do it before the ub_ctx_delete call.

Move to it afterwards so that we only cancel things that unbound didn't
2022-11-01 11:06:02 -04:00
Jeff Becker
9aa6b64c1e
use std::shared_ptr for pending queries 2022-11-01 11:06:02 -04:00
Jason Rhinelander
c7a133ac9c
windivert: avoid trying to send during shutdown
Occasionally during shutdown windivert will crash because a thread tries
sending after we've called wd::shutdown, which isn't allowed.  Add an
atomic bool to prevent this.
2022-11-01 11:06:02 -04:00
Jason Rhinelander
cdc4c486c4
Add more stopping signals 2022-11-01 11:06:02 -04:00
Jason Rhinelander
2b5f1ee029
Remove bad assert
We do and should be able to call this multiple times during shutdown to
signal that we are advancing through shutdown.
2022-11-01 11:06:02 -04:00
Jason Rhinelander
3d429b353a
Don't raise log level on shutdown
If already below info (e.g. debug) it should stay there; we only want to
*lower* it to info if above info.
2022-11-01 11:06:01 -04:00
Thomas Winget
9960aed45c
stop-time debug statements 2022-11-01 11:06:01 -04:00
Jeff Becker
57b77fecb3
fix crash on shutdown
we were calling llarp::Context::HandleSignal from a non mainloop
thread when running as a win32 service. this caused issues with a non
clean destruction.

call our signal handler instead of llarp::Context::HandleSignal
2022-11-01 11:06:01 -04:00
Thomas Winget
dceef0b21e
remove dead dns resolver code 2022-11-01 11:06:01 -04:00
Jason Rhinelander
95c0c8a707
Improve windows running-as-a-service detection works
Get rid of the --win32-daemon hack (which was removed from the service
itself earlier in this PR, by mistake) and replace it with detection of
the error code for "not running as a service" that windows gives us back
if we try to set up service controller dispatching but aren't a service.
2022-11-01 11:06:00 -04:00