| Index: third_party/libjingle/mods-since-v0_4_0.diff
|
| diff --git a/third_party/libjingle/mods-since-v0_4_0.diff b/third_party/libjingle/mods-since-v0_4_0.diff
|
| deleted file mode 100644
|
| index 5812304c4dc42838c616ae1030fc1b0608befeb2..0000000000000000000000000000000000000000
|
| --- a/third_party/libjingle/mods-since-v0_4_0.diff
|
| +++ /dev/null
|
| @@ -1,1684 +0,0 @@
|
| -Only in libjingle-0.4.0: Makefile.in
|
| -diff -r libjingle-0.4.0/README libjingle/files/README
|
| -1,39c1,39
|
| -< Libjingle
|
| -<
|
| -< Libjingle is a set of components provided by Google to interoperate with Google
|
| -< Talk's peer-to-peer and voice capabilities. This package will create several
|
| -< static libraries you may link to your project as needed.
|
| -<
|
| -< -talk - No source files in talk/, just these subdirectories
|
| -< |-base - Contains basic low-level portable utility functions for
|
| -< | things like threads and sockets
|
| -< |-p2p - The P2P stack
|
| -< |-base - Base p2p functionality
|
| -< |-client - Hooks to tie it into XMPP
|
| -< |-session - Signaling
|
| -< |-phone - Signaling code specific to making phone calls
|
| -< |-third_party - Components that aren't ours
|
| -< |-mediastreamer - Media components for dealing with sound hardware and
|
| -< | voice codecs
|
| -< |-xmllite - XML parser
|
| -< |-xmpp - XMPP engine
|
| -<
|
| -< In addition, this package contains two examples in talk/examples which
|
| -< illustrate the basic concepts of how the provided classes work.
|
| -<
|
| -< The xmllite component of libjingle depends on expat. You can download expat
|
| -< from http://expat.sourceforge.net/.
|
| -<
|
| -< mediastreamer, the media components used by the example applications depend on
|
| -< the oRTP and iLBC components from linphone, which can be found at
|
| -< http://www.linphone.org. Linphone, in turn depends on GLib, which can be found
|
| -< at http://www.gtk.org. This GLib dependency should be removed in future
|
| -< releases.
|
| -<
|
| -< Building Libjingle
|
| -<
|
| -< Once the dependencies are installed, run ./configure. ./configure will return
|
| -< an error if it failed to locate the proper dependencies. If ./configure
|
| -< succeeds, run 'make' to build the components and examples.
|
| -<
|
| -< When the build is complete, you can run the call example from
|
| ----
|
| -> Libjingle
|
| ->
|
| -> Libjingle is a set of components provided by Google to interoperate with Google
|
| -> Talk's peer-to-peer and voice capabilities. This package will create several
|
| -> static libraries you may link to your project as needed.
|
| ->
|
| -> -talk - No source files in talk/, just these subdirectories
|
| -> |-base - Contains basic low-level portable utility functions for
|
| -> | things like threads and sockets
|
| -> |-p2p - The P2P stack
|
| -> |-base - Base p2p functionality
|
| -> |-client - Hooks to tie it into XMPP
|
| -> |-session - Signaling
|
| -> |-phone - Signaling code specific to making phone calls
|
| -> |-third_party - Components that aren't ours
|
| -> |-mediastreamer - Media components for dealing with sound hardware and
|
| -> | voice codecs
|
| -> |-xmllite - XML parser
|
| -> |-xmpp - XMPP engine
|
| ->
|
| -> In addition, this package contains two examples in talk/examples which
|
| -> illustrate the basic concepts of how the provided classes work.
|
| ->
|
| -> The xmllite component of libjingle depends on expat. You can download expat
|
| -> from http://expat.sourceforge.net/.
|
| ->
|
| -> mediastreamer, the media components used by the example applications depend on
|
| -> the oRTP and iLBC components from linphone, which can be found at
|
| -> http://www.linphone.org. Linphone, in turn depends on GLib, which can be found
|
| -> at http://www.gtk.org. This GLib dependency should be removed in future
|
| -> releases.
|
| ->
|
| -> Building Libjingle
|
| ->
|
| -> Once the dependencies are installed, run ./configure. ./configure will return
|
| -> an error if it failed to locate the proper dependencies. If ./configure
|
| -> succeeds, run 'make' to build the components and examples.
|
| ->
|
| -> When the build is complete, you can run the call example from
|
| -41,57c41,57
|
| -<
|
| -< Relay Server
|
| -<
|
| -< Libjingle will also build a relay server that may be used to relay traffic
|
| -< when a direct peer-to-peer connection could not be established. The relay
|
| -< server will build in talk/p2p/base/relayserver and will listen on UDP
|
| -< ports 5000 and 5001. See the Libjingle Developer Guide at
|
| -< http://code.google.com/apis/talk/index.html for information about configuring
|
| -< a client to use this relay server.
|
| -<
|
| -< STUN Server
|
| -<
|
| -< Lastly, Libjingle builds a STUN server which implements the STUN protocol for
|
| -< Simple Traversal of UDP over NAT. The STUN server is built as
|
| -< talk/p2p/base/stunserver and listens on UDP port 7000. See the Libjingle
|
| -< Developer Guide at http://code.google.com/apis/talk/index.html for information
|
| -< about configuring a client to use this STUN server.
|
| ----
|
| ->
|
| -> Relay Server
|
| ->
|
| -> Libjingle will also build a relay server that may be used to relay traffic
|
| -> when a direct peer-to-peer connection could not be established. The relay
|
| -> server will build in talk/p2p/base/relayserver and will listen on UDP
|
| -> ports 5000 and 5001. See the Libjingle Developer Guide at
|
| -> http://code.google.com/apis/talk/index.html for information about configuring
|
| -> a client to use this relay server.
|
| ->
|
| -> STUN Server
|
| ->
|
| -> Lastly, Libjingle builds a STUN server which implements the STUN protocol for
|
| -> Simple Traversal of UDP over NAT. The STUN server is built as
|
| -> talk/p2p/base/stunserver and listens on UDP port 7000. See the Libjingle
|
| -> Developer Guide at http://code.google.com/apis/talk/index.html for information
|
| -> about configuring a client to use this STUN server.
|
| -diff -r libjingle-0.4.0/README.win libjingle/files/README.win
|
| -1,24c1,24
|
| -< 1. Install Visual C++ Express 2005. It is free from this link:
|
| -< http://msdn.microsoft.com/vstudio/express/visualc/
|
| -<
|
| -< 2. Install the platform SDK and integrate it into VC++ express
|
| -< http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
|
| -<
|
| -< 3. Download and install binary package for expat:
|
| -< http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277
|
| -<
|
| -< 4. Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box
|
| -< Library files: C:\expat-VERSION\StaticLibs
|
| -< Include files: C:\expat-VERSION\Source\Lib
|
| -< where VERSION is the version of expat you've downoaded
|
| -<
|
| -< 5. Unzip the libjingle files and open the solution.
|
| -<
|
| -< 6. If you wish to build the call example with GIPS Voice Engine Lite, download Voice Engine Lite from http://developer.globalipsound.com
|
| -<
|
| -< 7. Extract the Interface and Library directories from the Voice Engine Lite zip file into talk\third_party\gips
|
| -<
|
| -< 8. Open talk\third_party\gips\expiration.h and set the GIPS_EXPIRATION #defines to the expiration date provided by GIPS and remove the #error directive
|
| -<
|
| -< 9. Build the solution
|
| -<
|
| ----
|
| -> 1. Install Visual C++ Express 2005. It is free from this link:
|
| -> http://msdn.microsoft.com/vstudio/express/visualc/
|
| ->
|
| -> 2. Install the platform SDK and integrate it into VC++ express
|
| -> http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
|
| ->
|
| -> 3. Download and install binary package for expat:
|
| -> http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277
|
| ->
|
| -> 4. Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box
|
| -> Library files: C:\expat-VERSION\StaticLibs
|
| -> Include files: C:\expat-VERSION\Source\Lib
|
| -> where VERSION is the version of expat you've downoaded
|
| ->
|
| -> 5. Unzip the libjingle files and open the solution.
|
| ->
|
| -> 6. If you wish to build the call example with GIPS Voice Engine Lite, download Voice Engine Lite from http://developer.globalipsound.com
|
| ->
|
| -> 7. Extract the Interface and Library directories from the Voice Engine Lite zip file into talk\third_party\gips
|
| ->
|
| -> 8. Open talk\third_party\gips\expiration.h and set the GIPS_EXPIRATION #defines to the expiration date provided by GIPS and remove the #error directive
|
| ->
|
| -> 9. Build the solution
|
| ->
|
| -Only in libjingle-0.4.0: aclocal.m4
|
| -Only in libjingle-0.4.0: config.guess
|
| -diff -r libjingle-0.4.0/config.h libjingle/files/config.h
|
| -14c14
|
| -< #define HAVE_ALSA_ASOUNDLIB_H 1
|
| ----
|
| -> /* #undef HAVE_ALSA_ASOUNDLIB_H */
|
| -23c23
|
| -< #define HAVE_GLIB 1
|
| ----
|
| -> /* #undef HAVE_GLIB */
|
| -38c38
|
| -< #define HAVE_ORTP 1
|
| ----
|
| -> /* #undef HAVE_ORTP */
|
| -41c41
|
| -< #define HAVE_SPEEX 1
|
| ----
|
| -> /* #undef HAVE_SPEEX */
|
| -47c47
|
| -< #define HAVE_SPEEX_SPEEX_H 1
|
| ----
|
| -> /* #undef HAVE_SPEEX_SPEEX_H */
|
| -71c71
|
| -< #define LINUX 1
|
| ----
|
| -> /* #undef LINUX */
|
| -113c113
|
| -< #define __ALSA_ENABLED__ 1
|
| ----
|
| -> /* #undef __ALSA_ENABLED__ */
|
| -Only in libjingle-0.4.0: config.h.in
|
| -Only in libjingle-0.4.0: config.sub
|
| -Only in libjingle-0.4.0: configure
|
| -Only in libjingle-0.4.0: depcomp
|
| -Only in libjingle-0.4.0: install-sh
|
| -Only in libjingle-0.4.0: ltmain.sh
|
| -Only in libjingle-0.4.0: missing
|
| -Only in libjingle-0.4.0/talk: Makefile.in
|
| -Only in libjingle-0.4.0/talk/base: Makefile.in
|
| -diff -r libjingle-0.4.0/talk/base/asynchttprequest.cc libjingle/files/talk/base/asynchttprequest.cc
|
| -73c73
|
| -< talk_base::SSLAdapter * ssl_adapter = talk_base::SSLAdapter::Create(socket);
|
| ----
|
| -> talk_base::SSLAdapter * ssl_adapter = factory_->CreateSSLAdapter(socket);
|
| -75c75,81
|
| -< ssl_adapter->StartSSL(hostname_.c_str(), true);
|
| ----
|
| -> int error = ssl_adapter->StartSSL(hostname_.c_str(),
|
| -> use_restartable_ssl_sockets_);
|
| -> if (error != 0) {
|
| -> LOG(LS_WARNING) << "Could not start SSL; error = " << error;
|
| -> delete ssl_adapter;
|
| -> return 0;
|
| -> }
|
| -diff -r libjingle-0.4.0/talk/base/asynchttprequest.h libjingle/files/talk/base/asynchttprequest.h
|
| -23,24c23
|
| -< public SignalThread,
|
| -< public sigslot::has_slots<> {
|
| ----
|
| -> public SignalThread {
|
| -106c105,106
|
| -< binary_mode_(false), agent_(user_agent) { }
|
| ----
|
| -> binary_mode_(false), agent_(user_agent),
|
| -> ignore_bad_cert_(false), use_restartable_ssl_sockets_(false) { }
|
| -114a115,120
|
| -> bool use_restartable_ssl_sockets() const {
|
| -> return use_restartable_ssl_sockets_;
|
| -> }
|
| -> void SetUseRestartableSSLSockets(bool use_restartable_ssl_sockets) {
|
| -> use_restartable_ssl_sockets_ = use_restartable_ssl_sockets;
|
| -> }
|
| -133a140
|
| -> bool use_restartable_ssl_sockets_;
|
| -diff -r libjingle-0.4.0/talk/base/asynctcpsocket.cc libjingle/files/talk/base/asynctcpsocket.cc
|
| -31a32,33
|
| -> #include <cstring>
|
| ->
|
| -diff -r libjingle-0.4.0/talk/base/autodetectproxy.cc libjingle/files/talk/base/autodetectproxy.cc
|
| -29c29
|
| -< #include "talk/base/httpcommon.h"
|
| ----
|
| -> #include "talk/base/httpcommon-inl.h"
|
| -114c114
|
| -< Thread::Current()->MessageQueue::Stop();
|
| ----
|
| -> Thread::Current()->Quit();
|
| -diff -r libjingle-0.4.0/talk/base/autodetectproxy.h libjingle/files/talk/base/autodetectproxy.h
|
| -22c22
|
| -< class AutoDetectProxy : public SignalThread, public sigslot::has_slots<> {
|
| ----
|
| -> class AutoDetectProxy : public SignalThread {
|
| -diff -r libjingle-0.4.0/talk/base/base64.h libjingle/files/talk/base/base64.h
|
| -26,27c26,27
|
| -< static const std::string Base64::Base64Table;
|
| -< static const std::string::size_type Base64::DecodeTable[];
|
| ----
|
| -> static const std::string Base64Table;
|
| -> static const std::string::size_type DecodeTable[];
|
| -diff -r libjingle-0.4.0/talk/base/common.h libjingle/files/talk/base/common.h
|
| -54c54
|
| -< #define stdmax(x,y) max(x,y)
|
| ----
|
| -> #define stdmax(x,y) _max(x,y)
|
| -114,119d113
|
| -< // A macro to disallow the evil copy constructor and operator= functions
|
| -< // This should be used in the private: declarations for a class
|
| -< #define DISALLOW_EVIL_CONSTRUCTORS(TypeName) \
|
| -< TypeName(const TypeName&); \
|
| -< void operator=(const TypeName&)
|
| -<
|
| -diff -r libjingle-0.4.0/talk/base/criticalsection.h libjingle/files/talk/base/criticalsection.h
|
| -39c39
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -41c41
|
| -< #endif // _DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -83c83
|
| -< public:
|
| ----
|
| -> public:
|
| -85a86
|
| -> pthread_mutexattr_init(&mutex_attribute);
|
| -87a89,90
|
| -> pthread_mutexattr_destroy(&mutex_attribute);
|
| -> TRACK_OWNER(thread_ = 0);
|
| -93a97
|
| -> TRACK_OWNER(thread_ = pthread_self());
|
| -95a100
|
| -> TRACK_OWNER(thread_ = 0);
|
| -98c103,110
|
| -< private:
|
| ----
|
| ->
|
| -> #if CS_TRACK_OWNER
|
| -> bool CurrentThreadIsOwner() const {
|
| -> return pthread_equal(thread_, pthread_self());
|
| -> }
|
| -> #endif // CS_TRACK_OWNER
|
| ->
|
| -> private:
|
| -99a112
|
| -> TRACK_OWNER(pthread_t thread_);
|
| -diff -r libjingle-0.4.0/talk/base/cryptstring.h libjingle/files/talk/base/cryptstring.h
|
| -30a31
|
| -> #include <string.h>
|
| -diff -r libjingle-0.4.0/talk/base/diskcache.cc libjingle/files/talk/base/diskcache.cc
|
| -43c43
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -45c45
|
| -< #else // !_DEBUG
|
| ----
|
| -> #else // defined(NDEBUG)
|
| -47c47
|
| -< #endif // !_DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -231c231
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -238c238
|
| -< #endif // _DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/base/diskcache_win32.cc libjingle/files/talk/base/diskcache_win32.cc
|
| -38c38
|
| -< entry->streams = max(entry->streams, index + 1);
|
| ----
|
| -> entry->streams = _max(entry->streams, index + 1);
|
| -diff -r libjingle-0.4.0/talk/base/helpers.cc libjingle/files/talk/base/helpers.cc
|
| -38a39
|
| -> #include <wincrypt.h>
|
| -diff -r libjingle-0.4.0/talk/base/host.cc libjingle/files/talk/base/host.cc
|
| -30a31
|
| -> #include <cstdlib>
|
| -diff -r libjingle-0.4.0/talk/base/httpclient.cc libjingle/files/talk/base/httpclient.cc
|
| -670a671
|
| -> HttpAuthContext *context = context_.get();
|
| -676c677,678
|
| -< *context_.use(), response, auth_method);
|
| ----
|
| -> context, response, auth_method);
|
| -> context_.reset(context);
|
| -diff -r libjingle-0.4.0/talk/base/httpcommon.h libjingle/files/talk/base/httpcommon.h
|
| -172c172
|
| -< inline const uint16 UrlDefaultPort(bool secure) {
|
| ----
|
| -> inline uint16 UrlDefaultPort(bool secure) {
|
| -diff -r libjingle-0.4.0/talk/base/logging.cc libjingle/files/talk/base/logging.cc
|
| -27a28
|
| -> #include <stdio.h>
|
| -76c77
|
| -< #if _DEBUG
|
| ----
|
| -> #if LOGGING
|
| -78c79
|
| -< #else // !_DEBUG
|
| ----
|
| -> #else
|
| -80c81
|
| -< #endif // !_DEBUG
|
| ----
|
| -> #endif
|
| -diff -r libjingle-0.4.0/talk/base/logging.h libjingle/files/talk/base/logging.h
|
| -67a68,69
|
| ->
|
| -> #if defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
|
| -70a73
|
| -> #endif // defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
|
| -195a199
|
| -> #if defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
|
| -197c201
|
| -< #if defined(_DEBUG) && !defined(NDEBUG)
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -290a295
|
| -> #endif // defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS)
|
| -diff -r libjingle-0.4.0/talk/base/messagequeue.cc libjingle/files/talk/base/messagequeue.cc
|
| -98,99c98,99
|
| -< new_ss = true;
|
| -< ss_ = new PhysicalSocketServer();
|
| ----
|
| -> default_ss_.reset(new PhysicalSocketServer());
|
| -> ss_ = default_ss_.get();
|
| -103a104,107
|
| -> // The signal is done from here to ensure
|
| -> // that it always gets called when the queue
|
| -> // is going away.
|
| -> SignalQueueDestroyed();
|
| -108,109d111
|
| -< if (new_ss)
|
| -< delete ss_;
|
| -113,115d114
|
| -< if (new_ss)
|
| -< delete ss_;
|
| -< new_ss = false;
|
| -119c118
|
| -< void MessageQueue::Stop() {
|
| ----
|
| -> void MessageQueue::Quit() {
|
| -124c123
|
| -< bool MessageQueue::IsStopping() {
|
| ----
|
| -> bool MessageQueue::IsQuitting() {
|
| -diff -r libjingle-0.4.0/talk/base/messagequeue.h libjingle/files/talk/base/messagequeue.h
|
| -35a36
|
| -> #include "talk/base/scoped_ptr.h"
|
| -162,164c163,164
|
| -<
|
| -< virtual void Stop();
|
| -< virtual bool IsStopping();
|
| ----
|
| -> virtual void Quit();
|
| -> virtual bool IsQuitting();
|
| -188a189,192
|
| -> // When this signal is sent out, any references to this queue should
|
| -> // no longer be used.
|
| -> sigslot::signal0<> SignalQueueDestroyed;
|
| ->
|
| -192a197,198
|
| -> // If a server isn't supplied in the constructor, use this one.
|
| -> scoped_ptr<SocketServer> default_ss_;
|
| -diff -r libjingle-0.4.0/talk/base/natserver.cc libjingle/files/talk/base/natserver.cc
|
| -28a29
|
| -> #include <cstring>
|
| -diff -r libjingle-0.4.0/talk/base/natsocketfactory.cc libjingle/files/talk/base/natsocketfactory.cc
|
| -29a30
|
| -> #include <cstring>
|
| -diff -r libjingle-0.4.0/talk/base/openssladapter.cc libjingle/files/talk/base/openssladapter.cc
|
| -619c619
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -707c707
|
| -< #if _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -736c736
|
| -< #endif // _DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -740c740
|
| -< #if _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -798c798
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/base/openssladapter.h libjingle/files/talk/base/openssladapter.h
|
| -72c72
|
| -< #if _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -74c74
|
| -< #endif // !_DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/base/physicalsocketserver.cc libjingle/files/talk/base/physicalsocketserver.cc
|
| -61a62
|
| -> #include "talk/base/winsock_initializer.h"
|
| -67,86d67
|
| -< #ifdef WIN32
|
| -< class WinsockInitializer {
|
| -< public:
|
| -< WinsockInitializer() {
|
| -< WSADATA wsaData;
|
| -< WORD wVersionRequested = MAKEWORD(1, 0);
|
| -< err_ = WSAStartup(wVersionRequested, &wsaData);
|
| -< }
|
| -< ~WinsockInitializer() {
|
| -< WSACleanup();
|
| -< }
|
| -< int error() {
|
| -< return err_;
|
| -< }
|
| -< private:
|
| -< int err_;
|
| -< };
|
| -< WinsockInitializer g_winsockinit;
|
| -< #endif
|
| -<
|
| -124a106,108
|
| -> #ifdef WIN32
|
| -> EnsureWinsockInit();
|
| -> #endif
|
| -187c171,177
|
| -< addr2.Resolve(); // TODO: Do this async later?
|
| ----
|
| -> // TODO: Do this async later?
|
| -> if (!addr2.Resolve()) {
|
| -> LOG(LS_ERROR) << "Resolving addr failed";
|
| -> UpdateLastError();
|
| -> Close();
|
| -> return SOCKET_ERROR;
|
| -> }
|
| -265a256,259
|
| -> LOG(LS_WARNING) << "EOF from socket; deferring close event";
|
| -> // Must turn this back on so that the select() loop will notice the close
|
| -> // event.
|
| -> enabled_events_ |= kfRead;
|
| -402a397
|
| -> virtual bool IsDescriptorClosed() = 0;
|
| -452a448,451
|
| -> virtual bool IsDescriptorClosed() {
|
| -> return false;
|
| -> }
|
| ->
|
| -490a490,497
|
| -> virtual bool IsDescriptorClosed() {
|
| -> // We don't have a reliable way of distinguishing end-of-stream
|
| -> // from readability. So test on each readable call. Is this
|
| -> // inefficient? Probably.
|
| -> char ch;
|
| -> return (0 == ::recv(s_, &ch, 1, MSG_PEEK));
|
| -> }
|
| ->
|
| -546a554,557
|
| -> virtual bool IsDescriptorClosed() {
|
| -> return false;
|
| -> }
|
| ->
|
| -916c927,931
|
| -< ff |= kfRead;
|
| ----
|
| -> if (pdispatcher->IsDescriptorClosed()) {
|
| -> ff |= kfClose;
|
| -> } else {
|
| -> ff |= kfRead;
|
| -> }
|
| -diff -r libjingle-0.4.0/talk/base/proxydetect.cc libjingle/files/talk/base/proxydetect.cc
|
| -205,206c205,206
|
| -< const char* list = slist.c_str();
|
| -< while (*list) {
|
| ----
|
| -> const char* clist = slist.c_str();
|
| -> while (*clist) {
|
| -208,209c208,209
|
| -< if (isspace(*list)) {
|
| -< ++list;
|
| ----
|
| -> if (isspace(*clist)) {
|
| -> ++clist;
|
| -214,217c214,217
|
| -< const char * start = list;
|
| -< if (const char * end = strchr(list, sep)) {
|
| -< len = (end - list);
|
| -< list += len + 1;
|
| ----
|
| -> const char * start = clist;
|
| -> if (const char * end = strchr(clist, sep)) {
|
| -> len = (end - clist);
|
| -> clist += len + 1;
|
| -219,220c219,220
|
| -< len = strlen(list);
|
| -< list += len;
|
| ----
|
| -> len = strlen(clist);
|
| -> clist += len;
|
| -diff -r libjingle-0.4.0/talk/base/schanneladapter.cc libjingle/files/talk/base/schanneladapter.cc
|
| -607c607
|
| -< size_t read = min(cb, readable.size());
|
| ----
|
| -> size_t read = _min(cb, readable.size());
|
| -diff -r libjingle-0.4.0/talk/base/scoped_ptr.h libjingle/files/talk/base/scoped_ptr.h
|
| -36,257c36
|
| -< namespace talk_base {
|
| -<
|
| -< template <typename T>
|
| -< class scoped_ptr {
|
| -< private:
|
| -<
|
| -< T* ptr;
|
| -<
|
| -< scoped_ptr(scoped_ptr const &);
|
| -< scoped_ptr & operator=(scoped_ptr const &);
|
| -<
|
| -< public:
|
| -<
|
| -< typedef T element_type;
|
| -<
|
| -< explicit scoped_ptr(T* p = 0): ptr(p) {}
|
| -<
|
| -< ~scoped_ptr() {
|
| -< typedef char type_must_be_complete[sizeof(T)];
|
| -< delete ptr;
|
| -< }
|
| -<
|
| -< void reset(T* p = 0) {
|
| -< typedef char type_must_be_complete[sizeof(T)];
|
| -<
|
| -< if (ptr != p) {
|
| -< delete ptr;
|
| -< ptr = p;
|
| -< }
|
| -< }
|
| -<
|
| -< T& operator*() const {
|
| -< assert(ptr != 0);
|
| -< return *ptr;
|
| -< }
|
| -<
|
| -< T* operator->() const {
|
| -< assert(ptr != 0);
|
| -< return ptr;
|
| -< }
|
| -<
|
| -< T* get() const {
|
| -< return ptr;
|
| -< }
|
| -<
|
| -< void swap(scoped_ptr & b) {
|
| -< T* tmp = b.ptr;
|
| -< b.ptr = ptr;
|
| -< ptr = tmp;
|
| -< }
|
| -<
|
| -< T* release() {
|
| -< T* tmp = ptr;
|
| -< ptr = 0;
|
| -< return tmp;
|
| -< }
|
| -<
|
| -< T** accept() {
|
| -< if (ptr) {
|
| -< delete ptr;
|
| -< ptr = 0;
|
| -< }
|
| -< return &ptr;
|
| -< }
|
| -<
|
| -< T** use() {
|
| -< return &ptr;
|
| -< }
|
| -< };
|
| -<
|
| -< template<typename T> inline
|
| -< void swap(scoped_ptr<T>& a, scoped_ptr<T>& b) {
|
| -< a.swap(b);
|
| -< }
|
| -<
|
| -<
|
| -<
|
| -<
|
| -< // scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to
|
| -< // is guaranteed, either on destruction of the scoped_array or via an explicit
|
| -< // reset(). Use shared_array or std::vector if your needs are more complex.
|
| -<
|
| -< template<typename T>
|
| -< class scoped_array {
|
| -< private:
|
| -<
|
| -< T* ptr;
|
| -<
|
| -< scoped_array(scoped_array const &);
|
| -< scoped_array & operator=(scoped_array const &);
|
| -<
|
| -< public:
|
| -<
|
| -< typedef T element_type;
|
| -<
|
| -< explicit scoped_array(T* p = 0) : ptr(p) {}
|
| -<
|
| -< ~scoped_array() {
|
| -< typedef char type_must_be_complete[sizeof(T)];
|
| -< delete[] ptr;
|
| -< }
|
| -<
|
| -< void reset(T* p = 0) {
|
| -< typedef char type_must_be_complete[sizeof(T)];
|
| -<
|
| -< if (ptr != p) {
|
| -< delete [] ptr;
|
| -< ptr = p;
|
| -< }
|
| -< }
|
| -<
|
| -< T& operator[](std::ptrdiff_t i) const {
|
| -< assert(ptr != 0);
|
| -< assert(i >= 0);
|
| -< return ptr[i];
|
| -< }
|
| -<
|
| -< T* get() const {
|
| -< return ptr;
|
| -< }
|
| -<
|
| -< void swap(scoped_array & b) {
|
| -< T* tmp = b.ptr;
|
| -< b.ptr = ptr;
|
| -< ptr = tmp;
|
| -< }
|
| -<
|
| -< T* release() {
|
| -< T* tmp = ptr;
|
| -< ptr = 0;
|
| -< return tmp;
|
| -< }
|
| -<
|
| -< T** accept() {
|
| -< if (ptr) {
|
| -< delete [] ptr;
|
| -< ptr = 0;
|
| -< }
|
| -< return &ptr;
|
| -< }
|
| -< };
|
| -<
|
| -< template<class T> inline
|
| -< void swap(scoped_array<T>& a, scoped_array<T>& b) {
|
| -< a.swap(b);
|
| -< }
|
| -<
|
| -< // scoped_ptr_malloc<> is similar to scoped_ptr<>, but it accepts a
|
| -< // second template argument, the function used to free the object.
|
| -<
|
| -< template<typename T, void (*FF)(void*) = free> class scoped_ptr_malloc {
|
| -< private:
|
| -<
|
| -< T* ptr;
|
| -<
|
| -< scoped_ptr_malloc(scoped_ptr_malloc const &);
|
| -< scoped_ptr_malloc & operator=(scoped_ptr_malloc const &);
|
| -<
|
| -< public:
|
| -<
|
| -< typedef T element_type;
|
| -<
|
| -< explicit scoped_ptr_malloc(T* p = 0): ptr(p) {}
|
| -<
|
| -< ~scoped_ptr_malloc() {
|
| -< typedef char type_must_be_complete[sizeof(T)];
|
| -< FF(static_cast<void*>(ptr));
|
| -< }
|
| -<
|
| -< void reset(T* p = 0) {
|
| -< typedef char type_must_be_complete[sizeof(T)];
|
| -<
|
| -< if (ptr != p) {
|
| -< FF(static_cast<void*>(ptr));
|
| -< ptr = p;
|
| -< }
|
| -< }
|
| -<
|
| -< T& operator*() const {
|
| -< assert(ptr != 0);
|
| -< return *ptr;
|
| -< }
|
| -<
|
| -< T* operator->() const {
|
| -< assert(ptr != 0);
|
| -< return ptr;
|
| -< }
|
| -<
|
| -< T* get() const {
|
| -< return ptr;
|
| -< }
|
| -<
|
| -< void swap(scoped_ptr_malloc & b) {
|
| -< T* tmp = b.ptr;
|
| -< b.ptr = ptr;
|
| -< ptr = tmp;
|
| -< }
|
| -<
|
| -< T* release() {
|
| -< T* tmp = ptr;
|
| -< ptr = 0;
|
| -< return tmp;
|
| -< }
|
| -<
|
| -< T** accept() {
|
| -< if (ptr) {
|
| -< FF(static_cast<void*>(ptr));
|
| -< ptr = 0;
|
| -< }
|
| -< return &ptr;
|
| -< }
|
| -< };
|
| -<
|
| -< template<typename T, void (*FF)(void*)> inline
|
| -< void swap(scoped_ptr_malloc<T,FF>& a, scoped_ptr_malloc<T,FF>& b) {
|
| -< a.swap(b);
|
| -< }
|
| -<
|
| -< } // namespace talk_base
|
| -<
|
| -< // TODO: get rid of this global using
|
| -< using talk_base::scoped_ptr;
|
| ----
|
| -> #include "base/scoped_ptr.h"
|
| -diff -r libjingle-0.4.0/talk/base/signalthread.cc libjingle/files/talk/base/signalthread.cc
|
| -12a13,15
|
| -> main_->SignalQueueDestroyed.connect(this,
|
| -> &SignalThread::OnMainThreadDestroyed);
|
| -> refcount_ = 1;
|
| -15a19,23
|
| -> void SignalThread::OnMainThreadDestroyed() {
|
| -> EnterExit ee(this);
|
| -> main_ = NULL;
|
| -> }
|
| ->
|
| -19a28
|
| -> EnterExit ee(this);
|
| -25a35
|
| -> EnterExit ee(this);
|
| -27c37
|
| -< if (kInit == state_) {
|
| ----
|
| -> if (kInit == state_ || kComplete == state_) {
|
| -36c46,47
|
| -< void SignalThread::Destroy() {
|
| ----
|
| -> void SignalThread::Destroy(bool wait) {
|
| -> EnterExit ee(this);
|
| -39,40c50,51
|
| -< delete this;
|
| -< } else if (kRunning == state_) {
|
| ----
|
| -> refcount_--;
|
| -> } else if (kRunning == state_ || kReleasing == state_) {
|
| -42,47c53,63
|
| -< // A couple tricky issues here:
|
| -< // 1) Thread::Stop() calls Join(), which we don't want... we just want
|
| -< // to stop the MessageQueue, which causes ContinueWork() to return false.
|
| -< // 2) OnWorkStop() must follow Stop(), so that when the thread wakes up
|
| -< // due to OWS(), ContinueWork() will return false.
|
| -< worker_.MessageQueue::Stop();
|
| ----
|
| -> // OnWorkStop() must follow Quit(), so that when the thread wakes up due to
|
| -> // OWS(), ContinueWork() will return false.
|
| -> if (wait) {
|
| -> // Release the thread's lock so that it can return from ::Run.
|
| -> cs_.Leave();
|
| -> worker_.Stop();
|
| -> cs_.Enter();
|
| -> refcount_--;
|
| -> } else {
|
| -> worker_.Quit();
|
| -> }
|
| -54a71
|
| -> EnterExit ee(this);
|
| -57c74
|
| -< delete this;
|
| ----
|
| -> refcount_--;
|
| -66a84
|
| -> EnterExit ee(this);
|
| -71a90
|
| -> EnterExit ee(this);
|
| -81a101,111
|
| -> // Before signaling that the work is done, make sure that the worker
|
| -> // thread actually is done. We got here because DoWork() finished and
|
| -> // Run() posted the ST_MSG_WORKER_DONE message. This means the worker
|
| -> // thread is about to go away anyway, but sometimes it doesn't actually
|
| -> // finish before SignalWorkDone is processed, and for a reusable
|
| -> // SignalThread this makes an assert in thread.cc fire.
|
| -> //
|
| -> // Calling Stop() on the worker ensures that the OS thread that underlies
|
| -> // the worker will finish, and will be set to NULL, enabling us to call
|
| -> // Start() again.
|
| -> worker_.Stop();
|
| -85c115
|
| -< delete this;
|
| ----
|
| -> refcount_--;
|
| -92c122,127
|
| -< main_->Post(this, ST_MSG_WORKER_DONE);
|
| ----
|
| -> {
|
| -> EnterExit ee(this);
|
| -> if (main_) {
|
| -> main_->Post(this, ST_MSG_WORKER_DONE);
|
| -> }
|
| -> }
|
| -diff -r libjingle-0.4.0/talk/base/signalthread.h libjingle/files/talk/base/signalthread.h
|
| -15a16,19
|
| -> // Periodic tasks: Wait for SignalWorkDone, then eventually call Start()
|
| -> // again to repeat the task. When the instance isn't needed anymore,
|
| -> // call Release. DoWork, OnWorkStart and OnWorkStop are called again,
|
| -> // on a new thread.
|
| -22c26
|
| -< class SignalThread : protected MessageHandler {
|
| ----
|
| -> class SignalThread : public sigslot::has_slots<>, protected MessageHandler {
|
| -35,36c39,41
|
| -< // SignalWorkDone will not be signalled.
|
| -< void Destroy();
|
| ----
|
| -> // SignalWorkDone will not be signalled. If wait is true, does not return
|
| -> // until the thread is deleted.
|
| -> void Destroy(bool wait);
|
| -53c58
|
| -<
|
| ----
|
| ->
|
| -57c62
|
| -< // Context: Worker Thread. Subclass should call periodically to
|
| ----
|
| -> // Context: Worker Thread. Subclass should call periodically to
|
| -67c72
|
| -<
|
| ----
|
| ->
|
| -79a85,106
|
| -> class EnterExit {
|
| -> friend class SignalThread;
|
| ->
|
| -> SignalThread * t_;
|
| ->
|
| -> EnterExit(SignalThread * t) : t_(t) {
|
| -> t_->cs_.Enter();
|
| -> t_->refcount_ += 1;
|
| -> }
|
| -> ~EnterExit() {
|
| -> bool d = (0 == (--(t_->refcount_)));
|
| -> t_->cs_.Leave();
|
| -> if (d)
|
| -> delete t_;
|
| -> }
|
| -> };
|
| ->
|
| -> friend class EnterExit;
|
| ->
|
| -> CriticalSection cs_;
|
| -> int refcount_;
|
| ->
|
| -80a108
|
| -> void OnMainThreadDestroyed();
|
| -84c112,118
|
| -< enum State { kInit, kRunning, kComplete, kStopping, kReleasing } state_;
|
| ----
|
| -> enum State {
|
| -> kInit, // Initialized, but not started
|
| -> kRunning, // Started and doing work
|
| -> kReleasing, // Same as running, but to be deleted when work is done
|
| -> kComplete, // Work is done
|
| -> kStopping, // Work is being interrupted
|
| -> } state_;
|
| -diff -r libjingle-0.4.0/talk/base/sigslot.h libjingle/files/talk/base/sigslot.h
|
| -530c530
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -676c676
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -807c807
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -937c937
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -1067c1067
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -1199c1199
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -1331c1331
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -1463c1463
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -1596c1596
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/base/socket.h libjingle/files/talk/base/socket.h
|
| -77a78
|
| -> #undef ETIMEDOUT // remove pthread.h's definition
|
| -diff -r libjingle-0.4.0/talk/base/socketadapters.cc libjingle/files/talk/base/socketadapters.cc
|
| -43a44,45
|
| -> #include <cstring>
|
| ->
|
| -diff -r libjingle-0.4.0/talk/base/socketaddress.cc libjingle/files/talk/base/socketaddress.cc
|
| -52c52
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -54c54
|
| -< #else // !_DEBUG
|
| ----
|
| -> #else // defined(NDEBUG)
|
| -56c56
|
| -< #endif // !_DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/base/socketfactory.h libjingle/files/talk/base/socketfactory.h
|
| -32a33
|
| -> #include "talk/base/ssladapter.h"
|
| -46a48,52
|
| ->
|
| -> // Wraps the given socket in an SSL adapter.
|
| -> virtual SSLAdapter* CreateSSLAdapter(AsyncSocket* socket) {
|
| -> return SSLAdapter::Create(socket);
|
| -> }
|
| -diff -r libjingle-0.4.0/talk/base/socketpool.cc libjingle/files/talk/base/socketpool.cc
|
| -142d141
|
| -< ASSERT(false);
|
| -189d187
|
| -< ASSERT(false);
|
| -diff -r libjingle-0.4.0/talk/base/ssladapter.cc libjingle/files/talk/base/ssladapter.cc
|
| -34c34,35
|
| -< #define SSL_USE_OPENSSL 1
|
| ----
|
| -> // Turn off OpenSSL
|
| -> //#define SSL_USE_OPENSSL 1
|
| -84a86
|
| -> #if SSL_USE_OPENSSL || SSL_USE_SCHANNEL
|
| -85a88,90
|
| -> #else
|
| -> return NULL;
|
| -> #endif
|
| -diff -r libjingle-0.4.0/talk/base/stream.cc libjingle/files/talk/base/stream.cc
|
| -27a28
|
| -> #include <stdio.h>
|
| -diff -r libjingle-0.4.0/talk/base/stringencode.cc libjingle/files/talk/base/stringencode.cc
|
| -34a35
|
| -> #include <stdlib.h>
|
| -525c526
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -575c576
|
| -< #endif // _DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/base/stringutils.cc libjingle/files/talk/base/stringutils.cc
|
| -72c72
|
| -< #if _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -76c76
|
| -< #endif // _DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/base/stringutils.h libjingle/files/talk/base/stringutils.h
|
| -33a34
|
| -> #include <string.h>
|
| -87a89
|
| -> #if 0
|
| -93a96
|
| -> #endif
|
| -200,208d202
|
| -< size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) {
|
| -< va_list args;
|
| -< va_start(args, format);
|
| -< size_t len = vsprintfn(buffer, buflen, format, args);
|
| -< va_end(args);
|
| -< return len;
|
| -< }
|
| -<
|
| -< template<class CTYPE>
|
| -218a213,221
|
| -> template<class CTYPE>
|
| -> size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) {
|
| -> va_list args;
|
| -> va_start(args, format);
|
| -> size_t len = vsprintfn(buffer, buflen, format, args);
|
| -> va_end(args);
|
| -> return len;
|
| -> }
|
| ->
|
| -272c275
|
| -< inline static const char* Traits<char>::empty_str() { return ""; }
|
| ----
|
| -> inline static const char* empty_str() { return ""; }
|
| -diff -r libjingle-0.4.0/talk/base/task.cc libjingle/files/talk/base/task.cc
|
| -5c5
|
| -< * Redistribution and use in source and binary forms, with or without
|
| ----
|
| -> * Redistribution and use in source and binary forms, with or without
|
| -8c8
|
| -< * 1. Redistributions of source code must retain the above copyright notice,
|
| ----
|
| -> * 1. Redistributions of source code must retain the above copyright notice,
|
| -13c13
|
| -< * 3. The name of the author may not be used to endorse or promote products
|
| ----
|
| -> * 3. The name of the author may not be used to endorse or promote products
|
| -17c17
|
| -< * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
| ----
|
| -> * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
| -19c19
|
| -< * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| ----
|
| -> * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| -23,24c23,24
|
| -< * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
| -< * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
| ----
|
| -> * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
| -> * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
| -141c141
|
| -< if (aborted_ || done_)
|
| ----
|
| -> if (done_)
|
| -150c150
|
| -< Wake(); // to self-delete
|
| ----
|
| -> GetRunner()->WakeTasks();
|
| -diff -r libjingle-0.4.0/talk/base/taskrunner.h libjingle/files/talk/base/taskrunner.h
|
| -63a64,68
|
| -> bool HasPendingTimeoutTask() {
|
| -> return next_timeout_task_ != NULL &&
|
| -> next_timeout_task_->TimedOut();
|
| -> }
|
| ->
|
| -diff -r libjingle-0.4.0/talk/base/testclient.cc libjingle/files/talk/base/testclient.cc
|
| -29a30
|
| -> #include <cstring>
|
| -diff -r libjingle-0.4.0/talk/base/thread.cc libjingle/files/talk/base/thread.cc
|
| -100a101,105
|
| -> bool ThreadManager::ThreadActive(Thread *thread) {
|
| -> CritScope cs(&crit_);
|
| -> return(std::find(threads_.begin(), threads_.end(), thread) != threads_.end());
|
| -> }
|
| ->
|
| -103a109
|
| -> stopped_ = false;
|
| -124,125c130,135
|
| -< pthread_create(&thread_, &attr, PreRun, this);
|
| -< started_ = true;
|
| ----
|
| -> CritScope cs(&started_crit_);
|
| -> // Make sure Join() hasn't been called yet.
|
| -> if (stopped_)
|
| -> return;
|
| -> if (pthread_create(&thread_, &attr, PreRun, this) == 0)
|
| -> started_ = true;
|
| -128a139,140
|
| -> CritScope cs(&started_crit_);
|
| -> stopped_ = true;
|
| -131a144
|
| -> started_ = false;
|
| -168a182,185
|
| -> CritScope cs(&started_crit_);
|
| -> // Make sure Join() hasn't been called yet.
|
| -> if (stopped_)
|
| -> return;
|
| -181a199,200
|
| -> CritScope cs(&started_crit_);
|
| -> stopped_ = true;
|
| -191a211,213
|
| -> // Make sure the thread hasn't been deleted.
|
| -> if (!g_thmgr.ThreadActive(thread))
|
| -> return NULL;
|
| -207c229
|
| -< MessageQueue::Stop();
|
| ----
|
| -> MessageQueue::Quit();
|
| -329c351
|
| -< return false;
|
| ----
|
| -> return !IsQuitting();
|
| -diff -r libjingle-0.4.0/talk/base/thread.h libjingle/files/talk/base/thread.h
|
| -57a58
|
| -> bool ThreadActive(Thread *thread);
|
| -134a136
|
| -> CriticalSection started_crit_;
|
| -135a138
|
| -> bool stopped_;
|
| -diff -r libjingle-0.4.0/talk/base/urlencode.cc libjingle/files/talk/base/urlencode.cc
|
| -0a1,2
|
| -> #include <stdlib.h>
|
| -> #include <string.h>
|
| -Only in libjingle-0.4.0/talk/base: win32socketserver.cc
|
| -Only in libjingle-0.4.0/talk/base: win32socketserver.h
|
| -Only in libjingle/files/talk/base: win32window.cc
|
| -diff -r libjingle-0.4.0/talk/base/winping.cc libjingle/files/talk/base/winping.cc
|
| -133c133
|
| -< return sizeof(ICMP_ECHO_REPLY) + max(8UL, data_size);
|
| ----
|
| -> return sizeof(ICMP_ECHO_REPLY) + _max((uint32)(8UL), data_size);
|
| -317c317
|
| -< } // namespace talk_base
|
| -\ No newline at end of file
|
| ----
|
| -> } // namespace talk_base
|
| -Only in libjingle/files/talk/base: winsock_initializer.cc
|
| -Only in libjingle/files/talk/base: winsock_initializer.h
|
| -Only in libjingle-0.4.0/talk: examples
|
| -Only in libjingle-0.4.0/talk: libjingle.sln
|
| -Only in libjingle-0.4.0/talk: libjingle.vcproj
|
| -Only in libjingle-0.4.0/talk: p2p
|
| -Only in libjingle-0.4.0/talk: session
|
| -Only in libjingle-0.4.0/talk: third_party
|
| -Only in libjingle-0.4.0/talk/xmllite: Makefile.in
|
| -diff -r libjingle-0.4.0/talk/xmllite/qname.cc libjingle/files/talk/xmllite/qname.cc
|
| -39c39
|
| -< int result = ns.size() * 101;
|
| ----
|
| -> int result = static_cast<int>(ns.size()) * 101;
|
| -diff -r libjingle-0.4.0/talk/xmllite/qname.h libjingle/files/talk/xmllite/qname.h
|
| -64d63
|
| -< refcount_(1),
|
| -66c65,66
|
| -< localPart_(local) {}
|
| ----
|
| -> localPart_(local),
|
| -> refcount_(1) {}
|
| -diff -r libjingle-0.4.0/talk/xmllite/xmlelement.cc libjingle/files/talk/xmllite/xmlelement.cc
|
| -88c88,89
|
| -< pLastChild_(NULL) {
|
| ----
|
| -> pLastChild_(NULL),
|
| -> cdata_(false) {
|
| -97c98,99
|
| -< pLastChild_(NULL) {
|
| ----
|
| -> pLastChild_(NULL),
|
| -> cdata_(false) {
|
| -125a128
|
| -> cdata_ = elt.cdata_;
|
| -133c136,137
|
| -< pLastChild_(NULL) {
|
| ----
|
| -> pLastChild_(NULL),
|
| -> cdata_(false) {
|
| -393a398,403
|
| -> XmlElement::AddCDATAText(const char * buf, int len) {
|
| -> cdata_ = true;
|
| -> AddParsedText(buf, len);
|
| -> }
|
| ->
|
| -> void
|
| -diff -r libjingle-0.4.0/talk/xmllite/xmlelement.h libjingle/files/talk/xmllite/xmlelement.h
|
| -203a204,206
|
| -> // Note: CDATA is not supported by XMPP, therefore using this function will
|
| -> // generate non-XMPP compatible XML.
|
| -> void AddCDATAText(const char * buf, int len);
|
| -217a221,222
|
| -> bool IsCDATA() const { return cdata_; }
|
| ->
|
| -228a234
|
| -> bool cdata_;
|
| -diff -r libjingle-0.4.0/talk/xmllite/xmlparser.cc libjingle/files/talk/xmllite/xmlparser.cc
|
| -28,29d27
|
| -< #include "talk/xmllite/xmlparser.h"
|
| -<
|
| -35a34
|
| -> #include "talk/xmllite/xmlconstants.h"
|
| -38c37
|
| -< #include "talk/xmllite/xmlconstants.h"
|
| ----
|
| -> #include "talk/xmllite/xmlparser.h"
|
| -119a119,121
|
| -> context_.SetPosition(XML_GetCurrentLineNumber(expat_),
|
| -> XML_GetCurrentColumnNumber(expat_),
|
| -> XML_GetCurrentByteIndex(expat_));
|
| -127a130,132
|
| -> context_.SetPosition(XML_GetCurrentLineNumber(expat_),
|
| -> XML_GetCurrentColumnNumber(expat_),
|
| -> XML_GetCurrentByteIndex(expat_));
|
| -134a140,142
|
| -> context_.SetPosition(XML_GetCurrentLineNumber(expat_),
|
| -> XML_GetCurrentColumnNumber(expat_),
|
| -> XML_GetCurrentByteIndex(expat_));
|
| -168c176,180
|
| -< if (XML_Parse(expat_, data, static_cast<int>(len), isFinal) != XML_STATUS_OK)
|
| ----
|
| -> if (XML_Parse(expat_, data, static_cast<int>(len), isFinal) !=
|
| -> XML_STATUS_OK) {
|
| -> context_.SetPosition(XML_GetCurrentLineNumber(expat_),
|
| -> XML_GetCurrentColumnNumber(expat_),
|
| -> XML_GetCurrentByteIndex(expat_));
|
| -169a182
|
| -> }
|
| -193c206,209
|
| -< raised_(XML_ERROR_NONE) {
|
| ----
|
| -> raised_(XML_ERROR_NONE),
|
| -> line_number_(0),
|
| -> column_number_(0),
|
| -> byte_index_(0) {
|
| -247c263,285
|
| -< XmlParser::ParseContext::~ParseContext() {
|
| ----
|
| -> void
|
| -> XmlParser::ParseContext::SetPosition(XML_Size line, XML_Size column,
|
| -> XML_Index byte_index) {
|
| -> line_number_ = line;
|
| -> column_number_ = column;
|
| -> byte_index_ = byte_index;
|
| -> }
|
| ->
|
| -> void
|
| -> XmlParser::ParseContext::GetPosition(unsigned long * line,
|
| -> unsigned long * column,
|
| -> unsigned long * byte_index) {
|
| -> if (line != NULL) {
|
| -> *line = static_cast<unsigned long>(line_number_);
|
| -> }
|
| ->
|
| -> if (column != NULL) {
|
| -> *column = static_cast<unsigned long>(column_number_);
|
| -> }
|
| ->
|
| -> if (byte_index != NULL) {
|
| -> *byte_index = static_cast<unsigned long>(byte_index_);
|
| -> }
|
| -249a288
|
| -> XmlParser::ParseContext::~ParseContext() {
|
| -251a291
|
| -> }
|
| -diff -r libjingle-0.4.0/talk/xmllite/xmlparser.h libjingle/files/talk/xmllite/xmlparser.h
|
| -48a49,50
|
| -> virtual void GetPosition(unsigned long * line, unsigned long * column,
|
| -> unsigned long * byte_index) = 0;
|
| -85a88,89
|
| -> virtual void GetPosition(unsigned long * line, unsigned long * column,
|
| -> unsigned long * byte_index);
|
| -91a96
|
| -> void SetPosition(XML_Size line, XML_Size column, XML_Index byte_index);
|
| -96a102,104
|
| -> XML_Size line_number_;
|
| -> XML_Size column_number_;
|
| -> XML_Index byte_index_;
|
| -diff -r libjingle-0.4.0/talk/xmllite/xmlprinter.cc libjingle/files/talk/xmllite/xmlprinter.cc
|
| -46a47
|
| -> void PrintCDATAText(const std::string & text);
|
| -134,136c135,141
|
| -< if (pchild->IsText())
|
| -< PrintBodyText(pchild->AsText()->Text());
|
| -< else
|
| ----
|
| -> if (pchild->IsText()) {
|
| -> if (element->IsCDATA()) {
|
| -> PrintCDATAText(pchild->AsText()->Text());
|
| -> } else {
|
| -> PrintBodyText(pchild->AsText()->Text());
|
| -> }
|
| -> } else
|
| -188a194,197
|
| -> void
|
| -> XmlPrinterImpl::PrintCDATAText(const std::string & text) {
|
| -> *pout_ << "<![CDATA[" << text << "]]>";
|
| -> }
|
| -Only in libjingle-0.4.0/talk/xmpp: Makefile.in
|
| -Only in libjingle-0.4.0/talk/xmpp: constants.cc
|
| -Only in libjingle-0.4.0/talk/xmpp: constants.h
|
| -diff -r libjingle-0.4.0/talk/xmpp/jid.cc libjingle/files/talk/xmpp/jid.cc
|
| -33c33
|
| -< #include "talk/xmpp/constants.h"
|
| ----
|
| -> #include "talk/xmpp/xmppconstants.h"
|
| -diff -r libjingle-0.4.0/talk/xmpp/plainsaslhandler.h libjingle/files/talk/xmpp/plainsaslhandler.h
|
| -31d30
|
| -< #include "talk/xmpp/saslhandler.h"
|
| -32a32,34
|
| -> #include <string>
|
| ->
|
| -> #include "talk/xmpp/saslhandler.h"
|
| -68a71,76
|
| ->
|
| -> virtual bool GetTlsServerInfo(const talk_base::SocketAddress& server,
|
| -> std::string* tls_server_hostname,
|
| -> std::string* tls_server_domain) {
|
| -> return false;
|
| -> }
|
| -diff -r libjingle-0.4.0/talk/xmpp/prexmppauth.h libjingle/files/talk/xmpp/prexmppauth.h
|
| -33d32
|
| -< #include "talk/xmpp/saslhandler.h"
|
| -64c63
|
| -< class PreXmppAuth : public SaslHandler {
|
| ----
|
| -> class PreXmppAuth {
|
| -diff -r libjingle-0.4.0/talk/xmpp/saslcookiemechanism.h libjingle/files/talk/xmpp/saslcookiemechanism.h
|
| -33c33
|
| -< #include "talk/xmpp/constants.h"
|
| ----
|
| -> #include "talk/xmpp/xmppconstants.h"
|
| -40,41c40,55
|
| -< SaslCookieMechanism(const std::string & mechanism, const std::string & username, const std::string & cookie) :
|
| -< mechanism_(mechanism), username_(username), cookie_(cookie) {}
|
| ----
|
| -> SaslCookieMechanism(const std::string & mechanism,
|
| -> const std::string & username,
|
| -> const std::string & cookie,
|
| -> const std::string & token_service)
|
| -> : mechanism_(mechanism),
|
| -> username_(username),
|
| -> cookie_(cookie),
|
| -> token_service_(token_service) {}
|
| ->
|
| -> SaslCookieMechanism(const std::string & mechanism,
|
| -> const std::string & username,
|
| -> const std::string & cookie)
|
| -> : mechanism_(mechanism),
|
| -> username_(username),
|
| -> cookie_(cookie),
|
| -> token_service_("") {}
|
| -48a63,67
|
| -> if (!token_service_.empty()) {
|
| -> el->AddAttr(
|
| -> QName(true, "http://www.google.com/talk/protocol/auth", "service"),
|
| -> token_service_);
|
| -> }
|
| -62a82
|
| -> std::string token_service_;
|
| -diff -r libjingle-0.4.0/talk/xmpp/saslhandler.h libjingle/files/talk/xmpp/saslhandler.h
|
| -31a32,34
|
| -> #include <vector>
|
| ->
|
| -> #include "talk/base/socketaddress.h"
|
| -53a57,63
|
| ->
|
| -> // Fills in the tls server hostname/domain to use for the given
|
| -> // server (and returns true). Return false if you want the defaults
|
| -> // to be used.
|
| -> virtual bool GetTlsServerInfo(const talk_base::SocketAddress& server,
|
| -> std::string* tls_server_hostname,
|
| -> std::string* tls_server_domain) = 0;
|
| -diff -r libjingle-0.4.0/talk/xmpp/saslmechanism.cc libjingle/files/talk/xmpp/saslmechanism.cc
|
| -30c30
|
| -< #include "talk/xmpp/constants.h"
|
| ----
|
| -> #include "talk/xmpp/xmppconstants.h"
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmppclient.cc libjingle/files/talk/xmpp/xmppclient.cc
|
| -30c30
|
| -< #include "talk/xmpp/constants.h"
|
| ----
|
| -> #include "talk/xmpp/xmppconstants.h"
|
| -32a33
|
| -> #include "talk/xmpp/saslhandler.h"
|
| -68a70
|
| -> scoped_ptr<SaslHandler> sasl_handler_;
|
| -93c95,99
|
| -< XmppClient::Connect(const XmppClientSettings & settings, const std::string & lang, AsyncSocket * socket, PreXmppAuth * pre_auth) {
|
| ----
|
| -> XmppClient::Connect(const XmppClientSettings & settings,
|
| -> const std::string & lang,
|
| -> AsyncSocket * socket,
|
| -> PreXmppAuth * pre_auth,
|
| -> SaslHandler * sasl_handler) {
|
| -113,125c119,125
|
| -< //
|
| -< // The talk.google.com server expects you to use "gmail.com" in the
|
| -< // stream, and expects the domain certificate to be "gmail.com" as well.
|
| -< // For all other servers, we leave the strings empty, which causes
|
| -< // the jid's domain to be used. "foo@example.com" -> stream to="example.com"
|
| -< // tls certificate for "example.com"
|
| -< //
|
| -< // This is only true when using Gaia auth, so let's say if there's no preauth,
|
| -< // we should use the actual server name
|
| -< if ((settings.server().IPAsString() == buzz::STR_TALK_GOOGLE_COM ||
|
| -< settings.server().IPAsString() == buzz::STR_TALKX_L_GOOGLE_COM) &&
|
| -< pre_auth != NULL) {
|
| -< d_->engine_->SetTlsServer(buzz::STR_GMAIL_COM, buzz::STR_GMAIL_COM);
|
| ----
|
| -> if (sasl_handler) {
|
| -> std::string tls_server_hostname, tls_server_domain;
|
| -> if (sasl_handler->GetTlsServerInfo(settings.server(),
|
| -> &tls_server_hostname,
|
| -> &tls_server_domain)) {
|
| -> d_->engine_->SetTlsServer(tls_server_hostname, tls_server_domain);
|
| -> }
|
| -139a140
|
| -> d_->sasl_handler_.reset(sasl_handler);
|
| -200a202,209
|
| -> if (d_->sasl_handler_.get()) {
|
| -> d_->engine_->SetSaslHandler(d_->sasl_handler_.release());
|
| -> }
|
| -> else {
|
| -> d_->engine_->SetSaslHandler(new PlainSaslHandler(
|
| -> d_->engine_->GetUser(), d_->pass_, d_->allow_plain_));
|
| -> }
|
| ->
|
| -209,210d217
|
| -< d_->engine_->SetSaslHandler(new PlainSaslHandler(
|
| -< d_->engine_->GetUser(), d_->pass_, d_->allow_plain_));
|
| -253,254d259
|
| -< // transfer ownership of pre_auth_ to engine
|
| -< d_->engine_->SetSaslHandler(d_->pre_auth_.release());
|
| -261a267,268
|
| -> d_->pre_engine_error_ = XmppEngine::ERROR_SOCKET;
|
| -> d_->pre_engine_subcode_ = d_->socket_->GetError();
|
| -347c354
|
| -< //#ifdef _DEBUG
|
| ----
|
| -> //#if !defined(NDEBUG)
|
| -375c382
|
| -< //#ifdef _DEBUG
|
| ----
|
| -> //#if !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmppclient.h libjingle/files/talk/xmpp/xmppclient.h
|
| -42a43
|
| -> class SaslHandler;
|
| -80c81,82
|
| -< PreXmppAuth * preauth);
|
| ----
|
| -> PreXmppAuth * preauth,
|
| -> SaslHandler * sasl_handler);
|
| -141c143
|
| -< std::string XmppClient::GetStateName(int state) const {
|
| ----
|
| -> std::string GetStateName(int state) const {
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmppclientsettings.h libjingle/files/talk/xmpp/xmppclientsettings.h
|
| -31d30
|
| -< #include "talk/p2p/base/port.h"
|
| -32a32,45
|
| -> #include "talk/base/proxyinfo.h"
|
| ->
|
| -> namespace cricket {
|
| ->
|
| -> // This enum was taken from talk/p2p/base/port.h, which is the only
|
| -> // thing we actually need from the p2p directory.
|
| -> enum ProtocolType {
|
| -> PROTO_UDP,
|
| -> PROTO_TCP,
|
| -> PROTO_SSLTCP,
|
| -> PROTO_LAST = PROTO_SSLTCP
|
| -> };
|
| ->
|
| -> } // namespace cricket
|
| -59a73,75
|
| -> void set_token_service(const std::string & token_service) {
|
| -> token_service_ = token_service;
|
| -> }
|
| -75a92
|
| -> const std::string & token_service() const { return token_service_; }
|
| -93a111
|
| -> std::string token_service_;
|
| -Only in libjingle/files/talk/xmpp: xmppconstants.cc
|
| -Only in libjingle/files/talk/xmpp: xmppconstants.h
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmppengineimpl.cc libjingle/files/talk/xmpp/xmppengineimpl.cc
|
| -37c37
|
| -< #include "talk/xmpp/constants.h"
|
| ----
|
| -> #include "talk/xmpp/xmppconstants.h"
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmppengineimpl_iq.cc libjingle/files/talk/xmpp/xmppengineimpl_iq.cc
|
| -32c32
|
| -< #include "talk/xmpp/constants.h"
|
| ----
|
| -> #include "talk/xmpp/xmppconstants.h"
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmpplogintask.cc libjingle/files/talk/xmpp/xmpplogintask.cc
|
| -34c34
|
| -< #include "talk/xmpp/constants.h"
|
| ----
|
| -> #include "talk/xmpp/xmppconstants.h"
|
| -44c44
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -59c59
|
| -< #endif // _DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -103c103
|
| -< #if _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -106c106
|
| -< #endif // _DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -218a219,221
|
| -> auth->SetAttr(QN_GOOGLE_ALLOW_GENERATED_JID_XMPP_LOGIN, "true");
|
| -> auth->SetAttr(QN_GOOGLE_AUTH_CLIENT_USES_FULL_BIND_RESULT, "true");
|
| ->
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmpplogintask.h libjingle/files/talk/xmpp/xmpplogintask.h
|
| -93c93
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -95c95
|
| -< #endif // _DEBUG
|
| ----
|
| -> #endif // !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmppstanzaparser.cc libjingle/files/talk/xmpp/xmppstanzaparser.cc
|
| -32c32
|
| -< #include "talk/xmpp/constants.h"
|
| ----
|
| -> #include "talk/xmpp/xmppconstants.h"
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmpptask.cc libjingle/files/talk/xmpp/xmpptask.cc
|
| -31c31
|
| -< #include "talk/xmpp/constants.h"
|
| ----
|
| -> #include "talk/xmpp/xmppconstants.h"
|
| -40c40
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -88c88
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -174c174
|
| -< }
|
| -\ No newline at end of file
|
| ----
|
| -> }
|
| -diff -r libjingle-0.4.0/talk/xmpp/xmpptask.h libjingle/files/talk/xmpp/xmpptask.h
|
| -80c80
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -106,107c106,107
|
| -< XmlElement *MakeIqResult(const XmlElement* query);
|
| -< XmlElement *MakeIq(const std::string& type,
|
| ----
|
| -> static XmlElement *MakeIqResult(const XmlElement* query);
|
| -> static XmlElement *MakeIq(const std::string& type,
|
| -123c123
|
| -< #ifdef _DEBUG
|
| ----
|
| -> #if !defined(NDEBUG)
|
| -diff -r libjingle-0.4.0/talk/base/common.cc libjingle/files/talk/base/common.cc
|
| -62c62
|
| -< } // namespace talk_base
|
| -\ No newline at end of file
|
| ----
|
| -> } // namespace talk_base
|
| -diff -r libjingle-0.4.0/talk/base/httpbase.cc libjingle/files/talk/base/httpbase.cc
|
| -154c154
|
| -< if (sscanf(value, "%d", &data_size_) != 1) {
|
| ----
|
| -> if (sscanf(value, "%zu", &data_size_) != 1) {
|
| -diff -r libjingle-0.4.0/talk/base/httpcommon.cc libjingle/files/talk/base/httpcommon.cc
|
| -339c339
|
| -< &tval.tm_hour, &tval.tm_min, &tval.tm_sec, &zone)) {
|
| ----
|
| -> &tval.tm_hour, &tval.tm_min, &tval.tm_sec, zone)) {
|
| -472c472
|
| -< uint32 vmajor, vminor;
|
| ----
|
| -> unsigned long vmajor, vminor;
|
| -549,550c549,550
|
| -< uint32 vmajor, vminor;
|
| -< if ((sscanf(line, "HTTP/%lu.%lu %lu%n", &vmajor, &vminor, &scode, &pos) != 3)
|
| ----
|
| -> unsigned long vmajor, vminor;
|
| -> if ((sscanf(line, "HTTP/%lu.%lu %lu%zu", &vmajor, &vminor, &scode, &pos) != 3)
|
| -693c693
|
| -< sprintf(buffer, "%d", time(0));
|
| ----
|
| -> sprintf(buffer, "%ld", time(0));
|
| -diff -r libjingle-0.4.0/talk/base/httpcommon.h libjingle/files/talk/base/httpcommon.h
|
| -329c329
|
| -< uint32 scode;
|
| ----
|
| -> unsigned long scode;
|
| -diff -r libjingle-0.4.0/talk/base/diskcache.cc libjingle/files/talk/base/diskcache.cc
|
| -300c300
|
| -< if (1 != sscanf(pathname.extension().c_str(), ".%u", index))
|
| ----
|
| -> if (1 != sscanf(pathname.extension().c_str(), ".%zu", index))
|
| -diff -r libjingle-0.4.0/talk/base/logging.cc libjingle/files/talk/base/logging.cc
|
| -69c69
|
| -< snprintf(buffer, sizeof(buffer), "0x%08lx", err);
|
| ----
|
| -> snprintf(buffer, sizeof(buffer), "0x%08x", err);
|
| -diff -r libjingle-0.4.0/talk/base/socketadapters.cc libjingle/files/talk/base/socketadapters.cc
|
| -360,361c360,361
|
| -< uint32 code;
|
| -< if (sscanf(data, "HTTP/%*lu.%*lu %lu", &code) != 1) {
|
| ----
|
| -> unsigned long code;
|
| -> if (sscanf(data, "HTTP/%*u.%*u %lu", &code) != 1) {
|
|
|