Package: libmimelib1c2a Version: 5:1.1.4-2 Severity: important Tags: patch upstream
Dear Maintainer, *** Please consider answering these questions, where appropriate *** * What led up to the situation? * What exactly did you do (or not do) that was effective (or ineffective)? * What was the outcome of this action? * What outcome did you expect instead? *** End of the template - remove these lines *** Lurker (email archiver) would generate invalid xml / html when an email had an attachment with a long filename. Lurker uses this library to handle mime-parts of messages. It was expected that the library would return the mime-part headers in an unfolded (un line-wrapped) form. Unfortunately, the headers were not being unfolded. The attached patch adds unfolding of the header body. -- System Information: Debian Release: 7.3 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libmimelib1c2a depends on: ii libc6 2.13-38 ii libgcc1 1:4.7.2-5 ii libstdc++6 4.7.2-5 libmimelib1c2a recommends no packages. libmimelib1c2a suggests no packages.
diff -r mimelib1-1.1.4-2/mimelib/field.cpp mimelib1-1.1.4-2.fixed/mimelib/field.cpp 277a278,291 > DwString DwField::Unfold (const DwString& aStr) > { > const char *str = aStr.c_str(); > DwString out; > > while (*str != 0) { > if (*str != '\r' && *str != '\n') { > out += *str; > } > str++; > } > > return out; > } 284c298 < mFieldBodyStr = parser.mBody; --- > mFieldBodyStr = this->Unfold(parser.mBody); diff -r mimelib1-1.1.4-2/mimelib/mimelib/field.h mimelib1-1.1.4-2.fixed/mimelib/mimelib/field.h 105a106,108 > DwString Unfold(const DwString& aStr); > //Unfold method for unwrapping headers >
diff -r mimelib1-1.1.4-2/mimelib/field.cpp mimelib1-1.1.4-2.fixed/mimelib/field.cpp 277a278,291 > DwString DwField::Unfold (const DwString& aStr) > { > const char *str = aStr.c_str(); > DwString out; > > while (*str != 0) { > if (*str != '\r' && *str != '\n') { > out += *str; > } > str++; > } > > return out; > } 284c298 < mFieldBodyStr = parser.mBody; --- > mFieldBodyStr = this->Unfold(parser.mBody); diff -r mimelib1-1.1.4-2/mimelib/mimelib/field.h mimelib1-1.1.4-2.fixed/mimelib/mimelib/field.h 105a106,108 > DwString Unfold(const DwString& aStr); > //Unfold method for unwrapping headers >
diff -r mimelib1-1.1.4-2/mimelib/field.cpp mimelib1-1.1.4-2.fixed/mimelib/field.cpp 277a278,291 > DwString DwField::Unfold (const DwString& aStr) > { > const char *str = aStr.c_str(); > DwString out; > > while (*str != 0) { > if (*str != '\r' && *str != '\n') { > out += *str; > } > str++; > } > > return out; > } 284c298 < mFieldBodyStr = parser.mBody; --- > mFieldBodyStr = this->Unfold(parser.mBody); diff -r mimelib1-1.1.4-2/mimelib/mimelib/field.h mimelib1-1.1.4-2.fixed/mimelib/mimelib/field.h 105a106,108 > DwString Unfold(const DwString& aStr); > //Unfold method for unwrapping headers >
diff -r mimelib1-1.1.4-2/mimelib/field.cpp mimelib1-1.1.4-2.fixed/mimelib/field.cpp 277a278,291 > DwString DwField::Unfold (const DwString& aStr) > { > const char *str = aStr.c_str(); > DwString out; > > while (*str != 0) { > if (*str != '\r' && *str != '\n') { > out += *str; > } > str++; > } > > return out; > } 284c298 < mFieldBodyStr = parser.mBody; --- > mFieldBodyStr = this->Unfold(parser.mBody); diff -r mimelib1-1.1.4-2/mimelib/mimelib/field.h mimelib1-1.1.4-2.fixed/mimelib/mimelib/field.h 105a106,108 > DwString Unfold(const DwString& aStr); > //Unfold method for unwrapping headers >