fr33domlover
d2e64d2920
Fix outbox item pretty display, it was highlighted but not pretty-encoded
2019-06-30 16:53:53 +00:00
fr33domlover
e10b4d452a
Treat outbox items in DB as bytestrings to avoid depending on JSON parsing
2019-06-28 23:15:08 +00:00
fr33domlover
07f76d2a6f
Publish Accept activity when creating a new ticket from the Offer
2019-06-26 01:12:11 +00:00
fr33domlover
7c30ee2d52
Switch activityId from LocalURI to Maybe LocalURI, for C2S posting without ID
2019-06-19 08:53:31 +00:00
fr33domlover
6452d239f2
Optional activity summary, set it when handling a Note in C2S
2019-06-15 16:24:34 +00:00
fr33domlover
4b20ed23b6
Stop using Vervis.Import and NoImplicitPrelude, switch to plain regular imports
2019-06-15 08:24:08 +00:00
fr33domlover
5df8965488
Some cleanup and term updates in Web.ActivityPub to match the spec and plans
...
* No more full URIs, all terms are used as short non-prefixed names
* Some terms support parsing full URI form for compatibility with objects in DB
* No more @context checking when parsing
* Use the new ForgeFed context URI specified in the spec draft
* Use an extension context URI for all custom properties not specific to forges
* Rename "events" property to "history", thanks cjslep for suggesting this name
2019-06-12 00:11:24 +00:00
fr33domlover
61d1029926
Project team and followers
...
* Have a project team collection, content is the same as ticket team (but
potentially ticket team allows people to opt out of updates on specific
tickets, while project team isn't tied to any specific ticket or other child
object)
* Have a project followers collection, and address it in ticket comments in
addition to the already used recipients (project, ticket team, ticket
followers)
2019-06-11 12:19:51 +00:00
fr33domlover
d73b113b4f
Wrap AP Ticket in an Offer activity, this is how tickets will be created
2019-06-06 14:16:48 +00:00
fr33domlover
b69442b448
Move AP Ticket local URI fields into a dedicated TicketLocal type
2019-06-06 10:25:16 +00:00
fr33domlover
e31c8c600b
Turn some AP ticket fields into Maybes
2019-06-04 09:36:14 +00:00
fr33domlover
708f626294
Provide ActivityPub representation of tickets in getTicketR
2019-06-03 21:52:34 +00:00
fr33domlover
c7dccbb7fe
Render in advance and store comment content as HTML alongside Markdown source
2019-06-02 14:41:51 +00:00
fr33domlover
d1fea9eb51
Store names of remote actors in DB for display
2019-05-21 08:44:11 +00:00
fr33domlover
2573ff1d93
Parse and publish actor outboxes
2019-05-21 00:36:05 +00:00
fr33domlover
7bcbe52274
Implement getOutboxR, both (trivial) HTML and AS2
2019-05-20 23:51:06 +00:00
fr33domlover
6d304b9307
Smarter treatment of recipients that are collections
...
- Allow client to specify recipients that don't need to be delivered to
- When fetching recipient, recognize collections and don't try to deliver to
them
- Remember collections in DB, and use that to skip HTTP delivery
2019-05-17 22:42:01 +00:00
fr33domlover
48882d65ad
Allow AP C2S client to list recipients that aren't actors to deliver to
2019-05-17 10:47:53 +00:00
fr33domlover
07281f6900
Fix infinite loop in ActivityPub audience parsing
2019-05-16 21:22:45 +00:00
fr33domlover
b12ad49b62
Remove unused accidentally left line
2019-05-16 21:21:51 +00:00
fr33domlover
b0a26722d3
Do inbox forwarding in project inbox handler
2019-05-03 21:04:53 +00:00
fr33domlover
3d9438714b
In sharer inbox, accept forwarded activities, including ones of local users
2019-05-01 23:13:22 +00:00
fr33domlover
951364036f
Update activity POSTing code to use the new forwarding mechanism
...
It's not documented yet, but basically I replaced the custom input string with
an HTTPSig based one.
2019-04-28 10:18:50 +00:00
fr33domlover
71d21ad459
In httpPostAP, support the new signature headers
2019-04-26 00:25:50 +00:00
fr33domlover
57374ec816
When POSTing activities, set a Digest header using SHA-256
2019-04-25 15:49:15 +00:00
fr33domlover
7c2fad7417
Implement fetchAPIDOrH using a dedicated error type
2019-04-16 16:10:17 +00:00
fr33domlover
d5eefd1553
Implement outbox remote delivery, in handler and periodic, not used yet
2019-04-16 14:27:50 +00:00
fr33domlover
1d854423cb
Switch Audience from Vector to list and fix Public bug
...
* No good reason to use Vector, let's use list, it's just easier
* The Public URI recognizing code wasn't being used; now it is
2019-04-01 23:40:29 +00:00
fr33domlover
0032456925
Add noteAudience; record recipient of local remotely-targetted activities in DB
2019-03-23 02:57:34 +00:00
fr33domlover
58a56b6743
Make noteId optional, to support taking a Note in postOutboxR
2019-03-23 02:05:30 +00:00
fr33domlover
88d4c976ee
Add route getMessageR, returns an Activity Note for any locally created Message
2019-03-22 20:46:42 +00:00
fr33domlover
ad3a20d783
Receive remote comments on local ticket discussion
2019-03-21 22:57:15 +00:00
fr33domlover
72f96a0dff
When verifying HTTPsig, return iid&rsid and remove duplicate shared usage check
...
* Adapt DB related code to return the InstanceId and RemoteSharerId
* Previously, when fetching a known shared key, we were running a DB
check/update for the shared usage record. I noticed - and hopefully I
correctly noticed - that this check already runs when we discover the keyId
points to a shared key we already know. So, after successful sig
verification, there's no need to run the check again. So I removed it.
2019-03-21 21:38:59 +00:00
fr33domlover
061c84349d
Recognize the 3 variants of the Public collection URI when parsing audience
2019-03-21 19:13:36 +00:00
fr33domlover
747bbd5f0c
Publish actor documents for projects, and add some new properties to Actor
2019-03-20 12:01:10 +00:00
fr33domlover
ade1157a04
Add a custom ActivityPub actor type: Project
2019-03-20 10:36:00 +00:00
fr33domlover
6f3df6d569
Allow actors not to list any public keys at all
2019-03-20 09:31:08 +00:00
fr33domlover
9e881554ea
Make frg:isShared key property optional, it was accidentally required
2019-03-15 16:33:10 +00:00
fr33domlover
0e0afa78f9
Parse/encoding audience targetting activity fields
2019-03-14 02:30:36 +00:00
fr33domlover
24c091a248
Add activity types Follow, Accept, Reject
2019-03-13 23:37:58 +00:00
fr33domlover
2a39378468
HTTP Signature verification: RSA-SHA256 and PEM/ASN1 support
...
Before, things worked like this:
* Only signatures of Ed25519 keys could be verified
* Key encoding placed the plain binary Ed25519 key in the PEM, instead of the
key's ASN1 encoding
With this patch it now works like this:
* Ed25519 signatures are supported as before
* RSA keys are now supported too, assuming RSA-SHA256 signatures
* Both Ed25519 and RSA keys are encoded and decoded using actual PEM with ASN1
2019-03-10 23:15:42 +00:00
fr33domlover
ef57f29a54
Adapt Activity/Create/Note to new ActivityPub typeclass and add safety checks
2019-03-10 06:42:03 +00:00
fr33domlover
61d1aa6720
Define HMAC based access token and switch CapSignKey from Ed25519 to HMAC
2019-03-09 21:21:36 +00:00
fr33domlover
6e721797e9
Catch sig generation error when sending signed HTTP POST
2019-03-05 08:26:41 +00:00
fr33domlover
17524b6ee1
Remove hardcoded-to-2 limit on length of an actor's list of public keys
2019-02-24 01:21:42 +00:00
fr33domlover
0912b8e291
Use the DB for checking key usage by actors
...
* When we refetch a personal key, we never need to separately fetch the actor
* When we refetch a shared key, check usage in DB and insert usage to DB
2019-02-23 17:17:52 +00:00
fr33domlover
b53a7b4f48
Refactor actor key fetching code a bit
2019-02-22 08:30:43 +00:00
fr33domlover
1affe269bb
Refactor HTTP sig verification DB update code
2019-02-22 07:20:19 +00:00
fr33domlover
d3e14b3edf
Add LocalURI type for recording shared URI host
2019-02-21 23:59:53 +00:00
fr33domlover
aefb2aaee7
Add InstanceURI datatype
2019-02-20 07:40:25 +00:00