Commit graph

  • 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
  • e5bb9bcb8d change how searches are initialized so we actually send a dhtReq to ourself and get a response, in case we're the destination Arceliar 2019-07-26 17:44:40 -05:00
  • 9b99f0b5e4
    Update go.mod/go.sum references Neil Alexander 2019-07-25 08:40:45 +01:00
  • 6263fa287c
    Merge pull request #467 from neilalexander/debugtext Neil Alexander 2019-07-23 08:15:03 +01:00
  • f208b7f542
    Merge pull request #469 from neilalexander/fix468 Neil Alexander 2019-07-23 08:14:49 +01:00
  • 837eb0131b
    Merge pull request #470 from neilalexander/conndebug Neil Alexander 2019-07-23 08:14:38 +01:00
  • de9d0a6cf1
    Redirect Conn session closure errors to debug channel Neil Alexander 2019-07-22 22:41:55 +01:00
  • 8669091a08
    Don't send IP back twice with getPeers Neil Alexander 2019-07-22 19:45:48 +01:00
  • 34ac5c9197
    Send PPROF output text to stderr instead of stdout so that it doesn't break -genconf Neil Alexander 2019-07-20 21:56:53 +01:00
  • 48ad3c5d7f
    Update water go.mod references, fix some bugs in TAP mode (which should hopefully fix Windows support too) Neil Alexander 2019-07-20 16:13:54 +01:00
  • 36201895e7
    Don't mangle bs slice in TAP mode Neil Alexander 2019-07-20 12:10:05 +01:00
  • 2582df752d
    Fix resetting Windows adapter (reverting previous change) Neil Alexander 2019-07-20 11:43:30 +01:00
  • 2aa57750a6
    Merge branch 'windows' into develop Neil Alexander 2019-07-20 11:15:05 +01:00
  • f3e3e4bca1
    Update go.mod/go.sum again for Windows interface selection tweaks Neil Alexander 2019-07-20 11:14:42 +01:00
  • 4f3d29332d
    Merge pull request #466 from neilalexander/windows Neil Alexander 2019-07-19 22:37:27 +01:00
  • 52080aa41e
    Build with Go 1.12.7 Neil Alexander 2019-07-19 22:34:18 +01:00
  • 613468e6a7
    Update go.mod/go.sum again for BSD tweaks in Water due to failed CI build Neil Alexander 2019-07-19 22:30:59 +01:00
  • 1a5c2a4942
    Update Windows module a bit - capture TAP setup errors earlier, refer to newer version of water which should fix #456 Neil Alexander 2019-07-19 22:21:30 +01:00
  • 85881c04fa
    Merge pull request #463 from Arceliar/cancellation Neil Alexander 2019-07-18 11:14:11 +01:00
  • cf3ebe04a7 have Conn use Cancellation instead of manually setting up timers Arceliar 2019-07-17 21:37:45 -05:00
  • 6bf182e341 add util.CancellationChild() and run gofmt Arceliar 2019-07-17 21:15:02 -05:00
  • 06e8403aaf add cancellation code to util, like context but just the cancellation parts + some error logic Arceliar 2019-07-17 21:09:22 -05:00
  • c36da7b814
    Merge pull request #462 from Arceliar/fixes Arceliar 2019-07-17 18:33:35 -05:00
  • 5301207480 fix possible unsafe memory use in Conn.Read Arceliar 2019-07-17 18:25:38 -05:00
  • 06330f503f
    Recover if stillAlive fails Neil Alexander 2019-07-18 00:02:16 +01:00
  • 311c612f2e
    Only flag stillAlive on successful write Neil Alexander 2019-07-17 23:23:19 +01:00
  • 307b24d8cb
    Fix Conn.Read/Conn.Write behavior after Conn.Close, get rid of second TUN/TAP conn reader goroutine, no longer use deadlines Neil Alexander 2019-07-17 21:42:17 +01:00