Support

Akeeba Backup for Joomla!

#24307 Always a problem updating via Joomla

Posted in ‘Akeeba Backup for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
n/a
PHP version
n/a
Akeeba Backup version
n/a

Latest post by on Saturday, 27 February 2016 17:20 CST

David Henry
each time we update via the Joomla admin updater we usually run into a "Warning Error connecting to the server: 403", this is across lots of sites on both LAMP and NGINX.

The error is like this:

Failed to download package. Download it and install manually from https://www.akeebabackup.com/component/ars/?view=Item&task=download&format=raw&id=3555&dummy=my.zip&dlid=xxxxxxxx.

We usually have it set to upload to AWS but I don't think this is related.

Any ideas, are we missing something in set up?

D

nicholas
Akeeba Staff
Manager
I am aware and this is exactly why we're offering the built-in update system. The most disturbing thing is that we have already found out why it's happening, how to fix it in Joomla!, gave them the solution free of charge... and they decided to ignore it.

Our site is using HTTPS to protect your personal information against hackers while it's in transit through the open Internet. This is a standard protection employed by all major companies including Microsoft, Apple, Google, Mozilla and so on. HTTPS encryption is based on cryptographic certificates (SSL certificates) issued and cryptographically signed by a Certificate Authority (CA).

When your site is connecting to our server to download an update it does so through HTTPS. During the connection initialization the system needs to verify the authenticity of the SSL certificate. It does so by looking up the Certificate Authority of the SSL certificate of our site against its precompiled list of Certificate Authorities (a.k.a. the "CA cache"). If it finds no match or cannot verify the signature it declines the connection. This is what happens with your server.

We have tracked that issue down to some servers having outdated CA caches or no CA cache at all. In this case Joomla! uses its own CA cache provided by haxx.se, the makers of the cURL networking library. Unfortunately, this CA cache is missing a few hundreds of CAs. The solution is to use a more up-to-date CA cache, like the one provided with CentOS – the operating system of choice for most hosts out there, in fact the operating system powering joomla.org sites' servers. This is the analysis we did to the Joomla! Production Leadership Team, they understood it but one person decided to block this change for no reason other than "it works for me, we won't change it".

Our built-in updater bypasses Joomla!'s extensions updater altogether. We use our OWN download library, with our OWN CA cache (from an up-to-date CentOS installation), our OWN XML parser, our OWN update notifications and our OWN download code. We only use Joomla!'s code to extract and install the update ZIP package because we are obliged to do so by the Joomla! Extensions Directory rules (if we write our own installer they are going to delist all of our software for 6 months – nevermind that I am one of the last THREE people who understand how Joomla!'s extensions installer and updater actually works!).

TL;DR: Joomla! is broken, they don't let us fix it, use the "built-in" update method which is the only viable workaround we are allowed to provide.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

nicholas
Akeeba Staff
Manager
PS: If that doesn't help then your server has an outdated version of OpenSSL which doesn't support SSL certificates with SHA-256 signatures. If this is the case ask your host to update OpenSSL to version 1.0 or later (the latest 1.1 release is strongly recommended) and recompile PHP against the new libopenssl and remember to restart the web server daemon. None of these can be performed by the end user (you), but are fairly trivial to perform by any competent host.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

System Task
system
This ticket has been automatically closed. All tickets which have been inactive for a long time are automatically closed. If you believe that this ticket was closed in error, please contact us.

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!