Commit d4c8707
committed
fix(dataplane): address five critical issues in Rust dataplane
- #1051: IPv4-mapped IPv6 addresses now checked against v4 denylist in
SSRF filter; ULA check extended to cover full fc00::/7 range
- #1052: Router is now rebuilt on incremental upsert_route/delete_route
via a shared rebuild_router helper, not just on full apply_config
- #1053: LB cache invalidation in upsert_cluster/delete_cluster changed
from try_write() (silently skipped on contention) to async write().await
- #1054: PoolGuard now stores Arc<Semaphore> and implements Drop to
return the permit automatically, preventing leaks on panic
- #1055: Backend selection replaced SystemTime nanos with per-Route
AtomicU64 counter for deterministic weighted round-robin1 parent 9c683ca commit d4c8707
7 files changed
Lines changed: 245 additions & 162 deletions
File tree
- dataplane/novaedge-dataplane/src
- middleware/auth
- proxy
- upstream
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
272 | 272 | | |
273 | 273 | | |
274 | 274 | | |
275 | | - | |
| 275 | + | |
276 | 276 | | |
277 | 277 | | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
| 278 | + | |
| 279 | + | |
283 | 280 | | |
284 | 281 | | |
285 | 282 | | |
286 | 283 | | |
287 | | - | |
| 284 | + | |
288 | 285 | | |
289 | | - | |
290 | | - | |
291 | | - | |
| 286 | + | |
292 | 287 | | |
293 | 288 | | |
294 | 289 | | |
| |||
659 | 654 | | |
660 | 655 | | |
661 | 656 | | |
662 | | - | |
663 | | - | |
| 657 | + | |
| 658 | + | |
664 | 659 | | |
665 | | - | |
| 660 | + | |
666 | 661 | | |
667 | 662 | | |
668 | 663 | | |
669 | 664 | | |
670 | 665 | | |
671 | | - | |
672 | | - | |
| 666 | + | |
| 667 | + | |
673 | 668 | | |
674 | 669 | | |
675 | | - | |
| 670 | + | |
676 | 671 | | |
677 | 672 | | |
678 | 673 | | |
679 | 674 | | |
680 | | - | |
681 | | - | |
| 675 | + | |
| 676 | + | |
682 | 677 | | |
683 | 678 | | |
684 | 679 | | |
685 | | - | |
| 680 | + | |
686 | 681 | | |
687 | 682 | | |
688 | 683 | | |
689 | | - | |
| 684 | + | |
690 | 685 | | |
691 | 686 | | |
692 | 687 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
615 | 615 | | |
616 | 616 | | |
617 | 617 | | |
618 | | - | |
619 | | - | |
620 | | - | |
621 | | - | |
622 | | - | |
623 | | - | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
664 | | - | |
665 | | - | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
666 | 668 | | |
667 | 669 | | |
668 | 670 | | |
| |||
Lines changed: 16 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
155 | 155 | | |
156 | 156 | | |
157 | 157 | | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
158 | 162 | | |
159 | | - | |
| 163 | + | |
160 | 164 | | |
161 | 165 | | |
162 | 166 | | |
| |||
264 | 268 | | |
265 | 269 | | |
266 | 270 | | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
267 | 282 | | |
268 | 283 | | |
269 | 284 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
351 | 351 | | |
352 | 352 | | |
353 | 353 | | |
| 354 | + | |
354 | 355 | | |
355 | 356 | | |
356 | 357 | | |
| |||
682 | 683 | | |
683 | 684 | | |
684 | 685 | | |
685 | | - | |
| 686 | + | |
686 | 687 | | |
687 | 688 | | |
688 | 689 | | |
| |||
841 | 842 | | |
842 | 843 | | |
843 | 844 | | |
| 845 | + | |
844 | 846 | | |
845 | 847 | | |
846 | 848 | | |
| |||
857 | 859 | | |
858 | 860 | | |
859 | 861 | | |
| 862 | + | |
860 | 863 | | |
861 | 864 | | |
862 | 865 | | |
| |||
881 | 884 | | |
882 | 885 | | |
883 | 886 | | |
| 887 | + | |
884 | 888 | | |
885 | 889 | | |
886 | 890 | | |
| |||
1116 | 1120 | | |
1117 | 1121 | | |
1118 | 1122 | | |
| 1123 | + | |
1119 | 1124 | | |
1120 | 1125 | | |
1121 | 1126 | | |
| |||
1544 | 1549 | | |
1545 | 1550 | | |
1546 | 1551 | | |
| 1552 | + | |
1547 | 1553 | | |
1548 | 1554 | | |
1549 | 1555 | | |
| |||
1623 | 1629 | | |
1624 | 1630 | | |
1625 | 1631 | | |
1626 | | - | |
| 1632 | + | |
| 1633 | + | |
1627 | 1634 | | |
1628 | 1635 | | |
1629 | 1636 | | |
| |||
1715 | 1722 | | |
1716 | 1723 | | |
1717 | 1724 | | |
1718 | | - | |
| 1725 | + | |
| 1726 | + | |
1719 | 1727 | | |
1720 | 1728 | | |
1721 | 1729 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
2 | 4 | | |
3 | 5 | | |
4 | | - | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
7 | 9 | | |
| |||
15 | 17 | | |
16 | 18 | | |
17 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
18 | 41 | | |
19 | 42 | | |
20 | 43 | | |
21 | | - | |
| 44 | + | |
22 | 45 | | |
23 | | - | |
24 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
25 | 49 | | |
26 | 50 | | |
27 | 51 | | |
| |||
31 | 55 | | |
32 | 56 | | |
33 | 57 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
| 58 | + | |
| 59 | + | |
44 | 60 | | |
45 | | - | |
| 61 | + | |
46 | 62 | | |
47 | 63 | | |
48 | | - | |
| 64 | + | |
49 | 65 | | |
50 | 66 | | |
51 | 67 | | |
| |||
303 | 319 | | |
304 | 320 | | |
305 | 321 | | |
| 322 | + | |
306 | 323 | | |
307 | 324 | | |
308 | 325 | | |
| |||
0 commit comments