Fix automatic LDAP account registration on OTP 24.3+
This commit is contained in:
parent
e1981264a3
commit
3127c5f0af
@ -102,7 +102,20 @@ defmodule Pleroma.Web.Auth.LDAPAuthenticator do
|
|||||||
{:scope, :eldap.wholeSubtree()},
|
{:scope, :eldap.wholeSubtree()},
|
||||||
{:timeout, @search_timeout}
|
{:timeout, @search_timeout}
|
||||||
]) do
|
]) do
|
||||||
{:ok, {:eldap_search_result, [{:eldap_entry, _, attributes}], _}} ->
|
# The :eldap_search_result record structure changed in OTP 24.3 and added a controls field
|
||||||
|
# https://github.com/erlang/otp/pull/5538
|
||||||
|
{:ok, {:eldap_search_result, [{:eldap_entry, _object, attributes}], _referrals}} ->
|
||||||
|
try_register(name, attributes)
|
||||||
|
|
||||||
|
{:ok, {:eldap_search_result, [{:eldap_entry, _object, attributes}], _referrals, _controls}} ->
|
||||||
|
try_register(name, attributes)
|
||||||
|
|
||||||
|
error ->
|
||||||
|
error
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
defp try_register(name, attributes) do
|
||||||
params = %{
|
params = %{
|
||||||
name: name,
|
name: name,
|
||||||
nickname: name,
|
nickname: name,
|
||||||
@ -121,9 +134,5 @@ defmodule Pleroma.Web.Auth.LDAPAuthenticator do
|
|||||||
{:ok, user} -> user
|
{:ok, user} -> user
|
||||||
error -> error
|
error -> error
|
||||||
end
|
end
|
||||||
|
|
||||||
error ->
|
|
||||||
error
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user