On 17/12/19 1:21 am, Eli Schwartz wrote:
On 12/16/19 10:05 AM, Allan McRae wrote:
If alpm_db_update() fails due to an invalid signature, then the system is left with an unusable repo database. Instead, backup the currently working database before performing the update, and restore on error.
Note that the calls rename and unlink are not checked for errors. If these fail, there is nothing to be done anyway. It also allows for less complex flow, as these function fail gracefully when passed NULL arguments.
Signed-off-by: Allan McRae <allan@archlinux.org> ---
That is a lot of teduim for adding ".bak" to the end of a string...
I'd appreciate more eyes on these changes.
Cool!
Would it help to download the db to a temporary file, and rename it on success?
I looked at that approach quite some time ago. The issue is things like alpm_db_validate take a db pointer and construct paths using that. It could be worked around by creating a temporary sync directory and setting that in the handle, but I thought this way was easier/cleaner. Allan