Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
httpd: Filter-out private-but-pinned repos
Michael Raitza committed 2 years ago
commit f2be1b2601ee167857c923d4a70ac67053ce444f
parent fbfac4a6dc8e1d1c03914124223f6e720f38ac37
1 file changed +8 -1
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);