Update Hash to HMAC-SHA-512 - opencart

I am trying to use a payment module in OpenCart version 2.0.1.1, and I need to update our Hash to HMAC-SHA-512, so the checkout page authorizes successfully.
I just donĀ“t know how to change the hash and where exactly I can do this.
We use Plesk, with PHP 7. The domain is www.didikong.de
The payment module is WireCard Checkout Page version 1.2.0.
So this wirecard generates a Fingerprint, which is encrypted via HMAC-SHA-512. And our website uses SSL.
Thanks in Advance.

I am really not sure if the version 1.5.2 of opencart-wcp was still compatible with 2.0.1.1 but I would try that first. There was a client library update between 1.2.0 and 1.5.2 in which the algorythm was updated. If you don't have a test system where you could try it out just check the changes in the client lib. More in particular look into the /system/library/wirecard/vendor/wirecard/checkout-client-library/library/WirecardCEE/QPay/FrontendClient.php file and see if the setHashAlgorithm is using the WirecardCEE_Stdlib_Fingerprint::HASH_ALGORITHM_HMAC_SHA512 constant. If not, just change it to the mentioned constant and you should be good to go. If you get any errors regarding some missing things consider updating the /system/library/wirecard/vendor/wirecard/checkout-client-library/library/WirecardCEE/Stdlib/Client/ClientAbstract.php to the newest version.

Related

web2py error: requires web2py 2.15.5 or newer

I'm trying to launch a web2py app I made using pythonanywhere. I packaged the app and then uploaded it using the admin site, but now when I go to the page it's supposed to be on I get the error "requires web2py 2.15.5 or newer"
What does this mean? And is there a way I can go about solving this without needing to rewrite my webapp?
Thanks!
The error message is coming from these lines in the db.py model file of the scaffolding application:
if request.global_settings.web2py_version < "2.15.5":
raise HTTP(500, "Requires web2py 2.15.5 or newer")
Presumably you are somehow using the scaffolding application from web2py 2.15.5+ with an earlier version of web2py. You can try removing those lines, and everything may work, but there may be some code in the scaffolding app that relies on features available only in version 2.15.5 or later.
Alternatively, use the scaffolding app that comes with you installed version of web2py, or upgrade web2py to the latest version.

python-social-auth failure on Google App Engine

I am attempting to follow Tutorial: Adding Facebook/Twitter/Google Authentication to a Django Application. The only thing I am doing differently is that I am running DjangoAppEngine on the Google App Engine development server, otherwise everything is exactly as per the tutorial.
When I get to Step 4 and actually try to authenticate with Facebook, I am getting a runtime error:
error('illegal IP address string passed to inet_pton',)
Request Method: GET
Request URL: http://localtest.com:8080/o/complete/facebook/?redirect_state=FG4K...UG1k
Django Version: 1.6.11
Exception Type: RuntimeError
Exception Location: /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py in _MakeRealSyncCall, line 235
Python Executable: /usr/local/opt/python/bin/python2.7
Python Version: 2.7.11
Obviously FB is passing an approval back to my app, as the request URL includes the callback path.
It appears that something in the GoogleAppEngineLauncher is trying to look up an address and is not receiving the right data in? I'm not really sure.
In trying to resolve this, I've come across a single comment somewhere suggesting to a user that SimpleAuth might be a better way to go, but I don't understand why and I'm not really sure I want to start over if I am just missing something obvious.
Does anyone know why I am getting this error and what I can do to correct it?
It happens because the Facebook SDK depends on the awesome requests library. However, requests doesn't work on Google App Engine since the platform has some restrictions. You have to use their urlfetch APIs to fetch external contents on Google App Engine.
So yes, the official Facebook SDK won't work. You have to roll your own solution or find one that works. SimpleAuth is one of the solution that is known to have worked.
UPDATE: the original answer (starting with 'HOWEVER') is no longer necessary, just use requests 2.10.0 or above, urllib3 1.15.1 or above, and requests_toolbelt 0.6.2 or above and perform the following in your main():
from requests_toolbelt.adapters import appengine
appengine.monkeypatch()
HOWEVER if you're using older versions of requests and/or urllib3, then you need the patches below:
This can be accomplished using a patched version of requests along with the requests-toolbelt package. Threads that apply:
HTTPS not working on Google App Engine #1905
urllib3 / Contrib Modules / Google App Engine
Fixes the AppEngineManager to work within the requests framework #763
Add AppEngineAdapter for GAE users #114
Adds a monkeypatch() function that ensures all Sessions use the AppEngineAdapter compatibility class. #119
I've applied all of this and now have python-social-auth and facebook-sdk working in both local test (the dev server) and production (full App Engine).
In your vendored libraries, ensure that you have requests_toolbelt. (pip install -t lib requests_toolbelt). Then "monkeypatch" appengine support before python-social-auth ever calls requests. In my project/wsgi.py, I added the following lines:
from requests_toolbelt.adapters import appengine
appengine.monkeypatch()
python-social-auth depends on requests, so it should also exist in your vendor directory.
You must also ensure you are using requests version >= 2.10.0. This has not been released yet, so you can fake it. Edit lib/requests/__init__.py so that __build__ = 0x021000. You also must upgrade the packaged version of urllib3 in the lib/requests/packages/ directory to the latest version.
This is what worked for me.

Is there a way to connect thunderbird/lightning to the redmine's calendar?

I just started my adventure with the Redmine 3.0, the project manager.
I can't Google out if there is an option to export its calendar to e.g. thunderbird-ligthning. There are some plugins, but they are not compatible with current Redmine 3.0. I couldn't find out anything relevant in the changelog, too.
Can anyone tell me from their own experience, if (and how) this feature is available?
Generally, anything that exports to the ics format can be made available to Thunderbird/Lightning, or any other calendaring program. The other option is to make use of the caldav protocol, which is also standardized.
I have heard reports that this fork of the redmime ics export plugin works for 3.x, but I haven't tested it myself. Maybe you can give it a try.
If you would like to create your own, I'd suggest adapting sabreDAV to use redmime as a backend. As an example for how to write a custom sabre frontend for a different service, check out this work.

What Django version does GAE support?

This link https://developers.google.com/appengine/docs/python/tools/libraries27 suggest "1.5" & "Latest" but doesn't exactly specify 'Latest'. Also, who knows when was this document updated. If any of you guys have been deploying your apps on GAE, please let me know.
The SDK release notes contain this information.
https://code.google.com/p/googleappengine/wiki/SdkReleaseNotes
Django 1.5.4 has been upgraded to 1.5.8.
So currently looks like 1.5.8 is the latest. Where there might be a central list of what version you can use if you want I don't know.

Asterisk and multitenant module for vtiger 6

I am new to vtiger. I would like to know is there any modules available for Asterisk and multitenant. If so can you please give me the link. I saw some post saying it will be in future release.
as per developers, setting PBX Manager back in action is planned in version 6.1
Meantime, you'll need to wait or create your custom module.
check out http://www.vtigerexperts.com/vtiger-crm-6-1-demo/
PBX manager is available in 6.1. For multi-tenancy you have to customize.