1
0
Fork 0
mirror of https://code.sup39.dev/repos/Wqawg synced 2025-01-08 13:36:45 +09:00
Commit graph

20 commits

Author SHA1 Message Date
fr33domlover
c0965a4c47 Default roles for repos and turn user/anon collab tables into proj/repo fields
* Repo collab now supports basic default roles developer/user/guest like
  project collab does
* User/Anon collab for repos and projects are now stored as fields instead of
  in dedicated tables, there was never a need for dedicated tables but I didn't
  see that before
* Repo push op is now part of `ProjectOperation`
* `RepoRole` and related code has been entirely removed, only project roles
  remain and they're used for both repos and projects
* This is the first not-totally-trivial DB migration in Vervis, it's automatic
  but please be careful and report errors
2019-01-29 22:24:32 +00:00
fr33domlover
20c0e40638 Determine operation access in Vervis.Access, reuse it everywhere it's needed 2019-01-26 22:22:49 +00:00
fr33domlover
9ed1f4c99d Fix: Sharer and repo in SSH address path weren't being lowercased in SSH server
The sharer and repo were being taken and used as is to check push permissions,
which is how it's supposed to be, *but* they were also being used as is to
build the repo path! So sharer and repo names that aren't all lowercase were
getting "No such repository" errors when trying to push.

I changed `RepoSpec` to hold `ShrIdent` and `RpIdent` instead of plain `Text`,
to avoid confusions like that and be clear and explicit about the
representation, and failures to find a repo after verifying it against the DB
are now logged as errors to help with debugging.

I hope this fixes the problem.
2018-06-18 08:30:57 +00:00
fr33domlover
6626e40340 Specify default role for repo and project visitors 2016-07-03 07:52:11 +00:00
fr33domlover
10c27464dd Make all role-related code repo-specific 2016-06-01 07:35:22 +00:00
fr33domlover
d655e7302e Use the RBAC system to determine repo push access 2016-05-30 13:10:02 +00:00
fr33domlover
a4c8a80945 Enable darcs-push-over-SSH using the darcs executable 2016-05-05 07:58:45 +00:00
fr33domlover
8448355f98 In Darcs pull over SSH, support specifying just repo name 2016-05-04 11:10:23 +00:00
fr33domlover
d57c95c94a Enable Darcs repo cloning over SSH using darcs executable 2016-05-04 09:43:33 +00:00
fr33domlover
f7a9fb6ac8 Support git-push over SSH using the git binary 2016-04-30 16:23:34 +00:00
fr33domlover
6e29f246bd Enable git-fetch using the git executable 2016-04-19 14:56:02 +00:00
fr33domlover
09775e02ae Parse the git-uploac-pack SSH command properly 2016-04-19 09:42:02 +00:00
fr33domlover
3439870ad5 Adapt to my latest changes to 'ssh' repo 2016-04-19 08:17:52 +00:00
fr33domlover
1b16e2e566 Use some type alises from Database.Persist.Sql 2016-04-19 06:58:48 +00:00
fr33domlover
b68428d9b6 Remove some old code and adapt to hit-graph 2016-04-09 15:45:00 +00:00
fr33domlover
50198a1906 Move git protocol code away to separate package 2016-04-08 21:10:33 +00:00
fr33domlover
7b9f6e9714 Work on git pack protocol, not done yet
This is a lot of code, better save now than sorry later when something
gets deleted by mistake.

Either way, the code will move later - once tested and organized
properly - into its own package.
2016-04-01 05:00:02 +00:00
fr33domlover
f7025f9c15 Instead of printing SSH messages, logDebug them 2016-03-09 22:38:28 +00:00
fr33domlover
fc4690324c Implement logging for SSH using monad-logger and fast-logger 2016-03-09 22:27:25 +00:00
fr33domlover
8cf0f2502c Implement DB-based SSH authentication 2016-03-06 11:58:48 +00:00