ensdomains / ens-manager

20 stars 17 forks source link

Disable 'set' operations when the current user does not own the domain. #22

Closed Arachnid closed 7 years ago

jefflau commented 7 years ago

Was in the middle of writing this when I realised it's more complicated than I thought it was as if you're the owner of the parent node you should also be able to edit the node - is that correct? Or is that only for updating the owner?

jefflau commented 7 years ago

Also question on if you are the owner of a subdomain sub1.domain.eth and someone else is owner of sub2.sub1.domain.eth am I able to edit this node? Or is only the owner of domain.eth that can do thajt?

Arachnid commented 7 years ago

The owner of the parent node can call setSubnodeOwner to change the owner of any subnode, and that functionality should definitely be exposed. They can't make any other changes, and they can't directly change the owner of sub-sub nodes.

jefflau commented 7 years ago

What about the grandparent? Or do I only need to look one node up? so domain.eth cannot edit sub2.sub1.domain.eth if sub2 and sub 1 both have different owners?

Arachnid commented 7 years ago

The owner of a node can call setOwner, setResolver and setTTL on that node, and setSubnodeOwner to change the owner of any (direct) subnode. It doesn't reach any further than that - if a node owner wants to change a sub-sub-node, they first have to take ownership of the subnode.

jefflau commented 7 years ago

Cool, that makes things much simpler

jefflau commented 7 years ago

Okay this has been addressed in this commit: https://github.com/jefflau/ens-manager/commit/d2e1bfaf81274f2571e067fbcf63f7f76aaf941f