Page MenuHome GnuPG
Feed All Stories

Jan 7 2018

Lambd0x added a comment to T3716: gpg: signing failed: Inappropriate ioctl for device for Thunderbird 52.4.0, gnupg-2.1.20, enigmail-1.9.8.3 for PGP encryption/decryption over emails..

Hi, Werner.
My OS has everything compiled from sources obtained from devs as they release them. Funtoo Linux is a derivative of Gentoo Linux.
Hence, the default behavior of the software is not altered except when removed some of its features, but I've installed gnupg without alteration.

Jan 7 2018, 2:22 AM · Enigmail, Bug Report

Jan 6 2018

dirk added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

So the assumption is it is an Error of the GnuPG card.
I tried today with an Yubikey 4 and it works. This confirms the theorie.
However - my preference is on the Smartcards. So how would we proceed now. Who can check for the error and correct it / flash a new version on a card.
I would offer to verify if it is fixed.

Jan 6 2018, 8:35 PM · Info Needed, scd, Bug Report
werner added a project to T3716: gpg: signing failed: Inappropriate ioctl for device for Thunderbird 52.4.0, gnupg-2.1.20, enigmail-1.9.8.3 for PGP encryption/decryption over emails.: Enigmail.

This looks more like an Enigmail bug. In particular the manual start of gpg-agent as described in the workaround is useless because gpg-agent is always started as needed. I don't know your OS and thus I do not know whether gpg-agent is used in --supervised mode, as in Debian, or in the default way. What does

Jan 6 2018, 8:14 PM · Enigmail, Bug Report
werner added a comment to T3717: I am tired of errors like Connection Closed in DNS, Server Indicated a Failure, No Keyserver Available, and Not Enabled when trying to do something with a keyserver.

The first thing you should do is to write a proper bug reporting, including your OS, any special configiration you use (e.g. using a dedicated DNS sever) and the exact commands you give and outputs you see. Always use option -v with gpg. dirmngr can create a log file:

Jan 6 2018, 8:07 PM · Info Needed, Bug Report
elonsatoshi created T3717: I am tired of errors like Connection Closed in DNS, Server Indicated a Failure, No Keyserver Available, and Not Enabled when trying to do something with a keyserver.
Jan 6 2018, 5:47 PM · Info Needed, Bug Report
Lambd0x created T3716: gpg: signing failed: Inappropriate ioctl for device for Thunderbird 52.4.0, gnupg-2.1.20, enigmail-1.9.8.3 for PGP encryption/decryption over emails..
Jan 6 2018, 5:11 PM · Enigmail, Bug Report
werner added a comment to T3715: still prompting window for passphrase.

Despite that the use of a passphrase is entirely useless if a command like that is used, you need to add

--pinentry-mode=loopback

to the invocation. ( I assume you are using gnupg 2.1 or 2.2)

Jan 6 2018, 11:52 AM · Bug Report
werner renamed T3714: Failing to decrypt due to missing MDC from Failing to decrypt to Failing to decrypt due to missing MDC.
Jan 6 2018, 11:49 AM · FAQ, kleopatra
werner assigned T3714: Failing to decrypt due to missing MDC to aheinecke.

Andre, I assign this to you. If you don't think that a better warning in Kleopatra is needed, please close the report.

Jan 6 2018, 11:47 AM · FAQ, kleopatra
Mak added a project to T3656: Outlook 2016 wont encrypt messages if S/MIME encrypt or Sign was activated: Bug Report.
Jan 6 2018, 10:51 AM · Bug Report, gpgol

Jan 5 2018

Lloyd added a comment to T3714: Failing to decrypt due to missing MDC.

OK. Thank you for that.

Jan 5 2018, 5:17 PM · FAQ, kleopatra
werner added a comment to T3714: Failing to decrypt due to missing MDC.

Thanks for asking. We may need to put this into the FAQ, so here is my answer:

Jan 5 2018, 4:56 PM · FAQ, kleopatra
Lloyd added a comment to T3714: Failing to decrypt due to missing MDC.

Forgive me if I'm completely off the mark here. In no way do I claim to fully understand gpg etc.

Jan 5 2018, 2:04 PM · FAQ, kleopatra
werner committed rDf7156272064e: drafts,openpgp-webkey-service: Suggest not to create an index file. (authored by werner).
drafts,openpgp-webkey-service: Suggest not to create an index file.
Jan 5 2018, 1:26 PM
4537 created T3715: still prompting window for passphrase.
Jan 5 2018, 12:38 PM · Bug Report
werner committed rDb02c609919cf: drafts,openpgp-webkey-service: Typo fix (authored by werner).
drafts,openpgp-webkey-service: Typo fix
Jan 5 2018, 12:01 PM
werner added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

Here is an extract of the log file which shows the assumed cause

Jan 5 2018, 11:32 AM · Info Needed, scd, Bug Report
werner edited projects for T3714: Failing to decrypt due to missing MDC, added: kleopatra, FAQ; removed Bug Report, gpg4win.

The last line shows that gpg decided that to return a failure because the message does not use the MDC scheme. Since the introduction of modern algorithms with a _blocklength_ of 128 bit (e.g. AES) gpg always uses the MDC encryption system even if it is not announced by the respective key flags. The reason for theses algorithms are newer than the MDC system and thus we can expect that all applications supporting AES will also support MDC.

Jan 5 2018, 11:20 AM · FAQ, kleopatra
Lloyd added a comment to T3714: Failing to decrypt due to missing MDC.

Ignore my previous comment - seems that if I'm off our corporate network, I have the issue. Back on the network, Kleopatra is ok, and the gpg command completes. (I suspect that there is a firewall rule required, as the firewall is only enabled off network.)

Jan 5 2018, 10:02 AM · FAQ, kleopatra
gniibe added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

OK. I managed to reproduce same behavior. I think that it is a bug of OpenPGP card implementation.
Here is the log:


In the log above, I did for RSA-2048. I also did for RSA-4096. The result was same: it was failed with 6A88
I guess that the implementation somehow confuses with the sequence of 00 02 which appears with 3DES.

Jan 5 2018, 1:36 AM · Info Needed, scd, Bug Report

Jan 4 2018

Lloyd added a comment to T3714: Failing to decrypt due to missing MDC.

Tried that, and it complained that the gpg-agent was not running. Now Kleopatra fails to , constantly trying to load certificate cache. Self test fails on UiServer Connectivity. Was fine up to that point.

Jan 4 2018, 9:38 PM · FAQ, kleopatra
werner added a comment to T3714: Failing to decrypt due to missing MDC.

I guess that the MDC indicated a broken encryption or no MDC was used at all. Can you pleae run the decryption of the file on the commandline? Assuming that thar the file is msg.eml you do:

Jan 4 2018, 7:13 PM · FAQ, kleopatra
Lloyd created T3714: Failing to decrypt due to missing MDC.
Jan 4 2018, 3:38 PM · FAQ, kleopatra
dirk added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

I sent the gpg: DBG: DEK frame via encrypted eMail to you. Hope this helps.

Jan 4 2018, 11:40 AM · Info Needed, scd, Bug Report
werner added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

FWIW, the old format was only used up to PGP 2.3 . PGP 2.6 used the new format. This is actually more indication that the message has not been generated by an old PGP version.

Jan 4 2018, 10:00 AM · Info Needed, scd, Bug Report
gniibe added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

Could you please give me the debug output line for DEK frame: by encrypted mail to me? So far, I can't find any likely scenario where an error occurs with smartcard. (Use of PGP2.6 is unlikely.)

Jan 4 2018, 5:51 AM · Info Needed, scd, Bug Report

Jan 3 2018

werner reopened T3662: GpgOL: encrypted PGP/Inline email fails when using exchange online as "Open".
Jan 3 2018, 9:28 AM · gpg4win, gpgol
werner updated subscribers of T3546: ERR 219 on --refresh-keys / --send-keys /....
Jan 3 2018, 9:26 AM · dns, Bug Report
fyu12136 added a comment to T3546: ERR 219 on --refresh-keys / --send-keys /....
Jan 3 2018, 8:52 AM · dns, Bug Report
fyu12136 added a comment to T3546: ERR 219 on --refresh-keys / --send-keys /....
Jan 3 2018, 8:52 AM · dns, Bug Report
fyu12136 added a comment to T3546: ERR 219 on --refresh-keys / --send-keys /....
Jan 3 2018, 8:52 AM · dns, Bug Report
fyu12136 added a comment to T3546: ERR 219 on --refresh-keys / --send-keys /....
Jan 3 2018, 8:52 AM · dns, Bug Report
fyu12136 added a comment to T3546: ERR 219 on --refresh-keys / --send-keys /....
Jan 3 2018, 8:52 AM · dns, Bug Report
fyu12136 added a comment to T3546: ERR 219 on --refresh-keys / --send-keys /....
Jan 3 2018, 8:51 AM · dns, Bug Report
fyu12136 added a comment to T3546: ERR 219 on --refresh-keys / --send-keys /....
Jan 3 2018, 8:51 AM · dns, Bug Report
fyu12136 closed T3662: GpgOL: encrypted PGP/Inline email fails when using exchange online as Resolved.
Jan 3 2018, 8:49 AM · gpg4win, gpgol
dkg added a comment to T3622: --export-options export-minimal,export-clean includes unusable subkeys.

Agreed, Signing subkeys can be useful for checking historical signatures. And even encryption subkeys *can* be useful after their expiration, e.g. when doing historical auditing.

Jan 3 2018, 1:08 AM · Feature Request, gnupg (gpg22)

Jan 2 2018

f3ck4r added a comment to T3660: I cannot encrypt any folder on w10.

By the given version number, do you mean: with gpg4win 3.0.1 it worked with 3.0.2 id does not work anymore?

Jan 2 2018, 8:57 PM · Bug Report, gpg4win
werner edited projects for T3661: getting passphrase failed: not supported error , added: gpg4win, Support; removed Bug Report.
Jan 2 2018, 6:25 PM · Support, gpg4win
Lloyd renamed T3662: GpgOL: encrypted PGP/Inline email fails when using exchange online from gpgol encrypted email fails when using exchange onlone to gpgol encrypted email fails when using exchange online.
Jan 2 2018, 5:39 PM · gpg4win, gpgol
Lloyd created T3662: GpgOL: encrypted PGP/Inline email fails when using exchange online in the S1 Public space.
Jan 2 2018, 5:31 PM · gpg4win, gpgol
4537 created T3661: getting passphrase failed: not supported error .
Jan 2 2018, 3:47 PM · Support, gpg4win
werner committed rD31395cff13e0: verein: Update finances (authored by werner).
verein: Update finances
Jan 2 2018, 12:15 PM
werner added a comment to T3660: I cannot encrypt any folder on w10.

Please explain en detail what you are trying to do and what the error is. Thanks.

Jan 2 2018, 12:04 PM · Bug Report, gpg4win
werner committed rD2f320018cc0c: build: Also render the gnupg.org as plain text. (authored by werner).
build: Also render the gnupg.org as plain text.
Jan 2 2018, 11:24 AM
f3ck4r created T3660: I cannot encrypt any folder on w10.
Jan 2 2018, 8:45 AM · Bug Report, gpg4win

Jan 1 2018

werner added a comment to T3573: Research performance problems with some large keyring..

Running tests with a modified keybox, so that the the keybox has only the meta data and the actual keyblocks are stored in separate files improved --list-keys by a factor of 10. This can be explained by reducing the size of pubring.kbx (which is sequentially scanned) from 95 to 2.5 MIB.

Jan 1 2018, 8:34 PM · gnupg (gpg23)
fvogt created T3659: pinentry falls back to curses on wayland.
Jan 1 2018, 6:31 PM · Restricted Project, Wayland, Feature Request, pinentry
werner triaged T3655: Suggest possible choices instead to error out on a typo as Wishlist priority.
Jan 1 2018, 5:36 PM · gnupg, Bug Report
werner added a comment to T3655: Suggest possible choices instead to error out on a typo.

I added "futuredefault" as an alias and also made the matching case-insensitiv. Changing the rendering is not easy because using a non-breaking hyphen in @code{} would not look very nice.

Jan 1 2018, 3:12 PM · gnupg, Bug Report
werner committed rG4d3c500f4793: gpg: Allow "futuredefault" as alias for "future-default". (authored by werner).
gpg: Allow "futuredefault" as alias for "future-default".
Jan 1 2018, 3:10 PM
werner added a project to T3658: GpgEX: internal error when trying to verify a non-signature file: gpg4win.
Jan 1 2018, 2:59 PM · kleopatra, gpg4win, Bug Report

Dec 31 2017

hammered999 created T3658: GpgEX: internal error when trying to verify a non-signature file.
Dec 31 2017, 10:04 PM · kleopatra, gpg4win, Bug Report
BenM committed rD4e3196a2172d: Minor edits (authored by BenM).
Minor edits
Dec 31 2017, 5:15 PM
gniibe added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

The conformance problem may (only) happen between PGP 2.6 and OpenPGPcard, because PGP 2.6 uses old format not compatible to PKCS#1, but OpenPGPcard requires PKCS#1.

Dec 31 2017, 8:12 AM · Info Needed, scd, Bug Report
gniibe closed T3624: 2.2.4 make error as Resolved.
Dec 31 2017, 5:37 AM · Bug Report
fulanoperez added a comment to T3624: 2.2.4 make error.

that solved the problem, by updating libassuan

Dec 31 2017, 4:15 AM · Bug Report
dkg reopened T3655: Suggest possible choices instead to error out on a typo as "Open".

When i read the manpage, nroff-formatted against an 80-column terminal, it says, literally:

Dec 31 2017, 2:02 AM · gnupg, Bug Report

Dec 30 2017

Mak added a comment to T3656: Outlook 2016 wont encrypt messages if S/MIME encrypt or Sign was activated.

Enabled Logging, and here the results with some Errors inside...

Dec 30 2017, 7:25 PM · Bug Report, gpgol
Mak updated the task description for T3656: Outlook 2016 wont encrypt messages if S/MIME encrypt or Sign was activated.
Dec 30 2017, 7:20 PM · Bug Report, gpgol
werner closed T3655: Suggest possible choices instead to error out on a typo as Invalid.

It is

future-default

and not

futuredefault
Dec 30 2017, 1:42 PM · gnupg, Bug Report
dirk added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

Ok - thats good news.
Thank you very much for your analysis.

Dec 30 2017, 1:08 PM · Info Needed, scd, Bug Report
Mak created T3656: Outlook 2016 wont encrypt messages if S/MIME encrypt or Sign was activated in the S1 Public space.
Dec 30 2017, 12:59 PM · Bug Report, gpgol
Mak added a watcher for gpgol: Mak.
Dec 30 2017, 12:48 PM

Dec 29 2017

BenM committed rDba965893ef6c: Merge branch 'master' of ssh+git://playfair.gnupg.org/git/gnupg-doc (authored by BenM).
Merge branch 'master' of ssh+git://playfair.gnupg.org/git/gnupg-doc
Dec 29 2017, 9:58 PM
BenM committed rD8e51ad1b7ab0: FAQ tweak (authored by BenM).
FAQ tweak
Dec 29 2017, 9:58 PM
dkg added a comment to T3655: Suggest possible choices instead to error out on a typo.

Any fix for this should be included in the test suite to avoid a regression :)

Dec 29 2017, 9:55 PM · gnupg, Bug Report
dkg created T3655: Suggest possible choices instead to error out on a typo.
Dec 29 2017, 9:54 PM · gnupg, Bug Report
werner added a comment to T2103: Improve the pinentry password quality indication.

Using an external process as an option is fine. However adding more dependencies to gnupg should be avoided.

Dec 29 2017, 8:32 PM · gnupg (gpg23), Feature Request
werner committed rG412bb7a801f2: gpg: Allow the use of "cv25519" and "ed25519" in the keygen parms. (authored by werner).
gpg: Allow the use of "cv25519" and "ed25519" in the keygen parms.
Dec 29 2017, 8:23 PM
gouttegd added a comment to T2103: Improve the pinentry password quality indication.

So… Is there any interest in the approach I drafted in D442?

Dec 29 2017, 8:14 PM · gnupg (gpg23), Feature Request
werner committed rD5c1e39ab92b3: swdb,web: Release gnupg 2.0.30 but remove references from the web. (authored by werner).
swdb,web: Release gnupg 2.0.30 but remove references from the web.
Dec 29 2017, 5:05 PM
werner committed rGe6dae418c260: Release 2.0.31 (authored by werner).
Release 2.0.31
Dec 29 2017, 4:47 PM
werner added a comment to T3622: --export-options export-minimal,export-clean includes unusable subkeys.

I can see the case for encryption subkeys. Signing subkeys are still useful after their expiration.

Dec 29 2017, 12:21 PM · Feature Request, gnupg (gpg22)
gniibe added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

OK, I got the picture, now.

Dec 29 2017, 8:51 AM · Info Needed, scd, Bug Report
gniibe added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

Well, my speculation of SERIALNO undefined may be wrong.

Dec 29 2017, 8:23 AM · Info Needed, scd, Bug Report
gniibe added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

Thanks, I received the log file.

Dec 29 2017, 7:51 AM · Info Needed, scd, Bug Report

Dec 28 2017

bernhard added a comment to T3379: Gpg4win windows publisher signature not always correctly displayed in UAC dialogue.

If you are encountering the problem, please

  1. Check that you have updated your Windows operation system to the latest version and you've got all security updates. (As some necessary certificates may have come later with an update.)
  2. Does the behaviour change if you "investigate the certificate chain" through -> Properties -> Digital Signatures?
Dec 28 2017, 5:13 PM · gpg4win, Bug Report
dirk added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

Thank you for your efforts. Logfiles is in the mail

Dec 28 2017, 5:10 PM · Info Needed, scd, Bug Report
JochenSaalfeld added a comment to T3379: Gpg4win windows publisher signature not always correctly displayed in UAC dialogue.

We recieved another mail by a customer about this issue today:

Dec 28 2017, 4:11 PM · gpg4win, Bug Report
gniibe added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

Thanks a lot for your testing. Here are my keys:

Dec 28 2017, 2:16 AM · Info Needed, scd, Bug Report

Dec 27 2017

dirk added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

All right - that was quicker.
I deinstalled pcscd (apt remove pcscd)
I changed .gnupg/scdaemon.conf as you proposed.
I tried again to decrypt the message (in the meantime I have a file) which works decrypting withoutl SmartCard when I use it on a pc with the key.
Still failed. Can I send you the Logfile encrypted ? If so - what is you eMail / key.

Dec 27 2017, 11:37 PM · Info Needed, scd, Bug Report
dirk added a comment to T3576: Open PGP SmartCard V2.1 - decryption error: ERR 100663364 Missing item in object <SCD>.

As said - it took me a while. Sorry for the delay.
I could dig out the Key in some archives. So I was able to test the decryption of the message on a computer without smartcard.
It worked.

Dec 27 2017, 11:23 PM · Info Needed, scd, Bug Report
gniibe changed the status of T3508: GPG 2.2.2 not recognizing card reader under Linux from Open to Testing.
Dec 27 2017, 9:31 AM · scd, Bug Report
gniibe committed rG4f88b0f56134: scd: Fix for inactive card at start by internal CCID driver. (authored by gniibe).
scd: Fix for inactive card at start by internal CCID driver.
Dec 27 2017, 9:26 AM
gniibe triaged T3624: 2.2.4 make error as Normal priority.

Thanks for your report. This is because GnuPG 2.2.4 now requires newer libassuan (in order to fix a race condition).

Dec 27 2017, 3:19 AM · Bug Report
gniibe added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

Thanks a lot. I'm going to push the fix to 2.2 (and then master).
In short, it was the bug in ccid-driver of scdaemon, which was introduced last year when I enhanced it to support multiple card readers at once.

Dec 27 2017, 12:44 AM · scd, Bug Report

Dec 26 2017

enno added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

Yes, thank you, the smartcard is being recognized now.

Dec 26 2017, 1:07 PM · scd, Bug Report
gniibe added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

Thanks (again). According to the status code (bStatus), the card reader said no card is available.
Could you please remove the card and re-insert it, and do 'gpg --card-status'?

Dec 26 2017, 12:51 PM · scd, Bug Report
enno added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

After

patch -i scdaemon-fix-for-inactive-start.diff scd/ccid-driver.c

the following log obtains.

Dec 26 2017, 11:07 AM · scd, Bug Report

Dec 25 2017

gniibe added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

Thanks a lot for your testing. Please test this patch:

Dec 25 2017, 10:47 PM · scd, Bug Report
enno added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

After installing libusb-devel, and configure and make, this is the new log.

Dec 25 2017, 6:39 PM · scd, Bug Report
gniibe added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

Thanks. I think that you configured GnuPG without libusb, thus, ccid-driver is not enabled, and you don't have pcscd installed. In this situation, no way to access any smartcard reader.

Dec 25 2017, 3:07 PM · scd, Bug Report
enno added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

Dec 25 2017, 10:15 AM · scd, Bug Report

Dec 24 2017

gniibe added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

Please enable all debug information in scdaemon.conf, like:

verbose
verbose
debug-level guru
debug-all
debug-ccid-driver
log-file /run/user/1000/scdaemon-verbose.log
Dec 24 2017, 10:11 PM · scd, Bug Report
BenM committed rDb05ad05ae599: Grammar tweak. (authored by BenM).
Grammar tweak.
Dec 24 2017, 1:10 PM
enno added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

The file scdaemon.log is short and contains only:

2017-12-24 12:32:53 scdaemon[4347] écoute sur la socket « /run/user/1000/gnupg/S.scdaemon »
2017-12-24 12:32:53 scdaemon[4347] gestionnaire pour le descripteur -1 démarré
2017-12-24 12:32:53 scdaemon[4347] pcsc_establish_context failed: no service (0x8010001d)
Dec 24 2017, 12:35 PM · scd, Bug Report
gniibe added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

Thanks for your testing. please give me scdaemon.log with updated scdaemon.

Dec 24 2017, 12:03 PM · scd, Bug Report

Dec 23 2017

enno added a comment to T3508: GPG 2.2.2 not recognizing card reader under Linux.

With latestes master, there still appears:

--- ~ » gpg --card-status                                          2 ↵
gpg: NOTE: THIS IS A DEVELOPMENT VERSION!
gpg: It is only intended for test purposes and should NOT be
gpg: used in a production environment or with production keys!
gpg: selecting openpgp failed: Aucun périphérique de ce type
gpg: la carte OpenPGP n'est pas disponible : Aucun périphérique de ce type
Dec 23 2017, 4:08 PM · scd, Bug Report
werner committed rD0ef0b2c638fc: Grammar in first paragraph. (authored by BenM).
Grammar in first paragraph.
Dec 23 2017, 12:04 PM