Commit Graph
100 Commits
Author SHA1 Message Date
Luna Yao f75c35d4a0 add GlobalCtxEvent::PeerInfoUpdated, issue this event in do_sync_route_info
fix use in peer_ospf_route.rs
2026-04-06 11:54:02 +02:00
Luna Yao 088628c1b6 plan: update 2026-04-06 11:54:02 +02:00
Luna Yao 9b372d3087 node: watch config/ip change 2026-04-06 11:54:02 +02:00
Luna Yao 5de87cd494 plan: update 2026-04-06 11:54:02 +02:00
Luna Yao f5d3443928 client: rename to node 2026-04-06 11:54:01 +02:00
Luna Yao 5372596432 client: replace spawn_local with spawn 2026-04-06 11:54:01 +02:00
Luna Yao 5457adb533 utils: move to a mod 2026-04-06 11:54:01 +02:00
Luna Yao 474f1a3636 client: remove DnsPeerMgrDirtyFlags 2026-04-06 11:54:01 +02:00
Luna Yao efcdf4c456 utils: add DirtyState 2026-04-06 11:54:01 +02:00
Luna Yao e9a0e4f042 server: add new 2026-04-06 11:54:01 +02:00
Luna Yao d54eb97201 server: rename zones dirty flag to catalog 2026-04-06 11:54:01 +02:00
Luna Yao dc1e1929c8 client_mgr: add
format

client_mgr
2026-04-06 11:54:01 +02:00
Luna Yao b7073504d8 peer_mgr: use flat_map 2026-04-06 11:54:01 +02:00
Luna Yao f83816ac16 server: remove comments 2026-04-06 11:54:01 +02:00
Luna Yao d3ca03e20e use notify in dirty states 2026-04-06 11:54:01 +02:00
Luna Yao 3d3dba28e8 utils: add DirtyFlag 2026-04-06 11:54:01 +02:00
Luna Yao e3ed91aced peer_mgr: format 2026-04-06 11:54:01 +02:00
Luna Yao 8f7fc6e07b server: remove Notify of dirty 2026-04-06 11:54:01 +02:00
Luna Yao 5e69a26a53 server: add DnsServerRuntime and event loop 2026-04-06 11:54:01 +02:00
Luna Yao 488dfaf233 client: fix atomic ordering 2026-04-06 11:54:01 +02:00
Luna Yao 4a18a86ed6 proto: rename DnsPeerMgrRpc 2026-04-06 11:54:01 +02:00
Luna Yao a8fa7be4ce server: use ArcGlobalCtx 2026-04-06 11:54:01 +02:00
Luna Yao b469a28e19 server: use HashSet in DnsClientInfo 2026-04-06 11:54:01 +02:00
Luna Yao a5fdebe778 chore: move constants to mod.rs, format 2026-04-06 11:54:01 +02:00
Luna Yao 87713e96b7 chore: move all config to a dedicated mod 2026-04-06 11:54:01 +02:00
Luna Yao f9108672e6 server: add DnsClientInfo 2026-04-06 11:54:01 +02:00
Luna Yao dbb2f86a25 zone: add PartialEq 2026-04-06 11:54:01 +02:00
Luna Yao 0fdfbc2636 utils: use itertools
utils
2026-04-06 11:54:01 +02:00
Luna Yao 2cd208fad4 peer_mgr: remove DnsSnapshot, store zones directly in DnsPeerInfo 2026-04-06 11:54:01 +02:00
Luna Yao e0897dcf99 proto: add update method to HeartbeatRequest 2026-04-06 11:54:01 +02:00
Luna Yao 13aaa437b2 config: use itertools 2026-04-06 11:54:01 +02:00
Luna Yao 6856649705 client: remove Heartbeat 2026-04-06 11:54:01 +02:00
Luna Yao 35b27b73a2 zone: make Zone a model of ZoneData
zone: rename ZoneData back to Zone
2026-04-06 11:54:01 +02:00
Luna Yao 97edee20f9 config: add a wrapper for ZoneConfig, use Derivative to impl Default for DnsConfig
zone: make Zone a model of ZoneData

zone: rename ZoneData back to Zone
2026-04-06 11:54:01 +02:00
Luna Yao 743d8e4810 client: remove Derivative from DnsClient 2026-04-06 11:54:01 +02:00
Luna Yao 129f696a65 proto: remove ttl from ZoneData 2026-04-06 11:54:01 +02:00
Luna Yao 90409bfcaa utils: use itertools 2026-04-06 11:54:01 +02:00
Luna Yao f53ced6281 utils: update MapTryInto to match behaviour of itertools 2026-04-06 11:54:01 +02:00
Luna Yao e4bf2ca959 utils: add NameServerConfigGroup conversion impls 2026-04-06 11:54:01 +02:00
Luna Yao fd39961567 peer_mgr: remove Derivative 2026-04-06 11:54:01 +02:00
Luna Yao 9502a83143 dns: change mod to pub 2026-04-06 11:54:01 +02:00
Luna Yao 822e742ee2 server: add 2026-04-06 11:54:01 +02:00
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
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
Luna Yao 9cc617ae4c ci: build rpm package (#2044)
* add rpm to ci
* rename build_filter to build-filter
* use prepare-pnpm action
2026-04-04 10:32:08 +08:00
Luna Yao 443c3ca0b3 fix: append address of reverse proxy to remote_addr (#2034)
* append address of reverse proxy to remote_addr
* validate proxy address in test
2026-03-30 16:48:23 +08:00
Luna Yao 55a0e5952c chore: use cfg_aliases for mobile (#2033) 2026-03-30 16:38:39 +08:00
Luna Yao 61c741f887 add BoxExt trait (#2036) 2026-03-30 13:25:53 +08:00
Luna Yao b71a2889ef suppress clippy warnings when no feature flags are enabled (#2028) 2026-03-29 11:02:23 +08:00
Luna Yao d4c1b0e867 fix: read X-Forwarded-For from HTTP header of WS/WSS (#2019) 2026-03-28 22:20:46 +08:00
Luna Yao b5f475cd4c filter overlapped proxy cidr (#2024) 2026-03-28 09:40:05 +08:00
Luna Yao eaa4d2c7b8 test: use taiki-e/install-action for cargo-hack (#2020) 2026-03-28 00:07:59 +08:00
Luna Yao e160d9b048 ci: remove aes-gcm from check (#1925) 2026-03-27 22:48:22 +08:00
Luna Yao 8e4dc508bb test: improve test_txt_public_stun_server with timeout and retry mechanism (#2014) 2026-03-26 09:32:07 +08:00
Luna Yao e2684a93de refactor: use strum on EncryptionAlgorithm, use Xor as default when AesGcm not available (#1923) 2026-03-25 18:42:34 +08:00
Luna Yao 77966916c4 cargo: add used features for windows-sys (#1924) 2026-03-17 14:10:50 +08:00