Commit Graph

  • 23108e268b Use go-syslog to fix builds on Windows Neil Alexander 2019-06-29 00:32:23 +01:00
  • 27b3b9b49b Return new copy of interfaces on each Interfaces() call Neil Alexander 2019-06-29 00:12:56 +01:00
  • 93a323c62c Add support for logging to file or syslog instead of stdout Neil Alexander 2019-06-28 23:45:04 +01:00
  • 29a0f8b572 some minor refactoring to dht callbacks and searches, work in progress Arceliar 2019-06-25 19:31:29 -05:00
  • 54f1804101 Try and solidify multicast interface behavior Neil Alexander 2019-06-20 15:11:55 +01:00
  • 2fd3ac6837 Merge pull request #432 from neilalexander/gatekeeper Neil Alexander 2019-06-13 23:41:42 +01:00
  • 535ca06c07 Merge pull request #431 from neilalexander/defaults Neil Alexander 2019-06-13 23:41:28 +01:00
  • f545060e89 Add notes on isSessionAllowed checks Neil Alexander 2019-06-13 23:37:53 +01:00
  • 9a7d350884 Fix expressions Neil Alexander 2019-06-11 23:48:00 +01:00
  • ec5bb84975 Try to build the new RPM using CircleCI Neil Alexander 2019-06-11 15:30:55 +01:00
  • e229ad6e2b Update comments Neil Alexander 2019-06-11 12:52:13 +01:00
  • 907986f200 Implement session firewall as gatekeeper func in cmd/yggdrasil Neil Alexander 2019-06-11 12:50:01 +01:00
  • 720a078a35 Add SetSessionGatekeeper Neil Alexander 2019-06-11 10:52:21 +01:00
  • 17175b49f2 Add multicast interfaces to platform-specific defaults (this makes it easier to avoid bringing AWDL up by default on macOS as an example, or over L2 VPNs when not expected) Neil Alexander 2019-06-11 10:18:59 +01:00
  • d4a3b2bc76 Merge pull request #429 from Arceliar/sessionfix Neil Alexander 2019-06-11 10:07:52 +01:00
  • 4b56849b08 fix issue with sessions dying and never being fixed Arceliar 2019-06-10 22:09:12 -05:00
  • cab4b5f793 Merge pull request #428 from Arceliar/readerror Arceliar 2019-05-31 17:56:53 -05:00
  • 1addf08ccd don't have Conn.Read return an error for temorary crypto failures from e.g. out of order packets, just drop the packet and keep blocking until there's usable traffic Arceliar 2019-05-31 17:51:01 -05:00
  • 7e837e97e9 Merge pull request #427 from neilalexander/ckrenabled Neil Alexander 2019-05-31 11:33:07 +01:00
  • f0422dbd8b Fix panic when determining if CKR is enabled Neil Alexander 2019-05-30 17:33:59 +01:00
  • e430d16018 Merge pull request #426 from neilalexander/errorhandle Neil Alexander 2019-05-30 12:52:35 +01:00
  • 9e086e70f0 Don't indefinitely block TUN/TAP reader goroutine when a conn error happens Neil Alexander 2019-05-30 12:44:47 +01:00
  • 396c879d0f Merge pull request #425 from neilalexander/sessionmtu Neil Alexander 2019-05-29 20:19:41 +01:00
  • 0096d1ae3e Re-add ICMPv6 packet too big handling Neil Alexander 2019-05-29 20:16:17 +01:00
  • 75cc25b7f4 Merge pull request #424 from neilalexander/sessionmtu Neil Alexander 2019-05-29 19:17:10 +01:00
  • 3b6c726a3c Fix bug where MTU was ignored by sessions, resulting in default 1280 Neil Alexander 2019-05-29 19:11:12 +01:00
  • 6b6266bfdd Merge pull request #419 from yggdrasil-network/modular Neil Alexander 2019-05-29 18:19:13 +01:00
  • 78eb40cbad Record session uptime (purely for the admin socket) Neil Alexander 2019-05-29 12:59:36 +01:00
  • b2513fce56 have the tunConn close things after a 2 minute timeout Arceliar 2019-05-28 18:35:52 -05:00
  • 5ea864869a don't spam searches for unused connections. todo: timeout old connections somehow Arceliar 2019-05-23 20:27:52 -05:00
  • 70774fc3de Reimplement get/setTunnelRouting, add/removeSourceSubnet, add/removeRoute, getRoutes, getSourceSubnets, make CKR threadsafe Neil Alexander 2019-05-20 21:45:33 +01:00
  • 5b8d8a9341 Reimplement getNodeInfo, dhtPing, get/add/removeAllowedEncryptionPublicKey, add/removePeer Neil Alexander 2019-05-20 19:51:44 +01:00
  • e9e2d7bc6f Remove debug println Neil Alexander 2019-05-19 22:03:20 +01:00
  • d575b83ec1 Refactor admin socket somewhat, allow modules to set up their own handlers Neil Alexander 2019-05-19 22:02:04 +01:00
  • 8ef1978cb1 Start factoring out the admin socket into a separate module (not all functions implemented yet) Neil Alexander 2019-05-19 17:27:48 +01:00
  • 7ca5a2533d Implement GetDHT, GetSwitchQueues, GetSessions Neil Alexander 2019-05-19 16:29:04 +01:00
  • 8a6f6f3b2b Implement GetPeers and GetSwitchPeers API functions in Core, in preparation for breaking out the admin socket into a separate module Neil Alexander 2019-05-18 17:21:02 +01:00
  • ce60609906 Remove wrappedConn as unnecessary Neil Alexander 2019-05-18 16:16:32 +01:00
  • 5b09b45572 Merge pull request #416 from fifteenthcommotion/yggdrasil-brute-simple Neil Alexander 2019-05-18 12:28:49 +01:00
  • 080052ce04 remove ygg-brute gitignore fifteenthcommotion 2019-05-18 04:25:57 -07:00
  • 1b3ec0b93f Fix multicast start check so that it shouldn't give up if interfaces aren't up when Yggdrasil starts (fixes #405) Neil Alexander 2019-05-17 22:59:29 +01:00
  • 2df62e2b9b Remove code that translates v0.2 config options (it was commented out anyway) Neil Alexander 2019-05-17 22:52:14 +01:00
  • ae2cc13d14 Fix configuration reloading support Neil Alexander 2019-05-17 22:29:52 +01:00
  • 71ccaf753e Add crypto-key routing into TUN/TAP Neil Alexander 2019-05-17 22:09:20 +01:00
  • 9c01947b1c reduce allocations in switch Arceliar 2019-05-16 18:10:47 -05:00
  • 522ed147b1 use the subnet derived ID/mask when creating a connection based on a subnet address, fix a potential blocking channel send in tuntap/conn.go, and get debug.go compiling well enough to profile things (the sim is currently still broken) Arceliar 2019-05-15 18:01:26 -05:00
  • 5bed78c7a7 add CC0 for good measure fifteenthcommotion 2019-05-12 12:40:45 -07:00
  • db85a11194 unlicense and spacing perfectionism fifteenthcommotion 2019-05-12 02:18:03 -07:00
  • 5a3c730097 contribute decently fast yggdrasil address generator in C fifteenthcommotion 2019-05-11 16:31:46 -07:00
  • efdaea1b5e fix some races and GetBytes/PutBytes usage, but this still seems to deadlock somewhere in iperf tests Arceliar 2019-05-02 17:37:49 -05:00
  • 5f66c4c95c Try using separate workers for each TUN/TAP connection (sometimes produces duplicate packets when communicating with both the node address and a subnet address, sometimes also can't Ctrl-C to quit) Neil Alexander 2019-04-28 17:14:09 +01:00
  • 6469e39ff1 workaround to random timeouts Arceliar 2019-04-26 22:42:05 -05:00
  • 5d323861f0 properly fix the memory errors, it was caused by a function returning and PutBytes-ing a buffer before a worker had a chance to decrypt the buffer, so it would GetBytes the same buffer by dumb luck and then get an illegal overlap Arceliar 2019-04-26 22:21:31 -05:00
  • 01ea6d3d80 somehow this doesn't seem to deadlock or crash from buffer reuse (util.PutBytes), but I have no idea why it was doing that before and not now Arceliar 2019-04-26 21:49:11 -05:00
  • 15051b0a3c Add deadline timers, keep searches alive until they complete (or the conn is closed) to keep Write from blocking forever Arceliar 2019-04-26 19:31:47 -05:00
  • 0059baf36c add a newConn function that returns a pointer to a Conn with atomics properly initialized Arceliar 2019-04-26 18:07:57 -05:00
  • 75130f7735 Fix TAP support again Neil Alexander 2019-04-23 11:46:16 +01:00
  • 2b44f5d2f6 Fix TAP support Neil Alexander 2019-04-23 11:37:32 +01:00
  • b4513ca2e8 Re-add support for TAP mode Neil Alexander 2019-04-23 10:43:07 +01:00
  • 870b2b6a2e Remove CKR from src/yggdrasil (it will be moved into tuntap) Neil Alexander 2019-04-23 10:28:40 +01:00
  • 2bee3cd7ca Update TODOs at top of tun.go Neil Alexander 2019-04-23 00:04:22 +01:00
  • d7a1c04748 It works, sort of, amazingly Neil Alexander 2019-04-22 23:58:59 +01:00
  • e1a2d666bf Clean up router, tweaks Neil Alexander 2019-04-22 23:12:13 +01:00
  • 6e528799e9 Conn Read/Write operations will block while search completes Neil Alexander 2019-04-22 22:38:37 +01:00
  • ea8948f378 TUN/TAP addr/subnet to Conn mappings, other fixes Neil Alexander 2019-04-22 20:06:39 +01:00
  • 9778f5d2b8 Fix search behaviour on closed Conns, various other fixes Neil Alexander 2019-04-22 15:00:19 +01:00
  • bbd1246f7b Fix bug in mask generation for outbound dials, change iface reader mutexes to read-only locks unless RW is needed Neil Alexander 2019-04-22 11:49:47 +01:00
  • ccf03fd3b6 Don't write huge mostly empty buffers unnecessarily Neil Alexander 2019-04-22 11:22:40 +01:00
  • 47eb2fc47f Break deadlock by creating session recv queue when session is created instead of repointing at search completion, also make expired atomic Neil Alexander 2019-04-22 11:20:35 +01:00
  • 5a02e2ff44 apparently it was these callbacks that were sometimes deadlocking things Arceliar 2019-04-21 22:31:56 -05:00
  • 9ce7fe2e3f fix tun/tap CIDR notation so things work on linux, may break other platforms for all I know Arceliar 2019-04-21 20:56:12 -05:00
  • 5dada3952c use a session worker to try to avoid mutex hell. compiles, but incomplete and doesn't work yet Arceliar 2019-04-21 20:38:14 -05:00
  • 0b8f5b5dda Tweaks Neil Alexander 2019-04-21 12:28:46 +01:00
  • 781cd7571f Fix race on tun conns, but still deadlocks if more than one connection is opened Neil Alexander 2019-04-21 12:00:31 +01:00
  • 79bcfbf175 Change some mutexes to atomics, change conns map to pointers, sort of works but seems to deadlock very easily Neil Alexander 2019-04-21 11:50:41 +01:00
  • 62621f2960 Some tweaks Neil Alexander 2019-04-20 20:22:58 +01:00
  • d01662c1fb Try to convert TUN/TAP to use new yggdrasil.Conn, search masks are still broken Neil Alexander 2019-04-20 16:32:27 +01:00
  • 319366513c Allow building with race detector Neil Alexander 2019-04-20 11:53:46 +01:00
  • f3e742a297 Squash a whole load of races (and mutex half the world) Neil Alexander 2019-04-20 11:53:38 +01:00
  • 24281d4049 Fix Read, update sample Neil Alexander 2019-04-19 23:47:11 +01:00
  • 693bcc5713 Update sample in cmd/yggdrasil Neil Alexander 2019-04-19 23:30:57 +01:00
  • e31b914e38 Improve errors and handling of expired sessions Neil Alexander 2019-04-19 23:30:43 +01:00
  • 7e726b0afb Listener should clean up a bit more when closing Neil Alexander 2019-04-19 23:04:09 +01:00
  • aac88adbed Listen-Accept-Read-Write pattern now works, amazingly Neil Alexander 2019-04-19 22:57:52 +01:00
  • 27b78b925d Move mutexes around Neil Alexander 2019-04-19 21:23:15 +01:00
  • e3eadba4b7 Protect session nonces with mutexes, modify sent/received bytes atomically Neil Alexander 2019-04-19 20:10:41 +01:00
  • ade684beff Signal when a session is closed, other tweaks Neil Alexander 2019-04-19 10:55:15 +01:00
  • c593721362 Tweaks Neil Alexander 2019-04-19 00:33:54 +01:00
  • b20c8b6da5 Move some things around a bit, delete session workers Neil Alexander 2019-04-19 00:11:43 +01:00
  • b2f4f2e1b6 Update errors, update Write Neil Alexander 2019-04-19 00:07:26 +01:00
  • 160e01e84f Searches called from api.go, various other tweaks, searches now have a callback for success/failure, node ID now reported by admin socket Neil Alexander 2019-04-18 23:38:23 +01:00
  • eef2a02d0a Experiment with new API Neil Alexander 2019-04-18 16:38:24 +01:00
  • 24fa8355f1 Merge pull request #401 from neilalexander/modular Neil Alexander 2019-04-17 18:35:10 +01:00
  • 9bc24f8dbf Return both current and previous config when replacing Neil Alexander 2019-04-15 22:00:38 +01:00
  • 53fba06382 Merge pull request #407 from cathugger/develop Arceliar 2019-04-11 00:28:27 -05:00
  • ed4e21478f Merge pull request #409 from vpzomtrrfrt/armel Neil Alexander 2019-04-07 23:30:07 +01:00
  • 2465ad0384 Add armel to PKGARCH usage list Colin Reeder 2019-04-07 16:14:37 -06:00
  • b5e3b05e77 Add armel support to deb script Colin Reeder 2019-04-07 13:06:24 -06:00
  • 4488189a75 wire: cleaner and faster wire_intToUint and wire_intFromUint cathugger 2019-04-06 21:34:47 +03:00
  • 2e72c7c93d Fix mobile logging Neil Alexander 2019-04-01 22:45:30 +01:00