1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-18 00:49:50 +02:00
gnupg/g10
Werner Koch f2c09203b9
gpg: Avoid writing a zero length last chunk in AEAD mode.
* g10/cipher-aead.c (write_header): Do not call set_nonce_and_ad.
(write_final_chunk): Do not increase chunkindex.
(do_flush): Call set_nonce_and_ad immediately before the first
encryption of a chunk.  Bump up the chunkindex after writing the tag.
(do_free): Do not insert a zero length last chunk.
* g10/decrypt-data.c (aead_underflow): Fix the corresponding bug.
--

This fixes a bug in writing a zero length last chunk right before the
final chunk (which has by design a zero length).  We also need to
adjust the decryption part because that assumed this zero length last
chunk.

Note that we use the term "last chunk" for the chunk which directly
precedes the "final chunk" which ends the entire encryption.

GnuPG-bug-id: 3774
Signed-off-by: Werner Koch <wk@gnupg.org>
2018-02-28 09:39:57 +01:00
..
all-tests.scm tests: Make it possible to run all tests using our infrastructure. 2017-05-11 18:12:37 +02:00
armor.c g10, sm, dirmngr, common: Add comment for fall through. 2017-05-10 11:13:12 +09:00
build-packet.c gpg: Implement AEAD for SKESK packets. 2018-01-23 12:07:57 +01:00
call-agent.c Adjust for changed macro names in libgpg-error master. 2017-12-11 10:42:23 +01:00
call-agent.h g10: Make sure to emit NEED_PASSPHRASE on --import of secret key. 2017-07-24 17:18:42 +02:00
call-dirmngr.c gpg: Add option '--disable-dirmngr'. 2017-08-08 11:43:22 +02:00
call-dirmngr.h gpg: Store key origin info for new DANE and WKD retrieved keys. 2017-07-24 20:09:52 +02:00
card-util.c gpg: Update list of card vendors from master 2018-02-01 12:05:19 +01:00
ChangeLog-2011 Spelling: correct spelling of "passphrase". 2016-11-02 12:53:58 +01:00
cipher-aead.c gpg: Avoid writing a zero length last chunk in AEAD mode. 2018-02-28 09:39:57 +01:00
cipher-cfb.c gpg: Rename cipher.c to cipher-cfb.c 2018-02-27 13:57:57 +01:00
compress-bz2.c g10,tools: Fix bzlib.h include order. 2017-04-11 13:52:19 +09:00
compress.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
cpr.c gpg: Fix memory leaking for long inputs via --command-fd. 2017-11-22 20:54:47 +01:00
dearmor.c Revert "g10: Always save standard revocation certificate in file." 2017-08-01 19:08:16 +02:00
decrypt-data.c gpg: Avoid writing a zero length last chunk in AEAD mode. 2018-02-28 09:39:57 +01:00
decrypt.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
dek.h gpg: First take on PKT_ENCRYPTED_AEAD. 2018-01-21 16:30:53 +01:00
delkey.c gpg: Pass CTRL to many more functions. 2017-03-31 20:07:20 +02:00
distsigkey.gpg build: Update distsigkey.gpg 2017-11-22 20:54:47 +01:00
ecdh.c Use the gpgrt log functions if possible. 2017-11-27 15:00:25 +01:00
encrypt.c gpg: Implement AEAD for SKESK packets. 2018-01-23 12:07:57 +01:00
exec.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
exec.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
export.c gpg: Return an error from hexfingerprint on malloc error. 2017-12-13 10:52:34 +01:00
filter.h gpg: First take on PKT_ENCRYPTED_AEAD. 2018-01-21 16:30:53 +01:00
free-packet.c gpg: Fix possible double free of the card serialno. 2017-07-21 17:49:10 +02:00
getkey.c g10: Select a secret key by checking availability under gpg-agent. 2018-02-22 10:42:42 +01:00
gpg-w32info.rc w32: Add manifest to gpg. 2015-02-04 09:15:34 +01:00
gpg.c gpg: New maintainer option --debug-set-iobuf-size. 2018-01-24 18:38:20 +01:00
gpg.h gpg: Prepare for a longer fingerprint 2017-09-27 09:42:13 +02:00
gpg.w32-manifest.in w32: Add manifest to gpg. 2015-02-04 09:15:34 +01:00
gpgcompose.c gpg: Implement AEAD for SKESK packets. 2018-01-23 12:07:57 +01:00
gpgsql.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
gpgsql.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gpgv.c gpgv: Initialize compliance checker. 2017-09-13 09:18:15 +02:00
helptext.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
import.c gpg: Implement AEAD for SKESK packets. 2018-01-23 12:07:57 +01:00
kbnode.c gpg: Add option and preference framework for AEAD. 2018-01-10 11:51:03 +01:00
key-check.c gpg: Avoid superfluous sig check info during import. 2017-10-24 21:11:38 +02:00
key-check.h gpg: Avoid output to the tty during import. 2017-07-27 11:38:57 +02:00
keydb.c gpg: Don't let gpg return failure on an invalid packet in a keyblock. 2018-02-22 14:23:01 +01:00
keydb.h gpg: Unify AEAD parameter retrieval. 2018-01-22 16:50:21 +01:00
keyedit.c Merge branch 'STABLE-BRANCH-2-2' 2018-02-22 16:19:56 +01:00
keyedit.h gpg: Avoid output to the tty during import. 2017-07-27 11:38:57 +02:00
keygen.c Merge branch 'STABLE-BRANCH-2-2' into master 2018-01-25 16:58:29 +01:00
keyid.c Merge branch 'STABLE-BRANCH-2-2' into master 2017-12-18 16:42:59 +01:00
keylist.c gpg,sm: New option --with-key-screening. 2017-10-17 21:10:19 +02:00
keyring.c gpg: Don't let gpg return failure on an invalid packet in a keyblock. 2018-02-22 14:23:01 +01:00
keyring.h gpg: Pass CTRL to many more functions. 2017-03-31 20:07:20 +02:00
keyserver-internal.h gpg: Pass key origin values to import functions. 2017-07-13 18:29:01 +02:00
keyserver.c gpg: Extend --key-origin to take an optional URL arg. 2017-07-24 21:10:58 +02:00
main.h gpg: Rename a misnomed arg in open_outfile. 2018-01-28 18:59:18 +01:00
mainproc.c gpg: Try to mitigate the problem of wrong CFB symkey passphrases. 2018-02-23 10:49:19 +01:00
Makefile.am gpg: Rename cipher.c to cipher-cfb.c 2018-02-27 13:57:57 +01:00
mdfilter.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
migrate.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
misc.c gpg: New option --chunk-size. 2018-01-23 19:08:16 +01:00
openfile.c gpg: Rename a misnomed arg in open_outfile. 2018-01-28 18:59:18 +01:00
options.h gpg: New option --chunk-size. 2018-01-23 19:08:16 +01:00
packet.h gpg: Implement AEAD for SKESK packets. 2018-01-23 12:07:57 +01:00
parse-packet.c gpg: Fix packet length checking in symkeyenc parser. 2018-02-06 17:37:27 +01:00
passphrase.c gpg: Pass CTRL to many more functions. 2017-03-31 20:07:20 +02:00
photoid.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
photoid.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
pkclist.c gpg: Unify AEAD parameter retrieval. 2018-01-22 16:50:21 +01:00
pkglue.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
pkglue.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
plaintext.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
progress.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
pubkey-enc.c Use the gpgrt log functions if possible. 2017-11-27 15:00:25 +01:00
pubring.asc Update copyright notices for 2017. 2017-01-23 19:16:55 +01:00
revoke.c gpg: Return an error from hexfingerprint on malloc error. 2017-12-13 10:52:34 +01:00
rmd160.c Clean up word replication. 2017-02-21 13:11:46 -05:00
rmd160.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
seckey-cert.c More change for common. 2017-03-07 20:32:09 +09:00
server.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
seskey.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
sig-check.c gpg: Prepare for a longer fingerprint 2017-09-27 09:42:13 +02:00
sign.c gpg: Implement AEAD for SKESK packets. 2018-01-23 12:07:57 +01:00
skclist.c g10: Fix default-key selection for signing, possibly by card. 2017-05-22 09:27:36 +09:00
t-keydb-get-keyblock.c gpg: Fix actual leak and possible leaks in the packet parser. 2017-03-30 16:01:52 +02:00
t-keydb-get-keyblock.gpg gpg: Correctly handle keyblocks followed by legacy keys. 2015-11-17 14:53:03 +01:00
t-keydb-keyring.kbx g10: Add test for keydb as well as new testing infrastructure. 2015-09-02 15:08:57 +02:00
t-keydb.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-rmd160.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-stutter-data.asc gpg: Add a new test. 2016-03-08 14:08:49 +01:00
t-stutter.c g10: Stop compiler warning for t-stutter. 2017-05-10 11:13:03 +09:00
tdbdump.c gpg: Prepare for a longer fingerprint 2017-09-27 09:42:13 +02:00
tdbio.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
tdbio.h gpg: Pass CTRL to many more functions. 2017-03-31 20:07:20 +02:00
test-stubs.c gpg: Pass CTRL to many more functions. 2017-03-31 20:07:20 +02:00
test.c tests: Locate resources and scripts relative to top source dir. 2017-04-24 14:14:05 +02:00
textfilter.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
tofu.c Merge branch 'STABLE-BRANCH-2-2' into master 2017-12-18 16:42:59 +01:00
tofu.h g10: Remove dead code. 2016-12-06 12:16:56 +01:00
trust.c gpg: Workaround for junk after --trusted-key. 2017-09-28 14:10:12 +02:00
trustdb.c g10: Fix regexp sanitization. 2017-12-04 19:26:49 +09:00
trustdb.h gpg: Pass CTRL to many more functions. 2017-03-31 20:07:20 +02:00
verify.c Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
zlib-riscos.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00