Commit Graph

36 Commits

Author SHA1 Message Date
nutomic 3da47352be Remove usage of Option::unwrap() in activitypub code (#80)
Remove remaining usages of unwrap() from activitypub code

Remove most usage of Option::unwrap() from activitypub code

Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/80
2020-08-11 14:31:05 +00:00
nutomic 76cd6ac6bc Add more checks in inbox, plus some refactoring (#76)
Merge branch 'main' into more-inbox-permissions

Move check_community_ban() into helper function

Move slur check into helper functions

Move Claims::decode and site ban check into helper function

Note: this changes behaviour in that site ban is checked in more
places now. we could easily add a boolean parameter
check_for_site_ban to get the previous behaviour back

Rewrite user_inbox and community_inbox in the same way as shared_inbox

Add check against instance allowlist etc in shared_inbox

Co-authored-by: dessalines <dessalines@noreply.yerbamate.dev>
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/76
2020-08-04 14:39:55 +00: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 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 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 ef8118f40f migrate post to new apub lib 2020-07-15 18:03:09 +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
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
Dessalines 7d1c6e9a40 Switching back to isahc. 2020-06-25 15:36:03 -04:00
Dessalines dc94e58cbf Merge branch 'master' into federation_merge_from_master_2 2020-06-23 21:11:38 -04:00
Dessalines fd6a040568 Changing another blacklisted to blocklisted. 2020-06-17 21:29:10 -04:00
Felix Ableitner 1aa30d855e address review comments 2020-06-01 16:48:07 +02:00
Dessalines f15c3b4e1e Merge branch 'yerba_rework-imports' into federation 2020-05-16 21:09:26 -04:00
Felix 9e61c3be94 Rework imports 2020-05-16 20:04:17 +02:00
Dessalines 940dc73f28 Federated mentions. Fixes #681 (#717)
* Federated mentions. Fixes #681

* Changing some todos, adding comments.
2020-05-15 12:36:11 -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 a1ad21ec56 remove outdated comments 2020-05-14 13:23:56 +02:00
Dessalines 22abbebd41 Lots of additions to federation.
- Added a shared inbox.
- Added federated comments, comment updates, and tests.
- Abstracted ap object sends into a common trait.
2020-04-27 12:57:00 -04:00
Dessalines 3ce0618362 Making a trait function for follow and accept. 2020-04-26 13:20:42 -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 7117b5ce32 Verifyt http signatures 2020-04-19 19:35:40 +02:00
Felix 5284dc0c52 Simplify signing code 2020-04-19 13:44:44 +02:00
Felix 8daf72278d Add http signature to outgoing apub requests 2020-04-18 20:54:20 +02:00
Felix a49bd1d42a Fix bug in whitelist implementation 2020-04-18 17:17:25 +02:00
Felix b1b97db11a Implement instance whitelist 2020-04-17 19:34:18 +02:00
Felix c5ced6fa5e Added documentation for most functions 2020-04-17 17:33:55 +02:00
Felix 8908c8b184 Some code cleanup and better logging 2020-04-17 16:55:28 +02:00
Felix 9a85f1b25f Send activities to correct inbox, seperate community/user inboxes 2020-04-15 20:12:25 +02:00
Felix 19c8461397 Implemented follow/accept 2020-04-14 17:37:23 +02:00
Felix fdaf0b3364 Get inbox working properly 2020-04-13 15:06:41 +02:00
Felix 492625f6d6 Add to/cc (and a bunch of todo) 2020-04-10 13:26:06 +02:00
Felix 483d11e772 Minor code cleanup 2020-04-09 21:26:22 +02:00
Felix 0b617377df Implement create activity 2020-04-09 21:04:31 +02:00