Support

Akeeba Backup for Joomla!

#36423 Failed to extract file: lib_fof40-4.1.1.zip_dlid_SOMETHING

Posted in ‘Akeeba Backup for Joomla!’
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

sumawelt

Hi,
when I try to update FOF 4.x from 4.1.0 to 4.1.1 I get the following error:
Failed to extract file: lib_fof40-4.1.1.zip_dlid_SOMETHING
This error occurs on approx. 100 websites, all are on J! 3.10.4 but on varying PHP versions from 7.4.x up to 8.1.x

The error is the same on all my sites except the part after the last underscore, which varies

What's wrong here and how can it be fixed?

nicholas
Akeeba Staff
Manager

You are using mySites.guru. This is a problem caused by their extensions update code. It applies the Download ID to all Akeeba extensions, including FOF which does not need one and MUST NOT have one.

The root cause for that problem is that unlike our Professional versions, the Core versions of our software and our software which does not have a Professional release (like FOF) are downloaded directly from our CDN hosted on Amazon CloudFront. Downloads from Amazon CloudFront do not include a Content-Disposition header. As a result, Joomla uses the request to construct a download filename. When a download ID is not present (as designed and as it happens WITHOUT using mySites.guru) this filename is something like files_fof-4.x.y.zip. The extension of that file is .zip and Joomla can extract it. When there is a download ID the request URL ends in &dlid=SOMETHING therefore the filename Joomla constructs is files_fof-4.x.y.zip_dlid_SOMETHING. The file extension now becomes zip_dlid_SOMETHING and Joomla reports that it cannot extract it since it stupidly uses the file extension to determine how to extract a file instead of inspecting the file contents.

Moving our free extensions to be delivered from our web server is impractical. We have several hundreds of thousands of downloads every month. Doing that would make our site unresponsive, even if we maxed out the capacity of our server at a massive cost (thousands of Euros per month). Using a CDN for these downloads is much cheaper (in the order of a few hundred Euros per month). Given that we do not allow you to enter a Download ID for the free of charge extensions we can live with the tradeoff. When SOMEONE ELSE, however, messes up with our software's update sites like mySites.guru did in this case things break. It's really not our fault. We have no control over what third party code can do to our software's update sites.

We had a suspicion this was the case ever since the first two reported cases last week. Today we were given access to an affected site and confirmed that this is caused by the mySites.guru extensions update code. We notified mySites.guru about this issue a few hours ago but they have not replied yet. We are waiting for a reply from them before making an official announcement on our site on Monday.

Meanwhile, there is a simple but annoying, manual workaround.

  • Go to Extensions, Update, Update Sites.
  • Find the FOF update site and delete it.
  • Download the latest FOF 4 version from our site and install it on your site.

This restores the FOF update site to its normal state.

Please note that the error might recur since the mySites.guru code will try to modify the update site again. It is up to them to fix their code and undo the problem their code has created on your sites.

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

As I was typing this reply we got a reply from mySites.guru. They fixed the problem in their code and deployed the fix. This should mean that the issues will be fixed without having to resort to the manual workaround I described above.

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: Typically we work Monday to Friday, 9am to 7pm Cyprus timezone (EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets, but we cannot respond to them, outside of our working hours.

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!

Summer vacations: Our support will be closed for replies and new tickets from August 6th to August 21st, 2022 due to summer vacations.