Age | Commit message (Collapse) | Author |
|
All our pimpl idiom usage used std::shared_ptr due to being
written in C++03. Now we use C++11 and const std::unique_ptr
is more sensible.
Test-Information:
Builds on macOS 10.12 and unit tests pass.
Change-Id: I1b9b3fbb22e337d53ae71e5a5e03118998cc3376
|
|
If a command table contained actions or notes, an extraneous lua_pushnil
happened, leading to a crash.
Test-Information:
Rendering a command using to_xml with actions or notes now works as
expected on OS X 10.11
Change-Id: Ic99b2546ac261edf6b52b92e63701f397fc6201a
|
|
Test-Information:
Added serializer and parser unit tests. All tests pass on
Mac OS X 10.11.4.
Change-Id: I8550c76ba182a67613d55634c72c0f2979f8b80a
|
|
This changes HippoMocks include to -isystem include so it will
not cause compiler warnings.
This changes UserLocation floating point values to double and
remove remaining numerical casts.
Change C++11 compiler test to not cause warnings.
Test-Information:
Builds with allow_warnings=0 on OS X 10.11.5 with Xcode clang.
Change-Id: I26c60265a86c9be656089ade63fe9ad63851580f
|
|
Move std::cout/cerr logging to SWIFT_LOG.
Test-Information:
Builds and all tests pass on OS X 10.11.5.
Change-Id: I0a0c24654a8b3abf3244a79fd6d970eee90559d0
|
|
Test-Information:
Test that it still builds and unit test pass on OS X 10.11.4.
Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
|
|
This cuts down our dependency on Boost further. Another
benefit is that mutex classes of C++11 standard library are
recognized by TSAN.
Test-Information:
Unit and integration tests pass on OS X 10.11.4.
Change-Id: Id4dcdb42e3d5155e107ce1d7618acbf26f913b6f
|
|
The signals library is still called signals and not signals2.
Test-Information:
Builds and unit tests pass on Debian 8.4 with system GCC.
Change-Id: I1d1b3f6bade979bc8a181915176b84be0ddf6597
|
|
Boost.Signals was deprecated and is not improved further.
This patch removes Boost.Signals from 3rdParty and adds
Boost.Signals2 and its dependencies.
Also removed the Qt signals compatibility file
Swiften/Base/boost_bsignals.h.
Test-Information:
Build and ran unit tests on OS X 10.11.4. Confirmed successful
login using Swift client.
Change-Id: Ie6e3b2d15aac2462cda95401582f5287a479fb54
|
|
Run 'clang-tidy -fix -checks=modernize-loop-convert' on all
source code files on OS X. This does not modernize platform
specific code on Linux and Windows
Test-Information:
Code builds and unit tests pass on OS X 10.11.4.
Change-Id: I65b99e0978cfab8ca6de2a3e5342e7a81416c12c
|
|
This change was done by applying the following 'gsed'
replacement calls to all source files:
's/\#include <boost\/shared_ptr\.hpp>/\#include <memory>/g'
's/\#include <boost\/enable_shared_from_this\.hpp>/\#include <memory>/g'
's/\#include <boost\/smart_ptr\/make_shared\.hpp>/\#include <memory>/g'
's/\#include <boost\/make_shared\.hpp>/\#include <memory>/g'
's/\#include <boost\/weak_ptr\.hpp>/\#include <memory>/g'
's/boost::make_shared/std::make_shared/g'
's/boost::dynamic_pointer_cast/std::dynamic_pointer_cast/g'
's/boost::shared_ptr/std::shared_ptr/g'
's/boost::weak_ptr/std::weak_ptr/g'
's/boost::enable_shared_from_this/std::enable_shared_from_this/g'
The remaining issues have been fixed manually.
Test-Information:
Code builds on OS X 10.11.4 and unit tests pass.
Change-Id: Ia7ae34eab869fb9ad6387a1348426b71ae4acd5f
|
|
Run 'clang-tidy -fix -checks=modernize-use-nullptr' on all
source code files on OS X. This does not modernize platform
specific code on Linux and Windows
Test-Information:
Code builds and unit tests pass on OS X 10.11.4.
Change-Id: Ic43ffeb1b76c1a933a55af03db3c54977f5f60dd
|
|
Removed trailing spaces and whitespace on empty lines
in the process.
Changed CheckTabs.py tool to disallow hard tabs in source
files.
Test-Information:
Manually checked 30 random files that the conversion worked
as expected.
Change-Id: I874f99d617bd3d2bb55f02d58f22f58f9b094480
|
|
Changed "" style includes to <> style.
Test-Information:
Build with Clang 3.9.0 and ran all tests on OS X 10.11.4.
Change-Id: Ic05e53f2e5dba39cc1307b116fc5f17b62ab9eb8
|
|
There were a lot #pramas to ignore unused private field
warnings. The pragmas and the unused fields have been
removed.
Test-Information:
Build on OS X 10.11.3 with XCode Clang.
Change-Id: Ie2f5398771088f93631c0f2c03d3cfdcca94cee6
|
|
Clang was complaining about implicit conversions between
nullable and non-nullable NSString pointers. Adjusted our
std::string -> NSString* conversion utilities to check for
nil and return an empty std::string in that case.
Replaced uses of [NSString stringWithUTF8String] with our
STD2NSSTRING macro.
Turned std::string <-> NSString* conversion macros into
functions.
Test-Information:
Builds without the warning on OS X 10.11.3 and Swift runs
without issues.
Change-Id: I949f2f3332018391aead58ef362764f4b7955b01
|
|
This avoids Sluift indefinitely waiting if the server does not
respond
Test-Information:
Before the patch, a sluift client would wait indefinitely if
a buggy XMPP server does not respond.
With this patch, sluift clients now timeout and through an
exception after SLUIFT_TIMEOUT when the server does not respond.
Change-Id: I9d36f53a8f4d5b3d594cef68c42de38fd5a1c296
|
|
As a result of commit "Change stanza body to boost::optional<std::string> type"
(commit 1b9ccc1fef6104eaf951153ddccdc6bb15899e9a), Sluift was not
populating the 'body' part of the message event, casting it to a bool instead.
By adding get_value_or("") to that body part, the actual body value
is retrieved, and the message event ends up containing the right information.
Test-Information:
Without the patch, Sluift's message event body is 'true'.
With the patch, Sluift's message event body contains the actual message.
Component messages also tested and event body as expected.
Change-Id: I366202aa5bf28a3315a81d909ea08f0933aa06d7
|
|
Before this patch it was calling the constructor and creating certificate
object with empty string. This was causing tests to fail when client was
set with null certificate.
This object fixes it by setting the certificate object to Null if the
certificate file is empty.
Test-information:
Test cases using sluift with this API that set null certificate now pass
Change-Id: Id75e22b58afebb2db463a7a23a4ca0686ef6eb12
|
|
This patch prevents SWIFTEN from logging in if provided with a missing PKCS12 file.
Before this patch, swiften would attempt a password based login using operator JID
and pwd of the P12 file when the P12 file was missing.
This patch fixes it by checking the certificate and not initialising session stream
and connection if the certificate is empty. It emits a disconnect with client
certificate load error. The string for certificate load error has been modified to
indicate a file or password invalid.
Test-information:
Tested by doing a certificate based bind to an XMPP server. Removed the PKCS#12
file and checked that swift gave a certificate error instead of doing pwd connect
Change-Id: I1869a13f1f7135b6606f7383cd4a0356ffd6931b
|
|
Test-Information:
Build and tests pass successfully on OS X 10.10.5.
Change-Id: I614586660796f9ef043156d09d998d39934a6eca
|
|
The iTunes support in Sluift requires extraction of the iTunes
scripting interface. Clang version Apple LLVM version 7.0.0
will error with "error: type arguments cannot be applied to
non-parameterized class 'NSArray'" and similar on the extracted
scripting interface.
With this change the sdp tool will generate scripting
interfaces compatible to OS X 10.10. The generated interface
files do not cause the error.
Test-Information:
Tested the build on OS X 10.10.5 and OS X 10.9.5 and verified
that the Sluift command "sluift.itunes.get_current_track()"
still works on both systems.
Change-Id: If70c797aea69e95c7be3cda4c50b64da45028aac
|
|
This patch introduces a 'set_certificate' API for Sluift
clients, which it is just a wrapper around Swiften's
Core client setCertificate.
Test-Information:
Generated different user certificates for a user (trusted,
untrusted, invalid, expired...) and set M-Link to enable flag
'tls_require_client_cert'. Calling 'set_certificate' with these
certificates behaved as expected, either letting the Sluift
client to authenticate or not.
Also tested caling 'set_certificate' with no parameter, and the
certificate was successfully cleared (that is, client would no
longer be able to connect)
Change-Id: Ieb56d59f7f7c1c7027f0fe56905fb83ac3b25298
|
|
The add_contact and remove_contact calls used a fixed timeout of -1,
which could cause the operation to hang forever, even when a timeout was
set.
Test-Information:
add_contact and remove_contact properly honour global timeout on a
broken connection.
Change-Id: I6bd877a8123ddab87b1f653c0cfda7a6b101dae7
|
|
Change-Id: If1f0b08ac600e6c84d367132cc512dc5a3add442
|
|
Change-Id: I55e69471a03b507b3c50ac5fa24b486a0826e1c5
|
|
Change-Id: I19f8ae342e028a6a7b4b13758f2e8c170a1db80c
|
|
The index element was missing, added it in Swiften and Sluift.
Change-Id: I709037fafcc5242c7c2e2fddb8469316c106d51a
|
|
Change-Id: I3767f479609bf64cc6d64932e125c2e66e5f75eb
|
|
Test-Information:
Compiles, no further testing required by the changes.
Change-Id: I8a6174af9728d6b53a506d50e8b5132be103b4d2
|
|
Test-Information:
Yet to be done.
Change-Id: I624a64ae8817695fb1be00f0473ede3915751a21
|
|
Added node to MAMQuery, the serializers, unit tests and the Sluift
ElementConvertor.
Test-Information:
Unit tests pass on OS X 10.9
Sluift script querying a pubsub archive sent the right query.
Change-Id: If8620104a11b402d7b51a6e9b34ccbe1b7e6d15a
|
|
Added support for <fin/> element, including serializer/parsers and unit tests for
them. Added more unit tests based on XEP examples for existing parsers. Removed
unneccesarry includes from existing MAM implementation.
Test-Information:
Existing and new unit tests pass successfully.
Change-Id: I7e6bf85e0961d59801b452e4559cc1db9e9e6ed8
|
|
C++11.
Test-Information:
Tested with Clang 3.6.0.
Change-Id: I1f9ae8ae535d90f92b7263e86b51fe64b15524b4
|
|
Removes some unused private members and restructure switch statement to handle
all cases.
Test-Information:
Fixed code does not emit the clang warnings anymore.
Change-Id: I06a9036b307014e2f882e3cee45a6881b24c3f70
|
|
generate_embedded_lua in Sluift/SConscript used a bytearray, which wasn't
available until Python 2.6. Modified the code to use the string data
instead of a bytearray.
Test-information:
Builds on OS X 10.9 and CentOS 5.9
sluift binary works on both platforms
Change-Id: Iae29f76e32c8b7a827bc438caf09457b259446ca
|
|
Change-Id: I3b358e6a60f1ff546f2e578b6e0a54072b4c6da5
|
|
Test Information:
MAM queries now return a payload of _type='subject'.
Change-Id: I4fe4eb5105f4f19d146e4cca741d35bb7760cf6c
|
|
Test-Information:
Prepare valid and invalid JIDs and make sure that isValid() is reported correctly. Added unit tests.
Change-Id: Ic4d86f8b6ea9defc517ada2f8e3cc54979237cf4
|
|
Change-Id: I9fbd4514f6bc0d46738154abce495519e43ad46b
|
|
The 'fs' module provides filesystem functions.
Currently has function to list directory contents and test
whether a path is a file.
Test-Information:
Tested in external script.
Change-Id: I14ba614b0b3bd52f5d9e87a40dc6477d99604d88
|
|
Change-Id: Ib8af01c04c866e198c04d35236dea4da464c9116
|
|
DOMElementConvertor crashed because the stack wasn't large enough for
deeper nested element trees. Calling lua_checkstack grows the stack if
there's need for it. Normally Lua does this for you, but the
DOMElementConverter can spend quite some time in non-Lua space.
Change-Id: I23e563d49191b1db1204d2f6fa7d30e2e9d05c1f
|
|
Change-Id: I5d81e2476c83a16a8e478656d11d91137b009f3a
|
|
Change-Id: Ia3c0195ffc5d93a1d3189fe811929459ee2d06a7
|
|
Change-Id: Ieec3795aa80e7913ee65c536f16361b758e8448c
|
|
Change-Id: I641380fe7423af7b2c7be992f59244a57fb24b51
|
|
Change-Id: I02f2ec421bd7ba54f64eff35dc1c6e21a7c22545
|
|
Change-Id: Ieefb87795316ffa4f513cf1d19d20730596db6d9
|
|
The function send_mam_query needs an optional form. Created a generic
form creation function, and made the pubsub configuration form function
use that.
Change-Id: I9e839b28df3916c1fd0b09d84a03cc521d1736ad
|