Commit graph

  • ea1859541c More cleanup, and fix for the extremely unlikely case of identity collision. Adam Ierymenko 2015-04-15 18:32:25 -07:00
  • f7b1437154 Putting the main binary back together... Adam Ierymenko 2015-04-15 17:00:26 -07:00
  • 6369c264e2 Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency. Adam Ierymenko 2015-04-15 15:12:09 -07:00
  • 871473255b Cleanup, drop 32-bit from Mac build flags since i386 is pretty thoroughly deprecated and dead on OSX. We will have to make our updater stop updating on any 32-bit Macs that might actually still be running ZT1. Adam Ierymenko 2015-04-15 14:54:37 -07:00
  • a0f8685453 cleanup Adam Ierymenko 2015-04-15 14:44:30 -07:00
  • 8639538299 Rename One to OneService, create separate sources for other tools. Adam Ierymenko 2015-04-15 14:42:26 -07:00
  • 98bcc3d4b5 Disable a few noisy TRACEs, and limit how often we confirm new paths to avoid flooding. Adam Ierymenko 2015-04-15 13:15:09 -07:00
  • 1c9ca73065 Fix some deadlock issues, move awareness of broadcast subscription into core, other bug fixes. Adam Ierymenko 2015-04-15 13:09:20 -07:00
  • 508519b62a Tap driver load fix. Adam Ierymenko 2015-04-14 19:21:56 -07:00
  • c9af603b9f Add beacon broadcasting back into Node. Adam Ierymenko 2015-04-14 18:20:03 -07:00
  • aeb4b42ab3 Make tap itself handle remembering sticky device to nwid mappings. Adam Ierymenko 2015-04-14 18:13:46 -07:00
  • 67f1f1892f Bunch of tap stuff, IP address assignment hookups, etc. Adam Ierymenko 2015-04-14 17:57:51 -07:00
  • e205e5fdfe Include tap device name in JSON output for network info. Adam Ierymenko 2015-04-14 15:55:03 -07:00
  • 347e98dcd2 Just return files from listDirectory() since that is all we need, fix network request on network restore logic, and remember saved networks in service/One Adam Ierymenko 2015-04-14 15:32:05 -07:00
  • 29a2175b7a Fix missed closedir() Adam Ierymenko 2015-04-14 15:17:59 -07:00
  • 49d31613b9 Fix some minor issues, now to reintegrate taps. Adam Ierymenko 2015-04-14 15:16:04 -07:00
  • 758b5caf94 Fix < logic. Adam Ierymenko 2015-04-14 14:52:23 -07:00
  • 6f4b30add8 Turns out you do have to unpack and compare sockaddr structures due to sin_len / sin6_len not present on all platforms and other junk. Adam Ierymenko 2015-04-14 14:49:34 -07:00
  • 1cfa67bbdd Bunch more control plane work, and shelve old UI -- React FTW. Adam Ierymenko 2015-04-14 13:56:28 -07:00
  • a2605561af Basic control plane queries working. Adam Ierymenko 2015-04-13 18:43:33 -07:00
  • b888e033c0 JSON control plane, almost done... Adam Ierymenko 2015-04-13 18:12:45 -07:00
  • ff0eff4b7c Decided to back out of doing HTTP/TCP server *and* client within ZT itself. Instead we'll do the TCP tunneling endpoint as a separate little daemon. It will appear here shortly. Adam Ierymenko 2015-04-13 12:27:29 -07:00
  • 5c1262f324 Basic framework of HTTP server is there. Adam Ierymenko 2015-04-10 19:36:29 -07:00
  • daef54ba32 HTTP server is in, and works. Adam Ierymenko 2015-04-10 19:08:49 -07:00
  • 5572b7ffb6 Simplify Phy<> to get rid of more indirections. Adam Ierymenko 2015-04-10 17:07:06 -07:00
  • 7576911951 Temporarily shelve testnet/ -- will resurrect self-contained testnet later perhaps, but probably will not by the time next version ships. Was mostly for debugging multicast anyway and that is now quite stable. Adam Ierymenko 2015-04-10 11:42:02 -07:00
  • 9e651b39e4 Add some TRACE around pinging (for now), and refactor service/One to just run in the foreground as some platforms may not require threads at all. Adam Ierymenko 2015-04-10 11:40:45 -07:00
  • 08a11a6f32 Since which tap to use is chosen statically at compile time and the factories are gone, there is now no need for inheritance or virtual methods (indirect calls) here. Should improve performance slightly to get rid of them. Adam Ierymenko 2015-04-10 10:19:45 -07:00
  • 5e331d6733 Restrict unite() to desperation==0 since NAT-t only works right now with direct links. Adam Ierymenko 2015-04-10 10:13:50 -07:00
  • 068d311ecc TRACE compile fixes, other fixes, and it basically works! It says HELLO. Adam Ierymenko 2015-04-09 20:54:00 -07:00
  • 38200cc6a5 Add data store functions to service/One, and shelve old main.cpp since it will get rebuilt. Adam Ierymenko 2015-04-09 19:58:04 -07:00
  • 6615a70027 Service code builds now. Adam Ierymenko 2015-04-09 18:22:04 -07:00
  • 46ecad451c Starting on new service/ code to encapsulate node/ with osdep/ stuff, and add a user pointer to the CAPI. Adam Ierymenko 2015-04-09 18:14:27 -07:00
  • 9342380146 docs Adam Ierymenko 2015-04-09 11:27:23 -07:00
  • 7192fe6d15 osdep/ compile fixes, and remove some lingering OS-specific stuff from node/Defaults Adam Ierymenko 2015-04-08 19:03:30 -07:00
  • d761330465 No more tap factories. Adam Ierymenko 2015-04-08 18:47:06 -07:00
  • ccc73b920e Node peer list function for CAPI, and some Peer cleanup. Adam Ierymenko 2015-04-08 18:45:21 -07:00
  • d9e9b60a98 Node status and network list. Adam Ierymenko 2015-04-08 18:25:40 -07:00
  • e34bc961db Add awareness of online status, and put old OS-dep utils in OSUtils. Adam Ierymenko 2015-04-08 17:10:21 -07:00
  • 0751eaabd8 Clean OS-dep stuff out of node/Utils. Adam Ierymenko 2015-04-08 16:55:00 -07:00
  • 12431ce95d Clean out attic. Adam Ierymenko 2015-04-08 16:50:14 -07:00
  • 4d5a6a25d3 Add events for packet decode errors, etc., and re-implement TRACE as an event. Adam Ierymenko 2015-04-08 16:49:21 -07:00
  • 9d9d0ef12c Rename StatusCallback to more descriptive EventCallback. Adam Ierymenko 2015-04-08 16:07:47 -07:00
  • c894710ac1 Remove Logger.hpp references. Adam Ierymenko 2015-04-08 16:00:48 -07:00
  • 608b5ca13a . Adam Ierymenko 2015-04-08 15:56:19 -07:00
  • 37bd6fdb9c Move Logger to attic -- last bit of OS-specific stuff to get out of core. Adam Ierymenko 2015-04-08 15:56:11 -07:00
  • 7529d050c7 All of node/ now compiles again! Adam Ierymenko 2015-04-08 15:42:23 -07:00
  • bf2ff964e1 Utils::now() removal and a bunch of compile fixes. Adam Ierymenko 2015-04-08 15:26:45 -07:00
  • ee2f51f48e Make Toplogy use dataStoreXX() methods from Node, and get rid of old TCP stuff. Adam Ierymenko 2015-04-08 15:12:04 -07:00
  • 40bfe37a19 Use max of core or most recent path desperation for pings. Adam Ierymenko 2015-04-08 14:58:23 -07:00
  • 59af674e74 Announce multicast groups on multicast subscribe. Adam Ierymenko 2015-04-07 19:35:16 -07:00
  • 6de7996218 Math fix. Adam Ierymenko 2015-04-07 19:32:26 -07:00
  • 49f031ccb4 Tons of refactoring, change to desperation algorithm to use max of core or link, porting over core loop code from old Node.cpp to new CAPI version, etc. Adam Ierymenko 2015-04-07 19:31:11 -07:00
  • 9e55f882d3 Starting to port from old Node() -- identity generation. Adam Ierymenko 2015-04-07 16:41:56 -07:00
  • 8210ed4805 Implement read from object store. Adam Ierymenko 2015-04-07 14:11:47 -07:00
  • 0a90681849 Add ping(), and a logic fix in SelfAwareness. Adam Ierymenko 2015-04-07 12:32:05 -07:00
  • 24608d5ca3 Always use HELLO to contact, and we now confirm newly learned paths via a two-way handshake to prevent half-connects. Adam Ierymenko 2015-04-07 12:22:33 -07:00
  • eae2c89b09 Mutex locking fix. Adam Ierymenko 2015-04-07 11:58:41 -07:00
  • 52c3b7c34e Implemented empirical determination of external addressing, paritioned per scope. Adam Ierymenko 2015-04-07 11:56:10 -07:00
  • 817824b88b Some external surface awareness work, and IP scope classification. Adam Ierymenko 2015-04-07 10:57:59 -07:00
  • a2821e9000 Add code to check external surface against reported surface from other trusted peers, and also rename ExternalSurface to SelfAwareness because lulz. Adam Ierymenko 2015-04-06 20:17:21 -07:00
  • 76ad19f411 Use binary_search for multicast groups, which are kept in sorted order. Adam Ierymenko 2015-04-06 19:41:55 -07:00
  • 758bf949db Check for subscribed multicast groups should be able to check groups bridged behind me. Adam Ierymenko 2015-04-06 19:34:36 -07:00
  • 4e691c8e22 build fixes Adam Ierymenko 2015-04-06 18:56:08 -07:00
  • 6807ccd710 Don't need to announce on multicast leave. Adam Ierymenko 2015-04-06 18:28:18 -07:00
  • 51f46a009a Multicast group join/leave and group membership announcement. Adam Ierymenko 2015-04-06 18:27:24 -07:00
  • 8001b2c0cb Network now calls port config function as per new API. Adam Ierymenko 2015-04-06 16:52:52 -07:00
  • a86300c58f Network build fixes and cleanup of remaining internal references to _tap Adam Ierymenko 2015-04-06 15:47:57 -07:00
  • 488f5bf977 More build fixes, and attic/ some stuff. Adam Ierymenko 2015-04-06 15:14:54 -07:00
  • 197d272287 More NAT strategy cleanup. Adam Ierymenko 2015-04-06 15:08:45 -07:00
  • be4683a96d Get rid of random port strategy -- research does not support. Adam Ierymenko 2015-04-06 15:03:08 -07:00
  • 5f351f2f6b build fixes. Adam Ierymenko 2015-04-06 14:55:40 -07:00
  • f4fd2d4971 Bring IncomingPacket into line with new changes. Adam Ierymenko 2015-04-06 14:50:53 -07:00
  • a95f1e1418 Eliminate redundant SharedPtr assignment. Adam Ierymenko 2015-04-03 17:01:07 -07:00
  • 6eb9289367 Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch. Adam Ierymenko 2015-04-03 16:52:53 -07:00
  • ee0f56355b Send path simplification. Adam Ierymenko 2015-04-03 13:14:37 -07:00
  • a69e1876f1 The concept of link desperation (escalating to less desirable transports) simplifies a ton of stuff. Loads of spaghetti logic can die since we no longer have to make these decisions down in the core. Adam Ierymenko 2015-04-02 17:54:56 -07:00
  • 5f51653f9c More cleanup. Adam Ierymenko 2015-04-01 19:16:07 -07:00
  • 0214dbc277 More cleanup. Adam Ierymenko 2015-04-01 19:15:21 -07:00
  • 1f28ce3980 Tons more refactoring: simplify Network, move explicit management of Tap out, redo COM serialization, etc. Adam Ierymenko 2015-04-01 19:09:18 -07:00
  • 49349470a0 ... Adam Ierymenko 2015-04-01 16:27:14 -07:00
  • 8130848020 More refactoring... and update the API a bit... turns out my strategy for reducing indirect function calls also increased memcpy()s which are more expensive. This is simpler and faster. Adam Ierymenko 2015-04-01 14:59:44 -07:00
  • 7ff0cab1b7 docs Adam Ierymenko 2015-03-31 18:33:39 -07:00
  • b723855751 Refactoring... lalalala... Adam Ierymenko 2015-03-31 18:17:11 -07:00
  • 36eab4f1a9 Whole heap more cleanup and refactoring... Adam Ierymenko 2015-03-31 17:53:34 -07:00
  • 647ce82b86 Move more stuff into osdep/ -- node/ will not use threads directly. Adam Ierymenko 2015-03-31 15:23:14 -07:00
  • e61a40a956 docs Adam Ierymenko 2015-03-31 14:12:33 -07:00
  • a61acf36d2 osnet -> osdep Adam Ierymenko 2015-03-31 14:11:21 -07:00
  • 8990fb8267 osnet -> osdep Adam Ierymenko 2015-03-31 14:10:02 -07:00
  • 2c5dbecb3c More CAPI work, and move old control/ and old node/Node to attic. Adam Ierymenko 2015-03-31 13:54:50 -07:00
  • fe94c9460b Phy is a better name than Wire, and other cleanup. Adam Ierymenko 2015-03-31 11:52:10 -07:00
  • fe87c1db67 Work on new simplified C API -- required for embedded, language bindings, mobile (language bindings again), etc. Adam Ierymenko 2015-03-30 19:46:07 -07:00
  • 60158aa5dd Turns out that node/ likely has no business with or need for the system IP routing table. So shelve that code for now. Adam Ierymenko 2015-03-30 17:48:48 -07:00
  • 3c1a59fa24 Wire selftest, and passes all tests. Adam Ierymenko 2015-03-30 15:37:44 -07:00
  • b6241f6cb1 Build fixes. Adam Ierymenko 2015-03-30 13:21:35 -07:00
  • 4445bfc869 Wire should be good to test. Adam Ierymenko 2015-03-26 14:44:31 -07:00
  • 8d409def74 More Wire cleanup/docs and minor fixes. Adam Ierymenko 2015-03-24 13:45:31 -07:00
  • 91810c5f44 A bit more cleanup and doc work on new select abstraction Adam Ierymenko 2015-03-24 10:09:05 -07:00
  • 64ea58d523 Most of new cleaner IO abstraction. Adam Ierymenko 2015-03-23 17:07:47 -07:00
  • 96737368aa Add MIT-licensed Joyent http-parser lib to ext/ for use with new control plane. Adam Ierymenko 2015-03-20 13:32:31 -07:00