Commit Graph

131 Commits

Author SHA1 Message Date
Elliot Glaysher
07089a1c93 king dawn: remove stray marks 2020-09-04 11:01:47 -04:00
Elliot Glaysher
4bd0882e7d king dawn: instead of crashing, return an error 2020-09-04 10:54:31 -04:00
Elliot Glaysher
4a7e1b2009 king dawn: replace web3 usage with hand rolled jsonrpc messages.
This replaces the autogenerated bindings to the Azimuth contracts
which use Network.Web3 with hand rolled json messages. Booting a
ship involved 256 individual galaxy point lookups using web3, while
Vere batched all of that into one JSONRPC message.

With this patch, we also batch everything at each phase into one
JSONRPC batch.
2020-09-03 16:05:08 -04:00
Elliot Glaysher
8255fc0e8c natpmp: formatting and cleanup old pmp handle 2020-08-20 20:23:25 -04:00
Elliot Glaysher
15f0df81f1 natpmp: when reopening laptop, reestablish a connection to the router. 2020-08-20 15:47:02 -04:00
Elliot Glaysher
88428961dd natpmp: also detect 172.16.0/0/12 ips as private. 2020-08-19 14:02:03 -04:00
Elliot Glaysher
1401d7bc5c natpmp: fix error handling and don't die on errors in getpubliaddress
This fixes a case where the natpmp async could pure () instead of
recursing, which would lock ames. This also adds some more error
handling on the haskell side of things and disables the raw fprintfs
in the c bindings layer.
2020-08-19 12:53:59 -04:00
Elliot Glaysher
60e2ae02a2 natpmp: cleanup by using a tristate 2020-08-18 15:43:31 -04:00
Elliot Glaysher
dca4344a45 natpmp: By default, only try to talk to the router on private ips.
Since startup hangs for seconds when you are not behind a router,
but still attempt to ask one to open ports for you, by default,
only try to contact the router if the local ip is 192.168.*.* or
10.*.*.*.

Also make port forwarding force on/off.
2020-08-18 12:22:45 -04:00
pilfer-pandex
750b986370 Merge branch 'release/next-vere' into pp/log-cli
Rename `koUseNatPmp` to `hUseNatPmp`; cleanup
2020-08-17 11:43:30 -07:00
Elliot Glaysher
81e3a8f927 natpmp: cleanups for ~master-morzod 2020-08-17 10:58:48 -04:00
pilfer-pandex
2d1f3cdfa0 king: thread LogLevel through, make output better 2020-08-16 10:33:52 -07:00
Elliot Glaysher
1b3a69e24d
Merge branch 'release/next-vere' into king-natpmp 2020-08-14 16:17:47 -04:00
Elliot Glaysher
14d1b59117 natpmp: even more cleanup 2020-08-14 10:23:39 -04:00
Elliot Glaysher
b4878a8b03 natpmp: Separate out the PortThreadMsgs from the heap actions. 2020-08-13 13:36:20 -04:00
Elliot Glaysher
a3336fde41 natpmp: more nits 2020-08-13 11:52:42 -04:00
Elliot Glaysher
1183ac0b22 natpmp: checkpoint while addressing comments 2020-08-13 11:12:26 -04:00
Elliot Glaysher
3e6fd0f8e8 natpmp: ~pilfer style nits 2020-08-13 10:08:02 -04:00
pilfer-pandex
36ee3da818
Merge pull request #3267 from urbit/pp/print-http-ports
king: eyre: add missing printouts with ports
2020-08-11 22:11:35 -07:00
pilfer-pandex
8e04cd12f0
Merge pull request #3230 from urbit/pp/ames-slow-startup
king: ames: add stderr when sending before having turfs
2020-08-10 17:47:43 -07:00
Elliot Glaysher
2e66ae10ec natpmp: use MonadIO in the bindings to remove unsightly "io $" 2020-08-10 13:15:03 -04:00
Elliot Glaysher
4d8c6ad09a nat-pmp: improve error and diagnostic messages 2020-08-10 13:02:13 -04:00
pilfer-pandex
556d92107a king: eyre: add missing printouts with ports 2020-08-09 22:12:44 -07:00
Elliot Glaysher
b7bfa170a9
Merge pull request #3262 from urbit/king-fix-eth
king: fix dawn to use the wrapped ethereum server.
2020-08-07 14:31:07 -04:00
Elliot Glaysher
4c4712f4e8 king: fix dawn to use the wrapped ethereum server. 2020-08-07 13:18:16 -04:00
Elliot Glaysher
149565cd97 king: get tests passing after nat-pmp changes 2020-08-07 13:04:57 -04:00
Elliot Glaysher
6368aa2b02 king: Turn NAT-PMP on by default, with a flag to disable.
Also: error checking.
2020-08-07 12:42:00 -04:00
Elliot Glaysher
a3e33644a9 king: port forward ames traffic behind a NAT.
Tested with a comet trying to receive traffic from a planet in the
cloud. (h/t ~master-morzod)
2020-08-06 16:26:22 -04:00
pilfer-pandex
1691c984dd king: ames: add stderr when sending before having turfs 2020-08-06 12:11:36 -07:00
Elliot Glaysher
86b445b7cb king: First attempt at integration with NATPMP.
This sets up a separate thread to handle scheduling of lease
renewals.
2020-08-05 15:33:37 -04:00
Elliot Glaysher
d39d7246d1 king: move MultiEyreApi to a new RunningEnv.
There was a TODO in runShips about how the different layers of the
RIO environment had to be changed, so that there was a layer between
KingEnv and PierEnv for things shared between individual Piers, but
which weren't used outside of any PierEnv. This addresses those
TODOs by creating RunningEnv, which for now just owns MultiEyreApi
and makes it so we don't have to pass the entire thing around
explicitly.

The IP handling stuff will go in RunningEnv in a following patch.
2020-08-04 16:56:32 -04:00
pilfer-pandex
1e995e8f11 king: wtf use getExecutablePath 2020-07-24 21:05:23 -07:00
pilfer-pandex
fc92fd3611 king: use c vere's heuristics for finding the serf binary 2020-07-24 16:31:43 -07:00
Joe Bryan
1953e4e2b3
Merge pull request #3099 from urbit/philip/compact
Memory compaction
2020-07-23 14:53:52 -07:00
pilfer-pandex
942e60670e king: fix ames tests 2020-07-23 13:17:02 -07:00
pilfer-pandex
7eddb89b70 king: it was too clever of me to use stateTVar; compiler can't help 2020-07-22 22:52:46 -07:00
pilfer-pandex
8e14fb8086 king: fix comment about ames q behavior 2020-07-22 22:50:22 -07:00
pilfer-pandex
4c9cbb5d19 king: ames bounded q, now with logging and fifo 2020-07-22 22:48:35 -07:00
pilfer-pandex
3349ea511f king: fix goshdarn typo 2020-07-21 21:22:08 -07:00
pilfer-pandex
565be3cad6 king: drop ames packets when >1k are unprocessed 2020-07-21 21:15:06 -07:00
Joe Bryan
a580f96416 serf: adds subcommands to urbit-worker 2020-07-21 17:15:11 -07:00
Joe Bryan
2994e0e44e vere: wires |pack to new compaction; renames old |pack to |cram 2020-07-21 14:10:15 -07:00
Joe Bryan
a53f688d01 vere/serf/king: support timeouts and error response in %peek 2020-06-27 00:12:53 -07:00
Joe Bryan
6fa194d527 Merge branch 'master' into jb/ipc-redux
* master: (147 commits)
  vere: bump version to 0.10.7
  libsigsegv: disable stack vma check
  vere: bump version to 0.10.6
  ci: add travis as trusted user
  jets: use appropriate macro
  noun: add -C to control memo cache size
  jets: restore fond/play/peek hooks
  jam: add commented-out functionality to count size of atom
  jets: cap memo cache and remove peek, play, and fond jets
  noun: add functions to count size of noun
  release: urbit-os-v1.0.23
  interface/config: fix production build
  soto: run +on-load migration once
  publish, links: restore full height
  sh/build-interface: amend for SPA
  interface/CONTRIBUTING: amend for SPA / webpack
  solid: update pill
  hood + apps: fix OTA process for feat/SPA
  hood: add version %6 for %file-server upgrade
  chat: equally size both code + s3 buttons
  ...
2020-06-26 13:33:00 -07:00
Joe Bryan
db9472dbe2 vere/king: tweaks serf startup args (unconditionally send all) 2020-06-26 12:29:18 -07:00
Joe Bryan
81ff98c5d4 vere/king/serf: adds and enables event timeouts 2020-06-26 00:54:29 -07:00
~siprel
57ef4254e4 Merge branch 'khrc' of https://github.com/urbit/urbit into siprel/sigwinch 2020-06-12 18:27:25 +00:00
~siprel
e8e46ee8c4 Merge branch 'master' of https://github.com/urbit/urbit into siprel/sigwinch 2020-06-12 18:19:51 +00:00
~siprel
eb81f5ca14 Less verbose log output. 2020-06-11 02:02:53 +00:00
~siprel
849d25044a king: disable "bullshit scry tester" 2020-06-11 00:32:15 +00:00