[pacman-dev] [PATCH] dload: don't download sig if package is found in cache

Allan McRae allan at archlinux.org
Sun Feb 17 23:12:16 EST 2013


On 18/02/13 12:55, Dave Reisner wrote:
> Avoids the segfault seen in FS#33911.
> 
> Signed-off-by: Dave Reisner <dreisner at archlinux.org>
> ---
> This is sort of an easy cop-out, but also perhaps the right thing to do? If we
> blindly append .sig to the URL we have then we're just going to end up back at
> the problem which commit 27067b137286a4 attempted to solve, but without the aid
> of being able to know what the followed URL is (since we didn't download
> anything).

So...  if you have "RemoteFileSigLevel = Required" and only have the
package and not the signature in the cache, this will not download the
signature and give a corrupt package warning.

Is that situation fine to "ignore"?  Or should we test both the file and
the signature are present before skipping the step?   I almost think it
would make sense to always download the file when using a URL with
"pacman -U".

Allan


>  lib/libalpm/dload.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
> index 280eaaf..7513822 100644
> --- a/lib/libalpm/dload.c
> +++ b/lib/libalpm/dload.c
> @@ -688,7 +688,7 @@ char SYMEXPORT *alpm_fetch_pkgurl(alpm_handle_t *handle, const char *url)
>  	}
>  
>  	/* attempt to download the signature */
> -	if(ret == 0 && (handle->siglevel & ALPM_SIG_PACKAGE)) {
> +	if(ret == 0 && final_pkg_url && (handle->siglevel & ALPM_SIG_PACKAGE)) {
>  		char *sig_filepath, *sig_final_file = NULL;
>  		size_t len;
>  
> 



More information about the pacman-dev mailing list