Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

Make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separated list

#523

I found out that Request#remote_ip fails with ArgumentError when REMOTE_ADDR is a comma-separated list.

In some particular cases with Nginx and some ISPs REMOTE_ADDR happens to be a comma-separated list of IP addresses so checking for local request passes a string with commas to IPAddr.new and causes exceptions. Exception notifier plugin does such checks in production environment, for instance. Semantics of REMOTE_ADDR being a list is unclear and probably an edge case but it happens and is painful to track down.

This patch makes Request#remote_ip gracefully handle cases when REMOTE_ADDR is a comma-separated list of IPs.

Reported by Michael Klishin (antares) · July 1st, 2008 @ 10:19 AM

State: resolved
Milestone: 2.x
Assigned to: Jeremy Kemper Jeremy Kemper
Importance: none

Activity

  1. Oleg Andreev
  2. Yaroslav Markin
  3. Michael Klishin (antares)
  4. Pratik
    Pratik
    • Title changed from [PATCH] make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separated list to Make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separated list
    • Assigned user changed from Pratik to Jeremy Kemper

    July 4th, 2008 @ 01:07 AM

  5. Michael Sheakoski
    Michael Sheakoski

    +1, this fixed exceptions i've been getting about "ip spoofing"

    July 17th, 2008 @ 02:25 AM

  6. Repository
    Repository
    • State changed from new to resolved

    (from [e42a235dd18a39ccc83382365088de96f24fa236]) Request#remote_ip handles the uncommon case that REMOTE_ADDR is a comma-separated list.

    [#523 Make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separat... state:resolved]

    Signed-off-by: Jeremy Kemper jeremy@bitsweat.net http://github.com/rails/rails/co...

    August 28th, 2008 @ 07:03 AM

  7. Repository
    Repository

    (from [e21ed3e45429cf4a7ee4f5b6b550f457f0c4c313]) Request#remote_ip handles the uncommon case that REMOTE_ADDR is a comma-separated list.

    [#523 Make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separat... state:resolved]

    Signed-off-by: Jeremy Kemper jeremy@bitsweat.net http://github.com/rails/rails/co...

    August 28th, 2008 @ 07:03 AM