This project is archived and is in readonly mode.

#523 ✓resolved
Michael Klishin (antares)

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

Reported by Michael Klishin (antares) | July 1st, 2008 @ 10:19 AM | in 2.x

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.

Comments and changes to this ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2 style="font-size: 14px">Tickets have moved to Github</h2>

The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>

Attachments