Commit graph

9952 commits

Author SHA1 Message Date
Mark Felder
6bc70b8b2a Add change_password/3 to LDAP module 2024-10-11 15:45:09 -04:00
Mark Felder
67cc38b5ac Support password changes for LDAP auth backend 2024-10-11 15:39:38 -04:00
Mark Felder
23f78c7573 Refactor password changes to go through Pleroma.Web.Auth so they can be supported by the different auth backends 2024-10-11 14:29:15 -04:00
feld
3f3f8bc57a Merge branch 'poll-refresh' into 'develop'
Refactor Poll Refreshing

See merge request pleroma/pleroma!4278
2024-10-10 00:46:28 +00:00
Mark Felder
03a6e33b81 Skip the final refresh job if the activity is local 2024-10-09 16:25:58 -04:00
marcin mikołajczak
ddedc575e7 Merge branch 'hashtag-feeds-restricted' into 'develop'
Repesct :restrict_unauthenticated for hashtag rss/atom feeds

See merge request pleroma/pleroma!4266
2024-10-09 09:42:53 +00:00
marcin mikołajczak
07cfbe4ae8 Merge branch 'profile-image-descriptions' into 'develop'
Federate avatar/header descriptions

See merge request pleroma/pleroma!4264
2024-10-06 20:05:36 +00:00
Mark Felder
a3038aa6a2 Increase poll refresh interval to 120 seconds 2024-10-03 11:01:33 -04:00
Mark Felder
b854e3836f Remove pattern that can never match 2024-10-03 10:30:32 -04:00
Mark Felder
ba2ae5e40b Check if a refresh is permitted by comparing timestamps before attempting to insert an Oban job
It's better to avoid inserting an Oban job that will just be rejected if it's not expensive to check.
2024-10-03 10:14:02 -04:00
Mark Felder
0a42a3f2ea Do not attempt to schedule poll refresh jobs for local activities 2024-10-02 11:05:17 -04:00
Mark Felder
9ff57946e7 Credo 2024-09-30 15:25:13 -04:00
Mark Felder
a2e7db43aa Rename assignment for consistency 2024-09-30 14:23:04 -04:00
Mark Felder
47ce3a4a96 Schedule a final poll refresh before streaming out the notifications 2024-09-30 14:17:35 -04:00
Mark Felder
4b3f604f95 Skip refetching poll results if the object's updated_at is newer than the poll closed timestamp 2024-09-30 14:02:41 -04:00
Mark Felder
c077a14ce1 Add Oban job to handle poll refreshing and stream out the update 2024-09-30 13:54:56 -04:00
Mark Felder
382426e033 Remove Object.get_by_id_and_maybe_refetch/2
This was only used for poll refreshing and is not a good approach to the problem.
2024-09-30 12:41:09 -04:00
Haelwenn (lanodan) Monnier
0fa13c5535
MRF.SimplePolicy: Add id_filter/1 2024-09-21 14:07:26 +02:00
Haelwenn (lanodan) Monnier
30063c5914
MRF.DropPolicy: Add id_filter/1 2024-09-21 14:06:26 +02:00
Haelwenn (lanodan) Monnier
3dd6f65859
Object.Fetcher: Hook to MRF.id_filter 2024-09-21 14:06:26 +02:00
Haelwenn (lanodan) Monnier
03e14e759d
MRF: Add filtering against AP id 2024-09-21 14:06:24 +02:00
Mark Felder
73204c1bca LDAP: fix compile warning
Sometimes the compile will emit the following warning, so we'll just avoid it by making it call a function in the LDAP module which will never have this problem.

warning: :GenServer.call/2 is undefined (module :GenServer is not available or is yet to be defined)
2024-09-18 11:58:52 -04:00
Mark Felder
2b482e34eb Improve matching on bind errors 2024-09-17 13:54:57 -04:00
Mark Felder
ea63533cf2 Change :connection to :handle to match upstream nomenclature 2024-09-17 13:46:56 -04:00
Mark Felder
21bf229731 Reduce LDAP timeouts
10 seconds is way too long for any login attempt or search result. LDAP should always be fast.
2024-09-17 13:43:22 -04:00
Mark Felder
363b462c54 Make the email attribute configurable
While here, fix the System.get_env usage to use the normal fallback value method and improve the UID label description
2024-09-17 13:40:15 -04:00
Mark Felder
a1972d57e3 Link the eldap connection process
Ensure if LDAP GenServer crashes it gets cleaned up, and we should crash and restart if somehow the eldap connection process crashes unexpectedly as we can't seem to receive any DOWN messages from it, etc.
2024-09-17 13:40:15 -04:00
Mark Felder
164ffbcab8 Fix return value when not doing STARTTLS 2024-09-17 13:40:15 -04:00
Mark Felder
d0ee899ab9 Only close connection if it is not nil 2024-09-17 13:40:15 -04:00
Mark Felder
123093a186 Ensure :ssl is started before we attempt to make the LDAP connection 2024-09-17 13:40:15 -04:00
Mark Felder
65a7b387c3 Require a reboot if LDAP configuration changes 2024-09-17 13:40:15 -04:00
Mark Felder
7c04098dde Catchall for when LDAP is not enabled 2024-09-17 13:40:15 -04:00
Mark Felder
ead287d623 Credo 2024-09-17 13:40:08 -04:00
Mark Felder
9264b21907 Pleroma.LDAP
This adds a GenServer which will keep an LDAP connection open and auto reconnect on failure with a 5 second wait between retries. Another benefit is this prevents parsing the Root CAs for every login attempt as we only need to do it once per connection.
2024-09-17 13:40:08 -04:00
Mark Felder
e24e107f3d Merge remote-tracking branch 'origin/develop' into retry-tests 2024-09-16 11:51:22 -04:00
feld
3a0d4e9837 Merge branch 'ldap-tls' into 'develop'
LDAP: permit overriding the CA root, improve SSL/TLS

See merge request pleroma/pleroma!4265
2024-09-16 15:50:58 +00:00
Mark Felder
e59706c201 Reapply "Custom mix task to retry failed tests once in CI pipeline"
This reverts commit b281ad06de.
2024-09-16 11:42:55 -04:00
marcin mikołajczak
e74e0089bf Repesct :restrict_unauthenticated for hashtag rss/atom feeds
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-09-16 17:19:21 +02:00
Mark Felder
91d1d7260b Retain the try do so an LDAP failure can fall back to local database.
This fixes tests but the automatic fallback may not be well documented behavior.
2024-09-15 23:18:18 -04:00
Mark Felder
af3bf8a462 Support implicit TLS connections
Update docs to clarify that the :ssl option is also for modern TLS, but the :tls option is only for STARTTLS

These options may benefit from being renamed but they match upstream terminology.
2024-09-15 14:00:19 -04:00
marcin mikołajczak
8250a9764e Merge branch 'notifications-group-key' into 'develop'
Add `group_key` to notifications

See merge request pleroma/pleroma!4262
2024-09-15 10:07:52 +00:00
Mark Felder
5539fea3bb LDAP: permit overriding the CA root 2024-09-14 20:36:24 -04:00
marcin mikołajczak
1a120d0130 Federate avatar/header descriptions
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-09-14 21:32:32 +02:00
marcin mikołajczak
c1a1150888 Merge branch 'profile-image-descriptions' into 'develop'
Allow providing avatar/header descriptions

See merge request pleroma/pleroma!4227
2024-09-14 17:46:33 +00:00
marcin mikołajczak
0111659a1f Merge branch 'list-id-visibility' into 'develop'
Include list id in StatusView

See merge request pleroma/pleroma!4246
2024-09-14 17:46:09 +00:00
marcin mikołajczak
17b69c43d5 Add group_key to notifications
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-09-12 14:37:37 +02:00
Mark Felder
7def11d7c3 LDAP Auth: fix TLS certificate verification
Currently we only support STARTTLS and it was not verifying certificate and hostname correctly. We must pass a custom fqdn_fun/1 function so it knows what value to compare against.
2024-09-11 12:47:46 -04:00
Mint
9de522ce50 Authentication: convert argon2 passwords, add tests 2024-09-08 05:32:40 +03:00
marcin mikołajczak
c9b28eaf9a Argon2 password support 2024-09-08 05:23:46 +03:00
feld
bb0cb06d8a Merge branch 'well-known' into 'develop'
NodeInfo: Accept application/activity+json requests

See merge request pleroma/pleroma!4242
2024-09-06 16:30:07 +00:00