mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 02:11:53 +00:00
prevent tor from spinning if a service is in a crash loop (#2316)
This commit is contained in:
@@ -416,8 +416,8 @@ async fn torctl(
|
||||
)
|
||||
.await?;
|
||||
|
||||
for (key, service) in &*services {
|
||||
let key = TorSecretKeyV3::from(*key);
|
||||
for (key, service) in std::mem::take(services) {
|
||||
let key = TorSecretKeyV3::from(key);
|
||||
let bindings = service
|
||||
.iter()
|
||||
.flat_map(|(ext, int)| {
|
||||
@@ -426,10 +426,13 @@ async fn torctl(
|
||||
.map(|(addr, _)| (*ext, SocketAddr::from(*addr)))
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
if !bindings.is_empty() {
|
||||
services.insert(key.as_bytes(), service);
|
||||
connection
|
||||
.add_onion_v3(&key, false, false, false, None, &mut bindings.iter())
|
||||
.await?;
|
||||
}
|
||||
}
|
||||
|
||||
let handler = async {
|
||||
while let Some(command) = recv.recv().await {
|
||||
|
||||
Reference in New Issue
Block a user