プロジェクト

全般

プロフィール

Vote #78412

完了

Fix NoMethodError on HEAD requests to AccountController#register

Admin Redmine さんが約4年前に追加. 約4年前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
Accounts / authentication_7
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
7
version_id:
128
issue_org_id:
25653
author_id:
2784
assigned_to_id:
1
comments:
5
status_id:
5
tracker_id:
3
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

The attached patch fixes a NoMethodError when attempting to run a HEAD request against AccountController#register.

The cause of the bug is that HEAD requests did not trigger the check for @request.get?@.


journals

I cannot reproduce the problem but I think that merging this fix is very reasonable because lines after source:tags/3.3.3/app/controllers/account_controller.rb@16536#L130 should be executed only when request is POST.

<pre>
$ curl -v --head http://localhost:3000/account/register
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 3000 (#0)
> HEAD /account/register HTTP/1.1
> Host: localhost:3000
> User-Agent: curl/7.51.0
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
</pre>

--------------------------------------------------------------------------------
Hmmm, we had indeed only seen the error on Redmine 3.3, more specifically in http://www.redmine.org/projects/redmine/repository/revisions/16536/entry/tags/3.3.3/app/controllers/account_controller.rb#L148.

In current trunk, this code is now a bit different so that the exception doesn't occur anymore. However, it would still be desirable to not perform the registration from a HEAD request, as Go Maeda wrote above.

Now that I had a look around, the same issue is present in @AccountController#login@. There, it's again not an exception on HEAD but Redmine still attempts a login from the supplied URL parameters which is not desirable.
--------------------------------------------------------------------------------
The attached patch also fixed the additional issue described in #25653#note-2
--------------------------------------------------------------------------------
Patches committed, thanks.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

Admin Redmine さんが約4年前に更新

  • カテゴリAccounts / authentication_7 にセット
  • 対象バージョン3.2.7_128 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0