From 9087e72f0e5c63a14cd119f51a42a7b224f59758 Mon Sep 17 00:00:00 2001 From: Badlop Date: Mon, 26 Dec 2022 16:06:23 +0100 Subject: [PATCH] Update image key, some scripts generate their own random key --- src/ejabberd_captcha.erl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ejabberd_captcha.erl b/src/ejabberd_captcha.erl index 69b14915f..db9a7d009 100644 --- a/src/ejabberd_captcha.erl +++ b/src/ejabberd_captcha.erl @@ -77,6 +77,11 @@ mk_ocr_field(Lang, CID, Type) -> [_, F] = captcha_form:encode([{ocr, <<>>}], Lang, [ocr]), xmpp:set_els(F, [#media{uri = [URI]}]). +update_captcha_key(_Id, Key, Key) -> + ok; +update_captcha_key(Id, _Key, Key2) -> + true = ets:update_element(captcha, Id, [{4, Key2}]). + -spec create_captcha(binary(), jid(), jid(), binary(), any(), callback() | term()) -> {error, image_error()} | @@ -243,7 +248,8 @@ process(_Handlers, case lookup_captcha(Id) of {ok, #captcha{key = Key}} -> case create_image(Addr, Key) of - {ok, Type, _, Img} -> + {ok, Type, Key2, Img} -> + update_captcha_key(Id, Key, Key2), {200, [{<<"Content-Type">>, Type}, {<<"Cache-Control">>, <<"no-cache">>},