Commit graph

  • 1a2b7a8b60 test a change to how switch hops are selected when multiple links are idle Arceliar 2019-08-14 17:57:36 -05:00
  • 2abb71682f
    Update changelog, readme, go.mod/go.sum Neil Alexander 2019-08-14 22:21:30 +01:00
  • f26f071901
    Merge pull request #497 from Slex/issues/488 Neil Alexander 2019-08-14 20:11:15 +01:00
  • 02bfe28399
    Minor tweaks Neil Alexander 2019-08-14 20:09:02 +01:00
  • 2cec5bf108
    Merge pull request #504 from neilalexander/netlink Neil Alexander 2019-08-14 19:59:30 +01:00
  • 33cd10c463
    Merge branch 'issues/488' of github.com:slex/yggdrasil-go into issues/488 Neil Alexander 2019-08-14 19:58:45 +01:00
  • 4702da2bcb
    Use new netlink library (fixes #493) Neil Alexander 2019-08-14 19:32:40 +01:00
  • d9fabad8bc
    Merge pull request #502 from Arceliar/linkleak Neil Alexander 2019-08-14 07:17:39 +01:00
  • 46c5df1c23 when we abandon a link because we already have a connection to that peer, only wait for the connection to close if it's an *outgoing* link, otherwise incomming connection attempts can cause us to leak links Arceliar 2019-08-13 18:49:49 -05:00
  • 5e7df5a1c4
    Merge pull request #499 from yggdrasil-network/sessionfix Neil Alexander 2019-08-13 08:27:30 +01:00
  • b2cb1d965c avoid leaking sessions when no listener exists, or blocking if it's busy Arceliar 2019-08-12 18:22:30 -05:00
  • c15976e4dc go.sum Arceliar 2019-08-12 18:08:02 -05:00
  • 70a118ae98
    Update go.mod/go.sum Neil Alexander 2019-08-12 11:41:29 +01:00
  • 16076b53b9
    Merge pull request #498 from Arceliar/search Neil Alexander 2019-08-11 21:13:49 +01:00
  • 277da1fe60 make sure searches don't end if try to continue (in parallel) with nowhere left to send, but we just sent a search and are still waiting for a response Arceliar 2019-08-11 13:11:14 -05:00
  • 7a28eb787e try to fix a few edge cases with searches that could lead them to ending without the callback being run or without cleaning up the old search info Arceliar 2019-08-11 13:00:19 -05:00
  • 589ad638ea Implement feature from https://github.com/yggdrasil-network/yggdrasil-go/issues/488 Slex 2019-08-11 00:31:22 +03:00
  • ae05683c73
    Merge pull request #494 from Arceliar/bufpersession Arceliar 2019-08-07 18:15:20 -05:00
  • 5e81a0c421 Use a separate buffer per session for incoming packets, so 1 session that floods won't block other sessions Arceliar 2019-08-07 18:08:31 -05:00
  • 9ab08446ff make sure the sessionInfo.recvWorker doesn't block if sinfo.recv somehow fills Arceliar 2019-08-07 17:40:50 -05:00
  • 71e9ca25f7
    Merge pull request #492 from neilalexander/fixlisten Neil Alexander 2019-08-07 10:57:55 +01:00
  • bbb35d7209
    Transform Listen statement to new format if needed Neil Alexander 2019-08-07 10:52:19 +01:00
  • c99ed9fb60
    Merge pull request #491 from Arceliar/flowkey Neil Alexander 2019-08-07 10:33:17 +01:00
  • d795ab1b65 minor allocation fix Arceliar 2019-08-06 20:51:38 -05:00
  • 790524bd1c copy/paste old flowkey logic into a util function, add a struct of key and packet, make WriteNoCopy accept this instead of a slice Arceliar 2019-08-06 19:25:55 -05:00
  • 6cb0ed91ad
    Merge pull request #486 from Arceliar/bugfix Arceliar 2019-08-05 19:17:30 -05:00
  • 679866d5ff have createSession fill the sessionInfo.cancel field, have Conn use Conn.session.cancel instead of storing its own cancellation, this should prevent any of these things from being both nil and reachable at the same time Arceliar 2019-08-05 19:11:28 -05:00
  • 032b86c9a3
    Merge pull request #485 from Arceliar/bugfix Arceliar 2019-08-05 18:57:14 -05:00
  • 8a85149817 remove src/.DS_Store Arceliar 2019-08-05 18:50:08 -05:00
  • 84a4f54217 temporary fix to nil pointer, better to make sure it's never nil Arceliar 2019-08-05 18:49:15 -05:00
  • 9eba8c9bea
    Merge pull request #21 from yggdrasil-network/develop Christer Warén 2019-08-05 16:17:22 +03:00
  • bd3b42022b
    Merge pull request #480 from Arceliar/speedup Neil Alexander 2019-08-05 10:24:54 +01:00
  • f046249ac6
    Merge pull request #484 from neilalexander/config Neil Alexander 2019-08-05 10:24:43 +01:00
  • 2ee00fcc09
    Return box_pub_key as hex string in JSON (replaces #481) Neil Alexander 2019-08-05 10:21:40 +01:00
  • 3a2ae9d902
    Update API to represent coords as []uint64 Neil Alexander 2019-08-05 10:17:19 +01:00
  • 37533f157d
    Make some API changes (currently broken) Neil Alexander 2019-08-05 00:30:12 +01:00
  • 2dcb20bdbd
    docker: Add more architectures Yan Minari 2019-07-18 20:24:01 -03:00
  • 8f509a97f6
    Make binaries standalone Yan Minari 2019-07-18 20:02:33 -03:00
  • e3990234be
    Use buildx Yan Minari 2019-07-18 19:45:11 -03:00
  • fc615767a0
    CI: tag docker images properly Yan Minari 2019-07-18 18:20:23 -03:00
  • ed569e4578
    CI: Fix dockerfiles Yan Minari 2019-07-18 17:48:04 -03:00
  • 55b3ab3c71
    CI: Fix docker build Yan Minari 2019-07-18 12:42:53 -03:00
  • 70a36ba827
    ci: Improve docker build Yan Minari 2019-07-18 12:35:21 -03:00
  • 0a039b79ec
    replace Dockerfile with a symlink Yan Minari 2019-07-18 12:34:08 -03:00
  • d5278b4f94
    Fix path Yan Minari 2019-07-18 12:33:29 -03:00
  • a7d93b69d5
    Pin golang version Yan Minari 2019-03-17 17:28:45 -03:00
  • d8c734d972
    Add docker builds to CI Yan Minari 2019-03-17 13:40:03 -03:00
  • d6c71db225
    Add generic Dockerfile Yan Minari 2019-03-14 17:23:53 -03:00
  • 8cb75c9005
    Move alpine based image Yan Minari 2019-03-14 16:04:11 -03:00
  • 3731c9a826
    Add FROM scratch docker image variant Yan Minari 2019-03-14 16:03:36 -03:00
  • 979c3d4c07 move some potentially blocking operations out of session pool workers, minor cleanup Arceliar 2019-08-04 16:29:58 -05:00
  • c55d7b4705 have the switch queue drop packts to ourself when the total size of all packets is at least queueTotalMaxSize, instead of an arbitrary unconfigurable packet count Arceliar 2019-08-04 16:16:49 -05:00
  • 6803f209b0 have tuntap code use Conn.ReadNoCopy and Conn.WriteNoCopy to avoid copying between slices Arceliar 2019-08-04 15:59:51 -05:00
  • 5d5486049b add Conn.ReadNoCopy and Conn.WriteNoCopy that transfer ownership of a slice instead of copying, have Read and Write use the NoCopy versions under the hood and just manage copying as needed Arceliar 2019-08-04 15:53:34 -05:00
  • 07f14f92ed disable crypto and switch buffer changes from testing Arceliar 2019-08-04 15:25:14 -05:00
  • 0ba8c6a34f have the stream code use bufio instead of copying manually to an input buffer, slightly reduces total uses of memmove Arceliar 2019-08-04 15:21:04 -05:00
  • 75b931f37e eliminate some more copying between slices Arceliar 2019-08-04 14:50:19 -05:00
  • f52955ee0f WARNING: CRYPTO DISABLED while speeding up stream writeMsg Arceliar 2019-08-04 14:18:59 -05:00
  • 4dd98d7ef3
    Return box_pub_key as hex again Neil Alexander 2019-08-04 18:58:51 +01:00
  • 1e6a6d2160 use session.cancel in the router to make blocking safe, reduce size of fromRouter buffer so the drops in the switch are closer to the intended front-drop behavior Arceliar 2019-08-04 02:21:41 -05:00
  • 7bf5884ac1 remove some lossy channel sends that should be safe to allow to block Arceliar 2019-08-04 02:14:45 -05:00
  • 6da5802ae5 don't block forever in Write if the session is cancelled, cleanup Conn.Read slightly Arceliar 2019-08-04 02:08:47 -05:00
  • 144c823bee just use a sync.Pool as the bytestore to not overcomplicate things, the allocations from interface{} casting don't seem to actually hurt in practice right now Arceliar 2019-08-04 00:28:13 -05:00
  • cbbb61b019 fix another drain on the bytestore Arceliar 2019-08-04 00:00:41 -05:00
  • 00e9c3dbd9 do session crypto work using the worker pool Arceliar 2019-08-03 23:27:52 -05:00
  • befd1b43a0 refactor session worker code slightly Arceliar 2019-08-03 23:14:51 -05:00
  • 7a9ad0c8cc add workerpool to util Arceliar 2019-08-03 23:10:37 -05:00
  • b9987b4fdc reduce time spent with a mutex held in sessionInfo.recvWorker Arceliar 2019-08-03 22:47:10 -05:00
  • 099bd3ae1e reduce part of sendWorker that needs to keep a mutex Arceliar 2019-08-03 22:35:10 -05:00
  • 72ed541bf3 a little cleanup to Conn functions Arceliar 2019-08-03 22:07:38 -05:00
  • 5dfc71e1ee put bytes back when done Arceliar 2019-08-03 22:00:47 -05:00
  • df0090e32a Add per-session read/write workers, work in progress, they still unfortunately need to take a mutex for safety Arceliar 2019-08-03 21:46:18 -05:00
  • a2966291b9
    Merge pull request #478 from yggdrasil-network/develop v0.3.6 Neil Alexander 2019-08-03 12:00:00 +01:00
  • 523f90bfc4
    Merge pull request #477 from yggdrasil-network/changelog Neil Alexander 2019-08-03 10:17:28 +01:00
  • 1eabf88782 more updates to go.sum Arceliar 2019-08-02 20:48:07 -05:00
  • 68769efdc9
    Update go.mod/go.sum Neil Alexander 2019-08-02 20:05:15 +01:00
  • e6bca895bc
    Update go.mod/go.sum Neil Alexander 2019-07-30 11:52:30 +01:00
  • a3099894bd
    Update CHANGELOG.md Neil Alexander 2019-07-30 10:15:06 +01:00
  • 92a611f34b
    Merge pull request #476 from yggdrasil-network/build Neil Alexander 2019-07-30 00:14:03 +01:00
  • b4d08f9273
    Try to be more POSIX-compliant Neil Alexander 2019-07-30 00:03:17 +01:00
  • cafa20074c
    Don't strip debug builds Neil Alexander 2019-07-29 23:50:00 +01:00
  • 750a79eb09
    Update build script Neil Alexander 2019-07-29 23:45:47 +01:00
  • 853054eb62
    Merge pull request #475 from Arceliar/misc Neil Alexander 2019-07-29 20:24:49 +01:00
  • 406e143f7f move some logic from TunAdapter.reader into a new function, TunAdapter.readerPacketHandler Arceliar 2019-07-28 23:33:04 -05:00
  • 7c4c1558ff
    Merge pull request #474 from neilalexander/gomobile Neil Alexander 2019-07-28 19:34:06 +01:00
  • bb4abf575b
    Fix build -i Neil Alexander 2019-07-28 13:51:22 +01:00
  • cbc8711dd3
    Remove mobile module, since it can now be moved into another repository Neil Alexander 2019-07-28 13:39:29 +01:00
  • c9554f82be
    Formatting tweaks in api.go Neil Alexander 2019-07-28 11:35:16 +01:00
  • 24f4754f2b
    Export NodeInfoPayload type, rename some API functions Neil Alexander 2019-07-28 11:30:24 +01:00
  • 38e1503b28 split up some of the tun reader logic into a separate worker, so the main loop can be mostly just syscalls Arceliar 2019-07-27 20:09:43 -05:00
  • b66bea813b rename a couple of things and move a PutBytes so it happens sooner Arceliar 2019-07-27 18:23:55 -05:00
  • 9e118884d4 remove some commented code Arceliar 2019-07-27 18:12:06 -05:00
  • e0a3055c2f get rid of session workers, new util.PutBytes/GetBytes logic Arceliar 2019-07-27 18:10:32 -05:00
  • 39245f8134
    Merge pull request #473 from Arceliar/macos Arceliar 2019-07-27 11:12:03 -05:00
  • 377f88512b
    Remove commented out router function Neil Alexander 2019-07-27 15:57:19 +01:00
  • de1005e4fa
    Various API changes and simplifications to fix mobile builds Neil Alexander 2019-07-27 15:00:09 +01:00
  • ad4ba6871e
    Use Go 1.12.7 for macOS builds Neil Alexander 2019-07-27 14:15:07 +01:00
  • d813105386
    Export CIBRANCH to Bash env Neil Alexander 2019-07-27 14:11:03 +01:00
  • 4d4fa84123
    Hopefully fix CircleCI builds on PRs Neil Alexander 2019-07-27 13:57:19 +01:00
  • 195d577151
    Add IFF_NODAD/IFF_SECURED, define consts Neil Alexander 2019-07-27 13:30:47 +01:00