News:

You may pay someone to create your store, or you visit our seminar and become a professional yourself with the silver certification

Main Menu

Paypal ERROR checkPaypalIps: Error with REMOTE IP ADDRESS

Started by tantedante, October 16, 2015, 02:55:58 AM

Previous topic - Next topic

Jörgen

The problem seems to be that PayPals server does not always return a complete list of valid IP. As Patrick pointed out, 66.211.170.66 is actually a valid PayPal IP. But for some reason the call to Paypal does not work flawlessly, so this IP is not included. This does not seem to be a Virtuemart issue, it looks more like PayPal has irratic problems with their data communication.

Jörgen @ Kreativ Fotografi
Joomla 3.9.18
Virtuemart 3.4.x
Olympiantheme Hera (customized)
This reflects current status when viewing old post.

Milbo

The new version allows to manually add extra IPs (comma seperated). So when something happens like on friday, you can add the ip temporarly yourself http://dev.virtuemart.net/attachments/1204/com_virtuemart.3.6.3.10179_package_or_extract.zip
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

gba

Hi!

I am having the same problem.
What do you mean with "temporarly"?
Until when?

Kind regards,
Gerald

Jörgen

This You should ask PayPal, they can probably say when their server works as expected again.

Jörgen @ Kreativ Fotografi
Joomla 3.9.18
Virtuemart 3.4.x
Olympiantheme Hera (customized)
This reflects current status when viewing old post.


AH

It makes no difference what they list - PayPal are not returning that data when asked for a list of valid IPs

When asked for them using:

            $paypal_iplist_ipnpb       = gethostbynamel('ipnpb.paypal.com');
            $paypal_iplist_notify      = gethostbynamel('notify.paypal.com');



Regards
A

Joomla 3.10.11
php 8.0


Studio 42

1 server can have multiple IP's so using gethostbynamel only return 1 IP and not all valids IP
the plugin should use gethostbyaddr('MY.IP.ADDR');
and compare if this end with .paypal.com or perhaps simply if this is notification.paypal.com

Jörgen

Sorry Patrick, have to disagree:
Php documentation:
Quote(PHP 4, PHP 5, PHP 7)

gethostbynamel — Get a list of IPv4 addresses corresponding to a given Internet host name
https://www.php.net/manual/en/function.gethostbynamel.php

This seems not be working as expected, sometimes, at PayPal servers.

Jörgen @ Kreativ Fotografi
Joomla 3.9.18
Virtuemart 3.4.x
Olympiantheme Hera (customized)
This reflects current status when viewing old post.

gba

Quote from: Milbo on October 16, 2019, 13:29:50 PM
The new version allows to manually add extra IPs (comma seperated). So when something happens like on friday, you can add the ip temporarly yourself http://dev.virtuemart.net/attachments/1204/com_virtuemart.3.6.3.10179_package_or_extract.zip

Please DO NOT install this version!!!
It has a problem with the config setting 'Enable legacy layouts'.
From version 3.6.3.10180 this problem has been fixed.

Kind regards,
Gerald

Fantastic4

When will be released this new version 3.6.310180?
I' ve installed VM 3.6.3.10179 yesterday, because of PayPal IP errors and now I have errors with Menu Items in category layout.
When ever I open pages in category layout, it shows the following error in frontend:
Fehlermeldung 0 - Call to a member function getPagesLinks() on string
Before updating to VM 3.6.310179 everythink worked well.

The Installation is based on Virtuemart 3.6.3 10179, Joomla 3.9.12, Rupostel OPC 2.0.394.141019
Server: Apache, Debian Linux, PHP 7.2.23, MySQL 5.7.27.-1

My Logfile "everything.php" shows the following entries on error:

2019-10-18T15:55:11+00:00   WARNING IP-Address   assets   No asset found for com_content.category.root, falling back to com_content
2019-10-18T15:55:11+00:00   CRITICAL IP-Address   error   Uncaught \Throwable of type JException thrown. Stack trace: #0 /usr/www/users/username/webseiten/parent-directory/joomla-root/libraries/legacy/error/error.php(277): JError::raise(1, 404, 'Kategorie nicht...', NULL, true)
#1 /usr/www/users/username/webseiten/parent-directory/joomla-root/libraries/src/MVC/View/CategoryView.php(133): JError::raiseError(404, 'Kategorie nicht...')
#2 /usr/www/users/username/webseiten/parent-directory/joomla-root/components/com_content/views/category/view.html.php(75): Joomla\CMS\MVC\View\CategoryView->commonCategoryDisplay()
#3 /usr/www/users/username/webseiten/parent-directory/joomla-root/libraries/src/MVC/Controller/BaseController.php(672): ContentViewCategory->display()
#4 /usr/www/users/username/webseiten/parent-directory/joomla-root/components/com_content/controller.php(118): Joomla\CMS\MVC\Controller\BaseController->display(true, Array)
#5 /usr/www/users/username/webseiten/parent-directory/joomla-root/libraries/src/MVC/Controller/BaseController.php(710): ContentController->display()
#6 /usr/www/users/username/webseiten/parent-directory/joomla-root/components/com_content/content.php(43): Joomla\CMS\MVC\Controller\BaseController->execute('')
#7 /usr/www/users/username/webseiten/parent-directory/joomla-root/libraries/src/Component/ComponentHelper.php(402): require_once('/usr/www/users/...')
#8 /usr/www/users/username/webseiten/parent-directory/joomla-root/libraries/src/Component/ComponentHelper.php(377): Joomla\CMS\Component\ComponentHelper::executeComponent('/usr/www/users/...')
#9 /usr/www/users/username/webseiten/parent-directory/joomla-root/libraries/src/Application/SiteApplication.php(194): Joomla\CMS\Component\ComponentHelper::renderComponent('com_content')
#10 /usr/www/users/username/webseiten/parent-directory/joomla-root/libraries/src/Application/SiteApplication.php(233): Joomla\CMS\Application\SiteApplication->dispatch()
#11 /usr/www/users/username/webseiten/parent-directory/joomla-root/libraries/src/Application/CMSApplication.php(196): Joomla\CMS\Application\SiteApplication->doExecute()
#12 /usr/www/users/username/webseiten/parent-directory/joomla-root/index.php(49): Joomla\CMS\Application\CMSApplication->execute()
#13 {main}

Kind regards
Michael

Fantastic4

My problem ist solved now. Thank you for supporting me. Especially to gba.
After a lot of searching in this forum, the post of gba was the final help to find the right solution.
When I've disabled the option "Enable legacy layouts" in Virtuemart configuration, everything is fine again and all pages in category layout are restored.
Best regards
Michael

AH

patrick

I have to disagree also

gethostbyname returns an array of ip addresses and this has been implemented and functional for a long time in the PayPal plugin.

the plugin should use gethostbyaddr('MY.IP.ADDR')

Means you go back to storing a whole heap of IPs - which is not sustainable and a step back and away from paypal's URL address suggestion

Regards
A

Joomla 3.10.11
php 8.0

Studio 42

OK, but currently the IP list is bad. So if you invert the logic, you have more chance to get the right result.

AH

Inverting the logic??

VM uses the function and system that PayPal propose. 

Fixed IP or other options should be configurable by customers wishing to "override/enhance" such functionality.

This is provided - in that you can turn off IP checking for IPN messages (until someone at PayPal pulls there proveriabe finger out of their ass and sorts this issue)

Additionally in the latest PayPal plugin - you can add a whitelist of IP addresses by configuration.
Regards
A

Joomla 3.10.11
php 8.0