Commit Graph

  • d44a7faa04 semver: Don't return failure codes when git history is not present Neil Alexander 2019-09-18 20:09:53 +01:00
  • ddaaa865cb Be more verbose when a peer or listener is badly formatted Neil Alexander 2019-09-18 15:01:19 +01:00
  • 94cf2854a9 Fix panic where slice goes out of bounds because iface.Read returns less than zero (which might happen when the TUN/TAP interface is closed) Neil Alexander 2019-09-18 14:05:18 +01:00
  • 368f499f1d Update apt before trying to pull in RPM dependencies Neil Alexander 2019-09-18 14:37:25 +01:00
  • ae0b2672ff Fix #539 Neil Alexander 2019-09-18 14:32:28 +01:00
  • 2dc136f94a Multicast actor to prevent races Neil Alexander 2019-09-18 16:51:46 +01:00
  • b959f53fee Shut down listeners when stopping Neil Alexander 2019-09-18 16:32:22 +01:00
  • b0df9e2f31 Fix race when adding peers Neil Alexander 2019-09-18 16:15:33 +01:00
  • c78a4cb28f Only stop timers if they are running Neil Alexander 2019-09-18 15:34:26 +01:00
  • 366fe7e772 Allow multicast to be shut down more sanely Neil Alexander 2019-09-18 15:31:43 +01:00
  • 00a972b74e Disconnect peers when stopping, stop modules before core Neil Alexander 2019-09-18 15:22:17 +01:00
  • 846df4789a Be more verbose when a peer or listener is badly formatted Neil Alexander 2019-09-18 15:01:19 +01:00
  • a62e029e21 Update apt before trying to pull in RPM dependencies Neil Alexander 2019-09-18 14:37:25 +01:00
  • 27158d7b44 Fix #509 Neil Alexander 2019-09-18 14:35:11 +01:00
  • 200b3623b2 Fix #539 Neil Alexander 2019-09-18 14:32:28 +01:00
  • e9bacda0b3 Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg Neil Alexander 2019-09-18 13:37:01 +01:00
  • c3016e680c Fix panic where slice goes out of bounds because iface.Read returns less than zero (which might happen when the TUN/TAP interface is closed) Neil Alexander 2019-09-18 14:05:18 +01:00
  • 40204caab6 Try to fix race condition in sessions.reset Neil Alexander 2019-09-18 14:03:31 +01:00
  • be35675d0f Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg Neil Alexander 2019-09-18 13:37:01 +01:00
  • 80ba24d512 force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution Arceliar 2019-09-17 19:42:07 -05:00
  • f4e326f5dd Merge pull request #544 from wfleurant/readme-url-platforms Neil Alexander 2019-09-11 14:23:42 +01:00
  • 8ca1187451 README: update platforms link William Fleurant 2019-09-11 06:52:03 -04:00
  • 0141180279 cleanup Arceliar 2019-09-09 19:25:10 -05:00
  • 10a828af2c when forwarding traffic, break distance ties by favoring the link that sent the most recent switch update the fastest Arceliar 2019-09-09 19:20:46 -05:00
  • 1b72a3f3d5 Merge pull request #537 from Arceliar/phony Arceliar 2019-09-06 22:47:59 -05:00
  • eec055313d update phony dependency Arceliar 2019-09-06 22:20:36 -05:00
  • 9da0c40239 Merge pull request #534 from Arceliar/bugfix Neil Alexander 2019-09-04 12:21:42 +01:00
  • 2426a87ccc really finish initializing the session before returning it / giving up control of the router, in the Conn.search function used by Dial Arceliar 2019-09-03 19:03:12 -05:00
  • af3dcb44d8 Update config.go godoc Neil Alexander 2019-09-02 09:45:11 +01:00
  • b3361d4bbc package level documentation for address/crypto/util Arceliar 2019-09-01 19:01:33 -05:00
  • cd99d04bd4 document address, crypto, and util Arceliar 2019-09-01 18:53:45 -05:00
  • 903a8921fc Update api.go godoc Neil Alexander 2019-09-01 23:47:47 +01:00
  • 935324efe1 Update conn.go godoc Neil Alexander 2019-09-01 23:33:51 +01:00
  • 9e8e1c5a41 Documentation updates Neil Alexander 2019-09-01 23:10:46 +01:00
  • 01517e5dc3 Create doc.go for godoc preamble Neil Alexander 2019-09-01 22:43:27 +01:00
  • 174ebceaac Fix hjson-go import in go.mod/go.sum Neil Alexander 2019-09-01 21:32:40 +01:00
  • f72546c85d Merge pull request #527 from Arceliar/bugfix Arceliar 2019-09-01 14:15:00 -05:00
  • 8c52ccadf9 make dial fail if a session to the same node already exists, fixes race between simultaneous connections to a node's 200 address and one of its 300 addresses, should also fix races between a search and an accepted listen Arceliar 2019-09-01 14:07:00 -05:00
  • 730fd08954 Merge pull request #526 from Arceliar/cleanup Arceliar 2019-09-01 13:45:17 -05:00
  • 8d2c31d39c add some artifical delay to windows netsh commands, since it seems like maybe they don't take effect immediately, and this was leading to races when setting MTU Arceliar 2019-09-01 13:20:48 -05:00
  • c53831696b make tun stop check that iface is not nil, in case it wasn't set for some reason (windows bugs) Arceliar 2019-09-01 13:06:25 -05:00
  • d08c2eb237 stop exporting ReadNoCopy and WriteNoCopy, since we use the actor functions / callbacks and everything else should use Read and Write instead... Arceliar 2019-09-01 13:04:10 -05:00
  • 1496b6af3b Merge pull request #525 from Arceliar/memory Neil Alexander 2019-09-01 17:55:24 +01:00
  • e0ea845cdc Update build Neil Alexander 2019-09-01 17:50:15 +01:00
  • 3a493fe894 gc more often on mobile Arceliar 2019-09-01 11:08:25 -05:00
  • cabdc27a54 change how nonce is tracked, so we allow packets if we've recently received a highest nonce ever, but don't bother tracking all received nonce values, this means duplicate packets are possible but only for a small window of time (and significantly reduces memory usage per session) Arceliar 2019-08-31 17:39:05 -05:00
  • 0806f3e6ea upgrade phony Arceliar 2019-08-31 16:49:13 -05:00
  • a64f7320d8 update phony, add mobile versions of util bytes functions that don't try to store anything Arceliar 2019-08-31 16:27:36 -05:00
  • 5c0f79c4ed Merge pull request #519 from Arceliar/actors Arceliar 2019-08-31 12:02:50 -05:00
  • 08f69de1e2 another phony update Arceliar 2019-08-31 00:04:35 -05:00
  • 32633011ef upgrade phony dependency Arceliar 2019-08-30 22:10:34 -05:00
  • 9e4d4f33ba upgrade to latest phony Arceliar 2019-08-29 23:30:39 -05:00
  • 7649ea0f9f remove sessionInfo.doFunc, have the api just use phony.Block instead Arceliar 2019-08-29 21:59:28 -05:00
  • 1f658cce76 Add Core actor Neil Alexander 2019-08-28 19:53:52 +01:00
  • aa0770546e Move responsibility for configuring max queue size into switch Neil Alexander 2019-08-28 19:39:23 +01:00
  • fc9a1c6c31 Simplify reconfiguration Neil Alexander 2019-08-28 19:31:04 +01:00
  • 764f9c8e11 Remove legacy debug functions Neil Alexander 2019-08-28 17:24:41 +01:00
  • 881d0a1ada Fix DEBUG_getDHTSize Neil Alexander 2019-08-28 12:46:49 +01:00
  • e553f3e013 Reconfigure functions now ran by actors Neil Alexander 2019-08-28 12:46:12 +01:00
  • 607c906820 Pointer receivers for phony.Block Neil Alexander 2019-08-28 12:26:44 +01:00
  • 5d7d84f827 Remove router.doAdmin and switchTable.doAdmin Neil Alexander 2019-08-28 12:17:19 +01:00
  • a8b323acdd have an actor manage the crypto worker pool instead of each session trying to use it directly, this should result in a fairer round-robin behavior in cases where crypto congestion is the bottleneck Arceliar 2019-08-27 20:01:37 -05:00
  • 3845f81357 update to latest phony, adjust interface use accordingly Arceliar 2019-08-27 19:43:54 -05:00
  • 4d9c6342a7 more link updates Arceliar 2019-08-26 18:37:38 -05:00
  • f432875d87 Merge branch 'actors-linky' into actors Arceliar 2019-08-26 00:38:29 -05:00
  • c97dd4ad28 fix dial bug Arceliar 2019-08-26 00:38:14 -05:00
  • ab59129557 have the writer clean things up. note that their still seem to be bugs in the main linkInterface actor's state machine--links sometimes just die, presumably because they're dropped from the switch and never replaced Arceliar 2019-08-25 23:24:18 -05:00
  • e5b88c0da3 update switch Arceliar 2019-08-25 23:07:56 -05:00
  • bd3eaefb72 more link migration Arceliar 2019-08-25 22:55:17 -05:00
  • b5b179904b ugly work-in-progress to migrate link to the actor model Arceliar 2019-08-25 22:19:20 -05:00
  • dffd70119d remove session shutdown goroutine, just send a message instead Arceliar 2019-08-25 19:13:47 -05:00
  • b2a2e251ad more TunAdapter migration Arceliar 2019-08-25 18:53:11 -05:00
  • aaf34c6304 start migrating the TunAdapter to the actor model Arceliar 2019-08-25 18:08:43 -05:00
  • 502f2937a9 a couple race fixes and use timer.AfterFunc instead of sleeping goroutines or ticker in a few places Arceliar 2019-08-25 17:00:02 -05:00
  • a3d4d8125b make the main library reconfiguration more actor-friendly Arceliar 2019-08-25 12:10:59 -05:00
  • aa30c6cc98 upgrade phony dependency and switch to its new interface Arceliar 2019-08-25 10:36:09 -05:00
  • cff1366146 update phony dependency Arceliar 2019-08-24 22:28:20 -05:00
  • 5312b21665 Merge branch 'develop' of https://github.com/yggdrasil-network/yggdrasil-go into actors Arceliar 2019-08-24 18:30:15 -05:00
  • 2872ab5231 Merge pull request #520 from Arceliar/bugfix Arceliar 2019-08-24 18:29:48 -05:00
  • f62bc842ae fix memory leak in session nonce map Arceliar 2019-08-24 18:23:54 -05:00
  • 68c380ff45 update phony dependency Arceliar 2019-08-24 17:03:19 -05:00
  • 48bbdac9b3 add a helper actor to the link reader to make it play nicer with backpressure Arceliar 2019-08-24 16:27:12 -05:00
  • 99be6b037d stop synchronizing message reads for now, not 100% safe but I don't have any better ideas Arceliar 2019-08-24 16:13:34 -05:00
  • 209d2ffea5 correctly call peer.sendPacketsFrom in the switch Arceliar 2019-08-24 16:04:05 -05:00
  • 8c7e9ec7c0 fix debug builds Arceliar 2019-08-24 15:32:19 -05:00
  • c573170886 remove switch doworker loop, start a dummy loop to respond to (unused) reconfiguration instead Arceliar 2019-08-24 15:27:56 -05:00
  • 998c76fd8c more switch migration Arceliar 2019-08-24 15:22:46 -05:00
  • 555b4c18d4 a little switch cleanup Arceliar 2019-08-24 15:05:18 -05:00
  • 498bc395e2 start migrating switch to the actor model Arceliar 2019-08-24 14:56:33 -05:00
  • b337228aa4 minor fixes to peer stuff Arceliar 2019-08-24 14:24:42 -05:00
  • 0539dee900 warning about possible deadlock in legacy channel send, need to migrate the link code to fix it Arceliar 2019-08-24 13:25:38 -05:00
  • 034fece33f more peer migration Arceliar 2019-08-24 13:15:29 -05:00
  • ecd23ce9fc safer linkloop Arceliar 2019-08-24 12:59:20 -05:00
  • 88161009e9 more peer migration Arceliar 2019-08-24 12:55:49 -05:00
  • 775fb535dc start converting the peer struct into an actor Arceliar 2019-08-24 12:46:24 -05:00
  • ef15a6bd79 tunConn cleanup Arceliar 2019-08-24 11:44:21 -05:00
  • 4893a07696 start migrating tunConn to the actor model Arceliar 2019-08-24 11:38:47 -05:00
  • b582c444f8 minor cleanup Arceliar 2019-08-24 01:57:08 -05:00
  • 1e346aaad0 have the conn actor receive messages from the session actor and either pass them to a callback or buffer them in a channel for Read to use if no callback was set Arceliar 2019-08-24 01:52:21 -05:00
  • 9948e3d659 add Conn.WriteFrom to allow actor-based sending Arceliar 2019-08-24 00:44:02 -05:00