Commit graph

812 commits

Author SHA1 Message Date
silverpill 2714378f22 Don't auto-mention author of a linked post 2022-12-10 19:01:11 +00:00
silverpill 64dbd8ff26 Accept attachments with type Video
Video attachments are used in PixelFed.
2022-12-10 19:01:11 +00:00
silverpill cc728afb7d Remove unused fields from Object and Activity types 2022-12-10 19:01:11 +00:00
silverpill f21f72b96e Create type for deserializing Move() activities 2022-12-10 19:01:04 +00:00
silverpill b7a1803715 Create type for deserializing Announce() activities 2022-12-09 23:07:19 +00:00
silverpill 04ee3e5106 Move activity parsing to handlers 2022-12-09 21:16:53 +00:00
silverpill e247941695 Reorganize handlers and remove unneeded modules 2022-12-09 20:22:48 +00:00
silverpill e6be1cde2d Refactor handle_undo_follow() function 2022-12-08 22:58:48 +00:00
silverpill 84c93fecf1 Refactor receive_activity() function 2022-12-08 22:11:15 +00:00
silverpill 999dd7e608 Don't fetch actor when verifying JSON signature on Delete(Person) activity 2022-12-08 16:31:26 +00:00
silverpill cd6968b15a Fetch actor before verifying JSON signature 2022-12-08 16:10:29 +00:00
silverpill a71c4ccc89 Refactor ActivityPub authentication helpers 2022-12-08 16:09:10 +00:00
silverpill 06e172d9fa Never ignore invalid HTTP signatures 2022-12-08 00:47:18 +00:00
silverpill d3db42ec9e Rename modules 2022-12-07 21:00:54 +00:00
silverpill e0053f19c7 Add handler function for Create() activity 2022-12-07 19:46:49 +00:00
silverpill c218d3ebce Don't match object type in receive_activity() 2022-12-06 23:59:33 +00:00
silverpill 67313dbac7 Create unified handler for Undo() activities 2022-12-06 23:53:30 +00:00
silverpill 648a217971 Create unified handler for Update() activities 2022-12-06 23:48:24 +00:00
silverpill a3c3f97759 Rename modules 2022-12-06 23:29:59 +00:00
silverpill d3819c67e6 Create dedicated types for all activities and remove create_activity() function 2022-12-06 21:07:26 +00:00
silverpill e5c1be2f93 Transform incoming events into posts
Support for Event objects from Rebased.
2022-12-06 19:54:44 +00:00
silverpill 777dd74373 Use Follow type to create embedded activity when building Undo(Follow) 2022-12-05 23:03:37 +00:00
silverpill 7c3d669e9b Use plain object ID instead of embedded activity in Accept(Follow) 2022-12-05 22:59:31 +00:00
silverpill 51318046a8 Create dedicated types for building Follow(), Accept(Follow) and Undo(Follow) activities 2022-12-05 22:53:09 +00:00
silverpill ff745cfe64 Add tests for build_undo_follow() and build_move_person() 2022-12-05 22:50:40 +00:00
silverpill 10cd778f40 Replace generic parameter in OutgoingActivity struct with Value type 2022-12-05 18:08:15 +00:00
silverpill d1939b10d5 Move DatabaseError to database module 2022-12-03 22:57:09 +00:00
silverpill 4185cbefb0 Rename Pool type to DbPool 2022-12-03 21:30:24 +00:00
silverpill 11ed4c1e48 Remove unnecessary as_str() conversions 2022-12-03 21:11:28 +00:00
silverpill 56427a4535 Catch error if media request returns 4xx or 5xx 2022-12-03 11:19:08 +00:00
silverpill 28aea5b023 Always set User-Agent header when using fetcher 2022-12-03 11:19:01 +00:00
silverpill 4ec5cf0f9b Render instance description to HTML
https://codeberg.org/silverpill/mitra-web/issues/3
2022-12-01 22:04:46 +00:00
silverpill 581e72ce65 Read HTTP signature expiration date from (expires) pseudo-header 2022-11-29 17:33:59 +00:00
silverpill 7d204ab150 Remove unknown classes during HTML sanitization 2022-11-29 16:46:00 +00:00
silverpill a3ec1e7b58 Verify that actor alias exists before moving local followers 2022-11-27 22:04:53 +00:00
silverpill ff7c6724a0 Accept Move() activities where object is local actor 2022-11-27 19:54:07 +00:00
silverpill df8c206cf0 Accept Move() activities coming from "target" actor 2022-11-27 19:53:57 +00:00
silverpill 73ef78f021 Search for aliases by DID when processing Move(Person) activity 2022-11-27 13:47:52 +00:00
silverpill 4a42bcd369 Add API methods for creating user-signed Move() activities 2022-11-27 13:05:21 +00:00
silverpill 73a7668d18 Allow to connect to monero-wallet-rpc when it runs without --wallet-dir option 2022-11-27 13:04:47 +00:00
silverpill 12861a98b7 Use actor ID as a hint when identifying activity signer 2022-11-27 11:15:13 +00:00
silverpill 8dfd8bf0d7 Add ImportError to AuthenticationError enum 2022-11-27 10:53:51 +00:00
silverpill 7511832fa0 Rename /signed_update API method to /send_activity 2022-11-26 21:13:37 +00:00
silverpill a6032386da Use enum to represent activity parameters during the signing process 2022-11-26 20:46:46 +00:00
silverpill fbcba1b99d Refactor send_signed_update view 2022-11-26 01:00:42 +00:00
silverpill dd268634ef Move change_password API method to /api/v1/settings/change_password 2022-11-26 00:17:01 +00:00
silverpill fde8309bb9 Add check-expired-invoice command 2022-11-25 21:04:59 +00:00
silverpill 5ff2d19837 Add expires_at field to Invoice object
Also increase timeout to 3 hours

https://codeberg.org/silverpill/mitra/issues/23
2022-11-25 15:04:46 +00:00
silverpill 2a9794f8f7 Add API methods for exporting followers and follows 2022-11-24 21:58:00 +00:00
silverpill 262b910638 Rename instance.host() to instance.hostname() 2022-11-24 13:27:10 +00:00
silverpill 473147ed04 Move signature type check to activitypub::authentication module 2022-11-23 16:11:25 +00:00
silverpill 3b092631ca Add signature type to the output of get_json_signature function 2022-11-23 14:56:29 +00:00
silverpill 301ade36a3 Use enum to define identity proof type 2022-11-23 01:04:55 +00:00
silverpill 3f3518001d Implement Display trait for ChainId and DidPkh 2022-11-22 22:41:23 +00:00
silverpill 241351c2bf Allow value of "icon" property to be empty object 2022-11-22 19:00:29 +00:00
silverpill 5712c9099c Allow to search for profile by actor ID 2022-11-22 00:19:46 +00:00
silverpill 1edcefee6d Accept Create() activities with object type Article and Video 2022-11-21 23:24:40 +00:00
silverpill 126c04febb Include local posts in search results 2022-11-21 22:06:06 +00:00
silverpill 6a6f151ec0 Verify that Monero transaction exists after sending
https://codeberg.org/silverpill/mitra/issues/21
2022-11-19 22:23:45 +00:00
silverpill 49a55d888f Use multibase encoding for integrity proofs 2022-11-19 15:53:22 +00:00
silverpill 4a5bcba127 Change signature format in minisign integrity proofs 2022-11-19 15:52:20 +00:00
silverpill a46ceeb575 Use base64 encoding for JcsEip191Signature2022 integrity proofs 2022-11-19 15:52:20 +00:00
silverpill 5974ac8618 Move base64 encoding/decoding out of RSA signing functions 2022-11-19 15:52:16 +00:00
silverpill bd4a9a0de9 Move multibase encoder and decoder to utils::multibase 2022-11-18 23:05:27 +00:00
silverpill e1bb00a8dc Handle Accept(Follow) activities without nested Follow 2022-11-18 16:42:04 +00:00
silverpill 3b470a04f7 Allow alsoKnownAs attribute value to be string 2022-11-17 22:49:31 +00:00
silverpill 8045b9f543 Add delete-empty-profiles CLI command 2022-11-17 21:46:00 +00:00
silverpill ec03476b58 Allow password login when token gate is disabled 2022-11-16 17:21:42 +00:00
silverpill 6765674118 Add token gate feature flag to instance info 2022-11-16 15:11:25 +00:00
silverpill 57c5ab3c4e Add API method for changing password 2022-11-15 22:43:49 +00:00
silverpill 9ad6bdf1c9 Revoke all access tokens after password reset 2022-11-15 22:32:10 +00:00
silverpill 445177d9a7 Add API method for revoking access token 2022-11-15 15:45:30 +00:00
silverpill 09cb15297a Ignore Announce(Undo) activities 2022-11-14 18:56:42 +00:00
silverpill 92d96e3745 Abort registration process if profile with a similar name already exists 2022-11-14 17:37:25 +00:00
silverpill 43f99b597a Fix parsing of ordered lists 2022-11-13 21:31:19 +00:00
silverpill c11daa21a0 Rename utils::crypto module to crypto_rsa 2022-11-13 21:31:04 +00:00
silverpill 4d85638d8c Move password utils to utils::passwords module 2022-11-13 21:30:59 +00:00
silverpill 9b96ce4700 Add CLI command for password reset 2022-11-11 00:53:23 +00:00
silverpill 8ad88f84b2 Support integrity proofs created with minisign 2022-11-11 00:53:23 +00:00
silverpill 64546ecabe Refactor signature verifiers 2022-11-11 00:53:23 +00:00
silverpill db00ad1623 Move signature suites to identity::signatures module 2022-11-11 00:53:23 +00:00
silverpill f4aebdfdb2 Accept minisign identity proofs from other instances 2022-11-11 00:53:23 +00:00
silverpill 38bb3e38e9 Expose all identity proofs when building Account object 2022-11-11 00:53:23 +00:00
silverpill cd93858488 Use canonicalized JSON for identity claims 2022-11-11 00:53:23 +00:00
silverpill 14a123ad7e Implement minisign identity proofs 2022-11-11 00:53:19 +00:00
silverpill 9d86d58274 Add methods for conversions between did:key and Ed25519 key 2022-11-10 17:35:47 +00:00
silverpill 99f7b334d1 Change identity proof API to avoid key-to-DID converion at client side 2022-11-10 13:06:59 +00:00
silverpill efb51c1be6 Decode multibase value when parsing did:key 2022-11-10 13:06:54 +00:00
silverpill 1bfb951df8 Move create_identity_claim to identity::claims module
Make it work with any DID type
2022-11-10 09:46:06 +00:00
silverpill a5c9da78ef Add DidKey type 2022-11-09 18:53:52 +00:00
silverpill dae6e9437b Use general Did type intsead of DidPkh in identity proofs 2022-11-09 18:15:50 +00:00
silverpill 4e53a5c4e4 Move DidPkh type to identity module 2022-11-08 22:45:59 +00:00
silverpill fbfb6bb3c2 Create dedicated type for Update(Person) activity 2022-11-07 15:52:53 +00:00
silverpill e750b2b718 Add test for build_update_person 2022-11-07 15:32:49 +00:00
silverpill ff12501ec0 Exclude local profiles when looking up activity signer 2022-11-06 22:37:09 +00:00
silverpill 109a519607 Treat activity signature as primary signature
Request signature is secondary.
2022-11-06 22:29:06 +00:00
silverpill 0840197cac Fix clippy warnings 2022-11-06 21:20:14 +00:00
silverpill 3cc7b58350 Change log level of JSON signature error message 2022-11-02 19:23:32 +00:00
silverpill 7f9b2a8768 Verify activities containing EIP-155 integrity proof 2022-11-02 18:04:12 +00:00
silverpill cdd3bfb6df Rewrite get_json_signature to return signer type along with other info 2022-11-02 17:16:53 +00:00