Re: [Enigmail] package/tests/keyObj-test.js -- why claim gpg is older than it is?

2019-11-07 Thread Daniel Kahn Gillmor
On Wed 2019-11-06 22:04:34 +0100, Patrick Brunschwig wrote:

> this test is to ensure that the openpgp.js variant of the source code
> is used, i.e to test the openpgp.js code. I think you should remove
> the complete set of test cases as you don't ship openpgp.js.

Sorry, just to be clear: what do you see as "the complete set of test
cases"?

I plan to remove everything from lines 41-54 inclusive, unless i hear
otherwise from you :)

  --dkg


signature.asc
Description: PGP signature
___
enigmail-users mailing list
enigmail-users@enigmail.net
To unsubscribe or make changes to your subscription click here:
https://admin.hostpoint.ch/mailman/listinfo/enigmail-users_enigmail.net


Re: [Enigmail] package/tests/keyObj-test.js -- why claim gpg is older than it is?

2019-11-06 Thread Patrick Brunschwig
Hi Daniel

this test is to ensure that the openpgp.js variant of the source code is used, 
i.e to test the openpgp.js code. I think you should remove the complete set of 
test cases as you don't ship openpgp.js.



 Patrick

- Originale Nachricht -
Von: Daniel Kahn Gillmor 
Gesendet: 06.11.2019 - 17:14
An: Enigmail user discussion list 
Betreff: [Enigmail] package/tests/keyObj-test.js -- why claim gpg is older than 
it is?

> Hi Patrick--
> 
> package/tests/keyObj-test.js is failing on debian CI infrastructure
> (htttps://bugs.debian.org/944216) on the last two assertions (lines 53
> and 54):
> 
> 41  EnigmailGpg.agentVersion = "2.2.1";
> 42  Assert.ok(!EnigmailGpg.getGpgFeature("export-specific-uid"));
> 43
> 44  let minKey = keyObj.getMinimalPubKey("bob@somewhere.invalid");
> 45  Assert.equal(minKey.exitCode, 0);
> 46  Assert.equal(minKey.keyData.substr(3, 50), 
> "NBFub08oBDACmb04i4u8xUV1ADbnbN5l83mpr70OyWVJb5ElIc");
> 47  Assert.ok(minKey.keyData.substr(-50, 50) == 
> "1MU0qOC5SusatWeaebL9igZMla4aqtnLyRwLcsKODSTaZXQw==" ||
> 48minKey.keyData.substr(-50, 50) == 
> "p9TFNKjguUrrGrVnmnmy/YoGTJWuGqrZy8kcC3LCjg0k2mV0M=", "min key matches");
> 49
> 50  minKey = keyObj.getMinimalPubKey("does@not.exist");
> 51  Assert.equal(minKey.exitCode, 0);
> 52
> 53  Assert.equal(minKey.keyData.substr(0, 50), 
> "xsDNBFub08oBDACmb04i4u8xUV1ADbnbN5l83mpr70OyWVJb5E");
> 54  Assert.equal(minKey.keyData.substr(-50, 50), 
> "1MU0qOC5SusatWeaebL9igZMla4aqtnLyRwLcsKODSTaZXQw==");
> 55})));
> 
> Looking into the failure, i see that minKey is indeed a huge blob (see
> attachment below for a line-wrapped version of what is emitted).  It
> doesn't have the minimization i'd expect to be applied.
> 
> But I think this is happening because line 41 appears to deliberately
> cripple enigmail's GnuPG interface by making it think it is version
> 2.2.1.
> 
> What is the point of doing this test in this way?  Debian's package
> management is explicitly requring gnupg 2.2.8-2 and higher (basically
> 2.2.9, because of upstream fixes merged into 2.2.28).  So as far as i
> can tell this looks like gratuitous breakage.
> 
> But if it's testing something important, i'm reluctant to just strip it
> in debian.
> 
> Can you help me understand what it's for?
> 
> What do you think i should do about it?  Would you object to my removing
> these two final tests?  or maybe i should remove all the tests starting
> at line 41, since this is irrelevant for debian?  I just don't want to
> remove a safety check that i don't understand.  and i don't understand
> the purpose of these tests.
> 
> Regards,
> 
> --dkg
> 
> PS I've read the git history of package/tests/keyObj-test.js and the
>comments in there don't give me any additional illumination.
> 
> ___
> enigmail-users mailing list
> enigmail-users@enigmail.net
> To unsubscribe or make changes to your subscription click here:
> https://admin.hostpoint.ch/mailman/listinfo/enigmail-users_enigmail.net



signature.asc
Description: OpenPGP digital signature
___
enigmail-users mailing list
enigmail-users@enigmail.net
To unsubscribe or make changes to your subscription click here:
https://admin.hostpoint.ch/mailman/listinfo/enigmail-users_enigmail.net


[Enigmail] package/tests/keyObj-test.js -- why claim gpg is older than it is?

2019-11-06 Thread Daniel Kahn Gillmor
Hi Patrick--

package/tests/keyObj-test.js is failing on debian CI infrastructure
(https://bugs.debian.org/944216) on the last two assertions (lines 53
and 54):

41EnigmailGpg.agentVersion = "2.2.1";
42Assert.ok(!EnigmailGpg.getGpgFeature("export-specific-uid"));
43  
44let minKey = keyObj.getMinimalPubKey("bob@somewhere.invalid");
45Assert.equal(minKey.exitCode, 0);
46Assert.equal(minKey.keyData.substr(3, 50), 
"NBFub08oBDACmb04i4u8xUV1ADbnbN5l83mpr70OyWVJb5ElIc");
47Assert.ok(minKey.keyData.substr(-50, 50) == 
"1MU0qOC5SusatWeaebL9igZMla4aqtnLyRwLcsKODSTaZXQw==" ||
48  minKey.keyData.substr(-50, 50) == 
"p9TFNKjguUrrGrVnmnmy/YoGTJWuGqrZy8kcC3LCjg0k2mV0M=", "min key matches");
49  
50minKey = keyObj.getMinimalPubKey("does@not.exist");
51Assert.equal(minKey.exitCode, 0);
52  
53Assert.equal(minKey.keyData.substr(0, 50), 
"xsDNBFub08oBDACmb04i4u8xUV1ADbnbN5l83mpr70OyWVJb5E");
54Assert.equal(minKey.keyData.substr(-50, 50), 
"1MU0qOC5SusatWeaebL9igZMla4aqtnLyRwLcsKODSTaZXQw==");
55  })));

Looking into the failure, i see that minKey is indeed a huge blob (see
attachment below for a line-wrapped version of what is emitted).  It
doesn't have the minimization i'd expect to be applied.

But I think this is happening because line 41 appears to deliberately
cripple enigmail's GnuPG interface by making it think it is version
2.2.1.

What is the point of doing this test in this way?  Debian's package
management is explicitly requring gnupg 2.2.8-2 and higher (basically
2.2.9, because of upstream fixes merged into 2.2.28).  So as far as i
can tell this looks like gratuitous breakage.

But if it's testing something important, i'm reluctant to just strip it
in debian.

Can you help me understand what it's for?

What do you think i should do about it?  Would you object to my removing
these two final tests?  or maybe i should remove all the tests starting
at line 41, since this is irrelevant for debian?  I just don't want to
remove a safety check that i don't understand.  and i don't understand
the purpose of these tests.

Regards,

--dkg

PS I've read the git history of package/tests/keyObj-test.js and the
   comments in there don't give me any additional illumination.

LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUdOQkZ1YjA4b0JEQUNtYjA0
aTR1OHhVVjFBRGJuYk41bDgzbXByNzBPeVdWSmI1RWxJY1ZqNmJUTDJnWUo3Cm9BREJhWDlYeDh0
T04weXBFZjhLdG1tWDdoRkozckgzSld4QUE2dC85b0F0RFpFTU1DVTNUd2JXNC9tOFk4ckwKVEFh
NU1FY1BuQjNpajFzLzY1R0tGZkdkc3orM3lBTkw4cmFvY1JzVW5GNkp6d1FBYU1Scnp6S3orSGhX
MHFzOQpRcFZianU3SGlSQVFTa2gxbWdraWEwcFQyRWRKamxSV2xhNEtwaHV1cWZ1OGxlS3FZSWZr
MnZLc0lCYnZONXIyCmI2eXZURUtienZEMCtub1Y1R21vbEZOeEhtMWtLTzhEWEZZVnBnWGJYSktj
QjR2SjZnZy9MN0s4Nm56elVJTzAKaVdnY3pMZUtUMGtwQXJybVFkd3VBbDFRZW9vaEVvL0RtT1Vq
dnYxaDY0S2NWNUY3ODg0NFlkQlp1amdUVXRXbwpZcFF3RjBZQXlVZjM4KzhoN2ZLOTA5UnppVkR2
N1J4aDgwOHVCVDl5OWtqVktieFZ4U3A4cmNyUjFsNVo5TE5RCjJSK2w3MVpFekR1VkRxNEdkKzBa
d0pHTVoraG5zajd1STRUWEdVeS9IV3ROV1pEd3R0NTR0WEZCR2lqeUFrZUcKL3cwZzhLb3loa2FN
cnY4QUVRRUFBYlFoVlc1cGRDQlVaWE4wSUR4aGJHbGpaVUJsZUdGdGNHeGxMbWx1ZG1GcwphV1Er
aVFIUkJCTUJDQUE3QWhzREJRc0pDQWNDQmhVS0NRZ0xBZ1FXQWdNQkFoNEJBaGVBRmlFRXJjU1ZN
TXRyCkV5UVMyRllRZnhWb3k0bVg5N29GQWx1YjJrY0NHUUVBQ2drUWZ4Vm95NG1YOTdxbTRBdi9R
cnlqR0dHQmZzbU4KSkhqck8rNkpkSm1OUGNZY3V5c3lIK1hVYnJrYThCa0NzYU5oM1NOeVErU0x4
bTY5cGQyM3VIQUMza1ZSK1pENApua3FFdlZ0d29pbGc4d2dYNjN6RnpqeDZ4Skkxdmd3K2l5dWRo
b2tkaEx2azdLV0dtMlJqeFB0OXRIK08xT05tCkpwYWhtcmZrUXZQV2czUVJqNGlSVXM4Q3NjMko5
THFHK3RlR3hNVjhLT2cxQXY1SUt5QktRRG5tcFhTTFdxNWcKQnE4UGZDSklQKzB4eGZXN3paa3Js
QmFPVHFXczhWSHpqaGxYbmRmb1BHemlFZnRJL2hHQU5zYUJCVVlCeEtXRwpSZEtlbTBPZ0xTenZO
WGlhb1Bnb0hkS1hweUhWMVE3aXVrYkx1N1kzRjU4OUZRaitleW1SUmhtbmdZdG1aUEpNCm0vRzdE
aVh6TC9kRXhWOTVSbE5ObUVkMUMrY0Qwamk1WlJNWmxzcTdmUlA2ZGdPWEhBWXBnUy96cGtKcUgz
dFcKZ29GaXRmblE4UjhIZDYxSFYzZkd2YmxvMFd2SmFNQTkycmVpZGZ1UHFWVEdleWc3UkUyWWJn
SFdvcWczNGNZVApOV2RQUUVudUJvYlRNdXlvV29ZZ0Vta0lQODJLWngrS3ltdktpK3R3MElmbzU4
dUQ3V1owdEJwMFpYTjBMbUp2CllrQnpiMjFsZDJobGNtVXVhVzUyWVd4cFpJa0J6Z1FUQVFnQU9C
WWhCSzNFbFRETGF4TWtFdGhXRUg4VmFNdUoKbC9lNkJRSmJtOVJuQWhzREJRc0pDQWNDQmhVS0NR
Z0xBZ1FXQWdNQkFoNEJBaGVBQUFvSkVIOFZhTXVKbC9lNgo0dW9ML1JQU1AyM2VSTE40Yy8xLzZD
WEdTSjlvampKSG1zZTgyS3NuQWNwRllMNU1uaXY1REdkakJRSFFiOTR1CnJWcmlDTHYzYWY5QTdq
eiszTXN4SjJiUGlUMmNrWjFFeHcxWGtqK2RZNDMwU1UyNlpmaUhkelhseFJ0TXFwK2cKMkxVV21w
UlEvWkt0dDJxNlFxeVMwRTZFUkZhbHgyR1hsVDRsSWRQODdIbEZJUDZZSk9yV3FPTGU2bDNtdG1n
QQpmOS9aY3I5TUcvcTc3b2R6QlhuWGxnazI5bGl0S3hJS1BDazV2dkRodys5NVlLRDIxc2lOTTdC
MzNkTFE1YURmCmFVdC9PbkdpMXlIRWpOV1ErSitZNXZaUjZUZFJVTUtnSE5TSWFVcERuMHUvc0FF
eWlCclhHT0lPL29jdWo3c1IKL1VSRTExZUdydURxVWd2RWVhcDVWYS9IN1BvNkJHZVNuR0Fqc3Ro
eWtrdEJybjJhTGV4aVJXaXJadnhvNi9kOQoxRDFLbExSMklrc2pVYUwzNlVwUjUrYVNEeFE1RWUz
ZUVIUEdhVWMxUFIrQTlCaTdlU1hnNjlpM2s3bHNwVUNPCitQNHY4S3ZSRWdqNCs3em1odzAvMFFx
d0FIcUl3UU9hUEV3V0I0ME9qMml4K0J1RDI2ZndWUExERkt4NVRJd1UKc2JLbDdiUWhWVzVwZENC