Re: [pacman-dev] [PATCH] Fix error during keyring checking

2020-08-09 Thread Allan McRae
On 5/8/20 3:16 am, Anatol Pomozov wrote:
> Hello
> 
> On Tue, Aug 4, 2020 at 4:45 AM Allan McRae  wrote:
>>
>> On 1/8/20 2:54 am, Anatol Pomozov wrote:
>>> With current master version the 'keyring checking' step produces an error:
>>>   debug: returning error 6 from alpm_pkg_get_sig (../lib/libalpm/package.c: 
>>> 274) : wrong or NULL argument passed
>>>
>>> The package signature is still checked later at the integrity verification 
>>> step though.
>>>
>>> This commit fixes keyring checking and now the debug log looks like this:
>>>   debug: found cached pkg: 
>>> /var/cache/pacman/pkg/ruby-2.7.1-2-x86_64.pkg.tar.zst
>>>   debug: found detached signature 
>>> /var/cache/pacman/pkg/ruby-2.7.1-2-x86_64.pkg.tar.zst.sig with size 566
>>>   debug: found signature key: 786C63F330D7CB92
>>>   debug: looking up key 786C63F330D7CB92 locally
>>>   debug: key lookup success, key exists
>>>
>>> Signed-off-by: Anatol Pomozov 
>>> ---
>>>  lib/libalpm/package.c | 4 +---
>>>  1 file changed, 1 insertion(+), 3 deletions(-)
>>>
>>> diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
>>> index 0885b27b..a4356518 100644
>>> --- a/lib/libalpm/package.c
>>> +++ b/lib/libalpm/package.c
>>> @@ -270,9 +270,7 @@ const char SYMEXPORT 
>>> *alpm_pkg_get_base64_sig(alpm_pkg_t *pkg)
>>>
>>>  int SYMEXPORT alpm_pkg_get_sig(alpm_pkg_t *pkg, unsigned char **sig, 
>>> size_t *sig_len)
>>>  {
>>> - if(pkg != NULL) {
>>
>> Surely the fix is to change != to == there.  That way we still get some
>> form of error handling and not an abort.
> 
> If "pkg == NULL" then the statement "pkg->handle" below is invalid and
> we cannot set the error code to the handle. The best thing we can do
> in case of an absent package is to return "-1" the same way as done in
> the functions above.
> 

Good point...   Patch is good

A


Re: [pacman-dev] [PATCH v3 1/2] libmakepkg: extend compress.sh to also permit checking validity

2020-08-09 Thread Allan McRae
On 6/8/20 12:02 am, Eli Schwartz wrote:
> get_compression_command() can now be used to do upfront checks for
> whether a given extension is known to do something successfully. This is
> useful when writing tools in which an unknown compression type is a
> fatal error.
> 
> Signed-off-by: Eli Schwartz 
> ---
> 
> v3: split commit, this first part implements a function useful for
> checking if we have a known good compression type
> 

I'm happy with this and the following patch.

A