Some users unable to reach our licensing server
-
Hi,
I’m reaching out about an issue related to a couple of cases. Around 95% of our users are able to activate the license key without any issues (activation requests reaching our server and are available inside the log file).
However there is a small percentage of our users who are unable to activate the license key. When we check our license server logs, nothing is there – no requests have been received.Is there a solution for this? Has anybody else experienced such issues with clients?
-
I’m having the exact same issue since updating to 4.5.2.
Also, I noticed an error when you view an existing license. Have a look for yourself, scroll down and look for a message about a critical error. Let me know if you see it as well.
But I think this might actually be an incompatibility with the SLM Woocommerce Addon plugin. Are you using that plugin? I am, and if I disabled, it, the error goes away and licenses can then be activated without issue.
Anyway, I need both those plugins, so to ‘solve’ this problem I just downloaded the previous version of Software License Manager (4.5.0) and now everything is fine.
Here’s the full, unsuppressed error message for what it’s worth:
Fatal error: Uncaught ArgumentCountError: Too few arguments to function slm_wooaddon_custom_output(), 1 passed in D:\www\rap\wp-includes\class-wp-hook.php on line 303 and exactly 2 expected in D:\www\rap\wp-content\plugins\slm-woocommerce-addon\slm-add-fields-to-license-manager.php:3 Stack trace: #0 D:\www\rap\wp-includes\class-wp-hook.php(303): slm_wooaddon_custom_output(Array) #1 D:\www\rap\wp-includes\class-wp-hook.php(327): WP_Hook->apply_filters(”, Array) #2 D:\www\rap\wp-includes\plugin.php(470): WP_Hook->do_action(Array) #3 D:\www\rap\wp-content\plugins\software-license-manager\menu\slm-add-licenses.php(362): do_action(‘slm_add_edit_in…’, Array) #4 D:\www\rap\wp-includes\class-wp-hook.php(303): wp_lic_mgr_add_licenses_menu(”) #5 D:\www\rap\wp-includes\class-wp-hook.php(327): WP_Hook->apply_filters(”, Array) #6 D:\www\rap\wp-includes\plugin.php(470): WP_Hook->do_action(Array) #7 D:\www\rap\wp-admin\admin.php(259): do_action(‘license in D:\www\rap\wp-content\plugins\slm-woocommerce-addon\slm-add-fields-to-license-manager.php on line 3
There has been a critical error on this website. Please check your site admin email inbox for instructions.I’ve reported the issue to SLM Woocommerce Addon plugin developer as well.
- This reply was modified 3 years, 2 months ago by Michael Ott.
- This reply was modified 3 years, 2 months ago by Michael Ott.
- This reply was modified 3 years, 2 months ago by Michael Ott.
I would actually like to add that in my case, this issue does not seem to be related with the latest version since I have been receiving such feedback from some of my users during the previous year with different versions of License manager versions.
P.S. I’m not using SLM Woocommerce Addon plugin.
- This reply was modified 3 years, 2 months ago by Nauriskolats.
OK props for the feedback. I can’t say I’ve ever had that issue until this latest update.
Hi, I have submitted a message to the developers to investigate your issue further.
Thank you.
Just adding a little bit of info from my own experience. Some of your customers will use hosting that maybe preventing the HTTP request from coming to your server in the first place. I sometimes have issues with some customers who are on a hosting provider with weird server setup where the request from the client side doesn’t even get to my server.
This plugin won’t be able to do anything unless you are seeing the request being received by this plugin. If you enable the debug logging option in this plugin, you should be able to isolate if the issue is after the request being received by this plugin (your server) or it is at the source (at your client’s end). Making that distinction will be very helpful to figure out where the issue is.
Hi @mra13, thanks for the feedback!
I know that the issue in my case is with that the connection is not even reaching my server. I would like to know what should be enabled on the client’s end or maybe some instructions that I could provide to these clients on what protocols, firewalls or other protections should be checked in order to allow access.
Any experience or suggestions would be very helpful!Here’s some more suggestions.
1) IP Blocking.
Check that your web host isn’t blocking the IP address of the users website. Your host may provide you with a control panel to manage blocked IPs (or maybe you have a WordPress security plugin that blocks IPs?). There are several tools online to get the IP of a website, or just ping the domain from a command prompt/terminal.
There are several reasons why your host might block an IP, and amongst the most common is too many consecutive requests. So perhaps they attempted to activate repeatedly for some reason and now it’s blocked.
2) API Call.
When a plugin connects to your license server, it makes an API call to a URL formatted like this:
https://example.com/?slm_action=slm_check&secret_key=YOUR_SECRET_KEY&license_key=USER_LICENSE_KEY
Obviously replace example.com with the domain of your licencing server and also replace YOUR_SECRET_KEY and USER_LICENSE_KEY accordingly.
If your customer can get to that URL in a browser, then there’s nothing on their computer preventing them from activating the plugin. But if they can’t get to it, then it’s an issue at their end.
That’s all I can think of for now. Good luck!
- This reply was modified 3 years, 2 months ago by Michael Ott. Reason: Grammar
- This reply was modified 3 years, 2 months ago by Michael Ott. Reason: Clarification
@mikeyott thanks for your input.
1) IP blocking is rarely are almost never the case from my previous experience
2) This will not really work since your browser is using your internet connection to reach the licensing server, but the server which is hosting your store uses completely different internet connection without even mentioning any server side security setup.I just thought of something else, but it depends on the implementation of your plugin.
Years ago I followed the guide here for making my plugins work with Software License Manager.
While it does work, it doesn’t address the problem that every single page request in WordPress admin that the user makes – and I do mean every page request – makes at least one API call to your activation server. And so with a lot of pages being loaded in WP admin on a busy site, that’s an awful lot of requests to your activation server.
Before I became aware of this, one of my more popular plugins which was being used by some very high traffic websites was making hundreds of thousands of API call to my activation server every month.
You may have engineered your plugin with this in mind anyway, in which case this doesn’t affect you. But if not, this could easily block some IPs from hitting your activation server if your website or host blocks IPs with too many consecutive requests.
For what it’s worth, here’s my solution to how I got around that problem. If you already addressed this problem, I’d be interested to know your solution.
- This reply was modified 3 years, 2 months ago by Michael Ott.
1) IP blocking is rarely are almost never the case from my previous experience
2) This will not really work since your browser is using your internet connection to reach the licensing server, but the server which is hosting your store uses completely different internet connection without even mentioning any server side security setup.1) I wouldn’t completely discount it. For how easy it is to check, it would be worth eliminating it for sure.
2) You’re right!- This reply was modified 3 years, 2 months ago by Michael Ott.
The client’s end is something you program. I won’t have much of a clue without knowing What code you are using to make the calls to your server (from your own application).
In my case (where I am using it for a wp plugin), I found that using the following WP Function offers better compatibility instead of CURL to make the HTTP request:
https://developer.www.ads-software.com/reference/functions/wp_remote_get/When I was using CURL, I found that the failure % is higher due to the CURL PHP library not being installed on the customer’s server (where the client is running), then it causes a failure.
- This reply was modified 3 years, 2 months ago by mra13.
@mikeyott, know about the requests and what you can end up in the end of the day if you send a request on every page ?? Not an issue in my case though.
@mra13, I am also using wp_remote_get() function, but still, there is a small percentage over the last months that is just unable to reach my server and I would like to know where to look for, what can I suggest my clients to do or in these cases when they are unable to reach licensing server?I think you will need to add some debug code in your client to dump the error response that you get after executing the wp_remote_get() function. That will give you indication as to what exactly is causing the failure with that call.
Hmm, a good idea, thank you @mra13! Maybe this really could shed a bit more insight on the issue.
- The topic ‘Some users unable to reach our licensing server’ is closed to new replies.