diff --git a/plugins/add-x-originating-ip-header/index.php b/plugins/add-x-originating-ip-header/index.php index cbcc3cc8c..813d47f58 100644 --- a/plugins/add-x-originating-ip-header/index.php +++ b/plugins/add-x-originating-ip-header/index.php @@ -14,10 +14,12 @@ class AddXOriginatingIpHeaderPlugin extends \RainLoop\Plugins\AbstractPlugin { if ($oMessage instanceof \MailSo\Mime\Message) { + $sIP = $this->Manager()->Actions()->Http()->GetClientIp( + !!$this->Config()->Get('plugin', 'check_proxy', false)); + $oMessage->SetCustomHeader( \MailSo\Mime\Enumerations\Header::X_ORIGINATING_IP, - $this->Manager()->Actions()->Http()->GetClientIp( - !!$this->Config()->Get('plugin', 'check_proxy', false)) + $this->Manager()->Actions()->Http()->IsLocalhost($sIP) ? '127.0.0.1' : $sIP ); } } diff --git a/rainloop/v/0.0.0/app/libraries/MailSo/Base/Http.php b/rainloop/v/0.0.0/app/libraries/MailSo/Base/Http.php index d528e4d2d..c2fca5b5e 100644 --- a/rainloop/v/0.0.0/app/libraries/MailSo/Base/Http.php +++ b/rainloop/v/0.0.0/app/libraries/MailSo/Base/Http.php @@ -219,11 +219,18 @@ class Http } /** + * @param string $sValueToCheck = '' + * * @return bool */ - public function IsLocalhost() + public function IsLocalhost($sValueToCheck = '') { - return $this->CheckLocalhost($this->GetServer('REMOTE_ADDR', '')); + if (empty($sValueToCheck)) + { + $sValueToCheck = $this->GetServer('REMOTE_ADDR', ''); + } + + return $this->CheckLocalhost($sValueToCheck); } /**