head 1.4; access; symbols pkgsrc-2014Q3:1.3.0.12 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.10 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.8 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.6 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.4 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.2 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.2.0.2 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.1.0.20 pkgsrc-2012Q4-base:1.1 pkgsrc-2012Q3:1.1.0.18 pkgsrc-2012Q3-base:1.1 pkgsrc-2012Q2:1.1.0.16 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.14 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.12 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.10 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.8 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.6 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.4 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.2 pkgsrc-2010Q3-base:1.1; locks; strict; comment @# @; 1.4 date 2014.11.13.19.19.08; author markd; state dead; branches; next 1.3; commitid BLxxtdelNTXOF3Yx; 1.3 date 2013.06.13.14.29.37; author joerg; state Exp; branches; next 1.2; commitid lTNZbsbjefQOIsTw; 1.2 date 2013.02.27.19.29.33; author markd; state Exp; branches; next 1.1; 1.1 date 2010.09.01.13.45.25; author wiz; state Exp; branches; next ; desc @@ 1.4 log @Update to KDE SC 4.14.3 @ text @$NetBSD: patch-an,v 1.3 2013/06/13 14:29:37 joerg Exp $ libassuan2 support from http://websvn.kde.org/?view=revision&revision=1078528 Work around moc inability to parse a boost macro --- kleopatra/uiserver/assuanserverconnection.cpp.orig 2011-04-20 20:03:31.000000000 +0000 +++ kleopatra/uiserver/assuanserverconnection.cpp @@@@ -77,11 +77,13 @@@@ #include +#ifndef Q_MOC_RUN #include #include #include #include #include +#endif #include #include @@@@ -91,10 +93,6 @@@@ #include -#ifdef __GNUC__ -# include // for is_sorted -#endif - #ifdef Q_OS_WIN32 # include # include @@@@ -116,13 +114,18 @@@@ static const unsigned int INIT_SOCKET_FL static const int FOR_READING = 0; static const unsigned int MAX_ACTIVE_FDS = 32; +static void my_assuan_release( assuan_context_t ctx ) { + if ( ctx ) + assuan_release( ctx ); +} + // shared_ptr for assuan_context_t w/ deleter enforced to assuan_deinit_server: typedef shared_ptr< remove_pointer::type > AssuanContextBase; struct AssuanContext : AssuanContextBase { AssuanContext() : AssuanContextBase() {} - explicit AssuanContext( assuan_context_t ctx ) : AssuanContextBase( ctx, &assuan_deinit_server ) {} + explicit AssuanContext( assuan_context_t ctx ) : AssuanContextBase( ctx, &my_assuan_release ) {} - void reset( assuan_context_t ctx=0 ) { AssuanContextBase::reset( ctx, &assuan_deinit_server ); } + void reset( assuan_context_t ctx=0 ) { AssuanContextBase::reset( ctx, &my_assuan_release ); } }; static inline gpg_error_t assuan_process_done_msg( assuan_context_t ctx, gpg_error_t err, const char * err_msg ) { @@@@ -240,7 +243,8 @@@@ Q_SIGNALS: public Q_SLOTS: void slotReadActivity( int ) { assert( ctx ); - if ( const int err = assuan_process_next( ctx.get() ) ) { + int done = false; + if ( const int err = assuan_process_next( ctx.get(), &done ) || done ) { //if ( err == -1 || gpg_err_code(err) == GPG_ERR_EOF ) { topHalfDeletion(); if ( nohupedCommands.empty() ) @@@@ -296,15 +300,17 @@@@ private: } private: - static void reset_handler( assuan_context_t ctx_ ) { + static gpg_error_t reset_handler( assuan_context_t ctx_, char * ) { assert( assuan_get_pointer( ctx_ ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx_ ) ); conn.reset(); + + return 0; } - static int option_handler( assuan_context_t ctx_, const char * key, const char * value ) { + static gpg_error_t option_handler( assuan_context_t ctx_, const char * key, const char * value ) { assert( assuan_get_pointer( ctx_ ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx_ ) ); @@@@ -317,7 +323,7 @@@@ private: //return gpg_error( GPG_ERR_UNKNOWN_OPTION ); } - static int session_handler( assuan_context_t ctx_, char * line ) { + static gpg_error_t session_handler( assuan_context_t ctx_, char * line ) { assert( assuan_get_pointer( ctx_ ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx_ ) ); @@@@ -344,7 +350,7 @@@@ private: return assuan_process_done( ctx_, 0 ); } - static int capabilities_handler( assuan_context_t ctx_, char * line ) { + static gpg_error_t capabilities_handler( assuan_context_t ctx_, char * line ) { if ( !QByteArray( line ).trimmed().isEmpty() ) { static const QString errorString = i18n("CAPABILITIES does not take arguments"); return assuan_process_done_msg( ctx_, gpg_error( GPG_ERR_ASS_PARAMETER ), errorString ); @@@@ -357,7 +363,7 @@@@ private: return assuan_process_done( ctx_, assuan_send_data( ctx_, capabilities, sizeof capabilities - 1 ) ); } - static int getinfo_handler( assuan_context_t ctx_, char * line ) { + static gpg_error_t getinfo_handler( assuan_context_t ctx_, char * line ) { assert( assuan_get_pointer( ctx_ ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx_ ) ); @@@@ -386,7 +392,7 @@@@ private: return assuan_process_done( ctx_, assuan_send_data( ctx_, ba.constData(), ba.size() ) ); } - static int start_keymanager_handler( assuan_context_t ctx_, char * line ) { + static gpg_error_t start_keymanager_handler( assuan_context_t ctx_, char * line ) { assert( assuan_get_pointer( ctx_ ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx_ ) ); @@@@ -400,7 +406,7 @@@@ private: return assuan_process_done( ctx_, 0 ); } - static int start_confdialog_handler( assuan_context_t ctx_, char * line ) { + static gpg_error_t start_confdialog_handler( assuan_context_t ctx_, char * line ) { assert( assuan_get_pointer( ctx_ ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx_ ) ); @@@@ -418,7 +424,7 @@@@ private: // format: TAG (FD|FD=\d+|FILE=...) template - static int IO_handler( assuan_context_t ctx_, char * line_, T_memptr which ) { + static gpg_error_t IO_handler( assuan_context_t ctx_, char * line_, T_memptr which ) { assert( assuan_get_pointer( ctx_ ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx_ ) ); @@@@ -498,19 +504,19 @@@@ private: } - static int input_handler( assuan_context_t ctx, char * line ) { + static gpg_error_t input_handler( assuan_context_t ctx, char * line ) { return IO_handler( ctx, line, &Private::inputs ); } - static int output_handler( assuan_context_t ctx, char * line ) { + static gpg_error_t output_handler( assuan_context_t ctx, char * line ) { return IO_handler( ctx, line, &Private::outputs ); } - static int message_handler( assuan_context_t ctx, char * line ) { + static gpg_error_t message_handler( assuan_context_t ctx, char * line ) { return IO_handler( ctx, line, &Private::messages ); } - static int file_handler( assuan_context_t ctx_, char * line ) { + static gpg_error_t file_handler( assuan_context_t ctx_, char * line ) { assert( assuan_get_pointer( ctx_ ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx_ ) ); @@@@ -572,7 +578,7 @@@@ private: } template - static int recipient_sender_handler( T_memptr mp, T_memptr2 info, assuan_context_t ctx, char * line, bool sender=false ) { + static gpg_error_t recipient_sender_handler( T_memptr mp, T_memptr2 info, assuan_context_t ctx, char * line, bool sender=false ) { assert( assuan_get_pointer( ctx ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx ) ); @@@@ -656,11 +662,11 @@@@ private: return assuan_process_done( ctx, 0 ); } - static int recipient_handler( assuan_context_t ctx, char * line ) { + static gpg_error_t recipient_handler( assuan_context_t ctx, char * line ) { return recipient_sender_handler( &Private::recipients, &Private::informativeRecipients, ctx, line ); } - static int sender_handler( assuan_context_t ctx, char * line ) { + static gpg_error_t sender_handler( assuan_context_t ctx, char * line ) { return recipient_sender_handler( &Private::senders, &Private::informativeSenders, ctx, line, true ); } @@@@ -785,18 +791,18 @@@@ AssuanServerConnection::Private::Private sessionId( 0 ), factories( factories_ ) { -#ifdef __GNUC__ - assert( __gnu_cxx::is_sorted( factories_.begin(), factories_.end(), _detail::ByName() ) ); -#endif - if ( fd == ASSUAN_INVALID_FD ) throw Exception( gpg_error( GPG_ERR_INV_ARG ), "pre-assuan_init_socket_server_ext" ); - assuan_context_t naked_ctx = 0; - if ( const gpg_error_t err = assuan_init_socket_server_ext( &naked_ctx, fd, INIT_SOCKET_FLAGS ) ) + { + assuan_context_t naked_ctx = 0; + if ( const gpg_error_t err = assuan_new( &naked_ctx ) ) + throw Exception( err, "assuan_new" ); + ctx.reset( naked_ctx ); + } + if ( const gpg_error_t err = assuan_init_socket_server( ctx.get(), fd, INIT_SOCKET_FLAGS ) ) throw Exception( err, "assuan_init_socket_server_ext" ); - ctx.reset( naked_ctx ); naked_ctx = 0; // for callbacks, associate the context with this connection: assuan_set_pointer( ctx.get(), this ); @@@@ -824,34 +830,34 @@@@ AssuanServerConnection::Private::Private // register our INPUT/OUTPUT/MESSGAE/FILE handlers: - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "INPUT", input_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "INPUT", input_handler, "" ) ) throw Exception( err, "register \"INPUT\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "MESSAGE", message_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "MESSAGE", message_handler, "" ) ) throw Exception( err, "register \"MESSAGE\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "OUTPUT", output_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "OUTPUT", output_handler, "" ) ) throw Exception( err, "register \"OUTPUT\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "FILE", file_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "FILE", file_handler, "" ) ) throw Exception( err, "register \"FILE\" handler" ); // register user-defined commands: Q_FOREACH( shared_ptr fac, factories ) - if ( const gpg_error_t err = assuan_register_command( ctx.get(), fac->name(), fac->_handler() ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), fac->name(), fac->_handler(), "" ) ) throw Exception( err, std::string( "register \"" ) + fac->name() + "\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "GETINFO", getinfo_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "GETINFO", getinfo_handler, "" ) ) throw Exception( err, "register \"GETINFO\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "START_KEYMANAGER", start_keymanager_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "START_KEYMANAGER", start_keymanager_handler, "" ) ) throw Exception( err, "register \"START_KEYMANAGER\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "START_CONFDIALOG", start_confdialog_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "START_CONFDIALOG", start_confdialog_handler, "" ) ) throw Exception( err, "register \"START_CONFDIALOG\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "RECIPIENT", recipient_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "RECIPIENT", recipient_handler, "" ) ) throw Exception( err, "register \"RECIPIENT\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "SENDER", sender_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "SENDER", sender_handler, "" ) ) throw Exception( err, "register \"SENDER\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "SESSION", session_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "SESSION", session_handler, "" ) ) throw Exception( err, "register \"SESSION\" handler" ); - if ( const gpg_error_t err = assuan_register_command( ctx.get(), "CAPABILITIES", capabilities_handler ) ) + if ( const gpg_error_t err = assuan_register_command( ctx.get(), "CAPABILITIES", capabilities_handler, "" ) ) throw Exception( err, "register \"CAPABILITIES\" handler" ); assuan_set_hello_line( ctx.get(), "GPG UI server (Kleopatra/" KLEOPATRA_VERSION_STRING ") ready to serve" ); @@@@ -904,20 +910,14 @@@@ class InquiryHandler : public QObject { Q_OBJECT public: -#ifdef HAVE_ASSUAN_INQUIRE_EXT explicit InquiryHandler( const char * keyword_, QObject * p=0 ) : QObject( p ), -# ifndef HAVE_NEW_STYLE_ASSUAN_INQUIRE_EXT - buffer( 0 ), - buflen( 0 ), -# endif keyword( keyword_ ) { } -# ifdef HAVE_NEW_STYLE_ASSUAN_INQUIRE_EXT - static int handler( void * cb_data, int rc, unsigned char * buffer, size_t buflen ) + static gpg_error_t handler( void * cb_data, gpg_error_t rc, unsigned char * buffer, size_t buflen ) { assert( cb_data ); InquiryHandler * this_ = static_cast(cb_data); @@@@ -926,26 +926,9 @@@@ public: delete this_; return 0; } -# else - static int handler( void * cb_data, int rc ) - { - assert( cb_data ); - InquiryHandler * this_ = static_cast(cb_data); - emit this_->signal( rc, QByteArray::fromRawData( reinterpret_cast(this_->buffer), this_->buflen ), this_->keyword ); - std::free( this_->buffer ); - delete this_; - return 0; - } -# endif private: -# ifndef HAVE_NEW_STYLE_ASSUAN_INQUIRE_EXT - friend class ::Kleo::AssuanCommand; - unsigned char * buffer; - size_t buflen; -# endif const char * keyword; -#endif // HAVE_ASSUAN_INQUIRE_EXT Q_SIGNALS: void signal( int rc, const QByteArray & data, const QByteArray & keyword ); @@@@ -1157,20 +1140,13 @@@@ int AssuanCommand::inquire( const char * if ( d->nohup ) return makeError( GPG_ERR_INV_OP ); -#ifdef HAVE_ASSUAN_INQUIRE_EXT std::auto_ptr ih( new InquiryHandler( keyword, receiver ) ); receiver->connect( ih.get(), SIGNAL(signal(int,QByteArray,QByteArray)), slot ); if ( const gpg_error_t err = assuan_inquire_ext( d->ctx.get(), keyword, -# ifndef HAVE_NEW_STYLE_ASSUAN_INQUIRE_EXT - &ih->buffer, &ih->buflen, -# endif maxSize, InquiryHandler::handler, ih.get() ) ) return err; ih.release(); return 0; -#else - return makeError( GPG_ERR_NOT_SUPPORTED ); // libassuan too old -#endif // HAVE_ASSUAN_INQUIRE_EXT } void AssuanCommand::done( const GpgME::Error& err, const QString & details ) { @@@@ -1262,7 +1238,7 @@@@ const std::vector return d->senders; } -int AssuanCommandFactory::_handle( assuan_context_t ctx, char * line, const char * commandName ) { +gpg_error_t AssuanCommandFactory::_handle( assuan_context_t ctx, char * line, const char * commandName ) { assert( assuan_get_pointer( ctx ) ); AssuanServerConnection::Private & conn = *static_cast( assuan_get_pointer( ctx ) ); @ 1.3 log @Drop a bunch of ext/algorithm uses for asserts. Add explicit namespace references to resolve ambiguity with a C++11 STL implementation. @ text @d1 1 a1 1 $NetBSD: patch-an,v 1.2 2013/02/27 19:29:33 markd Exp $ @ 1.2 log @Work around moc inability to parse a boost macro @ text @d1 1 a1 1 $NetBSD: patch-an,v 1.1 2010/09/01 13:45:25 wiz Exp $ d24 12 a35 1 @@@@ -116,13 +118,18 @@@@ static const unsigned int INIT_SOCKET_FL d56 1 a56 1 @@@@ -240,7 +247,8 @@@@ Q_SIGNALS: d66 1 a66 1 @@@@ -296,15 +304,17 @@@@ private: d86 1 a86 1 @@@@ -317,7 +327,7 @@@@ private: d95 1 a95 1 @@@@ -344,7 +354,7 @@@@ private: d104 1 a104 1 @@@@ -357,7 +367,7 @@@@ private: d113 1 a113 1 @@@@ -386,7 +396,7 @@@@ private: d122 1 a122 1 @@@@ -400,7 +410,7 @@@@ private: d131 1 a131 1 @@@@ -418,7 +428,7 @@@@ private: d140 1 a140 1 @@@@ -498,19 +508,19 @@@@ private: d164 1 a164 1 @@@@ -572,7 +582,7 @@@@ private: d173 1 a173 1 @@@@ -656,11 +666,11 @@@@ private: d187 8 a194 1 @@@@ -792,11 +802,15 @@@@ AssuanServerConnection::Private::Private d213 1 a213 1 @@@@ -824,34 +838,34 @@@@ AssuanServerConnection::Private::Private d260 1 a260 1 @@@@ -904,20 +918,14 @@@@ class InquiryHandler : public QObject { d282 1 a282 1 @@@@ -926,26 +934,9 @@@@ public: d309 1 a309 1 @@@@ -1157,20 +1148,13 @@@@ int AssuanCommand::inquire( const char * d330 1 a330 1 @@@@ -1262,7 +1246,7 @@@@ const std::vector @ 1.1 log @Switch to libassuan2, based on KDE SVN http://websvn.kde.org/?view=revision&revision=1078528 Suitable SVN commit found by drochner@@ ok markd@@ Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD$ d6 3 a8 1 --- kleopatra/uiserver/assuanserverconnection.cpp.orig 2009-11-21 09:45:01.000000000 +0000 d10 15 a24 1 @@@@ -116,13 +116,18 @@@@ static const unsigned int INIT_SOCKET_FL d45 1 a45 1 @@@@ -240,7 +245,8 @@@@ Q_SIGNALS: d55 1 a55 1 @@@@ -296,15 +302,17 @@@@ private: d75 1 a75 1 @@@@ -317,7 +325,7 @@@@ private: d84 1 a84 1 @@@@ -344,7 +352,7 @@@@ private: d93 1 a93 1 @@@@ -357,7 +365,7 @@@@ private: d102 1 a102 1 @@@@ -386,7 +394,7 @@@@ private: d111 1 a111 1 @@@@ -400,7 +408,7 @@@@ private: d120 1 a120 1 @@@@ -418,7 +426,7 @@@@ private: d129 1 a129 1 @@@@ -498,19 +506,19 @@@@ private: d153 1 a153 1 @@@@ -572,7 +580,7 @@@@ private: d162 1 a162 1 @@@@ -656,11 +664,11 @@@@ private: d176 1 a176 1 @@@@ -792,11 +800,15 @@@@ AssuanServerConnection::Private::Private d195 1 a195 1 @@@@ -824,34 +836,34 @@@@ AssuanServerConnection::Private::Private d242 1 a242 1 @@@@ -904,20 +916,14 @@@@ class InquiryHandler : public QObject { d264 1 a264 1 @@@@ -926,26 +932,9 @@@@ public: d291 1 a291 1 @@@@ -1157,20 +1146,13 @@@@ int AssuanCommand::inquire( const char * d312 1 a312 1 @@@@ -1262,7 +1244,7 @@@@ const std::vector @