Hello community, here is the log from the commit of package twinkle for openSUSE:Factory checked in at Mon Aug 22 11:13:09 CEST 2011. -------- --- twinkle/twinkle.changes 2011-06-06 14:50:10.000000000 +0200 +++ /mounts/work_src_done/STABLE/twinkle/twinkle.changes 2011-07-24 18:53:31.000000000 +0200 @@ -1,0 +2,7 @@ +Sun Jul 24 18:48:44 CEST 2011 - Werner.Dittmann@t-online.de + +- add patch to modify Twinkle to use the new GNU uCommon/commoncpp libraries +- remove dependency to common C++ library +- merged the small non-void patch into the ucommon patch + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- twinkle-nonvoid.diff New: ---- twinkle-ucommon.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ twinkle.spec ++++++ --- /var/tmp/diff_new_pack.R29zJS/_old 2011-08-22 11:12:39.000000000 +0200 +++ /var/tmp/diff_new_pack.R29zJS/_new 2011-08-22 11:12:39.000000000 +0200 @@ -21,14 +21,14 @@ # BR's in openSUSE: BuildRequires: bison boost-devel file-devel kdelibs3-devel libsndfile-devel qt3-devel-tools readline-devel xorg-x11-devel # BR's in network:telephony -BuildRequires: libzrtpcpp-devel speex-devel +BuildRequires: libzrtpcpp-devel >= 2.0.0 speex-devel Summary: A SIP Soft Phone Version: 1.4.2 -Release: 12 +Release: 14 License: GPLv2+ Group: Productivity/Telephony/SIP/Clients Source: %{name}-%{version}.tar.bz2 -Patch0: twinkle-nonvoid.diff +Patch0: twinkle-ucommon.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build Url: http://www.twinklephone.com @@ -42,7 +42,7 @@ %prep %setup -q -%patch0 +%patch0 -p1 %build autoreconf -fi ++++++ twinkle-ucommon.diff ++++++ diff --git a/configure.in b/configure.in index edd4953..1b52117 100644 --- a/configure.in +++ b/configure.in @@ -47,7 +47,7 @@ AC_CHECK_HEADERS([linux/errqueue.h],[],[],[ # Check version of the Common C++ library. # This also sets the cc++2 include directory in CXXFLAGS -OST_CCXX2_VERSION(1.6.0,,exit) +#OST_CCXX2_VERSION(1.6.0,,exit) # Temporarily add some default directories to PKG_CONFIG_PATH such that # the user will not be burdened with setting PKG_CONFIG_PATH @@ -66,7 +66,9 @@ fi export PKG_CONFIG_PATH -PKG_CHECK_MODULES(CCRTP, libccrtp1 >= 1.6.0) +PKG_CHECK_MODULES(CCRTP, libccrtp >= 2.0.0) +PKG_CHECK_MODULES(UCOMMON, ucommon >= 5.0.0) +CCRTP_LIBS="$CCRTP_LIBS $UCOMMON_LIBS" PKG_CHECK_MODULES(XML2, libxml-2.0) # AC_CHECK_HEADER(libxml/tree.h, [], @@ -136,7 +138,7 @@ done #echo "INCLUDEPATH += `$CCGNU2_CONFIG --includes`" | sed -e s/-I//g > $QT_INCL_PRO # libccrtp1(ccrtp) depend from libccgnu2(commoncpp2) and # should include above flags ! -echo "INCLUDEPATH += `$PKG_CONFIG --cflags-only-I libccrtp1`" | sed -e s/-I//g >> $QT_INCL_PRO +echo "INCLUDEPATH += `$PKG_CONFIG --cflags-only-I libccrtp`" | sed -e s/-I//g >> $QT_INCL_PRO echo "INCLUDEPATH += `$PKG_CONFIG --cflags-only-I libxml-2.0`" | sed -e s/-I//g >> $QT_INCL_PRO # get libraries specified on command line @@ -144,6 +146,7 @@ echo $LDFLAGS | xargs echo LIBS += >> $QT_INCL_PRO echo "LIBS += `$CCGNU2_CONFIG --stdlibs`" >> $QT_INCL_PRO echo "LIBS += $CCRTP_LIBS" >> $QT_INCL_PRO +echo "LIBS += $UCOMMON_LIBS" >> $QT_INCL_PRO echo "LIBS += $XML2_LIBS" >> $QT_INCL_PRO # Check if KDE is available @@ -264,7 +267,7 @@ fi # Check if zrtp is available if test "x$ac_cv_zrtp" = "xyes" then - PKG_CHECK_MODULES(ZRTP, libzrtpcpp >= 1.3.0) + PKG_CHECK_MODULES(ZRTP, libzrtpcpp >= 2.0.0) AC_CHECK_LIB(zrtpcpp, main, [ AC_CHECK_HEADER(libzrtpcpp/ZrtpQueue.h, [], [AC_MSG_ERROR([zrtp header files missing])]) diff --git a/src/audio/audio_decoder.h b/src/audio/audio_decoder.h index 5fa9c55..cee198f 100644 --- a/src/audio/audio_decoder.h +++ b/src/audio/audio_decoder.h @@ -21,7 +21,6 @@ #ifndef _AUDIO_DECODER_H #define _AUDIO_DECODER_H -#include <cc++/config.h> #include "twinkle_config.h" #include "audio_codecs.h" #include "user.h" diff --git a/src/audio/audio_encoder.h b/src/audio/audio_encoder.h index d280567..e2fb874 100644 --- a/src/audio/audio_encoder.h +++ b/src/audio/audio_encoder.h @@ -21,7 +21,6 @@ #ifndef _AUDIO_ENCODER_H #define _AUDIO_ENCODER_H -#include <cc++/config.h> #include "twinkle_config.h" #include "audio_codecs.h" #include "user.h" diff --git a/src/audio/audio_rx.cpp b/src/audio/audio_rx.cpp index bb6db2b..db6d4f3 100644 --- a/src/audio/audio_rx.cpp +++ b/src/audio/audio_rx.cpp @@ -22,7 +22,6 @@ #include <cstdlib> #include <sys/types.h> #include <sys/time.h> -#include <cc++/config.h> #include "audio_rx.h" #include "log.h" diff --git a/src/audio/dtmf_player.h b/src/audio/dtmf_player.h index 5fa88db..0145289 100644 --- a/src/audio/dtmf_player.h +++ b/src/audio/dtmf_player.h @@ -21,7 +21,6 @@ #ifndef _DTMF_PLAYER_H #define _DTMF_PLAYER_H -#include <cc++/config.h> #include "twinkle_config.h" #include "audio_encoder.h" #include "freq_gen.h" diff --git a/src/audio/freq_gen.h b/src/audio/freq_gen.h index 5659739..6817baa 100644 --- a/src/audio/freq_gen.h +++ b/src/audio/freq_gen.h @@ -26,7 +26,7 @@ #define _FREQ_GEN_H #include <vector> -#include <cc++/config.h> +#include <commoncpp/config.h> using namespace std; diff --git a/src/audio/tone_gen.h b/src/audio/tone_gen.h index 1323fd4..a789734 100644 --- a/src/audio/tone_gen.h +++ b/src/audio/tone_gen.h @@ -21,7 +21,6 @@ #include <string> #include <fstream> -#include <cc++/config.h> #include <sndfile.h> #include "sys_settings.h" #include "threads/mutex.h" diff --git a/src/call_script.h b/src/call_script.h index 4253bda..db19987 100644 --- a/src/call_script.h +++ b/src/call_script.h @@ -65,7 +65,6 @@ #include <vector> #include <string> -#include <cc++/config.h> #include "user.h" #include "parser/request.h" diff --git a/src/log.cpp b/src/log.cpp index ee2ce87..136afd3 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -40,6 +40,7 @@ void *main_logview(void *arg) { // TODO: handle situation where log file was zapped. if (ui) ui->cb_log_updated(false); } + return NULL; } bool t_log::move_current_to_old(void) { @@ -161,7 +162,7 @@ void t_log::write_header(const string &func_name, t_log_class log_class, gettimeofday(&t, NULL); date = t.tv_sec; - localtime_r(&date, &tm); + ::localtime_r(&date, &tm); *log_stream << "+++ "; *log_stream << tm.tm_mday; diff --git a/src/mwi/mwi_dialog.cpp b/src/mwi/mwi_dialog.cpp index 41ca0dd..135a866 100644 --- a/src/mwi/mwi_dialog.cpp +++ b/src/mwi/mwi_dialog.cpp @@ -32,4 +32,5 @@ t_mwi_dialog::t_mwi_dialog(t_phone_user *_phone_user) : t_mwi_dialog *t_mwi_dialog::copy(void) { // Copy is not needed. assert(false); + return NULL; } diff --git a/src/mwi/simple_msg_sum_body.h b/src/mwi/simple_msg_sum_body.h index 48f7584..346626f 100644 --- a/src/mwi/simple_msg_sum_body.h +++ b/src/mwi/simple_msg_sum_body.h @@ -26,7 +26,6 @@ #include <string> #include <map> -#include <cc++/config.h> #include "parser/sip_body.h" #include "sockets/url.h" diff --git a/src/parser/definitions.cpp b/src/parser/definitions.cpp index c849553..ef2e51d 100644 --- a/src/parser/definitions.cpp +++ b/src/parser/definitions.cpp @@ -38,6 +38,7 @@ string method2str(const t_method &m, const string &unknown) { case METHOD_UNKNOWN: return unknown; default: assert(false); } + return unknown; } t_method str2method(const string &s) { diff --git a/src/parser/request.cpp b/src/parser/request.cpp index 1e678d4..9ee3d75 100644 --- a/src/parser/request.cpp +++ b/src/parser/request.cpp @@ -23,9 +23,11 @@ #include "milenage.h" #include "audits/memman.h" #include <sstream> -#include <cc++/digest.h> +#include <ucommon/secure.h> -using namespace ost; +using namespace UCOMMON_NAMESPACE; + +// using namespace ost; // AKAv1-MD5 algorithm specific helpers @@ -148,10 +150,10 @@ int b64_dec(const u8 * src, u8 * dst, int len) // authentication with AKAv1-MD5 algorithm (RFC 3310) bool t_request::authorize_akav1_md5(const t_digest_challenge &dchlg, - const string &username, const string &passwd, uint8 *op, uint8 *amf, + const std::string &username, const std::string &passwd, uint8 *op, uint8 *amf, unsigned long nc, - const string &cnonce, const string &qop, string &resp, - string &fail_reason) const + const std::string &cnonce, const std::string &qop, std::string &resp, + std::string &fail_reason) const { u8 nonce64[B64_DEC_SZ(dchlg.nonce.size())]; int len = b64_dec((const u8 *)dchlg.nonce.c_str(), nonce64, dchlg.nonce.size()); @@ -183,7 +185,7 @@ bool t_request::authorize_akav1_md5(const t_digest_challenge &dchlg, for (i=0; i < AKA_SQNLEN; i++) sqn[i] = sqnxoraka[i] ^ ak[i]; - string res_str = string((char *)res, AKA_RESLEN); + std::string res_str = std::string((char *)res, AKA_RESLEN); return authorize_md5(dchlg, username, res_str, nc, cnonce, qop, resp, fail_reason); @@ -192,11 +194,11 @@ bool t_request::authorize_akav1_md5(const t_digest_challenge &dchlg, // authentication with MD5 algorithm bool t_request::authorize_md5(const t_digest_challenge &dchlg, - const string &username, const string &passwd, unsigned long nc, - const string &cnonce, const string &qop, string &resp, - string &fail_reason) const + const std::string &username, const std::string &passwd, unsigned long nc, + const std::string &cnonce, const std::string &qop, std::string &resp, + std::string &fail_reason) const { - string A1, A2; + std::string A1, A2; // RFC 2617 3.2.2.2 A1 = username + ":" + dchlg.realm + ":" + passwd; @@ -207,60 +209,51 @@ bool t_request::authorize_md5(const t_digest_challenge &dchlg, A2 = method2str(method, unknown_method) + ":" + uri.encode(); A2 += ":"; if (body) { - MD5Digest MD5body; - MD5body << body->encode(); - ostringstream os; - os << MD5body; - A2 += os.str(); + digest_t MD5body = "md5"; + MD5body.puts(body->encode().c_str()); + A2 += std::string(MD5body.c_str()); } else { - MD5Digest MD5body; - MD5body << ""; - ostringstream os; - os << MD5body; - A2 += os.str(); + digest_t MD5body = "md5"; + MD5body.puts(""); + A2 += std::string(MD5body.c_str()); } } - // RFC 2716 3.2.2.1 // Caculate digest - MD5Digest MD5A1; - MD5Digest MD5A2; - ostringstream HA1; - ostringstream HA2; + digest_t MD5A1 = "md5"; + digest_t MD5A2 = "md5"; - MD5A1 << A1; - MD5A2 << A2; - HA1 << MD5A1; - HA2 << MD5A2; + MD5A1.puts(A1.c_str()); + MD5A2.puts(A2.c_str()); - string x; + std::string x; if (cmp_nocase(qop, QOP_AUTH) == 0 || cmp_nocase(qop, QOP_AUTH_INT) == 0) { - x = HA1.str() + ":"; + x = std::string(MD5A1.c_str()); + x += ":"; x += dchlg.nonce + ":"; x += int2str(nc, "%08x") + ":"; x += cnonce + ":"; x += qop + ":"; - x += HA2.str(); + x += std::string(MD5A2.c_str()); } else { - x = HA1.str() + ":"; + x = std::string(MD5A1.c_str()); + x += ":"; x += dchlg.nonce + ":"; - x += HA2.str(); + x += std::string(MD5A2.c_str()); } - MD5Digest digest; - digest << x; - ostringstream dresp; - dresp << digest; + digest_t digest = "md5"; + digest.puts(x.c_str()); - resp = dresp.str(); + resp = std::string(digest.c_str()); return true; } bool t_request::authorize(const t_challenge &chlg, t_user *user_config, - const string &username, const string &passwd, unsigned long nc, - const string &cnonce, t_credentials &cr, string &fail_reason) const + const std::string &username, const std::string &passwd, unsigned long nc, + const std::string &cnonce, t_credentials &cr, std::string &fail_reason) const { // Only Digest authentication is supported if (cmp_nocase(chlg.auth_scheme, AUTH_DIGEST) != 0) { @@ -271,17 +264,17 @@ bool t_request::authorize(const t_challenge &chlg, t_user *user_config, const t_digest_challenge &dchlg = chlg.digest_challenge; - string qop = ""; + std::string qop = ""; // Determine QOP // If both auth and auth-int are supported by the server, then // choose auth to avoid problems with SIP ALGs. A SIP ALG rewrites // the body of a message, thereby breaking auth-int authentication. if (!dchlg.qop_options.empty()) { - const list<string>::const_iterator i = find( + const liststd::string::const_iterator i = find( dchlg.qop_options.begin(), dchlg.qop_options.end(), QOP_AUTH_INT); - const list<string>::const_iterator j = find( + const liststd::string::const_iterator j = find( dchlg.qop_options.begin(), dchlg.qop_options.end(), QOP_AUTH); if (j != dchlg.qop_options.end()) @@ -297,7 +290,7 @@ bool t_request::authorize(const t_challenge &chlg, t_user *user_config, } bool ret = false; - string resp; + std::string resp; if (cmp_nocase(dchlg.algorithm, ALG_MD5) == 0) { ret = authorize_md5(dchlg, username, passwd, nc, cnonce, @@ -359,15 +352,15 @@ t_request::t_request(const t_method m) : t_sip_message() { method = m; } -void t_request::set_method(const string &s) { +void t_request::set_method(const std::string &s) { method = str2method(s); if (method == METHOD_UNKNOWN) { unknown_method = s; } } -string t_request::encode(bool add_content_length) { - string s; +std::string t_request::encode(bool add_content_length) { + std::string s; s = method2str(method, unknown_method) + ' ' + uri.encode(); s += " SIP/"; @@ -377,9 +370,9 @@ string t_request::encode(bool add_content_length) { return s; } -list<string> t_request::encode_env(void) { - string s; - list<string> l = t_sip_message::encode_env(); +liststd::string t_request::encode_env(void) { + std::string s; + liststd::string l = t_sip_message::encode_env(); s = "SIPREQUEST_METHOD="; s += method2str(method, unknown_method); @@ -431,7 +424,7 @@ void t_request::set_route(const t_url &target_uri, const list<t_route> &route_se } } -t_response *t_request::create_response(int code, string reason) const +t_response *t_request::create_response(int code, std::string reason) const { t_response *r; @@ -458,7 +451,7 @@ t_response *t_request::create_response(int code, string reason) const return r; } -bool t_request::is_valid(bool &fatal, string &reason) const { +bool t_request::is_valid(bool &fatal, std::string &reason) const { if (!t_sip_message::is_valid(fatal, reason)) return false; fatal = false; @@ -702,8 +695,8 @@ void t_request::set_destination(const t_ip_port &ip_port) { } bool t_request::www_authorize(const t_challenge &chlg, t_user *user_config, - const string &username, const string &passwd, unsigned long nc, - const string &cnonce, t_credentials &cr, string &fail_reason) + const std::string &username, const std::string &passwd, unsigned long nc, + const std::string &cnonce, t_credentials &cr, std::string &fail_reason) { if (!authorize(chlg, user_config, username, passwd, nc, cnonce, cr, fail_reason)) { return false; @@ -715,8 +708,8 @@ bool t_request::www_authorize(const t_challenge &chlg, t_user *user_config, } bool t_request::proxy_authorize(const t_challenge &chlg, t_user *user_config, - const string &username, const string &passwd, unsigned long nc, - const string &cnonce, t_credentials &cr, string &fail_reason) + const std::string &username, const std::string &passwd, unsigned long nc, + const std::string &cnonce, t_credentials &cr, std::string &fail_reason) { if (!authorize(chlg, user_config, username, passwd, nc, cnonce, cr, fail_reason)) { return false; diff --git a/src/parser/sip_body.h b/src/parser/sip_body.h index 88c93a7..a63115b 100644 --- a/src/parser/sip_body.h +++ b/src/parser/sip_body.h @@ -20,7 +20,7 @@ #ifndef _H_SIP_BODY #define _H_SIP_BODY -#include <cc++/config.h> +#include <commoncpp/config.h> #include <string> #include <libxml/tree.h> diff --git a/src/presence/presence_dialog.cpp b/src/presence/presence_dialog.cpp index f281493..070dbc2 100644 --- a/src/presence/presence_dialog.cpp +++ b/src/presence/presence_dialog.cpp @@ -32,4 +32,5 @@ t_presence_dialog::t_presence_dialog(t_phone_user *_phone_user, t_presence_state t_presence_dialog *t_presence_dialog::copy(void) { // Copy is not needed. assert(false); + return NULL; } diff --git a/src/sdp/sdp.cpp b/src/sdp/sdp.cpp index 7d5de3b..3c9a93d 100644 --- a/src/sdp/sdp.cpp +++ b/src/sdp/sdp.cpp @@ -37,6 +37,7 @@ string sdp_ntwk_type2str(t_sdp_ntwk_type n) { default: assert(false); } + return ""; } t_sdp_ntwk_type str2sdp_ntwk_type(string s) { @@ -53,6 +54,7 @@ string sdp_addr_type2str(t_sdp_addr_type a) { default: assert(false); } + return ""; } t_sdp_addr_type str2sdp_addr_type(string s) { @@ -69,6 +71,7 @@ string sdp_transport2str(t_sdp_transport t) { default: assert(false); } + return ""; } t_sdp_transport str2sdp_transport(string s) { @@ -92,6 +95,7 @@ string sdp_media_type2str(t_sdp_media_type m) { default: assert(false); } + return ""; } string get_rtpmap(unsigned format, t_audio_codec codec) { @@ -153,6 +157,7 @@ string sdp_media_direction2str(t_sdp_media_direction d) { default: assert(false); } + return ""; } /////////////////////////////////// diff --git a/src/sequence_number.h b/src/sequence_number.h index c192012..6119506 100644 --- a/src/sequence_number.h +++ b/src/sequence_number.h @@ -24,7 +24,6 @@ #ifndef _SEQUENCE_NUMBER_H #define _SEQUENCE_NUMBER_H -#include <cc++/config.h> /** * Sequence numbers. diff --git a/src/sys_settings.cpp b/src/sys_settings.cpp index 36e7142..9a9ee11 100644 --- a/src/sys_settings.cpp +++ b/src/sys_settings.cpp @@ -1064,7 +1064,7 @@ string t_sys_settings::about(bool html) const { if (html) s += "<BR>"; s += "\n"; - s += "* GNU CommonC++ - http://www.gnu.org/software/commoncpp"; + s += "* GNU uCommon C++ - http://www.gnutelephony.org/index.php/Category:Software"; if (html) s += "<BR><BR>"; s += "\n\n"; diff --git a/src/timekeeper.cpp b/src/timekeeper.cpp index 9a1a515..88983e1 100644 --- a/src/timekeeper.cpp +++ b/src/timekeeper.cpp @@ -782,4 +782,5 @@ void *timekeeper_sigwait(void *arg) { if (sigwait(&sigset, &sig) == EINTR) continue; evq_timekeeper->interrupt(); } + return NULL; } diff --git a/src/user.cpp b/src/user.cpp index 224e291..b3de725 100644 --- a/src/user.cpp +++ b/src/user.cpp @@ -225,6 +225,7 @@ string t_user::bit_rate_type2str(t_bit_rate_type b) const { default: assert(false); } + return ""; } t_dtmf_transport t_user::str2dtmf_transport(const string &s) const { @@ -244,6 +245,7 @@ string t_user::dtmf_transport2str(t_dtmf_transport d) const { default: assert(false); } + return ""; } t_g726_packing t_user::str2g726_packing(const string &s) const { @@ -259,6 +261,7 @@ string t_user::g726_packing2str(t_g726_packing packing) const { default: assert(false); } + return ""; } t_sip_transport t_user::str2sip_transport(const string &s) const { @@ -276,6 +279,7 @@ string t_user::sip_transport2str(t_sip_transport transport) const { default: assert(false); } + return ""; } string t_user::expand_filename(const string &filename) { diff --git a/src/user.h b/src/user.h index 94c015a..f78652d 100644 --- a/src/user.h +++ b/src/user.h @@ -25,7 +25,6 @@ #include <string> #include <list> -#include <cc++/config.h> #include "protocol.h" #include "sys_settings.h" #include "audio/audio_codecs.h" diff --git a/src/util.h b/src/util.h index b2509df..2f246da 100644 --- a/src/util.h +++ b/src/util.h @@ -26,7 +26,7 @@ #include <vector> #include <string> -#include <cc++/config.h> +#include <commoncpp/config.h> using namespace std; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org