ensure utf-8 nicknames on nickname GETs and user validator #1057
1 changed files with 11 additions and 0 deletions
if we don't have a preferredUsername, accept standard fallback
commit
3deb267333
|
|
@ -25,6 +25,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.UserValidator do
|
|||
when type in Pleroma.Constants.actor_types() do
|
||||
with :ok <- validate_pubkey(data),
|
||||
:ok <- validate_inbox(data),
|
||||
:ok <- validate_nickname(data),
|
||||
:ok <- contain_collection_origin(data) do
|
||||
{:ok, data, meta}
|
||||
else
|
||||
|
|
@ -83,4 +84,14 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.UserValidator do
|
|||
_, error -> error
|
||||
end)
|
||||
end
|
||||
|
||||
defp validate_nickname(%("preferredUsername" => nick)) when is_binary(nick) do
|
||||
|
Oneric marked this conversation as resolved
|
||||
if String.valid?(nick) do
|
||||
:ok
|
||||
else
|
||||
{:error, "Nickname is not valid UTF-8"}
|
||||
end
|
||||
end
|
||||
|
||||
defp validate_nickname(_), do: :ok
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue
what will happen if
"preferredusername"exists but isn’t a binary?updated to error if we have the preferredUsername key but its type is silly