@@ -21,6 +21,10 @@ pub struct Core {
2121 #[ serde( default = "Core::default_inactive_peer_cleanup_interval" ) ]
2222 pub inactive_peer_cleanup_interval : u64 ,
2323
24+ // Whe `true` only approved torrents can be announced in the tracker.
25+ #[ serde( default = "Core::default_listed" ) ]
26+ pub listed : bool ,
27+
2428 /// Tracker mode. See [`TrackerMode`] for more information.
2529 #[ serde( default = "Core::default_mode" ) ]
2630 pub mode : TrackerMode ,
@@ -29,6 +33,10 @@ pub struct Core {
2933 #[ serde( default = "Core::default_network" ) ]
3034 pub net : Network ,
3135
36+ // Whe `true` clients require a key to connect and use the tracker.
37+ #[ serde( default = "Core::default_private" ) ]
38+ pub private : bool ,
39+
3240 // Tracker policy configuration.
3341 #[ serde( default = "Core::default_tracker_policy" ) ]
3442 pub tracker_policy : TrackerPolicy ,
@@ -48,8 +56,10 @@ impl Default for Core {
4856 announce_policy : Self :: default_announce_policy ( ) ,
4957 database : Self :: default_database ( ) ,
5058 inactive_peer_cleanup_interval : Self :: default_inactive_peer_cleanup_interval ( ) ,
59+ listed : Self :: default_listed ( ) ,
5160 mode : Self :: default_mode ( ) ,
5261 net : Self :: default_network ( ) ,
62+ private : Self :: default_private ( ) ,
5363 tracker_policy : Self :: default_tracker_policy ( ) ,
5464 tracker_usage_statistics : Self :: default_tracker_usage_statistics ( ) ,
5565 }
@@ -69,6 +79,10 @@ impl Core {
6979 600
7080 }
7181
82+ fn default_listed ( ) -> bool {
83+ false
84+ }
85+
7286 fn default_mode ( ) -> TrackerMode {
7387 TrackerMode :: Public
7488 }
@@ -77,6 +91,10 @@ impl Core {
7791 Network :: default ( )
7892 }
7993
94+ fn default_private ( ) -> bool {
95+ false
96+ }
97+
8098 fn default_tracker_policy ( ) -> TrackerPolicy {
8199 TrackerPolicy :: default ( )
82100 }
0 commit comments