Browse Source

Formatting fixes

tags/v0.9.9
Ekaterina Vaartis 5 years ago
parent
commit
23549d3952
4 changed files with 18 additions and 18 deletions
  1. +1
    -2
      config/config.exs
  2. +1
    -2
      lib/pleroma/captcha/captcha_service.ex
  3. +3
    -1
      lib/pleroma/captcha/kocaptcha.ex
  4. +13
    -13
      lib/pleroma/web/twitter_api/twitter_api.ex

+ 1
- 2
config/config.exs View File

@@ -15,8 +15,7 @@ config :pleroma, Pleroma.Captcha,
method: Pleroma.Captcha.Kocaptcha

# Kocaptcha is a very simple captcha service, the source code is here: https://github.com/koto-bank/kocaptcha
config :pleroma, Pleroma.Captcha.Kocaptcha,
endpoint: "http://localhost:9093"
config :pleroma, Pleroma.Captcha.Kocaptcha, endpoint: "http://localhost:9093"

# Upload configuration
config :pleroma, Pleroma.Upload,


+ 1
- 2
lib/pleroma/captcha/captcha_service.ex View File

@@ -1,5 +1,4 @@
defmodule Pleroma.Captcha.Service do

@doc """
Request new captcha from a captcha service.

@@ -20,5 +19,5 @@ defmodule Pleroma.Captcha.Service do

`true` if captcha is valid, `false` if not
"""
@callback validate(token :: String.t, captcha :: String.t) :: boolean
@callback validate(token :: String.t(), captcha :: String.t()) :: boolean
end

+ 3
- 1
lib/pleroma/captcha/kocaptcha.ex View File

@@ -7,9 +7,11 @@ defmodule Pleroma.Captcha.Kocaptcha do
@impl Service
def new() do
endpoint = Pleroma.Config.get!([__MODULE__, :endpoint])

case HTTPoison.get(endpoint <> "/new") do
{:error, _} ->
%{error: "Kocaptcha service unavailable"}

{:ok, res} ->
json_resp = Poison.decode!(res.body)

@@ -25,7 +27,7 @@ defmodule Pleroma.Captcha.Kocaptcha do
def validate(token, captcha) do
with false <- is_nil(captcha),
[{^token, saved_md5}] <- :ets.lookup(@ets, token),
true <- (:crypto.hash(:md5, captcha) |> Base.encode16) == String.upcase(saved_md5) do
true <- :crypto.hash(:md5, captcha) |> Base.encode16() == String.upcase(saved_md5) do
# Clear the saved value
:ets.delete(@ets, token)



+ 13
- 13
lib/pleroma/web/twitter_api/twitter_api.ex View File

@@ -139,11 +139,12 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do

captcha_enabled = Pleroma.Config.get([Pleroma.Captcha, :enabled])
# true if captcha is disabled or enabled and valid, false otherwise
captcha_ok = if !captcha_enabled do
true
else
Pleroma.Captcha.validate(params[:captcha_token], params[:captcha_solution])
end
captcha_ok =
if !captcha_enabled do
true
else
Pleroma.Captcha.validate(params[:captcha_token], params[:captcha_solution])
end

# Captcha invalid
if not captcha_ok do
@@ -155,8 +156,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
# no need to query DB if registration is open
token =
unless registrations_open || is_nil(tokenString) do
Repo.get_by(UserInviteToken, %{token: tokenString})
end
Repo.get_by(UserInviteToken, %{token: tokenString})
end

cond do
registrations_open || (!is_nil(token) && !token.used) ->
@@ -168,18 +169,17 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
else
{:error, changeset} ->
errors =
Ecto.Changeset.traverse_errors(changeset, fn {msg, _opts} -> msg end)
|> Jason.encode!()
Ecto.Changeset.traverse_errors(changeset, fn {msg, _opts} -> msg end)
|> Jason.encode!()

{:error, %{error: errors}}
{:error, %{error: errors}}
end


!registrations_open && is_nil(token) ->
{:error, "Invalid token"}
{:error, "Invalid token"}

!registrations_open && token.used ->
{:error, "Expired token"}
{:error, "Expired token"}
end
end
end


Loading…
Cancel
Save