e325175a9c
Before, there was a single key used as a personal key for all actors. Now, things work like this: - There are 2 keys, each time one is rotated, this way the old key remains valid and we can freely rotate without a risk of race conditions on other servers and end up with our posts being rejected - The keys are explicitly instance-scope keys, all actors refer to them - We add the ActivityPub-Actor header to all activity POSTs we send, to declare for which specific actor our signature applies. Activities and otherwise different payloads may have varying ways to specify attribution; using this header will be a standard uniform way to specify the actor, regardless of payload format. Of course, servers should make sure the actual activity is attributed to the same actor we specified in the header. (This is important with instance-scope keys; for personal keys it's not critical)
142 lines
8 KiB
Text
142 lines
8 KiB
Text
-- This file is part of Vervis.
|
|
--
|
|
-- Written in 2016, 2018, 2019 by fr33domlover <fr33domlover@riseup.net>.
|
|
--
|
|
-- ♡ Copying is an act of love. Please copy, reuse and share.
|
|
--
|
|
-- The author(s) have dedicated all copyright and related and neighboring
|
|
-- rights to this software to the public domain worldwide. This software is
|
|
-- distributed without any warranty.
|
|
--
|
|
-- You should have received a copy of the CC0 Public Domain Dedication along
|
|
-- with this software. If not, see
|
|
-- <http://creativecommons.org/publicdomain/zero/1.0/>.
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Yesod misc
|
|
-- ----------------------------------------------------------------------------
|
|
|
|
/static StaticR Static appStatic
|
|
/favicon.ico FaviconR GET
|
|
/robots.txt RobotsR GET
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Federation
|
|
-- ----------------------------------------------------------------------------
|
|
|
|
/inbox InboxR GET POST
|
|
/outbox OutboxR GET POST
|
|
/akey1 ActorKey1R GET
|
|
/akey2 ActorKey2R GET
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Current user
|
|
-- ----------------------------------------------------------------------------
|
|
|
|
/ HomeR GET
|
|
|
|
/auth/!resend ResendVerifyEmailR GET
|
|
/auth AuthR Auth getAuth
|
|
|
|
/k KeysR GET POST
|
|
/k/!new KeyNewR GET
|
|
/k/#KyIdent KeyR GET DELETE POST
|
|
|
|
/cr ClaimRequestsPersonR GET
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- People
|
|
-- ----------------------------------------------------------------------------
|
|
|
|
/s SharersR GET
|
|
/s/#ShrIdent SharerR GET
|
|
|
|
/p PeopleR GET POST
|
|
/p/!new PersonNewR GET
|
|
/p/#ShrIdent PersonR GET POST
|
|
/p/#ShrIdent/activities PersonActivitiesR GET
|
|
|
|
/g GroupsR GET POST
|
|
/g/!new GroupNewR GET
|
|
/g/#ShrIdent GroupR GET
|
|
/g/#ShrIdent/m GroupMembersR GET POST
|
|
/g/#ShrIdent/m/!new GroupMemberNewR GET
|
|
/g/#ShrIdent/m/#ShrIdent GroupMemberR GET DELETE POST
|
|
|
|
/s/#ShrIdent/pr ProjectRolesR GET POST
|
|
/s/#ShrIdent/pr/!new ProjectRoleNewR GET
|
|
/s/#ShrIdent/pr/#RlIdent ProjectRoleR GET DELETE POST
|
|
/s/#ShrIdent/pr/#RlIdent/a ProjectRoleOpsR GET POST
|
|
/s/#ShrIdent/pr/#RlIdent/a/!new ProjectRoleOpNewR GET
|
|
|
|
-- ----------------------------------------------------------------------------
|
|
-- Projects
|
|
-- ----------------------------------------------------------------------------
|
|
|
|
/s/#ShrIdent/r ReposR GET POST
|
|
/s/#ShrIdent/r/!new RepoNewR GET
|
|
/s/#ShrIdent/r/#RpIdent RepoR GET PUT DELETE POST
|
|
/s/#ShrIdent/r/#RpIdent/edit RepoEditR GET
|
|
/s/#ShrIdent/r/#RpIdent/s/+Texts RepoSourceR GET
|
|
/s/#ShrIdent/r/#RpIdent/c RepoHeadChangesR GET
|
|
/s/#ShrIdent/r/#RpIdent/c/#Text RepoChangesR GET
|
|
/s/#ShrIdent/r/#RpIdent/p/#Text RepoPatchR GET
|
|
/s/#ShrIdent/r/#RpIdent/d RepoDevsR GET POST
|
|
/s/#ShrIdent/r/#RpIdent/d/!new RepoDevNewR GET
|
|
/s/#ShrIdent/r/#RpIdent/d/#ShrIdent RepoDevR GET DELETE POST
|
|
|
|
/s/#ShrIdent/r/#RpIdent/_darcs/+Texts DarcsDownloadR GET
|
|
|
|
/s/#ShrIdent/r/#RpIdent/info/refs GitRefDiscoverR GET
|
|
/s/#ShrIdent/r/#RpIdent/git-upload-pack GitUploadRequestR POST
|
|
|
|
/s/#ShrIdent/p ProjectsR GET POST
|
|
/s/#ShrIdent/p/!new ProjectNewR GET
|
|
/s/#ShrIdent/p/#PrjIdent ProjectR GET PUT POST
|
|
/s/#ShrIdent/p/#PrjIdent/edit ProjectEditR GET
|
|
/s/#ShrIdent/p/#PrjIdent/d ProjectDevsR GET POST
|
|
/s/#ShrIdent/p/#PrjIdent/d/!new ProjectDevNewR GET
|
|
/s/#ShrIdent/p/#PrjIdent/d/#ShrIdent ProjectDevR GET DELETE POST
|
|
|
|
-- /w GlobalWorkflowsR GET POST
|
|
-- /w/!new GlobalWorkflowNewR GET
|
|
-- /w/#WflIdent GlobalWorkflowR GET DELETE POST
|
|
|
|
/s/#ShrIdent/w WorkflowsR GET POST
|
|
/s/#ShrIdent/w/!new WorkflowNewR GET
|
|
/s/#ShrIdent/w/#WflIdent WorkflowR GET DELETE POST
|
|
/s/#ShrIdent/w/#WflIdent/f WorkflowFieldsR GET POST
|
|
/s/#ShrIdent/w/#WflIdent/f/!new WorkflowFieldNewR GET
|
|
/s/#ShrIdent/w/#WflIdent/f/#FldIdent WorkflowFieldR GET DELETE POST
|
|
/s/#ShrIdent/w/#WflIdent/e WorkflowEnumsR GET POST
|
|
/s/#ShrIdent/w/#WflIdent/e/!new WorkflowEnumNewR GET
|
|
/s/#ShrIdent/w/#WflIdent/e/#EnmIdent WorkflowEnumR GET DELETE POST
|
|
/s/#ShrIdent/w/#WflIdent/e/#EnmIdent/c WorkflowEnumCtorsR GET POST
|
|
/s/#ShrIdent/w/#WflIdent/e/#EnmIdent/c/!new WorkflowEnumCtorNewR GET
|
|
/s/#ShrIdent/w/#WflIdent/e/#EnmIdent/c/#Text WorkflowEnumCtorR PUT DELETE POST
|
|
|
|
/s/#ShrIdent/p/#PrjIdent/t TicketsR GET POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/!tree TicketTreeR GET
|
|
/s/#ShrIdent/p/#PrjIdent/t/!new TicketNewR GET
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int TicketR GET PUT DELETE POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/edit TicketEditR GET
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/accept TicketAcceptR POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/close TicketCloseR POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/open TicketOpenR POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/claim TicketClaimR POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/unclaim TicketUnclaimR POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/assign TicketAssignR GET POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/unassign TicketUnassignR POST
|
|
/s/#ShrIdent/p/#PrjIdent/tcr ClaimRequestsProjectR GET
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/cr ClaimRequestsTicketR GET POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/cr/new ClaimRequestNewR GET
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/d TicketDiscussionR GET POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/d/#Int TicketMessageR GET POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/d/!reply TicketTopReplyR GET
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/d/#Int/reply TicketReplyR GET
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/deps TicketDepsR GET POST
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/deps/!new TicketDepNewR GET
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/deps/#Int TicketDepR POST DELETE
|
|
/s/#ShrIdent/p/#PrjIdent/t/#Int/rdeps TicketReverseDepsR GET
|
|
|
|
/s/#ShrIdent/p/#PrjIdent/w/+Texts WikiPageR GET
|