This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU Mailutils".
http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=db61713bca989ff30c8b37f4c1155c65ce652016 The branch, master has been updated via db61713bca989ff30c8b37f4c1155c65ce652016 (commit) from 007bb14ecef8363d5c36eb05f5acabcf140e652a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit db61713bca989ff30c8b37f4c1155c65ce652016 Author: Sergey Poznyakoff <g...@gnu.org> Date: Tue Jun 23 07:56:11 2015 +0300 Fix improper padding in B encoding * libmailutils/stream/fltstream.c: stop encoding when no more input is available. * libmailutils/tests/encode2047.at: add new tests. * libmailutils/filter/base64.c (_base64_encoder): detect eof ----------------------------------------------------------------------- Summary of changes: libmailutils/filter/base64.c | 7 ++++++ libmailutils/stream/fltstream.c | 2 +- libmailutils/tests/encode2047.at | 45 ++++++++++++++++++++++++++++--------- 3 files changed, 42 insertions(+), 12 deletions(-) diff --git a/libmailutils/filter/base64.c b/libmailutils/filter/base64.c index de145b2..77769d2 100644 --- a/libmailutils/filter/base64.c +++ b/libmailutils/filter/base64.c @@ -232,6 +232,13 @@ _base64_encoder (void *xd, default: break; } + + if (iobuf->isize == 0) + { + iobuf->osize = 0; + iobuf->eof = 1; + return mu_filter_ok; + } if (iobuf->isize <= 3) { diff --git a/libmailutils/stream/fltstream.c b/libmailutils/stream/fltstream.c index 041ea39..d4fabff 100644 --- a/libmailutils/stream/fltstream.c +++ b/libmailutils/stream/fltstream.c @@ -149,7 +149,7 @@ filter_read (mu_stream_t stream, char *buf, size_t size, size_t *pret) if (rdsize == 0 && MFB_RDBYTES (fs->outbuf) == 0 && MFB_RDBYTES (fs->inbuf) == 0) - cmd = mu_filter_lastbuf; + break; MFB_advance_level (&fs->inbuf, rdsize); } diff --git a/libmailutils/tests/encode2047.at b/libmailutils/tests/encode2047.at index 2dbd830..1ab2729 100644 --- a/libmailutils/tests/encode2047.at +++ b/libmailutils/tests/encode2047.at @@ -14,18 +14,41 @@ # You should have received a copy of the GNU General Public License # along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. -AT_SETUP([encode2047]) -AT_KEYWORDS([encode]) - -AT_CHECK([ -AT_DATA(input,[dnl -\\345\326\305\304\316\305\327\316\331\312\040\317\324\336\305\324 +dnl ------------------------------------------------------------ +dnl TESTENC2047([NAME], [KW = `'], [OPT], [INPUT], [STDOUT = `']) +dnl +m4_pushdef([TESTENC2047],[ +m4_pushdef([MU_TEST_GROUP],[Encode 2047]) +m4_pushdef([MU_TEST_KEYWORDS],[encode2047 encode]) +m4_pushdef([MU_TEST_COMMAND],[encode2047 -eB $3]) +MU_GENERIC_TEST([$1],[$2],[$4],[],[$5 ]) - -encode2047 -c koi8-r -eB -o < input], -[0], -[=?koi8-r?B?5dbFxM7F187ZyiDP1N7F1A==?= +m4_popdef([MU_TEST_COMMAND]) +m4_popdef([MU_TEST_KEYWORDS]) +m4_popdef([MU_TEST_GROUP]) ]) -AT_CLEANUP +TESTENC2047([8-bit input],[enc01], + [-c koi8-r -o], + [\\345\326\305\304\316\305\327\316\331\312\040\317\324\336\305\324], + [=?koi8-r?B?5dbFxM7F187ZyiDP1N7F1A==?=]) + +TESTENC2047([padding 1],[enc02], + [], + [abcd], + [=?iso-8859-1?B?YWJjZA==?=]) + +TESTENC2047([padding 2],[enc03], + [], + [abcdef], + [=?iso-8859-1?B?YWJjZGVm?=]) + +TESTENC2047([padding 3],[enc04], + [-cUTF-8], + [Wichtige Mitteilung zur Schaltung Ihres Anschlusses], + [=?UTF-8?B?V2ljaHRpZ2UgTWl0dGVpbHVuZyB6dXIgU2NoYWx0dW5nIElocmVzIEFuc2NobHVzc2Vz?=]) + + +m4_popdef([TESTENC2047]) + hooks/post-receive -- GNU Mailutils _______________________________________________ Commit-mailutils mailing list Commit-mailutils@gnu.org https://lists.gnu.org/mailman/listinfo/commit-mailutils