[kde-freebsd] Fwd: [PATCH]GPGME 1.2.0 will break crypto in kdepim (Re: ports/135911: [MAINTAINER] security/gpgme: Update to version 1.2.0)

Wesley Shields wxs at FreeBSD.org
Fri Jun 26 17:53:17 CEST 2009


I have a PR[1] I'm about to start working on that will update gpgme to
1.2.0 which, according to the email below, will break some things for
KDE (and I'm now curious if it will break anything in GNOME).

I don't want to break anything with this update so I'm hoping to get
confirmation that this won't cause an issue if I commit it.

-- WXS

[1]: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/135911

On Fri, Jun 26, 2009 at 01:54:46PM +0400, Max Brazhnikov wrote:
> FYI,
> other ports may be affected also
> 
> Max
> 
> ----------  Forwarded Message  ----------
> 
> ????????: [PATCH]GPGME 1.2.0 will break crypto in kdepim
> ????????: Fri, 26 Jun 2009 11:35:41 +0200
> ??????????????????????: Thomas McGuire <mcguire at kde.org>
> ????????????????????:  kde-packager at kde.org
> 
> Hello Packagers,
> 
> GPGME introduced an incompatible change that will break all crypto operations 
> in KDEPIM, which means signing, verifying, encrypting and decrypting will not 
> work anymore in KMail and Kleopatra. Instead, you would see a bogus error 
> message saying something like "the backend does not support 
> signing/encryption/verification/decryption".
> 
> See bug 197458 for further details, 
> https://bugs.kde.org/show_bug.cgi?id=197458.
> 
> All KDE version are affected, including 4.3.0 RC 1. 4.3.0 Final is not 
> affected.
> Note that we are not 100% certain that KDE 3 versions are affected, but is is 
> better to play safe here.
> We have patched the 4.1 branch, the 4.2 branch, the 4.3 branch, the 3.5 branch 
> and the enterprise35 of kdepim and kdepimlibs (kdepimlibs: KDE 4.x only).
> 
> So please do one of the following:
> 
> a) Do not update your GPGME package to 1.2.0
> b) If you update, update your KDEPIM and KDEPIMLIBS packages as well
> 
> Although we have patched all branches, I attached the patches to this mail as 
> well for your convenience.
> 
> Also, in case you need this, here are the revision numbers of the commits that 
> fixed the issues in the various branches:
> KDE 3.5.x: 986745,987046
> KDE 4.1.x: 986493,986500,986474,986477,986990
> KDE 4.2.x: 986648,986650,986645,986647
> KDE 4.3.x: 986635,986638,986619,986622
> enterprise35: 986754,987480
> 
> The attached patches are made from exactly the above revisions.
> 
> Thanks for your help.
> 
> Regards,
> Thomas McGuire
> KMail Maintainer
> 
> -------------------------------------------------------
> 
> 

> --- gpgme++/context.cpp	(revision 986618)
> +++ gpgme++/context.cpp	(revision 986619)
> @@ -54,2 +54,6 @@
>  namespace GpgME {
> +  void initializeLibrary() {
> +      gpgme_check_version( 0 );
> +  }
> +
>    static inline gpgme_error_t makeError( gpg_err_code_t code ) {
> --- gpgme++/CMakeLists.txt	(revision 986618)
> +++ gpgme++/CMakeLists.txt	(revision 986619)
> @@ -34,3 +34,3 @@
>  
> -set( _gpgmepp_version 2.2.0 )
> +set( _gpgmepp_version 2.2.1 )
>  set( _gpgmepp_soversion 2 )
> --- gpgme++/global.h	(revision 986619)
> +++ gpgme++/global.h	(revision 986622)
> @@ -41,6 +41,8 @@
>  
>  namespace GpgME {
>  
> +    GPGMEPP_EXPORT void initializeLibrary();
> +
>      enum Protocol { OpenPGP, CMS, UnknownProtocol };
>  
>      enum Engine { GpgEngine, GpgSMEngine, GpgConfEngine, UnknownEngine, AssuanEngine };

> --- kleopatra/main.cpp	(revision 986634)
> +++ kleopatra/main.cpp	(revision 986635)
> @@ -78,2 +78,4 @@
>  
> +#include <gpgme++/global.h>
> +
>  #include <boost/shared_ptr.hpp>
> @@ -166,2 +168,4 @@
>  
> +    GpgME::initializeLibrary();
> +
>    {
> --- libkleo/backends/qgpgme/qgpgmebackend.cpp	(revision 986637)
> +++ libkleo/backends/qgpgme/qgpgmebackend.cpp	(revision 986638)
> @@ -282,3 +282,3 @@
>  {
> -
> +  GpgME::initializeLibrary();
>  }

> --- gpgme++/context.cpp	(revision 986644)
> +++ gpgme++/context.cpp	(revision 986645)
> @@ -53,2 +53,6 @@
>  namespace GpgME {
> +  void initializeLibrary() {
> +      gpgme_check_version( 0 );
> +  }
> +
>    static inline gpgme_error_t makeError( gpg_err_code_t code ) {
> --- gpgme++/CMakeLists.txt	(revision 986644)
> +++ gpgme++/CMakeLists.txt	(revision 986645)
> @@ -34,3 +34,3 @@
>  
> -set( _gpgmepp_version 2.0.2 )
> +set( _gpgmepp_version 2.0.3 )
>  set( _gpgmepp_soversion 2 )
> --- gpgme++/global.h	(revision 986645)
> +++ gpgme++/global.h	(revision 986647)
> @@ -39,6 +39,8 @@
>  
>  namespace GpgME {
>  
> +    GPGMEPP_EXPORT void initializeLibrary();
> +
>      enum Protocol { OpenPGP, CMS, UnknownProtocol };
>  
>      enum Engine { GpgEngine, GpgSMEngine, GpgConfEngine, UnknownEngine };

> --- gpgme++/context.cpp	(revision 986473)
> +++ gpgme++/context.cpp	(revision 986474)
> @@ -53,2 +53,6 @@
>  namespace GpgME {
> +  void initializeLibrary() {
> +    gpgme_check_version( 0 );
> +  }
> +
>    static inline gpgme_error_t makeError( gpg_err_code_t code ) {
> --- gpgme++/CMakeLists.txt	(revision 986474)
> +++ gpgme++/CMakeLists.txt	(revision 986990)
> @@ -32,7 +32,7 @@
>          gpgadduserideditinteractor.cpp
>  )
>  
> -set( _gpgmepp_version 2.0.2 )
> +set( _gpgmepp_version 2.0.3 )
>  set( _gpgmepp_soversion 2 )
>  
>  set( GPGMEPP_INCLUDE ${INCLUDE_INSTALL_DIR} ${GPGME_INCLUDES} ${Boost_INCLUDE_DIR} )
> --- gpgme++/global.h	(revision 986474)
> +++ gpgme++/global.h	(revision 986477)
> @@ -40,2 +40,3 @@
>  namespace GpgME {
> +    GPGMEPP_EXPORT void initializeLibrary();
>  

> --- kleopatra/main.cpp	(revision 986647)
> +++ kleopatra/main.cpp	(revision 986648)
> @@ -77,2 +77,4 @@
>  
> +#include <gpgme++/global.h>
> +
>  #include <boost/shared_ptr.hpp>
> @@ -155,2 +157,4 @@
>  
> +    GpgME::initializeLibrary();
> +
>    {
> --- libkleo/backends/qgpgme/qgpgmebackend.cpp	(revision 986649)
> +++ libkleo/backends/qgpgme/qgpgmebackend.cpp	(revision 986650)
> @@ -282,3 +282,3 @@
>  {
> -
> +  GpgME::initializeLibrary();
>  }

> --- kleopatra/main.cpp	(revision 986492)
> +++ kleopatra/main.cpp	(revision 986493)
> @@ -76,2 +76,4 @@
>  
> +#include <gpgme++/global.h>
> +
>  #include <boost/shared_ptr.hpp>
> @@ -151,2 +153,4 @@
>  {
> +  GpgME::initializeLibrary();
> +
>    {
> --- libkleo/backends/qgpgme/qgpgmebackend.cpp	(revision 986499)
> +++ libkleo/backends/qgpgme/qgpgmebackend.cpp	(revision 986500)
> @@ -282,3 +282,3 @@
>  {
> -
> +  GpgME::initializeLibrary();
>  }

> --- libkdenetwork/gpgmepp/context.cpp	(revision 986753)
> +++ libkdenetwork/gpgmepp/context.cpp	(revision 986754)
> @@ -56,2 +56,6 @@
>  
> +  void initializeLibrary() {
> +    gpgme_check_version( 0 );
> +  }
> +
>    const char * Error::source() const {
> --- libkdenetwork/gpgmepp/context.h	(revision 986753)
> +++ libkdenetwork/gpgmepp/context.h	(revision 986754)
> @@ -300,2 +300,4 @@
>  
> +  KDE_EXPORT void initializeLibrary();
> +
>    KDE_EXPORT GpgME::Error setDefaultLocale( int category, const char * value );
> --- certmanager/lib/backends/qgpgme/qgpgmebackend.cpp	(revision 987479)
> +++ certmanager/lib/backends/qgpgme/qgpgmebackend.cpp	(revision 987480)
> @@ -56,3 +56,3 @@
>  {
> -
> +  GpgME::initializeLibrary();
>  }

> --- libkdenetwork/gpgmepp/context.cpp	(revision 986744)
> +++ libkdenetwork/gpgmepp/context.cpp	(revision 986745)
> @@ -55,2 +55,6 @@
>  
> +  void initializeLibrary() {
> +    gpgme_check_version( 0 );
> +  }
> +
>    const char * Error::source() const {
> --- libkdenetwork/gpgmepp/Makefile.am	(revision 986744)
> +++ libkdenetwork/gpgmepp/Makefile.am	(revision 986745)
> @@ -48,3 +48,3 @@
>  #   (Interfaces removed/changed:        AGE=0)
> -libgpgme___la_LDFLAGS = -no-undefined -version-info 3:0:3
> +libgpgme___la_LDFLAGS = -no-undefined -version-info 4:0:4
>  libgpgme___la_LIBADD = $(GPGME_LIBS)
> --- libkdenetwork/gpgmepp/context.h	(revision 986744)
> +++ libkdenetwork/gpgmepp/context.h	(revision 986745)
> @@ -289,2 +289,4 @@
>  
> +  KDE_EXPORT void initializeLibrary();
> +
>    KDE_EXPORT GpgME::Error setDefaultLocale( int category, const char * value );
> --- certmanager/lib/backends/qgpgme/qgpgmebackend.cpp	(revision 987045)
> +++ certmanager/lib/backends/qgpgme/qgpgmebackend.cpp	(revision 987046)
> @@ -56,3 +56,3 @@
>  {
> -
> +  GpgME::initializeLibrary();
>  }





More information about the kde-freebsd mailing list