summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-09-16Close the stream for disallowed XML featuresJoanna Hulboj
According to RFC 6120 if any disallowed XML feature is encountered, we should close the stream with a <restricted-xml/>. The following features of XML are prohibited in XMPP: - processing instructions - internal or external DTD subsets - internal or external entity references - comments Test-information: Unit tests pass on Windows 10 and Ubuntu 18.04.1 LTS Change-Id: I475920c91b7f9da51ab37c106a4783a52f6e3cae
2017-10-30Sluift: Add support for Lua 5.3Roger Planas
This patch adds support for Lua 5.3, while keeping support for Lua 5.1 (a build with the bundled Lua succeeds) Test-information: Builds cleanly on Lua 5.1, 5.2 and Lua 5.3. Tests that make use of Sluift work with both Lua 5.2 and Lua 5.3 Change-Id: I4cbe2eb09ec8c753d8624047f5456be1de72c679
2017-07-13Remove Swiften/Base/Override.hTobias Markmann
Replaced SWIFTEN_OVERRIDE with C++11 standard override keyword. Test-Information: Tested on macOS 10.12.5 with clang trunk. Change-Id: If89c6cc2a648662522a320834c314496c943a55a
2017-07-11Add missing SWIFTEN_OVERRIDE statements to dtorsTobias Markmann
Also removes -Winconsistent-missing-destructor-override from the list of ignored clang warnings. Test-Information: Tested on macOS 10.12.5 with clang trunk. Change-Id: Iad951879e01eb951a2a393399f55e4e37437c6a2
2017-07-04Sluift: Add extensions support to disco#info queriesRoger Planas
Only identities and features were reported. Now extensions, if any, will also be reported Test-information: Sent disco#info to a muc room, and got the following extensions back (along with identities and features, so no regression) Change-Id: Ib4ab17114df4da5de51945df9e53c12bd42716d1
2017-06-21Fix compiler warningsKevin Smith
Both catching polymorphic base classes by value and explicitly moving things preventing return value optimization. Test-Information: Compiles on macOS with latest xcode with allow_warnings=False and unit tests pass Change-Id: Ibdc67f4f2019f85f14635df2a3ff06bddbb8e2b6
2017-03-28Modified XMLBeautifier to handle split payloadsJoanna Hulboj
When receiving network data we were processing it in chunks. Sometimes one XML message got split across multiple chunks. XMLBeautifier was stateless and would create a new parser for every single chunk. This was causing multi-chunk messages to be truncated in the beautified output. The change I made in XMLBeautifier allows it to maintain the state. Test-Information: Tested unger Windows 10 and CentOS. Unit tests pass OK. Change-Id: Idad2a8e0248ed3cbe2b47a12718b909e56ac1279
2016-11-23Migrate remaining Swiften/Base/foreach.h use to range-based for loopTobias Markmann
Test-Information: Build on macOS 10.12.1 and all tests pass. Change-Id: Iedaa3fa7e7672c77909fd0568bf30e9393cb87e0
2016-11-07Sluift: Added Carbons element convertorsRoger Planas
Sluift was showing payloads coming from a carbon copied message as a series of dom payloads, which was not really usable. With these ElementConvertors, the payload is translated into a much more sensible table Also a minor update to both presence/message events, which now will report the 'to' as well. Seemed handy to have. Test-information: Carbons sent/received messages are formated into a meaningful table now. Change-Id: I5b8943636e09e5377bde76d16970c01df29164d6
2016-10-19Always add a fields table member in FormConvertorEdwin Mons
The fields member of the forms generated by FormConvertor is used for lookups in the __index metafunction. If a form is parsed with no fields (and possibly no items), there wouldn't be a member 'fields', causing another __index lookup, triggering infinite recursion. There will now always be a fields array, which may be empty. Sluift/Tests/FormTest.lua has been updated to test against an empty form. Test-Information: Updated FormTest.lua works without issues. Change-Id: Idee98f23bf42e1213ca3d03707f908ed5317dad6
2016-09-21Fix crash in Sluift CommandConvertorEdwin Mons
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
2016-06-14Fix handling of notify attribute in PubSub retract elementsTobias Markmann
Test-Information: Added serializer and parser unit tests. All tests pass on Mac OS X 10.11.4. Change-Id: I8550c76ba182a67613d55634c72c0f2979f8b80a
2016-06-10Fix remaining compiler warnings on OS X with clangTobias Markmann
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
2016-05-25Remove unnecessary include of iostream headerTobias Markmann
Move std::cout/cerr logging to SWIFT_LOG. Test-Information: Builds and all tests pass on OS X 10.11.5. Change-Id: I0a0c24654a8b3abf3244a79fd6d970eee90559d0
2016-04-25Convert hard tabs to four spaces in all our SConscript/*.py filesTobias Markmann
Test-Information: Test that it still builds and unit test pass on OS X 10.11.4. Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
2016-04-04Modernize code to use C++11 shared_ptr instead of Boost'sTobias Markmann
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
2016-03-31Convert tabs to 4 spaces for all source filesTobias Markmann
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
2016-03-30Apply consistent #include grouping and sorting styleTobias Markmann
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
2016-03-17Cleanup #pragma pollution in Sluift element convertorsTobias Markmann
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
2015-02-11Sluift: Add element convertor for vCardRoger Planas
Change-Id: I55e69471a03b507b3c50ac5fa24b486a0826e1c5
2014-12-15Update Copyright In SluiftKevin Smith
Change-Id: I19f8ae342e028a6a7b4b13758f2e8c170a1db80c
2014-12-14Add index element to ResultSetEdwin Mons
The index element was missing, added it in Swiften and Sluift. Change-Id: I709037fafcc5242c7c2e2fddb8469316c106d51a
2014-11-06Cleanup for MAM fin element convertor for Sluift.Tobias Markmann
Test-Information: Compiles, no further testing required by the changes. Change-Id: I8a6174af9728d6b53a506d50e8b5132be103b4d2
2014-11-04Add Sluift element convertor for MAM fin element.Tobias Markmann
Test-Information: Yet to be done. Change-Id: I624a64ae8817695fb1be00f0473ede3915751a21
2014-10-30Add node attribute to MAMQueryEdwin Mons
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
2014-10-30Brining XEP-0313 (MAM) implementation in line with version 3.0.Tobias Markmann
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
2014-10-23Fix code in response to clang warnings.Tobias Markmann
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
2014-09-17Handle Isode's IQ ForwardingKevin Smith
Change-Id: I3b358e6a60f1ff546f2e578b6e0a54072b4c6da5
2014-09-16Add Subject element convertor to SluiftEdwin Mons
Test Information: MAM queries now return a payload of _type='subject'. Change-Id: I4fe4eb5105f4f19d146e4cca741d35bb7760cf6c
2014-07-18Sluift: Add 'show' parameter option to send_presence methodsRoger Planas
Change-Id: I9fbd4514f6bc0d46738154abce495519e43ad46b
2014-06-08Fix crash in Sluift DOMElementConvertorEdwin Mons
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
2014-05-27Added Sluift MAM examples. send_mam_query becomes set_mam_query.Richard Maudsley
Change-Id: I5d81e2476c83a16a8e478656d11d91137b009f3a
2014-05-19Sluift: Fix conversor build errors for older compilersRoger Planas
Change-Id: Ia3c0195ffc5d93a1d3189fe811929459ee2d06a7
2014-05-18Sluift: Add assertions on conversionRemko Tronçon
Change-Id: I641380fe7423af7b2c7be992f59244a57fb24b51
2014-05-12Add support for <before/> to ResultSetEdwin Mons
Change-Id: I46bd9f24fc887b180cee3c2aa75a6c9e1761473b
2014-05-09Fix compiler warnings in Sluift convertors.Richard Maudsley
Change-Id: I26a212dcf17af79696c0446a88fb2272e890f007
2014-05-02Added Sluift MAM convertors.Richard Maudsley
Change-Id: I472023726e84fbdd14af1fd9f57de411a20eb584
2014-04-30Update LuaElementConvertor interface to work with Element instead of Payload.Richard Maudsley
Change-Id: I4f8b69b1a13fff21c605011f45763e01f03259cf
2014-01-28Update copyright of several filesRemko Tronçon
Change-Id: I09739d53d67d034e15d3ca40406df1255b51afef
2014-01-24Sluift: 'subscriptionid' -> 'subscription_id'Remko Tronçon
Change-Id: I1e02c4b96be4e8da711f4b3bed06b318061dd116
2014-01-22Sluift: Add SecurityLabel convertorRemko Tronçon
Change-Id: I59357bda2cbfcb044b5c27b41fe0c91c194e7381
2014-01-19Sluift: Add iTunes & PEP User Tune supportRemko Tronçon
Change-Id: I25b3840bb40ce38531922cc737bc82828e026d3f
2014-01-18Sluift: Support for common presence payloadsRemko Tronçon
Change-Id: Idb7cd431f20ea69690a105240a5e2aeec1643cec
2014-01-03Sluift: Document some more elementsRemko Tronçon
Change-Id: I2a755500f0fe88bbea5594ce858bc92dccc34805
2014-01-03Sluift: Add help supportRemko Tronçon
Provide a 'help' function that takes a table/function, and prints help for it. A structured representation can be retrieved through 'get_help'. Change-Id: I2b3ce8992943ef30cee2604fba9200feed263fa5
2013-12-23Sluift: Fix create_submission dropping values from multi fieldsRemko Tronçon
Form->Lua conversion no longer relies on the type to decide how to convert values, and blindly converts value arrays. This also fixes issues if Sluift would be used on the receiving side of a form. Change-Id: I92c346795e1c67c74ccf542d16f79fe8010508f7
2013-11-10Sluift: Use 'value' instead of 'values' for multi-value fieldsRemko Tronçon
Change-Id: Ie8d6bd4b732dd57cd4dc5ba63a9f6f6148348b2a
2013-10-30Implement missing conversion of some PubSub attributesRemko Tronçon
Change-Id: I51a4249fa84aa40dc2a6e3f2c7e5a9c8fce93f32
2013-09-21Sluift: Fix bug in DiscoItems element convertorRemko Tronçon
Change-Id: I02f038865850b8d86ee85115ef9a63cc2ce0db8e
2013-09-21Sluift: Add support for ad-hoc commandsRemko Tronçon
Change-Id: I4ac2d0b07841b03086d9dbd9fa06d1f030f4e1ca