Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
httpd: Filter-out private-but-pinned repos
Merged did:key:z6Mkgfwr...BYQp opened 2 years ago

They should only be visible to localhost.

1 file changed +8 -1 9767b485 0908c65f
modified radicle-httpd/src/api/v1/projects.rs
@@ -100,7 +100,14 @@ async fn project_root_handler(
                Visibility::Public => true,
            })
            .collect::<Vec<_>>(),
-
        ProjectQuery::Pinned => storage.repositories_by_id(pinned.repositories.iter())?,
+
        ProjectQuery::Pinned => storage
+
            .repositories_by_id(pinned.repositories.iter())?
+
            .into_iter()
+
            .filter(|repo| match &repo.doc.visibility {
+
                Visibility::Private { .. } => addr.ip().is_loopback(),
+
                Visibility::Public => true,
+
            })
+
            .collect::<Vec<_>>(),
    };
    projects.sort_by_key(|p| p.rid);