8000 clay: respect the gang system by pkova · Pull Request #7038 · urbit/urbit · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

clay: respect the gang system #7038

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 19, 2024
Merged

clay: respect the gang system #7038

merged 2 commits into from
Jul 19, 2024

Conversation

pkova
Copy link
Collaborator
@pkova pkova commented Jul 18, 2024

All vanes except clay respect the gang system since #6876. The gang is of type (unit (set ship)) and gets passed as an argument to the scry handler of every vane. A gang of ~ means "my identity is anybody, serve me only public data", a gang of [~ ~] means "I am root, give me all data", and a gang with a set of ships means that these ships are asking for the data. In other words the gang represents who is making the scry.

This PR implements the gang system for clay. As with the other vanes the multiple scryers case is not implemented, but with this change ~, [~ ~] and [~dinleb-rambep ~ ~] work fine.

I decided to make an extra permissions check if the gang is ~ and otherwise leverage the existing clay permissions machinery. An alternative to having clay scry itself for permissions would be to change the type and semantics of the
for=(unit ship) argument in +aver and elsewhere. Note that in the clay world a for of ~ means root user, a mismatch with the gang semantics.

Thanks to @midden-fabler for noticing this when working on #7033.

@pkova pkova merged commit abe4e4a into develop Jul 19, 2024
1 check passed
@pkova pkova deleted the pkova/clay-gang branch July 19, 2024 15:51
pkova added a commit to urbit/vere that referenced this pull request Sep 6, 2024
[UIP-0120 HTTP
Streaming](https://github.com/urbit/UIPs/blob/main/UIPS/UIP-0120.md)
Resolves [#urbit/urbit7014](urbit/urbit#7014)

requires eyre changes from urbit/urbit#7033
and clay gang changes from urbit/urbit#7038
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
0