Commit Graph

537 Commits

Author SHA1 Message Date
Luna Yao 85c06b0758 proto: rename ZoneConfigPb to ZoneData 2026-04-06 11:54:01 +02:00
Luna Yao 7041214321 client: add Heartbeat 2026-04-06 11:54:01 +02:00
Luna Yao 9caeeafbf9 config: use NameServerAddr for addresses 2026-04-06 11:54:01 +02:00
Luna Yao 9a2ba9cce8 peer_mgr: add DnsSnapshot Model 2026-04-06 11:54:01 +02:00
Luna Yao 2caf492551 zone: add system, remove add_forwarders 2026-04-06 11:54:01 +02:00
Luna Yao 4f3afc8ee8 utils: update NameServerAddr conversion 2026-04-06 11:54:01 +02:00
Luna Yao 863fc6f4cc utils: add MapTryInto 2026-04-06 11:54:01 +02:00
Luna Yao de84adb3a6 zone: add id to display 2026-04-06 11:54:01 +02:00
Luna Yao a9dc19ce76 proto: update Url conversion
url

url

fix url conversion
2026-04-06 11:54:01 +02:00
Luna Yao 8076734cd4 utils: add RepeatedMessageModel 2026-04-06 11:54:01 +02:00
Luna Yao 888bec6eac utils: move DeterministicDigest to utils 2026-04-06 11:54:01 +02:00
Luna Yao 7b1b651a46 peer_mgr: rename cache to peers, extract ttl as a const 2026-04-06 11:54:01 +02:00
Luna Yao 070332b9a7 plan: rename to ChainedAuthority 2026-04-06 11:54:01 +02:00
Luna Yao a6bec0fa6f zone: move chained authority to utils, rewrite authority creation 2026-04-06 11:54:01 +02:00
Luna Yao 77ccd7dbc9 zone: remove unused function 2026-04-06 11:54:01 +02:00
Luna Yao a6d030494c client: fix heartbeat initialization 2026-04-06 11:54:01 +02:00
Luna Yao 2ca8b5f8a2 server: add mod 2026-04-06 11:54:01 +02:00
Luna Yao 0e3474f049 peer_mgr: moved to a standalone file 2026-04-06 11:54:01 +02:00
Luna Yao 28c4c7b4a0 plan: remove delta, add DnsRunner, refactor heartbeat 2026-04-06 11:54:01 +02:00
Luna Yao 2e68a8db91 client: rewrite heartbeat, add resync 2026-04-06 11:54:01 +02:00
Luna Yao 7f8f036596 client: add DnsPeerManager and rpc 2026-04-06 11:54:01 +02:00
Luna Yao c4cf8cf1d8 rpc: let peers generate their own dedicated zones 2026-04-06 11:54:01 +02:00
Luna Yao cff0264caf chore: format 2026-04-06 11:54:01 +02:00
Luna Yao 2b5b80e179 client: framework 2026-04-06 11:54:01 +02:00
Luna Yao 9d48cefd05 config: let get_name return LowerName 2026-04-06 11:54:01 +02:00
Luna Yao 6836d61127 utils: add a parse function for DNS name 2026-04-06 11:54:01 +02:00
Luna Yao 75ad15c324 utils: add From<&NameServerAddr> for Url 2026-04-06 11:54:01 +02:00
Luna Yao 83bdcf0d2b rpc: add digest 2026-04-06 11:54:01 +02:00
Luna Yao ee3b7f2335 client: add mod 2026-04-06 11:54:01 +02:00
Luna Yao 7e16b7f69f plan: store only hash of DNS in RoutePeerInfo 2026-04-06 11:54:01 +02:00
Luna Yao 9376d3959b config: update test for policies 2026-04-06 11:54:01 +02:00
Luna Yao 78b2afb785 config: add DNS import/export policies
config: move ID generation to ZoneConfig

config: serde fixes
2026-04-06 11:54:01 +02:00
Luna Yao 8a93bb311b add FallbackAuthority and related test 2026-04-06 11:54:01 +02:00
Luna Yao b24bb42faa add dns to RoutePeerInfo 2026-04-06 11:54:01 +02:00
Luna Yao 2eaa5c215d add zone module with Zone struct and related functionality 2026-04-06 11:54:01 +02:00
Luna Yao 3f3aec8edd add DnsConfig and ZoneConfig with proto definitions 2026-04-06 11:54:01 +02:00
Luna Yao 7abdfd35e8 add dns mod 2026-04-06 11:54:01 +02:00
Luna Yao d3454febb7 plan: store only hash in RoutePeerInfo 2026-04-06 11:54:01 +02:00
Luna Yao 63dd133f0b plan: add alternative plan 2026-04-06 11:54:01 +02:00
Luna Yao 32f86e421a plan: remove delta update 2026-04-06 11:54:01 +02:00
Luna Yao 1c4303f5b7 plan: simplify RPC 2026-04-06 11:54:01 +02:00
Luna Yao 07376eb690 plan: add zone-wise acl control
plan: fix config example
2026-04-06 11:54:01 +02:00
Luna Yao 0b6ff1ecd7 plan: replace timestamp by id & seq 2026-04-06 11:54:01 +02:00
Luna Yao 46b53c601e add dev plan 2026-04-06 11:54:01 +02:00
Luna Yao 79b562cdc9 drop peer_mgr in time (#2064) 2026-04-06 11:31:05 +08:00
fanyang e3f089251c fix(ospf): mitigate route sync storm under connection flapping (#2063)
Addresses issue #2016 where nodes behind unstable networks
(e.g. campus firewalls) cause excessive traffic that can freeze
the remote node.

Two changes in peer_ospf_route.rs:

- Make do_sync_route_info only trigger reverse sync_now when
  incoming data actually changed the route table or foreign
  network state.  The previous unconditional sync_now created
  an A->B->A->B ping-pong cycle on every RPC exchange.

- Add exponential backoff (50ms..5s) to session_task retry loop.
  The previous fixed 50ms retry produced ~20 RPCs/s during
  sustained network instability.
2026-04-06 11:26:20 +08:00
fanyang cf6dcbc054 Fix IPv6 TCP tunnel display formatting (#1980)
Normalize composite tunnel display values before rendering peer and
debug output so IPv6 tunnel types no longer append `6` to the port.

- Preserve prefixes like `txt-` while converting tunnel schemes to
  their IPv6 form.
- Recover malformed values such as `txt-tcp://...:110106` into
  `txt-tcp6://...:11010`.
- Reuse the normalized remote address display in CLI debug output.
2026-04-05 22:12:55 +08:00
fanyang 2cf2b0fcac feat(cli): implement connector add/remove, drop peer stubs (#2058)
Implement the previously stubbed connector add/remove CLI commands
using PatchConfig RPC with InstanceConfigPatch.connectors, and
remove the peer add/remove stubs that had incorrect semantics.
2026-04-05 13:56:17 +08:00
KKRainbow fb59f01058 fix: reconcile webhook-managed configs and make disable_p2p more intelligent (#2057)
* reconcile infra configs on webhook validate
* make disable_p2p more intelligent
* fix stats
2026-04-04 23:41:57 +08:00
Luna Yao e91a0da70a refactor: listener/connector protocol abstraction (#2026)
* fix listener protocol detection
* replace IpProtocol with IpNextHeaderProtocol
* use an enum to gather all listener schemes
* rename ListenerScheme to TunnelScheme; replace IpNextHeaderProtocols with socket2::Protocol
* move TunnelScheme to tunnel
* add IpScheme, simplify connector creation
* format; fix some typos; remove check_scheme_...;
* remove PROTO_PORT_OFFSET
* rename WSTunnel.. -> WsTunnel.., DNSTunnel.. -> DnsTunnel..
2026-04-04 10:55:58 +08:00