Hello community,

here is the log from the commit of package libvmime for openSUSE:Factory 
checked in at 2016-11-14 20:13:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvmime (Old)
 and      /work/SRC/openSUSE:Factory/.libvmime.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libvmime"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libvmime/libvmime.changes        2016-07-01 
10:00:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libvmime.new/libvmime.changes   2016-11-14 
20:13:17.000000000 +0100
@@ -1,0 +2,8 @@
+Sun Oct 30 18:36:29 UTC 2016 - [email protected]
+
+- Update to new git snapshot
+  047cacb1dba516ca902b36a290f2b81555658c1e [0.9.2~g500]
+* Skip multiple (bogus) colons after header field name
+- Add dont-fixup.diff
+
+-------------------------------------------------------------------

Old:
----
  vmime-0.9.2~g490.tar.xz

New:
----
  dont-fixup.diff
  vmime-0.9.2~g500.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libvmime.spec ++++++
--- /var/tmp/diff_new_pack.o5FhGo/_old  2016-11-14 20:13:18.000000000 +0100
+++ /var/tmp/diff_new_pack.o5FhGo/_new  2016-11-14 20:13:18.000000000 +0100
@@ -16,14 +16,14 @@
 #
 
 
-%define version_unconverted 0.9.2~g490
+%define version_unconverted 0.9.2~g500
 
 Name:           libvmime
 %define lname  libvmime-suse3
 Summary:        Library for working with MIME messages and IMAP/POP/SMTP
 License:        GPL-3.0+
 Group:          Development/Libraries/C and C++
-Version:        0.9.2~g490
+Version:        0.9.2~g500
 Release:        0
 Url:            http://vmime.org/
 
@@ -31,6 +31,7 @@
 Source:         vmime-%version.tar.xz
 Patch1:         libvmime-nodatetime.diff
 Patch2:         libvmime-sotag.diff
+Patch3:         dont-fixup.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  ImageMagick
 %if 0%{?suse_version} < 1310
@@ -41,10 +42,11 @@
 BuildRequires:  gcc-c++
 BuildRequires:  inkscape
 BuildRequires:  libgnutls-devel
+%if 0%{?is_opensuse}
 BuildRequires:  libgsasl-devel
+%endif
 BuildRequires:  libopenssl-devel
 BuildRequires:  pkg-config
-BuildRequires:  postfix
 %if 0%{?suse_version} >= 1130
 %define with_pdf 1
 %if 0%{?suse_version} < 1300
@@ -99,7 +101,7 @@
 
 %prep
 %setup -qn vmime-%version
-%patch -P 1 -P 2 -p1
+%patch -P 1 -P 2 -P 3 -p1
 
 %build
 %if 0%{?with_pdf}
@@ -109,11 +111,12 @@
 %endif
 
 cf="%optflags -DVMIME_ALWAYS_GENERATE_7BIT_PARAMETER=1"
-# sendmail's awesome location.
-export PATH="$PATH:/usr/sbin"
 cmake . \
+       -DVMIME_SENDMAIL_PATH:STRING="%_sbindir/sendmail" \
        -DVMIME_BUILD_SAMPLES:BOOL=OFF \
+%if 0%{?is_opensuse}
        -DVMIME_HAVE_SASL_SUPPORT:BOOL=ON \
+%endif
        -DVMIME_HAVE_TLS_SUPPORT:BOOL=ON \
        -DVMIME_BUILD_STATIC_LIBRARY:BOOL=OFF \
        -DCMAKE_RELEASE_TYPE:STRING="RelWithDebInfo" \

++++++ dont-fixup.diff ++++++
References: https://github.com/kisli/vmime/issues/149

libkcinetmapi does a much better fixup on its own.
---
 src/vmime/text.cpp |    2 --
 1 file changed, 2 deletions(-)

Index: vmime-0.9.2.g500/src/vmime/text.cpp
===================================================================
--- vmime-0.9.2.g500.orig/src/vmime/text.cpp
+++ vmime-0.9.2.g500/src/vmime/text.cpp
@@ -401,8 +401,6 @@ text* text::decodeAndUnfold(const parsin
        out->removeAllWords();
 
        std::vector <shared_ptr <word> > words = word::parseMultiple(ctx, in, 
0, in.length(), NULL);
-       fixBrokenWords(words);
-
        copy_vector(words, out->m_words);
 
        return (out);
++++++ vmime-0.9.2~g490.tar.xz -> vmime-0.9.2~g500.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vmime-0.9.2~g490/CMakeLists.txt 
new/vmime-0.9.2~g500/CMakeLists.txt
--- old/vmime-0.9.2~g490/CMakeLists.txt 2016-06-22 17:37:52.000000000 +0200
+++ new/vmime-0.9.2~g500/CMakeLists.txt 2016-10-24 14:54:48.000000000 +0200
@@ -246,8 +246,8 @@
 ENDIF()
 
 # Installation of header files
-INSTALL_HEADERS_WITH_DIRECTORY(VMIME_LIBRARY_INCLUDE_FILES headers src/)
-INSTALL_HEADERS_WITH_DIRECTORY(VMIME_LIBRARY_GENERATED_INCLUDE_FILES headers 
src/)
+INSTALL_HEADERS_WITH_DIRECTORY(VMIME_LIBRARY_INCLUDE_FILES headers 
"${CMAKE_SOURCE_DIR}/src/")
+INSTALL_HEADERS_WITH_DIRECTORY(VMIME_LIBRARY_GENERATED_INCLUDE_FILES headers 
"${CMAKE_BINARY_DIR}/src")
 
 #INSTALL(
 #      FILES ${VMIME_LIBRARY_INCLUDE_FILES}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vmime-0.9.2~g490/cmake/Utils.cmake 
new/vmime-0.9.2~g500/cmake/Utils.cmake
--- old/vmime-0.9.2~g490/cmake/Utils.cmake      2016-06-22 17:37:52.000000000 
+0200
+++ new/vmime-0.9.2~g500/cmake/Utils.cmake      2016-10-24 14:54:48.000000000 
+0200
@@ -5,7 +5,7 @@
 
        FOREACH(HEADER ${${HEADER_LIST}})
                STRING(REGEX MATCH "(.*)[/\\]" DIR ${HEADER})
-               STRING(REPLACE "${CMAKE_SOURCE_DIR}/${REMOVE_PREFIX}" "" DIR 
${DIR})
+               STRING(REPLACE "${REMOVE_PREFIX}" "" DIR ${DIR})
                INSTALL(FILES ${HEADER} DESTINATION include/${DIR} COMPONENT 
${COMPONENT_NAME})
        ENDFOREACH(HEADER)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vmime-0.9.2~g490/src/vmime/headerField.cpp 
new/vmime-0.9.2~g500/src/vmime/headerField.cpp
--- old/vmime-0.9.2~g490/src/vmime/headerField.cpp      2016-06-22 
17:37:52.000000000 +0200
+++ new/vmime-0.9.2~g500/src/vmime/headerField.cpp      2016-10-24 
14:54:48.000000000 +0200
@@ -135,7 +135,8 @@
                                                  buffer.begin() + nameEnd);
 
                                // Skip ':' character
-                               ++pos;
+                               while (pos < end && buffer[pos] == ':')
+                                       ++pos;
 
                                // Skip spaces between ':' and the field 
contents
                                while (pos < end && (buffer[pos] == ' ' || 
buffer[pos] == '\t'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vmime-0.9.2~g490/src/vmime/net/imap/IMAPParser.hpp 
new/vmime-0.9.2~g500/src/vmime/net/imap/IMAPParser.hpp
--- old/vmime-0.9.2~g490/src/vmime/net/imap/IMAPParser.hpp      2016-06-22 
17:37:52.000000000 +0200
+++ new/vmime-0.9.2~g500/src/vmime/net/imap/IMAPParser.hpp      2016-10-24 
14:54:48.000000000 +0200
@@ -762,7 +762,7 @@
                        size_t pos = *currentPos;
 
                        VIMAP_PARSER_GET(uniqueid, m_uniqueid1);
-                       VIMAP_PARSER_CHECK(one_char <','>);
+                       VIMAP_PARSER_CHECK(one_char <':'>);
                        VIMAP_PARSER_GET(uniqueid, m_uniqueid2);
 
                        *currentPos = pos;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vmime-0.9.2~g490/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp 
new/vmime-0.9.2~g500/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp
--- old/vmime-0.9.2~g490/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp  
2016-06-22 17:37:52.000000000 +0200
+++ new/vmime-0.9.2~g500/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.cpp  
2016-10-24 14:54:48.000000000 +0200
@@ -71,11 +71,7 @@
 
 TLSSocket_GnuTLS::~TLSSocket_GnuTLS()
 {
-       if (m_ex)
-       {
-               delete m_ex;
-               m_ex = NULL;
-       }
+       resetException();
 
        try
        {
@@ -194,12 +190,13 @@
 {
        m_status &= ~(STATUS_WANT_WRITE | STATUS_WANT_READ);
 
+       resetException();
+
        const ssize_t ret = gnutls_record_recv
                (*m_session->m_gnutlsSession,
                 buffer, static_cast <size_t>(count));
 
-       if (m_ex)
-               internalThrow();
+       throwException();
 
        if (ret < 0)
        {
@@ -226,12 +223,13 @@
 
        for (size_t size = count ; size > 0 ; )
        {
+               resetException();
+
                ssize_t ret = gnutls_record_send
                        (*m_session->m_gnutlsSession,
                         buffer, static_cast <size_t>(size));
 
-               if (m_ex)
-                       internalThrow();
+               throwException();
 
                if (ret < 0)
                {
@@ -260,12 +258,13 @@
 {
        m_status &= ~(STATUS_WANT_WRITE | STATUS_WANT_READ);
 
+       resetException();
+
        ssize_t ret = gnutls_record_send
                (*m_session->m_gnutlsSession,
                 buffer, static_cast <size_t>(count));
 
-       if (m_ex)
-               internalThrow();
+       throwException();
 
        if (ret < 0)
        {
@@ -307,10 +306,11 @@
        {
                while (true)
                {
+                       resetException();
+
                        const int ret = 
gnutls_handshake(*m_session->m_gnutlsSession);
 
-                       if (m_ex)
-                               internalThrow();
+                       throwException();
 
                        if (ret < 0)
                        {
@@ -498,38 +498,21 @@
 // gnutls_record_recv() calls TLSSocket::gnutlsPullFunc, and exceptions
 // thrown by the socket can not be caught.
 
-#ifndef VMIME_BUILDING_DOC
-
-class TLSSocket_DeleteExWrapper : public object
+void TLSSocket_GnuTLS::throwException()
 {
-public:
-
-       TLSSocket_DeleteExWrapper(exception* ex) : m_ex(ex) { }
-       ~TLSSocket_DeleteExWrapper() { delete m_ex; }
-
-private:
-
-       exception* m_ex;
-};
-
-#endif // VMIME_BUILDING_DOC
+       if (m_ex)
+       {
+               throw *m_ex;
+       }
+}
 
 
-void TLSSocket_GnuTLS::internalThrow()
+void TLSSocket_GnuTLS::resetException()
 {
-       static std::vector <shared_ptr <TLSSocket_DeleteExWrapper> > exToDelete;
-
        if (m_ex)
        {
-               // Reset the current exception pointer to prevent the same
-               // exception from being thrown again later
-               exception* ex = m_ex;
+               delete m_ex;
                m_ex = NULL;
-
-               // To avoid memory leaks
-               exToDelete.push_back(make_shared 
<TLSSocket_DeleteExWrapper>(ex));
-
-               throw *ex;
        }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vmime-0.9.2~g490/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.hpp 
new/vmime-0.9.2~g500/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.hpp
--- old/vmime-0.9.2~g490/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.hpp  
2016-06-22 17:37:52.000000000 +0200
+++ new/vmime-0.9.2~g500/src/vmime/net/tls/gnutls/TLSSocket_GnuTLS.hpp  
2016-10-24 14:54:48.000000000 +0200
@@ -88,7 +88,8 @@
 
 private:
 
-       void internalThrow();
+       void resetException();
+       void throwException();
 
 #ifdef LIBGNUTLS_VERSION
        static ssize_t gnutlsPushFunc(gnutls_transport_ptr_t trspt, const void* 
data, size_t len);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vmime-0.9.2~g490/src/vmime/platforms/posix/posixSocket.cpp 
new/vmime-0.9.2~g500/src/vmime/platforms/posix/posixSocket.cpp
--- old/vmime-0.9.2~g490/src/vmime/platforms/posix/posixSocket.cpp      
2016-06-22 17:37:52.000000000 +0200
+++ new/vmime-0.9.2~g500/src/vmime/platforms/posix/posixSocket.cpp      
2016-10-24 14:54:48.000000000 +0200
@@ -435,7 +435,9 @@
                {
                        if (gaiError == EAI_SYSTEM)
                        {
-                               if (errno != 0)
+                               const int ret = gai_error(&gaiRequest);
+
+                               if (ret != EAI_INPROGRESS && errno != 0)
                                {
                                        try
                                        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vmime-0.9.2~g490/src/vmime/security/cert/certificateException.cpp 
new/vmime-0.9.2~g500/src/vmime/security/cert/certificateException.cpp
--- old/vmime-0.9.2~g490/src/vmime/security/cert/certificateException.cpp       
2016-06-22 17:37:52.000000000 +0200
+++ new/vmime-0.9.2~g500/src/vmime/security/cert/certificateException.cpp       
2016-10-24 14:54:48.000000000 +0200
@@ -70,6 +70,12 @@
 }
 
 
+shared_ptr <const certificate> certificateException::getCertificate() const
+{
+       return m_cert;
+}
+
+
 } // cert
 } // security
 } // vmime
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vmime-0.9.2~g490/src/vmime/security/cert/certificateException.hpp 
new/vmime-0.9.2~g500/src/vmime/security/cert/certificateException.hpp
--- old/vmime-0.9.2~g490/src/vmime/security/cert/certificateException.hpp       
2016-06-22 17:37:52.000000000 +0200
+++ new/vmime-0.9.2~g500/src/vmime/security/cert/certificateException.hpp       
2016-10-24 14:54:48.000000000 +0200
@@ -73,6 +73,12 @@
          */
        shared_ptr <certificate> getCertificate();
 
+       /** Returns the certificate on which the problem occured.
+         *
+         * @return certificate
+         */
+       shared_ptr <const certificate> getCertificate() const;
+
 private:
 
        shared_ptr <certificate> m_cert;


Reply via email to