~edwargix/git.sr.ht

e0386610bc40975a16c1038c6ead2543a8728eda — Drew DeVault 8 years ago f5725c1
Handle repository visibility in git-srht-keys
1 files changed, 11 insertions(+), 4 deletions(-)

M git-srht-keys
M git-srht-keys => git-srht-keys +11 -4
@@ 132,10 132,17 @@ def shell():
        sys.stderr.write("Unknown repository")
        sys.exit(128)
    
    if user.id != repo.owner_id:
        # TODO: ACLs
        sys.stderr.write("Access denied")
        sys.exit(128)
    # TODO: ACLs
    if cmd[0] == "git-receive-pack":
        # needs write access
        if user.id != repo.owner_id:
            sys.stderr.write("Access denied")
            sys.exit(128)
    else:
        # needs read access
        if repo.visibility == RepoVisibility.private and user.id != repo.owner_id:
            sys.stderr.write("Access denied")
            sys.exit(128)

    log("Executing {}", _cmd)
    if _log: