Commit Graph

55 Commits

Author SHA1 Message Date
Felix Ableitner
0cc49e6ca9 Merge branch 'main' into federation-authorisation 2020-08-07 15:19:08 +02:00
Felix Ableitner
cc2c7db9fe Add security checks and slur checks for activitypub inbox 2020-08-06 15:01:42 +02:00
Dessalines
464ea862b1
Preferred usernames, banners and icons. (#1055)
* Re-organizing federation tests. #746 #1040

* Adding federation support for user bios. Fixes #992

* Adding icons, banners, and preferred usernames.

- Added optional community icons, and community banners.
- Added user banners.
- Added Site icon and banner, with custom favicon.
- Set up preferred usernames. Fixes #1017
- Added an additional post sort: Active
  - Hot rank now uses the published time.
  - Active uses the most recent comment time, and is default.
- DB Migration was required to add all these fields to the views.
- Added transfercommunity helper function.
- Removed title column from communities page.
- Abstracted an image-upload-form.tsx, and a banner-icon-header.tsx
- Fixes #899

* Some navbar fixes.

* Fixing css

* Some fixes.

- Showing correct user icon and banner after save without page reload.
- Abstracting diesel update overwrite.
- Adding some docs.

* Adding @ when a user doesn't have a preferred username.
2020-08-05 12:03:46 -04:00
Felix Ableitner
233aa34d54 Verify ID of received apub objects against domain allowlist etc 2020-08-05 14:18:08 +02:00
Dessalines
e9e1497830
Add bio federation. (#1052)
* Re-organizing federation tests. #746 #1040

* Adding federation support for user bios. Fixes #992
2020-08-04 11:06:27 -04:00
Felix Ableitner
9a004c4535 Update activitystreams to 0.7.0-alpha.3 (from crates.io) 2020-08-01 15:25:17 +02:00
Felix Ableitner
678e1fa927 Add community outbox (ref #1018) 2020-07-29 22:49:52 +02:00
Felix Ableitner
8ad4378960 Disable ID domain check in FromApub until we figure it out properly 2020-07-29 13:58:39 +02:00
Felix Ableitner
a85873d294 Take correct community uri in shared_inbox, rename fetch_remote* methods 2020-07-29 13:46:11 +02:00
Felix Ableitner
494fcfdb8f Add helper function to generate proper activity IDs 2020-07-28 19:23:16 +02:00
Dessalines
e605d58888 Merge branch 'main' into inbox-refactoring-merge 2020-07-28 12:08:28 -04:00
Felix Ableitner
1ed7c59491 Refactor inbox, simplify and split into multiple files 2020-07-28 14:41:15 +02:00
Dessalines
ca7d2feedb Some GetUserDetails cleanup. 2020-07-20 15:32:15 -04:00
Dessalines
b03a2d7995 Ran cargo fmt. 2020-07-19 12:26:23 -04:00
nutomic
77a2a5eb01 Update activitystreams library to latest version (#71)
Merge branch 'main' into more-upgrade-apub-3

Update activitystreams library to latest version

Remove remaining usages of old activitystreams library

Migrate community inbox and user inbox

Migrate private message

Migrate post

Migrate community activities

Migrate extensions to new activitystreams library

Co-authored-by: dessalines <dessalines@noreply.yerbamate.dev>
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/71
2020-07-17 21:11:07 +00:00
Felix Ableitner
2d4c41d2be Convert comments to new apub lib (including comment activities) 2020-07-15 18:26:37 +02:00
ryexandra
29037b4995
Security/fix permission bugs (#966)
* secure the `EditPost` API endpoint

* Check user is moderator in BanFromCommunity

* secure the `EditComment` API endpoint

* pass orig `read` prob when not explicitly updating it.

* Block random users from adding mods.

* use cleaner logic from `EditPost`

* prevent editing a community by a mod from transfering ownership to them

* secure `read` action in `EditPrivateMessage`

* Add check in UserMention

* only let the indended recipient mark as read

* simplify booleans to satisfy clippy

* requested changes + cargo +nightly fmt

* fix to pass federation tests for deleting comments and posts

Co-authored-by: chiminh <chiminh.tutanota.com>
Co-authored-by: Hex Bear <buildadangtrain@protonmail.com>
2020-07-14 09:17:25 -04:00
Felix Ableitner
bb3e29e5c4 Make reads from activitypub objects immutable 2020-07-13 15:56:58 +02:00
nutomic
80aef61aed Split code into cargo workspaces (#67)
More fixes

- fixed docker builds
- fixed mentions regex test
- fixed DATABASE_URL stuff
- change schema path in diesel.toml

Address review comments

- add jsonb column back into activity table
- remove authors field from cargo.toml
- adjust LEMMY_DATABASE_URL env var usage
- rename all occurences of LEMMY_DATABASE_URL to DATABASE_URL

Decouple utils and db

Split code into cargo workspaces

Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/67
2020-07-10 18:15:41 +00:00
Felix Ableitner
c9338027f2 Migrate user and group to new activitystreams library 2020-07-08 18:01:04 +02:00
Riley
a074564458
Federation async (#848)
* Asyncify more

* I guess these changed

* Clean PR a bit

* Convert more away from failure error

* config changes for testing federation

* It was DNS

So actix-web's client relies on TRust DNS Resolver to figure out
where to send data, but TRust DNS Resolver seems to not play nice
with docker, which expressed itself as not resolving the name to
an IP address _the first time_ when making a request. The fix was
literally to make the request again (which I limited to 3 times
total, and not exceeding the request timeout in total)

* Only retry for connecterror

Since TRust DNS Resolver was causing ConnectError::Timeout,
this change limits the retry to only this error, returning
immediately for any other error

* Use http sig norm 0.4.0-alpha for actix-web 3.0 support

* Blocking function, retry http requests

* cargo +nightly fmt

* Only create one pictrs dir

* Don't yarn build

* cargo +nightly fmt
2020-07-01 08:54:29 -04:00
Felix Ableitner
c1ef766125 migrate follow 2020-06-03 21:44:14 +02:00
Felix Ableitner
3999e0485e migrate tombstone 2020-06-03 17:10:16 +02:00
Dessalines
a9af247f1e Merge branch 'federated_embeds' into federation 2020-05-25 16:15:23 -04:00
Felix
d1aca27126 Use activitystreams-ext 2020-05-18 18:15:26 +02:00
Felix
9e61c3be94 Rework imports 2020-05-16 20:04:17 +02:00
Dessalines
020b9b8cdd Post thumbnail and user icons federating. 2020-05-15 20:23:20 -04:00
Felix
13ca47a3b4 Use ActorType for sign/verify, instead of passing raw privatekey/actor_id 2020-05-14 17:17:40 +02:00
Felix
11acc7225e Add helper function for Activity::create() 2020-05-14 14:26:44 +02:00
Dessalines
b8b2398d32 Adding undo follow community. 2020-05-03 22:41:45 -04:00
Dessalines
a09c818746 Adding federated mod remove actions. 2020-05-03 10:00:59 -04:00
Dessalines
5366797a4b Add undos for delete community, post, and comment. 2020-05-01 15:01:29 -04:00
Dessalines
2f1cd9976d Adding federated community, comment, and post deletes.
- Unit tests added too.
- No undeletes working yet.
2020-05-01 10:07:38 -04:00
Felix
c43f06124a Address comments, implement delete for posts and comments 2020-04-29 16:51:25 +02:00
Felix
0c0c683986 Implement deleting communities 2020-04-28 19:46:25 +02:00
Dessalines
3b62f58dd2 Adding federated post and comment likes. 2020-04-28 00:16:02 -04:00
Dessalines
70060c27b2 Adding activity table inserts. 2020-04-27 18:17:02 -04:00
Dessalines
3ce0618362 Making a trait function for follow and accept. 2020-04-26 13:20:42 -04:00
Dessalines
b5a5b307a0 Adding get_public_key_ext() to ActorType trait. 2020-04-24 22:34:51 -04:00
Dessalines
8a25f0f816 Use an associated type instead of Generic. 2020-04-24 17:30:27 -04:00
Dessalines
d846740839 Some more cleanup. 2020-04-24 15:55:54 -04:00
Dessalines
66a2c4a2c3 Some fed fixes. 2020-04-24 10:04:36 -04:00
Felix
c5ced6fa5e Added documentation for most functions 2020-04-17 17:33:55 +02:00
Felix
fc951d9295 Added comments about how to federate additional post/user fields 2020-04-12 16:53:55 +02:00
Felix
17d3d2492c Federate actor public keys 2020-04-10 15:50:40 +02:00
Felix Ableitner
61c560c12c Get users federated 2020-04-07 23:02:32 +02:00
asonix
cfe0d9c9c2 Upgraded to latest activitystreams 2020-03-18 20:16:17 -05:00
Felix Ableitner
5043a52b88 Serve post data in apub format, some cleanup 2020-03-16 19:19:04 +01:00
Felix Ableitner
05735b31c0 Remove boilerplate code 2020-03-16 18:30:25 +01:00
Felix
54172bd322 updated to activitystreams 0.4.0-alpha.3 2020-03-12 01:01:25 +01:00