| OLD | NEW |
| (Empty) |
| 1 Only in libjingle-0.4.0: Makefile.in | |
| 2 diff -r libjingle-0.4.0/README libjingle/files/README | |
| 3 1,39c1,39 | |
| 4 < Libjingle | |
| 5 < | |
| 6 < Libjingle is a set of components provided by Google to interoperate with Googl
e | |
| 7 < Talk's peer-to-peer and voice capabilities. This package will create several | |
| 8 < static libraries you may link to your project as needed. | |
| 9 < | |
| 10 < -talk - No source files in talk/, just these subdirectories | |
| 11 < |-base - Contains basic low-level portable utility functions for | |
| 12 < | things like threads and sockets | |
| 13 < |-p2p - The P2P stack | |
| 14 < |-base - Base p2p functionality | |
| 15 < |-client - Hooks to tie it into XMPP | |
| 16 < |-session - Signaling | |
| 17 < |-phone - Signaling code specific to making phone calls | |
| 18 < |-third_party - Components that aren't ours | |
| 19 < |-mediastreamer - Media components for dealing with sound hardware and | |
| 20 < | voice codecs | |
| 21 < |-xmllite - XML parser | |
| 22 < |-xmpp - XMPP engine | |
| 23 < | |
| 24 < In addition, this package contains two examples in talk/examples which | |
| 25 < illustrate the basic concepts of how the provided classes work. | |
| 26 < | |
| 27 < The xmllite component of libjingle depends on expat. You can download expat | |
| 28 < from http://expat.sourceforge.net/. | |
| 29 < | |
| 30 < mediastreamer, the media components used by the example applications depend on | |
| 31 < the oRTP and iLBC components from linphone, which can be found at | |
| 32 < http://www.linphone.org. Linphone, in turn depends on GLib, which can be found | |
| 33 < at http://www.gtk.org. This GLib dependency should be removed in future | |
| 34 < releases. | |
| 35 < | |
| 36 < Building Libjingle | |
| 37 < | |
| 38 < Once the dependencies are installed, run ./configure. ./configure will return | |
| 39 < an error if it failed to locate the proper dependencies. If ./configure | |
| 40 < succeeds, run 'make' to build the components and examples. | |
| 41 < | |
| 42 < When the build is complete, you can run the call example from | |
| 43 --- | |
| 44 > Libjingle | |
| 45 > | |
| 46 > Libjingle is a set of components provided by Google to interoperate with Googl
e | |
| 47 > Talk's peer-to-peer and voice capabilities. This package will create several | |
| 48 > static libraries you may link to your project as needed. | |
| 49 > | |
| 50 > -talk - No source files in talk/, just these subdirectories | |
| 51 > |-base - Contains basic low-level portable utility functions for | |
| 52 > | things like threads and sockets | |
| 53 > |-p2p - The P2P stack | |
| 54 > |-base - Base p2p functionality | |
| 55 > |-client - Hooks to tie it into XMPP | |
| 56 > |-session - Signaling | |
| 57 > |-phone - Signaling code specific to making phone calls | |
| 58 > |-third_party - Components that aren't ours | |
| 59 > |-mediastreamer - Media components for dealing with sound hardware and | |
| 60 > | voice codecs | |
| 61 > |-xmllite - XML parser | |
| 62 > |-xmpp - XMPP engine | |
| 63 > | |
| 64 > In addition, this package contains two examples in talk/examples which | |
| 65 > illustrate the basic concepts of how the provided classes work. | |
| 66 > | |
| 67 > The xmllite component of libjingle depends on expat. You can download expat | |
| 68 > from http://expat.sourceforge.net/. | |
| 69 > | |
| 70 > mediastreamer, the media components used by the example applications depend on | |
| 71 > the oRTP and iLBC components from linphone, which can be found at | |
| 72 > http://www.linphone.org. Linphone, in turn depends on GLib, which can be found | |
| 73 > at http://www.gtk.org. This GLib dependency should be removed in future | |
| 74 > releases. | |
| 75 > | |
| 76 > Building Libjingle | |
| 77 > | |
| 78 > Once the dependencies are installed, run ./configure. ./configure will return | |
| 79 > an error if it failed to locate the proper dependencies. If ./configure | |
| 80 > succeeds, run 'make' to build the components and examples. | |
| 81 > | |
| 82 > When the build is complete, you can run the call example from | |
| 83 41,57c41,57 | |
| 84 < | |
| 85 < Relay Server | |
| 86 < | |
| 87 < Libjingle will also build a relay server that may be used to relay traffic | |
| 88 < when a direct peer-to-peer connection could not be established. The relay | |
| 89 < server will build in talk/p2p/base/relayserver and will listen on UDP | |
| 90 < ports 5000 and 5001. See the Libjingle Developer Guide at | |
| 91 < http://code.google.com/apis/talk/index.html for information about configuring | |
| 92 < a client to use this relay server. | |
| 93 < | |
| 94 < STUN Server | |
| 95 < | |
| 96 < Lastly, Libjingle builds a STUN server which implements the STUN protocol for | |
| 97 < Simple Traversal of UDP over NAT. The STUN server is built as | |
| 98 < talk/p2p/base/stunserver and listens on UDP port 7000. See the Libjingle | |
| 99 < Developer Guide at http://code.google.com/apis/talk/index.html for information | |
| 100 < about configuring a client to use this STUN server. | |
| 101 --- | |
| 102 > | |
| 103 > Relay Server | |
| 104 > | |
| 105 > Libjingle will also build a relay server that may be used to relay traffic | |
| 106 > when a direct peer-to-peer connection could not be established. The relay | |
| 107 > server will build in talk/p2p/base/relayserver and will listen on UDP | |
| 108 > ports 5000 and 5001. See the Libjingle Developer Guide at | |
| 109 > http://code.google.com/apis/talk/index.html for information about configuring | |
| 110 > a client to use this relay server. | |
| 111 > | |
| 112 > STUN Server | |
| 113 > | |
| 114 > Lastly, Libjingle builds a STUN server which implements the STUN protocol for | |
| 115 > Simple Traversal of UDP over NAT. The STUN server is built as | |
| 116 > talk/p2p/base/stunserver and listens on UDP port 7000. See the Libjingle | |
| 117 > Developer Guide at http://code.google.com/apis/talk/index.html for information | |
| 118 > about configuring a client to use this STUN server. | |
| 119 diff -r libjingle-0.4.0/README.win libjingle/files/README.win | |
| 120 1,24c1,24 | |
| 121 < 1. Install Visual C++ Express 2005. It is free from this link: | |
| 122 < http://msdn.microsoft.com/vstudio/express/visualc/ | |
| 123 < | |
| 124 < 2. Install the platform SDK and integrate it into VC++ express | |
| 125 < http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/ | |
| 126 < | |
| 127 < 3. Download and install binary package for expat: | |
| 128 < http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=1127
7 | |
| 129 < | |
| 130 < 4. Update the Visual C++ directories in the Projects and Solutions section in
the Options dialog box | |
| 131 < Library files: C:\expat-VERSION\StaticLibs | |
| 132 < Include files: C:\expat-VERSION\Source\Lib | |
| 133 < where VERSION is the version of expat you've downoaded | |
| 134 < | |
| 135 < 5. Unzip the libjingle files and open the solution. | |
| 136 < | |
| 137 < 6. If you wish to build the call example with GIPS Voice Engine Lite, download
Voice Engine Lite from http://developer.globalipsound.com | |
| 138 < | |
| 139 < 7. Extract the Interface and Library directories from the Voice Engine Lite zi
p file into talk\third_party\gips | |
| 140 < | |
| 141 < 8. Open talk\third_party\gips\expiration.h and set the GIPS_EXPIRATION #define
s to the expiration date provided by GIPS and remove the #error directive | |
| 142 < | |
| 143 < 9. Build the solution | |
| 144 < | |
| 145 --- | |
| 146 > 1. Install Visual C++ Express 2005. It is free from this link: | |
| 147 > http://msdn.microsoft.com/vstudio/express/visualc/ | |
| 148 > | |
| 149 > 2. Install the platform SDK and integrate it into VC++ express | |
| 150 > http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/ | |
| 151 > | |
| 152 > 3. Download and install binary package for expat: | |
| 153 > http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=1127
7 | |
| 154 > | |
| 155 > 4. Update the Visual C++ directories in the Projects and Solutions section in
the Options dialog box | |
| 156 > Library files: C:\expat-VERSION\StaticLibs | |
| 157 > Include files: C:\expat-VERSION\Source\Lib | |
| 158 > where VERSION is the version of expat you've downoaded | |
| 159 > | |
| 160 > 5. Unzip the libjingle files and open the solution. | |
| 161 > | |
| 162 > 6. If you wish to build the call example with GIPS Voice Engine Lite, download
Voice Engine Lite from http://developer.globalipsound.com | |
| 163 > | |
| 164 > 7. Extract the Interface and Library directories from the Voice Engine Lite zi
p file into talk\third_party\gips | |
| 165 > | |
| 166 > 8. Open talk\third_party\gips\expiration.h and set the GIPS_EXPIRATION #define
s to the expiration date provided by GIPS and remove the #error directive | |
| 167 > | |
| 168 > 9. Build the solution | |
| 169 > | |
| 170 Only in libjingle-0.4.0: aclocal.m4 | |
| 171 Only in libjingle-0.4.0: config.guess | |
| 172 diff -r libjingle-0.4.0/config.h libjingle/files/config.h | |
| 173 14c14 | |
| 174 < #define HAVE_ALSA_ASOUNDLIB_H 1 | |
| 175 --- | |
| 176 > /* #undef HAVE_ALSA_ASOUNDLIB_H */ | |
| 177 23c23 | |
| 178 < #define HAVE_GLIB 1 | |
| 179 --- | |
| 180 > /* #undef HAVE_GLIB */ | |
| 181 38c38 | |
| 182 < #define HAVE_ORTP 1 | |
| 183 --- | |
| 184 > /* #undef HAVE_ORTP */ | |
| 185 41c41 | |
| 186 < #define HAVE_SPEEX 1 | |
| 187 --- | |
| 188 > /* #undef HAVE_SPEEX */ | |
| 189 47c47 | |
| 190 < #define HAVE_SPEEX_SPEEX_H 1 | |
| 191 --- | |
| 192 > /* #undef HAVE_SPEEX_SPEEX_H */ | |
| 193 71c71 | |
| 194 < #define LINUX 1 | |
| 195 --- | |
| 196 > /* #undef LINUX */ | |
| 197 113c113 | |
| 198 < #define __ALSA_ENABLED__ 1 | |
| 199 --- | |
| 200 > /* #undef __ALSA_ENABLED__ */ | |
| 201 Only in libjingle-0.4.0: config.h.in | |
| 202 Only in libjingle-0.4.0: config.sub | |
| 203 Only in libjingle-0.4.0: configure | |
| 204 Only in libjingle-0.4.0: depcomp | |
| 205 Only in libjingle-0.4.0: install-sh | |
| 206 Only in libjingle-0.4.0: ltmain.sh | |
| 207 Only in libjingle-0.4.0: missing | |
| 208 Only in libjingle-0.4.0/talk: Makefile.in | |
| 209 Only in libjingle-0.4.0/talk/base: Makefile.in | |
| 210 diff -r libjingle-0.4.0/talk/base/asynchttprequest.cc libjingle/files/talk/base/
asynchttprequest.cc | |
| 211 73c73 | |
| 212 < talk_base::SSLAdapter * ssl_adapter = talk_base::SSLAdapter::Create(socket
); | |
| 213 --- | |
| 214 > talk_base::SSLAdapter * ssl_adapter = factory_->CreateSSLAdapter(socket); | |
| 215 75c75,81 | |
| 216 < ssl_adapter->StartSSL(hostname_.c_str(), true); | |
| 217 --- | |
| 218 > int error = ssl_adapter->StartSSL(hostname_.c_str(), | |
| 219 > use_restartable_ssl_sockets_); | |
| 220 > if (error != 0) { | |
| 221 > LOG(LS_WARNING) << "Could not start SSL; error = " << error; | |
| 222 > delete ssl_adapter; | |
| 223 > return 0; | |
| 224 > } | |
| 225 diff -r libjingle-0.4.0/talk/base/asynchttprequest.h libjingle/files/talk/base/a
synchttprequest.h | |
| 226 23,24c23 | |
| 227 < public SignalThread, | |
| 228 < public sigslot::has_slots<> { | |
| 229 --- | |
| 230 > public SignalThread { | |
| 231 106c105,106 | |
| 232 < binary_mode_(false), agent_(user_agent) { } | |
| 233 --- | |
| 234 > binary_mode_(false), agent_(user_agent), | |
| 235 > ignore_bad_cert_(false), use_restartable_ssl_sockets_(false) { } | |
| 236 114a115,120 | |
| 237 > bool use_restartable_ssl_sockets() const { | |
| 238 > return use_restartable_ssl_sockets_; | |
| 239 > } | |
| 240 > void SetUseRestartableSSLSockets(bool use_restartable_ssl_sockets) { | |
| 241 > use_restartable_ssl_sockets_ = use_restartable_ssl_sockets; | |
| 242 > } | |
| 243 133a140 | |
| 244 > bool use_restartable_ssl_sockets_; | |
| 245 diff -r libjingle-0.4.0/talk/base/asynctcpsocket.cc libjingle/files/talk/base/as
ynctcpsocket.cc | |
| 246 31a32,33 | |
| 247 > #include <cstring> | |
| 248 > | |
| 249 diff -r libjingle-0.4.0/talk/base/autodetectproxy.cc libjingle/files/talk/base/a
utodetectproxy.cc | |
| 250 29c29 | |
| 251 < #include "talk/base/httpcommon.h" | |
| 252 --- | |
| 253 > #include "talk/base/httpcommon-inl.h" | |
| 254 114c114 | |
| 255 < Thread::Current()->MessageQueue::Stop(); | |
| 256 --- | |
| 257 > Thread::Current()->Quit(); | |
| 258 diff -r libjingle-0.4.0/talk/base/autodetectproxy.h libjingle/files/talk/base/au
todetectproxy.h | |
| 259 22c22 | |
| 260 < class AutoDetectProxy : public SignalThread, public sigslot::has_slots<> { | |
| 261 --- | |
| 262 > class AutoDetectProxy : public SignalThread { | |
| 263 diff -r libjingle-0.4.0/talk/base/base64.h libjingle/files/talk/base/base64.h | |
| 264 26,27c26,27 | |
| 265 < static const std::string Base64::Base64Table; | |
| 266 < static const std::string::size_type Base64::DecodeTable[]; | |
| 267 --- | |
| 268 > static const std::string Base64Table; | |
| 269 > static const std::string::size_type DecodeTable[]; | |
| 270 diff -r libjingle-0.4.0/talk/base/common.h libjingle/files/talk/base/common.h | |
| 271 54c54 | |
| 272 < #define stdmax(x,y) max(x,y) | |
| 273 --- | |
| 274 > #define stdmax(x,y) _max(x,y) | |
| 275 114,119d113 | |
| 276 < // A macro to disallow the evil copy constructor and operator= functions | |
| 277 < // This should be used in the private: declarations for a class | |
| 278 < #define DISALLOW_EVIL_CONSTRUCTORS(TypeName) \ | |
| 279 < TypeName(const TypeName&); \ | |
| 280 < void operator=(const TypeName&) | |
| 281 < | |
| 282 diff -r libjingle-0.4.0/talk/base/criticalsection.h libjingle/files/talk/base/cr
iticalsection.h | |
| 283 39c39 | |
| 284 < #ifdef _DEBUG | |
| 285 --- | |
| 286 > #if !defined(NDEBUG) | |
| 287 41c41 | |
| 288 < #endif // _DEBUG | |
| 289 --- | |
| 290 > #endif // !defined(NDEBUG) | |
| 291 83c83 | |
| 292 < public: | |
| 293 --- | |
| 294 > public: | |
| 295 85a86 | |
| 296 > pthread_mutexattr_init(&mutex_attribute); | |
| 297 87a89,90 | |
| 298 > pthread_mutexattr_destroy(&mutex_attribute); | |
| 299 > TRACK_OWNER(thread_ = 0); | |
| 300 93a97 | |
| 301 > TRACK_OWNER(thread_ = pthread_self()); | |
| 302 95a100 | |
| 303 > TRACK_OWNER(thread_ = 0); | |
| 304 98c103,110 | |
| 305 < private: | |
| 306 --- | |
| 307 > | |
| 308 > #if CS_TRACK_OWNER | |
| 309 > bool CurrentThreadIsOwner() const { | |
| 310 > return pthread_equal(thread_, pthread_self()); | |
| 311 > } | |
| 312 > #endif // CS_TRACK_OWNER | |
| 313 > | |
| 314 > private: | |
| 315 99a112 | |
| 316 > TRACK_OWNER(pthread_t thread_); | |
| 317 diff -r libjingle-0.4.0/talk/base/cryptstring.h libjingle/files/talk/base/crypts
tring.h | |
| 318 30a31 | |
| 319 > #include <string.h> | |
| 320 diff -r libjingle-0.4.0/talk/base/diskcache.cc libjingle/files/talk/base/diskcac
he.cc | |
| 321 43c43 | |
| 322 < #ifdef _DEBUG | |
| 323 --- | |
| 324 > #if !defined(NDEBUG) | |
| 325 45c45 | |
| 326 < #else // !_DEBUG | |
| 327 --- | |
| 328 > #else // defined(NDEBUG) | |
| 329 47c47 | |
| 330 < #endif // !_DEBUG | |
| 331 --- | |
| 332 > #endif // !defined(NDEBUG) | |
| 333 231c231 | |
| 334 < #ifdef _DEBUG | |
| 335 --- | |
| 336 > #if !defined(NDEBUG) | |
| 337 238c238 | |
| 338 < #endif // _DEBUG | |
| 339 --- | |
| 340 > #endif // !defined(NDEBUG) | |
| 341 diff -r libjingle-0.4.0/talk/base/diskcache_win32.cc libjingle/files/talk/base/d
iskcache_win32.cc | |
| 342 38c38 | |
| 343 < entry->streams = max(entry->streams, index + 1); | |
| 344 --- | |
| 345 > entry->streams = _max(entry->streams, index + 1); | |
| 346 diff -r libjingle-0.4.0/talk/base/helpers.cc libjingle/files/talk/base/helpers.c
c | |
| 347 38a39 | |
| 348 > #include <wincrypt.h> | |
| 349 diff -r libjingle-0.4.0/talk/base/host.cc libjingle/files/talk/base/host.cc | |
| 350 30a31 | |
| 351 > #include <cstdlib> | |
| 352 diff -r libjingle-0.4.0/talk/base/httpclient.cc libjingle/files/talk/base/httpcl
ient.cc | |
| 353 670a671 | |
| 354 > HttpAuthContext *context = context_.get(); | |
| 355 676c677,678 | |
| 356 < *context_.use(), response, auth_method); | |
| 357 --- | |
| 358 > context, response, auth_method); | |
| 359 > context_.reset(context); | |
| 360 diff -r libjingle-0.4.0/talk/base/httpcommon.h libjingle/files/talk/base/httpcom
mon.h | |
| 361 172c172 | |
| 362 < inline const uint16 UrlDefaultPort(bool secure) { | |
| 363 --- | |
| 364 > inline uint16 UrlDefaultPort(bool secure) { | |
| 365 diff -r libjingle-0.4.0/talk/base/logging.cc libjingle/files/talk/base/logging.c
c | |
| 366 27a28 | |
| 367 > #include <stdio.h> | |
| 368 76c77 | |
| 369 < #if _DEBUG | |
| 370 --- | |
| 371 > #if LOGGING | |
| 372 78c79 | |
| 373 < #else // !_DEBUG | |
| 374 --- | |
| 375 > #else | |
| 376 80c81 | |
| 377 < #endif // !_DEBUG | |
| 378 --- | |
| 379 > #endif | |
| 380 diff -r libjingle-0.4.0/talk/base/logging.h libjingle/files/talk/base/logging.h | |
| 381 67a68,69 | |
| 382 > | |
| 383 > #if defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS) | |
| 384 70a73 | |
| 385 > #endif // defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS) | |
| 386 195a199 | |
| 387 > #if defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS) | |
| 388 197c201 | |
| 389 < #if defined(_DEBUG) && !defined(NDEBUG) | |
| 390 --- | |
| 391 > #if !defined(NDEBUG) | |
| 392 290a295 | |
| 393 > #endif // defined(SAFE_TO_DEFINE_TALK_BASE_LOGGING_MACROS) | |
| 394 diff -r libjingle-0.4.0/talk/base/messagequeue.cc libjingle/files/talk/base/mess
agequeue.cc | |
| 395 98,99c98,99 | |
| 396 < new_ss = true; | |
| 397 < ss_ = new PhysicalSocketServer(); | |
| 398 --- | |
| 399 > default_ss_.reset(new PhysicalSocketServer()); | |
| 400 > ss_ = default_ss_.get(); | |
| 401 103a104,107 | |
| 402 > // The signal is done from here to ensure | |
| 403 > // that it always gets called when the queue | |
| 404 > // is going away. | |
| 405 > SignalQueueDestroyed(); | |
| 406 108,109d111 | |
| 407 < if (new_ss) | |
| 408 < delete ss_; | |
| 409 113,115d114 | |
| 410 < if (new_ss) | |
| 411 < delete ss_; | |
| 412 < new_ss = false; | |
| 413 119c118 | |
| 414 < void MessageQueue::Stop() { | |
| 415 --- | |
| 416 > void MessageQueue::Quit() { | |
| 417 124c123 | |
| 418 < bool MessageQueue::IsStopping() { | |
| 419 --- | |
| 420 > bool MessageQueue::IsQuitting() { | |
| 421 diff -r libjingle-0.4.0/talk/base/messagequeue.h libjingle/files/talk/base/messa
gequeue.h | |
| 422 35a36 | |
| 423 > #include "talk/base/scoped_ptr.h" | |
| 424 162,164c163,164 | |
| 425 < | |
| 426 < virtual void Stop(); | |
| 427 < virtual bool IsStopping(); | |
| 428 --- | |
| 429 > virtual void Quit(); | |
| 430 > virtual bool IsQuitting(); | |
| 431 188a189,192 | |
| 432 > // When this signal is sent out, any references to this queue should | |
| 433 > // no longer be used. | |
| 434 > sigslot::signal0<> SignalQueueDestroyed; | |
| 435 > | |
| 436 192a197,198 | |
| 437 > // If a server isn't supplied in the constructor, use this one. | |
| 438 > scoped_ptr<SocketServer> default_ss_; | |
| 439 diff -r libjingle-0.4.0/talk/base/natserver.cc libjingle/files/talk/base/natserv
er.cc | |
| 440 28a29 | |
| 441 > #include <cstring> | |
| 442 diff -r libjingle-0.4.0/talk/base/natsocketfactory.cc libjingle/files/talk/base/
natsocketfactory.cc | |
| 443 29a30 | |
| 444 > #include <cstring> | |
| 445 diff -r libjingle-0.4.0/talk/base/openssladapter.cc libjingle/files/talk/base/op
enssladapter.cc | |
| 446 619c619 | |
| 447 < #ifdef _DEBUG | |
| 448 --- | |
| 449 > #if !defined(NDEBUG) | |
| 450 707c707 | |
| 451 < #if _DEBUG | |
| 452 --- | |
| 453 > #if !defined(NDEBUG) | |
| 454 736c736 | |
| 455 < #endif // _DEBUG | |
| 456 --- | |
| 457 > #endif // !defined(NDEBUG) | |
| 458 740c740 | |
| 459 < #if _DEBUG | |
| 460 --- | |
| 461 > #if !defined(NDEBUG) | |
| 462 798c798 | |
| 463 < #ifdef _DEBUG | |
| 464 --- | |
| 465 > #if !defined(NDEBUG) | |
| 466 diff -r libjingle-0.4.0/talk/base/openssladapter.h libjingle/files/talk/base/ope
nssladapter.h | |
| 467 72c72 | |
| 468 < #if _DEBUG | |
| 469 --- | |
| 470 > #if !defined(NDEBUG) | |
| 471 74c74 | |
| 472 < #endif // !_DEBUG | |
| 473 --- | |
| 474 > #endif // !defined(NDEBUG) | |
| 475 diff -r libjingle-0.4.0/talk/base/physicalsocketserver.cc libjingle/files/talk/b
ase/physicalsocketserver.cc | |
| 476 61a62 | |
| 477 > #include "talk/base/winsock_initializer.h" | |
| 478 67,86d67 | |
| 479 < #ifdef WIN32 | |
| 480 < class WinsockInitializer { | |
| 481 < public: | |
| 482 < WinsockInitializer() { | |
| 483 < WSADATA wsaData; | |
| 484 < WORD wVersionRequested = MAKEWORD(1, 0); | |
| 485 < err_ = WSAStartup(wVersionRequested, &wsaData); | |
| 486 < } | |
| 487 < ~WinsockInitializer() { | |
| 488 < WSACleanup(); | |
| 489 < } | |
| 490 < int error() { | |
| 491 < return err_; | |
| 492 < } | |
| 493 < private: | |
| 494 < int err_; | |
| 495 < }; | |
| 496 < WinsockInitializer g_winsockinit; | |
| 497 < #endif | |
| 498 < | |
| 499 124a106,108 | |
| 500 > #ifdef WIN32 | |
| 501 > EnsureWinsockInit(); | |
| 502 > #endif | |
| 503 187c171,177 | |
| 504 < addr2.Resolve(); // TODO: Do this async later? | |
| 505 --- | |
| 506 > // TODO: Do this async later? | |
| 507 > if (!addr2.Resolve()) { | |
| 508 > LOG(LS_ERROR) << "Resolving addr failed"; | |
| 509 > UpdateLastError(); | |
| 510 > Close(); | |
| 511 > return SOCKET_ERROR; | |
| 512 > } | |
| 513 265a256,259 | |
| 514 > LOG(LS_WARNING) << "EOF from socket; deferring close event"; | |
| 515 > // Must turn this back on so that the select() loop will notice the clos
e | |
| 516 > // event. | |
| 517 > enabled_events_ |= kfRead; | |
| 518 402a397 | |
| 519 > virtual bool IsDescriptorClosed() = 0; | |
| 520 452a448,451 | |
| 521 > virtual bool IsDescriptorClosed() { | |
| 522 > return false; | |
| 523 > } | |
| 524 > | |
| 525 490a490,497 | |
| 526 > virtual bool IsDescriptorClosed() { | |
| 527 > // We don't have a reliable way of distinguishing end-of-stream | |
| 528 > // from readability. So test on each readable call. Is this | |
| 529 > // inefficient? Probably. | |
| 530 > char ch; | |
| 531 > return (0 == ::recv(s_, &ch, 1, MSG_PEEK)); | |
| 532 > } | |
| 533 > | |
| 534 546a554,557 | |
| 535 > virtual bool IsDescriptorClosed() { | |
| 536 > return false; | |
| 537 > } | |
| 538 > | |
| 539 916c927,931 | |
| 540 < ff |= kfRead; | |
| 541 --- | |
| 542 > if (pdispatcher->IsDescriptorClosed()) { | |
| 543 > ff |= kfClose; | |
| 544 > } else { | |
| 545 > ff |= kfRead; | |
| 546 > } | |
| 547 diff -r libjingle-0.4.0/talk/base/proxydetect.cc libjingle/files/talk/base/proxy
detect.cc | |
| 548 205,206c205,206 | |
| 549 < const char* list = slist.c_str(); | |
| 550 < while (*list) { | |
| 551 --- | |
| 552 > const char* clist = slist.c_str(); | |
| 553 > while (*clist) { | |
| 554 208,209c208,209 | |
| 555 < if (isspace(*list)) { | |
| 556 < ++list; | |
| 557 --- | |
| 558 > if (isspace(*clist)) { | |
| 559 > ++clist; | |
| 560 214,217c214,217 | |
| 561 < const char * start = list; | |
| 562 < if (const char * end = strchr(list, sep)) { | |
| 563 < len = (end - list); | |
| 564 < list += len + 1; | |
| 565 --- | |
| 566 > const char * start = clist; | |
| 567 > if (const char * end = strchr(clist, sep)) { | |
| 568 > len = (end - clist); | |
| 569 > clist += len + 1; | |
| 570 219,220c219,220 | |
| 571 < len = strlen(list); | |
| 572 < list += len; | |
| 573 --- | |
| 574 > len = strlen(clist); | |
| 575 > clist += len; | |
| 576 diff -r libjingle-0.4.0/talk/base/schanneladapter.cc libjingle/files/talk/base/s
channeladapter.cc | |
| 577 607c607 | |
| 578 < size_t read = min(cb, readable.size()); | |
| 579 --- | |
| 580 > size_t read = _min(cb, readable.size()); | |
| 581 diff -r libjingle-0.4.0/talk/base/scoped_ptr.h libjingle/files/talk/base/scoped_
ptr.h | |
| 582 36,257c36 | |
| 583 < namespace talk_base { | |
| 584 < | |
| 585 < template <typename T> | |
| 586 < class scoped_ptr { | |
| 587 < private: | |
| 588 < | |
| 589 < T* ptr; | |
| 590 < | |
| 591 < scoped_ptr(scoped_ptr const &); | |
| 592 < scoped_ptr & operator=(scoped_ptr const &); | |
| 593 < | |
| 594 < public: | |
| 595 < | |
| 596 < typedef T element_type; | |
| 597 < | |
| 598 < explicit scoped_ptr(T* p = 0): ptr(p) {} | |
| 599 < | |
| 600 < ~scoped_ptr() { | |
| 601 < typedef char type_must_be_complete[sizeof(T)]; | |
| 602 < delete ptr; | |
| 603 < } | |
| 604 < | |
| 605 < void reset(T* p = 0) { | |
| 606 < typedef char type_must_be_complete[sizeof(T)]; | |
| 607 < | |
| 608 < if (ptr != p) { | |
| 609 < delete ptr; | |
| 610 < ptr = p; | |
| 611 < } | |
| 612 < } | |
| 613 < | |
| 614 < T& operator*() const { | |
| 615 < assert(ptr != 0); | |
| 616 < return *ptr; | |
| 617 < } | |
| 618 < | |
| 619 < T* operator->() const { | |
| 620 < assert(ptr != 0); | |
| 621 < return ptr; | |
| 622 < } | |
| 623 < | |
| 624 < T* get() const { | |
| 625 < return ptr; | |
| 626 < } | |
| 627 < | |
| 628 < void swap(scoped_ptr & b) { | |
| 629 < T* tmp = b.ptr; | |
| 630 < b.ptr = ptr; | |
| 631 < ptr = tmp; | |
| 632 < } | |
| 633 < | |
| 634 < T* release() { | |
| 635 < T* tmp = ptr; | |
| 636 < ptr = 0; | |
| 637 < return tmp; | |
| 638 < } | |
| 639 < | |
| 640 < T** accept() { | |
| 641 < if (ptr) { | |
| 642 < delete ptr; | |
| 643 < ptr = 0; | |
| 644 < } | |
| 645 < return &ptr; | |
| 646 < } | |
| 647 < | |
| 648 < T** use() { | |
| 649 < return &ptr; | |
| 650 < } | |
| 651 < }; | |
| 652 < | |
| 653 < template<typename T> inline | |
| 654 < void swap(scoped_ptr<T>& a, scoped_ptr<T>& b) { | |
| 655 < a.swap(b); | |
| 656 < } | |
| 657 < | |
| 658 < | |
| 659 < | |
| 660 < | |
| 661 < // scoped_array extends scoped_ptr to arrays. Deletion of the array pointed t
o | |
| 662 < // is guaranteed, either on destruction of the scoped_array or via an explici
t | |
| 663 < // reset(). Use shared_array or std::vector if your needs are more complex. | |
| 664 < | |
| 665 < template<typename T> | |
| 666 < class scoped_array { | |
| 667 < private: | |
| 668 < | |
| 669 < T* ptr; | |
| 670 < | |
| 671 < scoped_array(scoped_array const &); | |
| 672 < scoped_array & operator=(scoped_array const &); | |
| 673 < | |
| 674 < public: | |
| 675 < | |
| 676 < typedef T element_type; | |
| 677 < | |
| 678 < explicit scoped_array(T* p = 0) : ptr(p) {} | |
| 679 < | |
| 680 < ~scoped_array() { | |
| 681 < typedef char type_must_be_complete[sizeof(T)]; | |
| 682 < delete[] ptr; | |
| 683 < } | |
| 684 < | |
| 685 < void reset(T* p = 0) { | |
| 686 < typedef char type_must_be_complete[sizeof(T)]; | |
| 687 < | |
| 688 < if (ptr != p) { | |
| 689 < delete [] ptr; | |
| 690 < ptr = p; | |
| 691 < } | |
| 692 < } | |
| 693 < | |
| 694 < T& operator[](std::ptrdiff_t i) const { | |
| 695 < assert(ptr != 0); | |
| 696 < assert(i >= 0); | |
| 697 < return ptr[i]; | |
| 698 < } | |
| 699 < | |
| 700 < T* get() const { | |
| 701 < return ptr; | |
| 702 < } | |
| 703 < | |
| 704 < void swap(scoped_array & b) { | |
| 705 < T* tmp = b.ptr; | |
| 706 < b.ptr = ptr; | |
| 707 < ptr = tmp; | |
| 708 < } | |
| 709 < | |
| 710 < T* release() { | |
| 711 < T* tmp = ptr; | |
| 712 < ptr = 0; | |
| 713 < return tmp; | |
| 714 < } | |
| 715 < | |
| 716 < T** accept() { | |
| 717 < if (ptr) { | |
| 718 < delete [] ptr; | |
| 719 < ptr = 0; | |
| 720 < } | |
| 721 < return &ptr; | |
| 722 < } | |
| 723 < }; | |
| 724 < | |
| 725 < template<class T> inline | |
| 726 < void swap(scoped_array<T>& a, scoped_array<T>& b) { | |
| 727 < a.swap(b); | |
| 728 < } | |
| 729 < | |
| 730 < // scoped_ptr_malloc<> is similar to scoped_ptr<>, but it accepts a | |
| 731 < // second template argument, the function used to free the object. | |
| 732 < | |
| 733 < template<typename T, void (*FF)(void*) = free> class scoped_ptr_malloc { | |
| 734 < private: | |
| 735 < | |
| 736 < T* ptr; | |
| 737 < | |
| 738 < scoped_ptr_malloc(scoped_ptr_malloc const &); | |
| 739 < scoped_ptr_malloc & operator=(scoped_ptr_malloc const &); | |
| 740 < | |
| 741 < public: | |
| 742 < | |
| 743 < typedef T element_type; | |
| 744 < | |
| 745 < explicit scoped_ptr_malloc(T* p = 0): ptr(p) {} | |
| 746 < | |
| 747 < ~scoped_ptr_malloc() { | |
| 748 < typedef char type_must_be_complete[sizeof(T)]; | |
| 749 < FF(static_cast<void*>(ptr)); | |
| 750 < } | |
| 751 < | |
| 752 < void reset(T* p = 0) { | |
| 753 < typedef char type_must_be_complete[sizeof(T)]; | |
| 754 < | |
| 755 < if (ptr != p) { | |
| 756 < FF(static_cast<void*>(ptr)); | |
| 757 < ptr = p; | |
| 758 < } | |
| 759 < } | |
| 760 < | |
| 761 < T& operator*() const { | |
| 762 < assert(ptr != 0); | |
| 763 < return *ptr; | |
| 764 < } | |
| 765 < | |
| 766 < T* operator->() const { | |
| 767 < assert(ptr != 0); | |
| 768 < return ptr; | |
| 769 < } | |
| 770 < | |
| 771 < T* get() const { | |
| 772 < return ptr; | |
| 773 < } | |
| 774 < | |
| 775 < void swap(scoped_ptr_malloc & b) { | |
| 776 < T* tmp = b.ptr; | |
| 777 < b.ptr = ptr; | |
| 778 < ptr = tmp; | |
| 779 < } | |
| 780 < | |
| 781 < T* release() { | |
| 782 < T* tmp = ptr; | |
| 783 < ptr = 0; | |
| 784 < return tmp; | |
| 785 < } | |
| 786 < | |
| 787 < T** accept() { | |
| 788 < if (ptr) { | |
| 789 < FF(static_cast<void*>(ptr)); | |
| 790 < ptr = 0; | |
| 791 < } | |
| 792 < return &ptr; | |
| 793 < } | |
| 794 < }; | |
| 795 < | |
| 796 < template<typename T, void (*FF)(void*)> inline | |
| 797 < void swap(scoped_ptr_malloc<T,FF>& a, scoped_ptr_malloc<T,FF>& b) { | |
| 798 < a.swap(b); | |
| 799 < } | |
| 800 < | |
| 801 < } // namespace talk_base | |
| 802 < | |
| 803 < // TODO: get rid of this global using | |
| 804 < using talk_base::scoped_ptr; | |
| 805 --- | |
| 806 > #include "base/scoped_ptr.h" | |
| 807 diff -r libjingle-0.4.0/talk/base/signalthread.cc libjingle/files/talk/base/sign
althread.cc | |
| 808 12a13,15 | |
| 809 > main_->SignalQueueDestroyed.connect(this, | |
| 810 > &SignalThread::OnMainThreadDestroyed); | |
| 811 > refcount_ = 1; | |
| 812 15a19,23 | |
| 813 > void SignalThread::OnMainThreadDestroyed() { | |
| 814 > EnterExit ee(this); | |
| 815 > main_ = NULL; | |
| 816 > } | |
| 817 > | |
| 818 19a28 | |
| 819 > EnterExit ee(this); | |
| 820 25a35 | |
| 821 > EnterExit ee(this); | |
| 822 27c37 | |
| 823 < if (kInit == state_) { | |
| 824 --- | |
| 825 > if (kInit == state_ || kComplete == state_) { | |
| 826 36c46,47 | |
| 827 < void SignalThread::Destroy() { | |
| 828 --- | |
| 829 > void SignalThread::Destroy(bool wait) { | |
| 830 > EnterExit ee(this); | |
| 831 39,40c50,51 | |
| 832 < delete this; | |
| 833 < } else if (kRunning == state_) { | |
| 834 --- | |
| 835 > refcount_--; | |
| 836 > } else if (kRunning == state_ || kReleasing == state_) { | |
| 837 42,47c53,63 | |
| 838 < // A couple tricky issues here: | |
| 839 < // 1) Thread::Stop() calls Join(), which we don't want... we just want | |
| 840 < // to stop the MessageQueue, which causes ContinueWork() to return fals
e. | |
| 841 < // 2) OnWorkStop() must follow Stop(), so that when the thread wakes up | |
| 842 < // due to OWS(), ContinueWork() will return false. | |
| 843 < worker_.MessageQueue::Stop(); | |
| 844 --- | |
| 845 > // OnWorkStop() must follow Quit(), so that when the thread wakes up due t
o | |
| 846 > // OWS(), ContinueWork() will return false. | |
| 847 > if (wait) { | |
| 848 > // Release the thread's lock so that it can return from ::Run. | |
| 849 > cs_.Leave(); | |
| 850 > worker_.Stop(); | |
| 851 > cs_.Enter(); | |
| 852 > refcount_--; | |
| 853 > } else { | |
| 854 > worker_.Quit(); | |
| 855 > } | |
| 856 54a71 | |
| 857 > EnterExit ee(this); | |
| 858 57c74 | |
| 859 < delete this; | |
| 860 --- | |
| 861 > refcount_--; | |
| 862 66a84 | |
| 863 > EnterExit ee(this); | |
| 864 71a90 | |
| 865 > EnterExit ee(this); | |
| 866 81a101,111 | |
| 867 > // Before signaling that the work is done, make sure that the worker | |
| 868 > // thread actually is done. We got here because DoWork() finished and | |
| 869 > // Run() posted the ST_MSG_WORKER_DONE message. This means the worker | |
| 870 > // thread is about to go away anyway, but sometimes it doesn't actually | |
| 871 > // finish before SignalWorkDone is processed, and for a reusable | |
| 872 > // SignalThread this makes an assert in thread.cc fire. | |
| 873 > // | |
| 874 > // Calling Stop() on the worker ensures that the OS thread that underlie
s | |
| 875 > // the worker will finish, and will be set to NULL, enabling us to call | |
| 876 > // Start() again. | |
| 877 > worker_.Stop(); | |
| 878 85c115 | |
| 879 < delete this; | |
| 880 --- | |
| 881 > refcount_--; | |
| 882 92c122,127 | |
| 883 < main_->Post(this, ST_MSG_WORKER_DONE); | |
| 884 --- | |
| 885 > { | |
| 886 > EnterExit ee(this); | |
| 887 > if (main_) { | |
| 888 > main_->Post(this, ST_MSG_WORKER_DONE); | |
| 889 > } | |
| 890 > } | |
| 891 diff -r libjingle-0.4.0/talk/base/signalthread.h libjingle/files/talk/base/signa
lthread.h | |
| 892 15a16,19 | |
| 893 > // Periodic tasks: Wait for SignalWorkDone, then eventually call Start() | |
| 894 > // again to repeat the task. When the instance isn't needed anymore, | |
| 895 > // call Release. DoWork, OnWorkStart and OnWorkStop are called again, | |
| 896 > // on a new thread. | |
| 897 22c26 | |
| 898 < class SignalThread : protected MessageHandler { | |
| 899 --- | |
| 900 > class SignalThread : public sigslot::has_slots<>, protected MessageHandler { | |
| 901 35,36c39,41 | |
| 902 < // SignalWorkDone will not be signalled. | |
| 903 < void Destroy(); | |
| 904 --- | |
| 905 > // SignalWorkDone will not be signalled. If wait is true, does not return | |
| 906 > // until the thread is deleted. | |
| 907 > void Destroy(bool wait); | |
| 908 53c58 | |
| 909 < | |
| 910 --- | |
| 911 > | |
| 912 57c62 | |
| 913 < // Context: Worker Thread. Subclass should call periodically to | |
| 914 --- | |
| 915 > // Context: Worker Thread. Subclass should call periodically to | |
| 916 67c72 | |
| 917 < | |
| 918 --- | |
| 919 > | |
| 920 79a85,106 | |
| 921 > class EnterExit { | |
| 922 > friend class SignalThread; | |
| 923 > | |
| 924 > SignalThread * t_; | |
| 925 > | |
| 926 > EnterExit(SignalThread * t) : t_(t) { | |
| 927 > t_->cs_.Enter(); | |
| 928 > t_->refcount_ += 1; | |
| 929 > } | |
| 930 > ~EnterExit() { | |
| 931 > bool d = (0 == (--(t_->refcount_))); | |
| 932 > t_->cs_.Leave(); | |
| 933 > if (d) | |
| 934 > delete t_; | |
| 935 > } | |
| 936 > }; | |
| 937 > | |
| 938 > friend class EnterExit; | |
| 939 > | |
| 940 > CriticalSection cs_; | |
| 941 > int refcount_; | |
| 942 > | |
| 943 80a108 | |
| 944 > void OnMainThreadDestroyed(); | |
| 945 84c112,118 | |
| 946 < enum State { kInit, kRunning, kComplete, kStopping, kReleasing } state_; | |
| 947 --- | |
| 948 > enum State { | |
| 949 > kInit, // Initialized, but not started | |
| 950 > kRunning, // Started and doing work | |
| 951 > kReleasing, // Same as running, but to be deleted when work is done | |
| 952 > kComplete, // Work is done | |
| 953 > kStopping, // Work is being interrupted | |
| 954 > } state_; | |
| 955 diff -r libjingle-0.4.0/talk/base/sigslot.h libjingle/files/talk/base/sigslot.h | |
| 956 530c530 | |
| 957 < #ifdef _DEBUG | |
| 958 --- | |
| 959 > #if !defined(NDEBUG) | |
| 960 676c676 | |
| 961 < #ifdef _DEBUG | |
| 962 --- | |
| 963 > #if !defined(NDEBUG) | |
| 964 807c807 | |
| 965 < #ifdef _DEBUG | |
| 966 --- | |
| 967 > #if !defined(NDEBUG) | |
| 968 937c937 | |
| 969 < #ifdef _DEBUG | |
| 970 --- | |
| 971 > #if !defined(NDEBUG) | |
| 972 1067c1067 | |
| 973 < #ifdef _DEBUG | |
| 974 --- | |
| 975 > #if !defined(NDEBUG) | |
| 976 1199c1199 | |
| 977 < #ifdef _DEBUG | |
| 978 --- | |
| 979 > #if !defined(NDEBUG) | |
| 980 1331c1331 | |
| 981 < #ifdef _DEBUG | |
| 982 --- | |
| 983 > #if !defined(NDEBUG) | |
| 984 1463c1463 | |
| 985 < #ifdef _DEBUG | |
| 986 --- | |
| 987 > #if !defined(NDEBUG) | |
| 988 1596c1596 | |
| 989 < #ifdef _DEBUG | |
| 990 --- | |
| 991 > #if !defined(NDEBUG) | |
| 992 diff -r libjingle-0.4.0/talk/base/socket.h libjingle/files/talk/base/socket.h | |
| 993 77a78 | |
| 994 > #undef ETIMEDOUT // remove pthread.h's definition | |
| 995 diff -r libjingle-0.4.0/talk/base/socketadapters.cc libjingle/files/talk/base/so
cketadapters.cc | |
| 996 43a44,45 | |
| 997 > #include <cstring> | |
| 998 > | |
| 999 diff -r libjingle-0.4.0/talk/base/socketaddress.cc libjingle/files/talk/base/soc
ketaddress.cc | |
| 1000 52c52 | |
| 1001 < #ifdef _DEBUG | |
| 1002 --- | |
| 1003 > #if !defined(NDEBUG) | |
| 1004 54c54 | |
| 1005 < #else // !_DEBUG | |
| 1006 --- | |
| 1007 > #else // defined(NDEBUG) | |
| 1008 56c56 | |
| 1009 < #endif // !_DEBUG | |
| 1010 --- | |
| 1011 > #endif // !defined(NDEBUG) | |
| 1012 diff -r libjingle-0.4.0/talk/base/socketfactory.h libjingle/files/talk/base/sock
etfactory.h | |
| 1013 32a33 | |
| 1014 > #include "talk/base/ssladapter.h" | |
| 1015 46a48,52 | |
| 1016 > | |
| 1017 > // Wraps the given socket in an SSL adapter. | |
| 1018 > virtual SSLAdapter* CreateSSLAdapter(AsyncSocket* socket) { | |
| 1019 > return SSLAdapter::Create(socket); | |
| 1020 > } | |
| 1021 diff -r libjingle-0.4.0/talk/base/socketpool.cc libjingle/files/talk/base/socket
pool.cc | |
| 1022 142d141 | |
| 1023 < ASSERT(false); | |
| 1024 189d187 | |
| 1025 < ASSERT(false); | |
| 1026 diff -r libjingle-0.4.0/talk/base/ssladapter.cc libjingle/files/talk/base/sslada
pter.cc | |
| 1027 34c34,35 | |
| 1028 < #define SSL_USE_OPENSSL 1 | |
| 1029 --- | |
| 1030 > // Turn off OpenSSL | |
| 1031 > //#define SSL_USE_OPENSSL 1 | |
| 1032 84a86 | |
| 1033 > #if SSL_USE_OPENSSL || SSL_USE_SCHANNEL | |
| 1034 85a88,90 | |
| 1035 > #else | |
| 1036 > return NULL; | |
| 1037 > #endif | |
| 1038 diff -r libjingle-0.4.0/talk/base/stream.cc libjingle/files/talk/base/stream.cc | |
| 1039 27a28 | |
| 1040 > #include <stdio.h> | |
| 1041 diff -r libjingle-0.4.0/talk/base/stringencode.cc libjingle/files/talk/base/stri
ngencode.cc | |
| 1042 34a35 | |
| 1043 > #include <stdlib.h> | |
| 1044 525c526 | |
| 1045 < #ifdef _DEBUG | |
| 1046 --- | |
| 1047 > #if !defined(NDEBUG) | |
| 1048 575c576 | |
| 1049 < #endif // _DEBUG | |
| 1050 --- | |
| 1051 > #endif // !defined(NDEBUG) | |
| 1052 diff -r libjingle-0.4.0/talk/base/stringutils.cc libjingle/files/talk/base/strin
gutils.cc | |
| 1053 72c72 | |
| 1054 < #if _DEBUG | |
| 1055 --- | |
| 1056 > #if !defined(NDEBUG) | |
| 1057 76c76 | |
| 1058 < #endif // _DEBUG | |
| 1059 --- | |
| 1060 > #endif // !defined(NDEBUG) | |
| 1061 diff -r libjingle-0.4.0/talk/base/stringutils.h libjingle/files/talk/base/string
utils.h | |
| 1062 33a34 | |
| 1063 > #include <string.h> | |
| 1064 87a89 | |
| 1065 > #if 0 | |
| 1066 93a96 | |
| 1067 > #endif | |
| 1068 200,208d202 | |
| 1069 < size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) { | |
| 1070 < va_list args; | |
| 1071 < va_start(args, format); | |
| 1072 < size_t len = vsprintfn(buffer, buflen, format, args); | |
| 1073 < va_end(args); | |
| 1074 < return len; | |
| 1075 < } | |
| 1076 < | |
| 1077 < template<class CTYPE> | |
| 1078 218a213,221 | |
| 1079 > template<class CTYPE> | |
| 1080 > size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) { | |
| 1081 > va_list args; | |
| 1082 > va_start(args, format); | |
| 1083 > size_t len = vsprintfn(buffer, buflen, format, args); | |
| 1084 > va_end(args); | |
| 1085 > return len; | |
| 1086 > } | |
| 1087 > | |
| 1088 272c275 | |
| 1089 < inline static const char* Traits<char>::empty_str() { return ""; } | |
| 1090 --- | |
| 1091 > inline static const char* empty_str() { return ""; } | |
| 1092 diff -r libjingle-0.4.0/talk/base/task.cc libjingle/files/talk/base/task.cc | |
| 1093 5c5 | |
| 1094 < * Redistribution and use in source and binary forms, with or without | |
| 1095 --- | |
| 1096 > * Redistribution and use in source and binary forms, with or without | |
| 1097 8c8 | |
| 1098 < * 1. Redistributions of source code must retain the above copyright notice, | |
| 1099 --- | |
| 1100 > * 1. Redistributions of source code must retain the above copyright notice, | |
| 1101 13c13 | |
| 1102 < * 3. The name of the author may not be used to endorse or promote products | |
| 1103 --- | |
| 1104 > * 3. The name of the author may not be used to endorse or promote products | |
| 1105 17c17 | |
| 1106 < * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
| 1107 --- | |
| 1108 > * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
| 1109 19c19 | |
| 1110 < * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
| 1111 --- | |
| 1112 > * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
| 1113 23,24c23,24 | |
| 1114 < * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | |
| 1115 < * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | |
| 1116 --- | |
| 1117 > * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | |
| 1118 > * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | |
| 1119 141c141 | |
| 1120 < if (aborted_ || done_) | |
| 1121 --- | |
| 1122 > if (done_) | |
| 1123 150c150 | |
| 1124 < Wake(); // to self-delete | |
| 1125 --- | |
| 1126 > GetRunner()->WakeTasks(); | |
| 1127 diff -r libjingle-0.4.0/talk/base/taskrunner.h libjingle/files/talk/base/taskrun
ner.h | |
| 1128 63a64,68 | |
| 1129 > bool HasPendingTimeoutTask() { | |
| 1130 > return next_timeout_task_ != NULL && | |
| 1131 > next_timeout_task_->TimedOut(); | |
| 1132 > } | |
| 1133 > | |
| 1134 diff -r libjingle-0.4.0/talk/base/testclient.cc libjingle/files/talk/base/testcl
ient.cc | |
| 1135 29a30 | |
| 1136 > #include <cstring> | |
| 1137 diff -r libjingle-0.4.0/talk/base/thread.cc libjingle/files/talk/base/thread.cc | |
| 1138 100a101,105 | |
| 1139 > bool ThreadManager::ThreadActive(Thread *thread) { | |
| 1140 > CritScope cs(&crit_); | |
| 1141 > return(std::find(threads_.begin(), threads_.end(), thread) != threads_.end()
); | |
| 1142 > } | |
| 1143 > | |
| 1144 103a109 | |
| 1145 > stopped_ = false; | |
| 1146 124,125c130,135 | |
| 1147 < pthread_create(&thread_, &attr, PreRun, this); | |
| 1148 < started_ = true; | |
| 1149 --- | |
| 1150 > CritScope cs(&started_crit_); | |
| 1151 > // Make sure Join() hasn't been called yet. | |
| 1152 > if (stopped_) | |
| 1153 > return; | |
| 1154 > if (pthread_create(&thread_, &attr, PreRun, this) == 0) | |
| 1155 > started_ = true; | |
| 1156 128a139,140 | |
| 1157 > CritScope cs(&started_crit_); | |
| 1158 > stopped_ = true; | |
| 1159 131a144 | |
| 1160 > started_ = false; | |
| 1161 168a182,185 | |
| 1162 > CritScope cs(&started_crit_); | |
| 1163 > // Make sure Join() hasn't been called yet. | |
| 1164 > if (stopped_) | |
| 1165 > return; | |
| 1166 181a199,200 | |
| 1167 > CritScope cs(&started_crit_); | |
| 1168 > stopped_ = true; | |
| 1169 191a211,213 | |
| 1170 > // Make sure the thread hasn't been deleted. | |
| 1171 > if (!g_thmgr.ThreadActive(thread)) | |
| 1172 > return NULL; | |
| 1173 207c229 | |
| 1174 < MessageQueue::Stop(); | |
| 1175 --- | |
| 1176 > MessageQueue::Quit(); | |
| 1177 329c351 | |
| 1178 < return false; | |
| 1179 --- | |
| 1180 > return !IsQuitting(); | |
| 1181 diff -r libjingle-0.4.0/talk/base/thread.h libjingle/files/talk/base/thread.h | |
| 1182 57a58 | |
| 1183 > bool ThreadActive(Thread *thread); | |
| 1184 134a136 | |
| 1185 > CriticalSection started_crit_; | |
| 1186 135a138 | |
| 1187 > bool stopped_; | |
| 1188 diff -r libjingle-0.4.0/talk/base/urlencode.cc libjingle/files/talk/base/urlenco
de.cc | |
| 1189 0a1,2 | |
| 1190 > #include <stdlib.h> | |
| 1191 > #include <string.h> | |
| 1192 Only in libjingle-0.4.0/talk/base: win32socketserver.cc | |
| 1193 Only in libjingle-0.4.0/talk/base: win32socketserver.h | |
| 1194 Only in libjingle/files/talk/base: win32window.cc | |
| 1195 diff -r libjingle-0.4.0/talk/base/winping.cc libjingle/files/talk/base/winping.c
c | |
| 1196 133c133 | |
| 1197 < return sizeof(ICMP_ECHO_REPLY) + max(8UL, data_size); | |
| 1198 --- | |
| 1199 > return sizeof(ICMP_ECHO_REPLY) + _max((uint32)(8UL), data_size); | |
| 1200 317c317 | |
| 1201 < } // namespace talk_base | |
| 1202 \ No newline at end of file | |
| 1203 --- | |
| 1204 > } // namespace talk_base | |
| 1205 Only in libjingle/files/talk/base: winsock_initializer.cc | |
| 1206 Only in libjingle/files/talk/base: winsock_initializer.h | |
| 1207 Only in libjingle-0.4.0/talk: examples | |
| 1208 Only in libjingle-0.4.0/talk: libjingle.sln | |
| 1209 Only in libjingle-0.4.0/talk: libjingle.vcproj | |
| 1210 Only in libjingle-0.4.0/talk: p2p | |
| 1211 Only in libjingle-0.4.0/talk: session | |
| 1212 Only in libjingle-0.4.0/talk: third_party | |
| 1213 Only in libjingle-0.4.0/talk/xmllite: Makefile.in | |
| 1214 diff -r libjingle-0.4.0/talk/xmllite/qname.cc libjingle/files/talk/xmllite/qname
.cc | |
| 1215 39c39 | |
| 1216 < int result = ns.size() * 101; | |
| 1217 --- | |
| 1218 > int result = static_cast<int>(ns.size()) * 101; | |
| 1219 diff -r libjingle-0.4.0/talk/xmllite/qname.h libjingle/files/talk/xmllite/qname.
h | |
| 1220 64d63 | |
| 1221 < refcount_(1), | |
| 1222 66c65,66 | |
| 1223 < localPart_(local) {} | |
| 1224 --- | |
| 1225 > localPart_(local), | |
| 1226 > refcount_(1) {} | |
| 1227 diff -r libjingle-0.4.0/talk/xmllite/xmlelement.cc libjingle/files/talk/xmllite/
xmlelement.cc | |
| 1228 88c88,89 | |
| 1229 < pLastChild_(NULL) { | |
| 1230 --- | |
| 1231 > pLastChild_(NULL), | |
| 1232 > cdata_(false) { | |
| 1233 97c98,99 | |
| 1234 < pLastChild_(NULL) { | |
| 1235 --- | |
| 1236 > pLastChild_(NULL), | |
| 1237 > cdata_(false) { | |
| 1238 125a128 | |
| 1239 > cdata_ = elt.cdata_; | |
| 1240 133c136,137 | |
| 1241 < pLastChild_(NULL) { | |
| 1242 --- | |
| 1243 > pLastChild_(NULL), | |
| 1244 > cdata_(false) { | |
| 1245 393a398,403 | |
| 1246 > XmlElement::AddCDATAText(const char * buf, int len) { | |
| 1247 > cdata_ = true; | |
| 1248 > AddParsedText(buf, len); | |
| 1249 > } | |
| 1250 > | |
| 1251 > void | |
| 1252 diff -r libjingle-0.4.0/talk/xmllite/xmlelement.h libjingle/files/talk/xmllite/x
mlelement.h | |
| 1253 203a204,206 | |
| 1254 > // Note: CDATA is not supported by XMPP, therefore using this function will | |
| 1255 > // generate non-XMPP compatible XML. | |
| 1256 > void AddCDATAText(const char * buf, int len); | |
| 1257 217a221,222 | |
| 1258 > bool IsCDATA() const { return cdata_; } | |
| 1259 > | |
| 1260 228a234 | |
| 1261 > bool cdata_; | |
| 1262 diff -r libjingle-0.4.0/talk/xmllite/xmlparser.cc libjingle/files/talk/xmllite/x
mlparser.cc | |
| 1263 28,29d27 | |
| 1264 < #include "talk/xmllite/xmlparser.h" | |
| 1265 < | |
| 1266 35a34 | |
| 1267 > #include "talk/xmllite/xmlconstants.h" | |
| 1268 38c37 | |
| 1269 < #include "talk/xmllite/xmlconstants.h" | |
| 1270 --- | |
| 1271 > #include "talk/xmllite/xmlparser.h" | |
| 1272 119a119,121 | |
| 1273 > context_.SetPosition(XML_GetCurrentLineNumber(expat_), | |
| 1274 > XML_GetCurrentColumnNumber(expat_), | |
| 1275 > XML_GetCurrentByteIndex(expat_)); | |
| 1276 127a130,132 | |
| 1277 > context_.SetPosition(XML_GetCurrentLineNumber(expat_), | |
| 1278 > XML_GetCurrentColumnNumber(expat_), | |
| 1279 > XML_GetCurrentByteIndex(expat_)); | |
| 1280 134a140,142 | |
| 1281 > context_.SetPosition(XML_GetCurrentLineNumber(expat_), | |
| 1282 > XML_GetCurrentColumnNumber(expat_), | |
| 1283 > XML_GetCurrentByteIndex(expat_)); | |
| 1284 168c176,180 | |
| 1285 < if (XML_Parse(expat_, data, static_cast<int>(len), isFinal) != XML_STATUS_OK
) | |
| 1286 --- | |
| 1287 > if (XML_Parse(expat_, data, static_cast<int>(len), isFinal) != | |
| 1288 > XML_STATUS_OK) { | |
| 1289 > context_.SetPosition(XML_GetCurrentLineNumber(expat_), | |
| 1290 > XML_GetCurrentColumnNumber(expat_), | |
| 1291 > XML_GetCurrentByteIndex(expat_)); | |
| 1292 169a182 | |
| 1293 > } | |
| 1294 193c206,209 | |
| 1295 < raised_(XML_ERROR_NONE) { | |
| 1296 --- | |
| 1297 > raised_(XML_ERROR_NONE), | |
| 1298 > line_number_(0), | |
| 1299 > column_number_(0), | |
| 1300 > byte_index_(0) { | |
| 1301 247c263,285 | |
| 1302 < XmlParser::ParseContext::~ParseContext() { | |
| 1303 --- | |
| 1304 > void | |
| 1305 > XmlParser::ParseContext::SetPosition(XML_Size line, XML_Size column, | |
| 1306 > XML_Index byte_index) { | |
| 1307 > line_number_ = line; | |
| 1308 > column_number_ = column; | |
| 1309 > byte_index_ = byte_index; | |
| 1310 > } | |
| 1311 > | |
| 1312 > void | |
| 1313 > XmlParser::ParseContext::GetPosition(unsigned long * line, | |
| 1314 > unsigned long * column, | |
| 1315 > unsigned long * byte_index) { | |
| 1316 > if (line != NULL) { | |
| 1317 > *line = static_cast<unsigned long>(line_number_); | |
| 1318 > } | |
| 1319 > | |
| 1320 > if (column != NULL) { | |
| 1321 > *column = static_cast<unsigned long>(column_number_); | |
| 1322 > } | |
| 1323 > | |
| 1324 > if (byte_index != NULL) { | |
| 1325 > *byte_index = static_cast<unsigned long>(byte_index_); | |
| 1326 > } | |
| 1327 249a288 | |
| 1328 > XmlParser::ParseContext::~ParseContext() { | |
| 1329 251a291 | |
| 1330 > } | |
| 1331 diff -r libjingle-0.4.0/talk/xmllite/xmlparser.h libjingle/files/talk/xmllite/xm
lparser.h | |
| 1332 48a49,50 | |
| 1333 > virtual void GetPosition(unsigned long * line, unsigned long * column, | |
| 1334 > unsigned long * byte_index) = 0; | |
| 1335 85a88,89 | |
| 1336 > virtual void GetPosition(unsigned long * line, unsigned long * column, | |
| 1337 > unsigned long * byte_index); | |
| 1338 91a96 | |
| 1339 > void SetPosition(XML_Size line, XML_Size column, XML_Index byte_index); | |
| 1340 96a102,104 | |
| 1341 > XML_Size line_number_; | |
| 1342 > XML_Size column_number_; | |
| 1343 > XML_Index byte_index_; | |
| 1344 diff -r libjingle-0.4.0/talk/xmllite/xmlprinter.cc libjingle/files/talk/xmllite/
xmlprinter.cc | |
| 1345 46a47 | |
| 1346 > void PrintCDATAText(const std::string & text); | |
| 1347 134,136c135,141 | |
| 1348 < if (pchild->IsText()) | |
| 1349 < PrintBodyText(pchild->AsText()->Text()); | |
| 1350 < else | |
| 1351 --- | |
| 1352 > if (pchild->IsText()) { | |
| 1353 > if (element->IsCDATA()) { | |
| 1354 > PrintCDATAText(pchild->AsText()->Text()); | |
| 1355 > } else { | |
| 1356 > PrintBodyText(pchild->AsText()->Text()); | |
| 1357 > } | |
| 1358 > } else | |
| 1359 188a194,197 | |
| 1360 > void | |
| 1361 > XmlPrinterImpl::PrintCDATAText(const std::string & text) { | |
| 1362 > *pout_ << "<![CDATA[" << text << "]]>"; | |
| 1363 > } | |
| 1364 Only in libjingle-0.4.0/talk/xmpp: Makefile.in | |
| 1365 Only in libjingle-0.4.0/talk/xmpp: constants.cc | |
| 1366 Only in libjingle-0.4.0/talk/xmpp: constants.h | |
| 1367 diff -r libjingle-0.4.0/talk/xmpp/jid.cc libjingle/files/talk/xmpp/jid.cc | |
| 1368 33c33 | |
| 1369 < #include "talk/xmpp/constants.h" | |
| 1370 --- | |
| 1371 > #include "talk/xmpp/xmppconstants.h" | |
| 1372 diff -r libjingle-0.4.0/talk/xmpp/plainsaslhandler.h libjingle/files/talk/xmpp/p
lainsaslhandler.h | |
| 1373 31d30 | |
| 1374 < #include "talk/xmpp/saslhandler.h" | |
| 1375 32a32,34 | |
| 1376 > #include <string> | |
| 1377 > | |
| 1378 > #include "talk/xmpp/saslhandler.h" | |
| 1379 68a71,76 | |
| 1380 > | |
| 1381 > virtual bool GetTlsServerInfo(const talk_base::SocketAddress& server, | |
| 1382 > std::string* tls_server_hostname, | |
| 1383 > std::string* tls_server_domain) { | |
| 1384 > return false; | |
| 1385 > } | |
| 1386 diff -r libjingle-0.4.0/talk/xmpp/prexmppauth.h libjingle/files/talk/xmpp/prexmp
pauth.h | |
| 1387 33d32 | |
| 1388 < #include "talk/xmpp/saslhandler.h" | |
| 1389 64c63 | |
| 1390 < class PreXmppAuth : public SaslHandler { | |
| 1391 --- | |
| 1392 > class PreXmppAuth { | |
| 1393 diff -r libjingle-0.4.0/talk/xmpp/saslcookiemechanism.h libjingle/files/talk/xmp
p/saslcookiemechanism.h | |
| 1394 33c33 | |
| 1395 < #include "talk/xmpp/constants.h" | |
| 1396 --- | |
| 1397 > #include "talk/xmpp/xmppconstants.h" | |
| 1398 40,41c40,55 | |
| 1399 < SaslCookieMechanism(const std::string & mechanism, const std::string & usern
ame, const std::string & cookie) : | |
| 1400 < mechanism_(mechanism), username_(username), cookie_(cookie) {} | |
| 1401 --- | |
| 1402 > SaslCookieMechanism(const std::string & mechanism, | |
| 1403 > const std::string & username, | |
| 1404 > const std::string & cookie, | |
| 1405 > const std::string & token_service) | |
| 1406 > : mechanism_(mechanism), | |
| 1407 > username_(username), | |
| 1408 > cookie_(cookie), | |
| 1409 > token_service_(token_service) {} | |
| 1410 > | |
| 1411 > SaslCookieMechanism(const std::string & mechanism, | |
| 1412 > const std::string & username, | |
| 1413 > const std::string & cookie) | |
| 1414 > : mechanism_(mechanism), | |
| 1415 > username_(username), | |
| 1416 > cookie_(cookie), | |
| 1417 > token_service_("") {} | |
| 1418 48a63,67 | |
| 1419 > if (!token_service_.empty()) { | |
| 1420 > el->AddAttr( | |
| 1421 > QName(true, "http://www.google.com/talk/protocol/auth", "service"), | |
| 1422 > token_service_); | |
| 1423 > } | |
| 1424 62a82 | |
| 1425 > std::string token_service_; | |
| 1426 diff -r libjingle-0.4.0/talk/xmpp/saslhandler.h libjingle/files/talk/xmpp/saslha
ndler.h | |
| 1427 31a32,34 | |
| 1428 > #include <vector> | |
| 1429 > | |
| 1430 > #include "talk/base/socketaddress.h" | |
| 1431 53a57,63 | |
| 1432 > | |
| 1433 > // Fills in the tls server hostname/domain to use for the given | |
| 1434 > // server (and returns true). Return false if you want the defaults | |
| 1435 > // to be used. | |
| 1436 > virtual bool GetTlsServerInfo(const talk_base::SocketAddress& server, | |
| 1437 > std::string* tls_server_hostname, | |
| 1438 > std::string* tls_server_domain) = 0; | |
| 1439 diff -r libjingle-0.4.0/talk/xmpp/saslmechanism.cc libjingle/files/talk/xmpp/sas
lmechanism.cc | |
| 1440 30c30 | |
| 1441 < #include "talk/xmpp/constants.h" | |
| 1442 --- | |
| 1443 > #include "talk/xmpp/xmppconstants.h" | |
| 1444 diff -r libjingle-0.4.0/talk/xmpp/xmppclient.cc libjingle/files/talk/xmpp/xmppcl
ient.cc | |
| 1445 30c30 | |
| 1446 < #include "talk/xmpp/constants.h" | |
| 1447 --- | |
| 1448 > #include "talk/xmpp/xmppconstants.h" | |
| 1449 32a33 | |
| 1450 > #include "talk/xmpp/saslhandler.h" | |
| 1451 68a70 | |
| 1452 > scoped_ptr<SaslHandler> sasl_handler_; | |
| 1453 93c95,99 | |
| 1454 < XmppClient::Connect(const XmppClientSettings & settings, const std::string & l
ang, AsyncSocket * socket, PreXmppAuth * pre_auth) { | |
| 1455 --- | |
| 1456 > XmppClient::Connect(const XmppClientSettings & settings, | |
| 1457 > const std::string & lang, | |
| 1458 > AsyncSocket * socket, | |
| 1459 > PreXmppAuth * pre_auth, | |
| 1460 > SaslHandler * sasl_handler) { | |
| 1461 113,125c119,125 | |
| 1462 < // | |
| 1463 < // The talk.google.com server expects you to use "gmail.com" in the | |
| 1464 < // stream, and expects the domain certificate to be "gmail.com" as well. | |
| 1465 < // For all other servers, we leave the strings empty, which causes | |
| 1466 < // the jid's domain to be used. "foo@example.com" -> stream to="example.com
" | |
| 1467 < // tls certificate for "example.com" | |
| 1468 < // | |
| 1469 < // This is only true when using Gaia auth, so let's say if there's no preaut
h, | |
| 1470 < // we should use the actual server name | |
| 1471 < if ((settings.server().IPAsString() == buzz::STR_TALK_GOOGLE_COM || | |
| 1472 < settings.server().IPAsString() == buzz::STR_TALKX_L_GOOGLE_COM) && | |
| 1473 < pre_auth != NULL) { | |
| 1474 < d_->engine_->SetTlsServer(buzz::STR_GMAIL_COM, buzz::STR_GMAIL_COM); | |
| 1475 --- | |
| 1476 > if (sasl_handler) { | |
| 1477 > std::string tls_server_hostname, tls_server_domain; | |
| 1478 > if (sasl_handler->GetTlsServerInfo(settings.server(), | |
| 1479 > &tls_server_hostname, | |
| 1480 > &tls_server_domain)) { | |
| 1481 > d_->engine_->SetTlsServer(tls_server_hostname, tls_server_domain); | |
| 1482 > } | |
| 1483 139a140 | |
| 1484 > d_->sasl_handler_.reset(sasl_handler); | |
| 1485 200a202,209 | |
| 1486 > if (d_->sasl_handler_.get()) { | |
| 1487 > d_->engine_->SetSaslHandler(d_->sasl_handler_.release()); | |
| 1488 > } | |
| 1489 > else { | |
| 1490 > d_->engine_->SetSaslHandler(new PlainSaslHandler( | |
| 1491 > d_->engine_->GetUser(), d_->pass_, d_->allow_plain_)); | |
| 1492 > } | |
| 1493 > | |
| 1494 209,210d217 | |
| 1495 < d_->engine_->SetSaslHandler(new PlainSaslHandler( | |
| 1496 < d_->engine_->GetUser(), d_->pass_, d_->allow_plain_)); | |
| 1497 253,254d259 | |
| 1498 < // transfer ownership of pre_auth_ to engine | |
| 1499 < d_->engine_->SetSaslHandler(d_->pre_auth_.release()); | |
| 1500 261a267,268 | |
| 1501 > d_->pre_engine_error_ = XmppEngine::ERROR_SOCKET; | |
| 1502 > d_->pre_engine_subcode_ = d_->socket_->GetError(); | |
| 1503 347c354 | |
| 1504 < //#ifdef _DEBUG | |
| 1505 --- | |
| 1506 > //#if !defined(NDEBUG) | |
| 1507 375c382 | |
| 1508 < //#ifdef _DEBUG | |
| 1509 --- | |
| 1510 > //#if !defined(NDEBUG) | |
| 1511 diff -r libjingle-0.4.0/talk/xmpp/xmppclient.h libjingle/files/talk/xmpp/xmppcli
ent.h | |
| 1512 42a43 | |
| 1513 > class SaslHandler; | |
| 1514 80c81,82 | |
| 1515 < PreXmppAuth * preauth); | |
| 1516 --- | |
| 1517 > PreXmppAuth * preauth, | |
| 1518 > SaslHandler * sasl_handler); | |
| 1519 141c143 | |
| 1520 < std::string XmppClient::GetStateName(int state) const { | |
| 1521 --- | |
| 1522 > std::string GetStateName(int state) const { | |
| 1523 diff -r libjingle-0.4.0/talk/xmpp/xmppclientsettings.h libjingle/files/talk/xmpp
/xmppclientsettings.h | |
| 1524 31d30 | |
| 1525 < #include "talk/p2p/base/port.h" | |
| 1526 32a32,45 | |
| 1527 > #include "talk/base/proxyinfo.h" | |
| 1528 > | |
| 1529 > namespace cricket { | |
| 1530 > | |
| 1531 > // This enum was taken from talk/p2p/base/port.h, which is the only | |
| 1532 > // thing we actually need from the p2p directory. | |
| 1533 > enum ProtocolType { | |
| 1534 > PROTO_UDP, | |
| 1535 > PROTO_TCP, | |
| 1536 > PROTO_SSLTCP, | |
| 1537 > PROTO_LAST = PROTO_SSLTCP | |
| 1538 > }; | |
| 1539 > | |
| 1540 > } // namespace cricket | |
| 1541 59a73,75 | |
| 1542 > void set_token_service(const std::string & token_service) { | |
| 1543 > token_service_ = token_service; | |
| 1544 > } | |
| 1545 75a92 | |
| 1546 > const std::string & token_service() const { return token_service_; } | |
| 1547 93a111 | |
| 1548 > std::string token_service_; | |
| 1549 Only in libjingle/files/talk/xmpp: xmppconstants.cc | |
| 1550 Only in libjingle/files/talk/xmpp: xmppconstants.h | |
| 1551 diff -r libjingle-0.4.0/talk/xmpp/xmppengineimpl.cc libjingle/files/talk/xmpp/xm
ppengineimpl.cc | |
| 1552 37c37 | |
| 1553 < #include "talk/xmpp/constants.h" | |
| 1554 --- | |
| 1555 > #include "talk/xmpp/xmppconstants.h" | |
| 1556 diff -r libjingle-0.4.0/talk/xmpp/xmppengineimpl_iq.cc libjingle/files/talk/xmpp
/xmppengineimpl_iq.cc | |
| 1557 32c32 | |
| 1558 < #include "talk/xmpp/constants.h" | |
| 1559 --- | |
| 1560 > #include "talk/xmpp/xmppconstants.h" | |
| 1561 diff -r libjingle-0.4.0/talk/xmpp/xmpplogintask.cc libjingle/files/talk/xmpp/xmp
plogintask.cc | |
| 1562 34c34 | |
| 1563 < #include "talk/xmpp/constants.h" | |
| 1564 --- | |
| 1565 > #include "talk/xmpp/xmppconstants.h" | |
| 1566 44c44 | |
| 1567 < #ifdef _DEBUG | |
| 1568 --- | |
| 1569 > #if !defined(NDEBUG) | |
| 1570 59c59 | |
| 1571 < #endif // _DEBUG | |
| 1572 --- | |
| 1573 > #endif // !defined(NDEBUG) | |
| 1574 103c103 | |
| 1575 < #if _DEBUG | |
| 1576 --- | |
| 1577 > #if !defined(NDEBUG) | |
| 1578 106c106 | |
| 1579 < #endif // _DEBUG | |
| 1580 --- | |
| 1581 > #endif // !defined(NDEBUG) | |
| 1582 218a219,221 | |
| 1583 > auth->SetAttr(QN_GOOGLE_ALLOW_GENERATED_JID_XMPP_LOGIN, "true"); | |
| 1584 > auth->SetAttr(QN_GOOGLE_AUTH_CLIENT_USES_FULL_BIND_RESULT, "true"); | |
| 1585 > | |
| 1586 diff -r libjingle-0.4.0/talk/xmpp/xmpplogintask.h libjingle/files/talk/xmpp/xmpp
logintask.h | |
| 1587 93c93 | |
| 1588 < #ifdef _DEBUG | |
| 1589 --- | |
| 1590 > #if !defined(NDEBUG) | |
| 1591 95c95 | |
| 1592 < #endif // _DEBUG | |
| 1593 --- | |
| 1594 > #endif // !defined(NDEBUG) | |
| 1595 diff -r libjingle-0.4.0/talk/xmpp/xmppstanzaparser.cc libjingle/files/talk/xmpp/
xmppstanzaparser.cc | |
| 1596 32c32 | |
| 1597 < #include "talk/xmpp/constants.h" | |
| 1598 --- | |
| 1599 > #include "talk/xmpp/xmppconstants.h" | |
| 1600 diff -r libjingle-0.4.0/talk/xmpp/xmpptask.cc libjingle/files/talk/xmpp/xmpptask
.cc | |
| 1601 31c31 | |
| 1602 < #include "talk/xmpp/constants.h" | |
| 1603 --- | |
| 1604 > #include "talk/xmpp/xmppconstants.h" | |
| 1605 40c40 | |
| 1606 < #ifdef _DEBUG | |
| 1607 --- | |
| 1608 > #if !defined(NDEBUG) | |
| 1609 88c88 | |
| 1610 < #ifdef _DEBUG | |
| 1611 --- | |
| 1612 > #if !defined(NDEBUG) | |
| 1613 174c174 | |
| 1614 < } | |
| 1615 \ No newline at end of file | |
| 1616 --- | |
| 1617 > } | |
| 1618 diff -r libjingle-0.4.0/talk/xmpp/xmpptask.h libjingle/files/talk/xmpp/xmpptask.
h | |
| 1619 80c80 | |
| 1620 < #ifdef _DEBUG | |
| 1621 --- | |
| 1622 > #if !defined(NDEBUG) | |
| 1623 106,107c106,107 | |
| 1624 < XmlElement *MakeIqResult(const XmlElement* query); | |
| 1625 < XmlElement *MakeIq(const std::string& type, | |
| 1626 --- | |
| 1627 > static XmlElement *MakeIqResult(const XmlElement* query); | |
| 1628 > static XmlElement *MakeIq(const std::string& type, | |
| 1629 123c123 | |
| 1630 < #ifdef _DEBUG | |
| 1631 --- | |
| 1632 > #if !defined(NDEBUG) | |
| 1633 diff -r libjingle-0.4.0/talk/base/common.cc libjingle/files/talk/base/common.cc | |
| 1634 62c62 | |
| 1635 < } // namespace talk_base | |
| 1636 \ No newline at end of file | |
| 1637 --- | |
| 1638 > } // namespace talk_base | |
| 1639 diff -r libjingle-0.4.0/talk/base/httpbase.cc libjingle/files/talk/base/httpbase
.cc | |
| 1640 154c154 | |
| 1641 < if (sscanf(value, "%d", &data_size_) != 1) { | |
| 1642 --- | |
| 1643 > if (sscanf(value, "%zu", &data_size_) != 1) { | |
| 1644 diff -r libjingle-0.4.0/talk/base/httpcommon.cc libjingle/files/talk/base/httpco
mmon.cc | |
| 1645 339c339 | |
| 1646 < &tval.tm_hour, &tval.tm_min, &tval.tm_sec, &zone)) { | |
| 1647 --- | |
| 1648 > &tval.tm_hour, &tval.tm_min, &tval.tm_sec, zone)) { | |
| 1649 472c472 | |
| 1650 < uint32 vmajor, vminor; | |
| 1651 --- | |
| 1652 > unsigned long vmajor, vminor; | |
| 1653 549,550c549,550 | |
| 1654 < uint32 vmajor, vminor; | |
| 1655 < if ((sscanf(line, "HTTP/%lu.%lu %lu%n", &vmajor, &vminor, &scode, &pos) != 3
) | |
| 1656 --- | |
| 1657 > unsigned long vmajor, vminor; | |
| 1658 > if ((sscanf(line, "HTTP/%lu.%lu %lu%zu", &vmajor, &vminor, &scode, &pos) !=
3) | |
| 1659 693c693 | |
| 1660 < sprintf(buffer, "%d", time(0)); | |
| 1661 --- | |
| 1662 > sprintf(buffer, "%ld", time(0)); | |
| 1663 diff -r libjingle-0.4.0/talk/base/httpcommon.h libjingle/files/talk/base/httpcom
mon.h | |
| 1664 329c329 | |
| 1665 < uint32 scode; | |
| 1666 --- | |
| 1667 > unsigned long scode; | |
| 1668 diff -r libjingle-0.4.0/talk/base/diskcache.cc libjingle/files/talk/base/diskcac
he.cc | |
| 1669 300c300 | |
| 1670 < if (1 != sscanf(pathname.extension().c_str(), ".%u", index)) | |
| 1671 --- | |
| 1672 > if (1 != sscanf(pathname.extension().c_str(), ".%zu", index)) | |
| 1673 diff -r libjingle-0.4.0/talk/base/logging.cc libjingle/files/talk/base/logging.c
c | |
| 1674 69c69 | |
| 1675 < snprintf(buffer, sizeof(buffer), "0x%08lx", err); | |
| 1676 --- | |
| 1677 > snprintf(buffer, sizeof(buffer), "0x%08x", err); | |
| 1678 diff -r libjingle-0.4.0/talk/base/socketadapters.cc libjingle/files/talk/base/so
cketadapters.cc | |
| 1679 360,361c360,361 | |
| 1680 < uint32 code; | |
| 1681 < if (sscanf(data, "HTTP/%*lu.%*lu %lu", &code) != 1) { | |
| 1682 --- | |
| 1683 > unsigned long code; | |
| 1684 > if (sscanf(data, "HTTP/%*u.%*u %lu", &code) != 1) { | |
| OLD | NEW |