summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-07-22Update Roster functionalities.Tarun Gupta
Updates RosterPushResponder, XMPPRoster, XMPPRosterController. Also adds XMPPRosterSignalHandler. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Adds tests for XMPPRosterController, XMPPRosterImpl. All tests passes. Change-Id: Iee3530510342ea5977022237aaa6dfbffa390408
2015-07-22Tidy up finalize method in SimpleEventLoopNick Hudson
If the finalize() ever gets called, it should, by convention, invoke the superclass finalize() method. This change makes it do that. Test-information: Unit tests still pass Change-Id: I0171cb1b6e1cce61a4c3140f669585f14e797dbd
2015-07-21Adds Disco Features.Tarun Gupta
Adds DiscoServiceWalker, FeatureOracle, JIDDiscoInfoResponder. Updates CapsInfoGenerator, ClientDiscoManager, EntityCapsManager, EntityCapsProvider, IQ Element, Request. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for: CapsInfoGenerator, CapsManager, DiscoInfoResponder, EntityCapsManager, JIDDiscoInfoResponder. All tests pass. Change-Id: Ib7cd08ff6f72b7649e4819943b627459c69a1397
2015-07-20Add StringIndexOutOfBounds catch to IDNAAlex Clayton
When run with java 7 class IDNA.getEncoded was throwing a StringIndexOutOfBounds exception if it was passed a String begining with '.isode'. This has the knock on effect of some of one of the isode MLC tests failing. This was caused by IDN.toAscii throwing the exception, when it should only thrown IllegalArgumentException. Java 7 is no longer supported so I can't raise a bug for this, a fix for stroke is easy though, just add the StringIndexOutOfBoundException to the catch block. Test-information: Ran the tests that were failing in eclipse on my machine (which runs java 7) tests now all passed correctly. Sanity test that tests still passed when run on command line against java 8. Ran the Stroke JUnit test against the code. Tests all passed when using latest version of java 7 (7_79) and when using java 8. Change-Id: Ifc9c830be7a0e5c9e5f2330a6782eff2401f18cb
2015-07-20Fix ClientSession class bug due to recent stroke changesGurmeen Bindra
Stroke was brought in line with swiften as a result of which strong (certificate based bind) authentication between client and xmpp server stopped working. This was happening because of missing "=" in the <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='EXTERNAL'>=</auth> The AuthRequestSerialiser was not adding "=" because the ByteArray object that was passed was null. This patch fixes the ClientSession class to pass empty ByteArray object as is done in existing swiften code. Test-information: strong bind works using java client to xmpp server Change-Id: Ide2d61723d92df19a251db7f1eb9f1581329f782
2015-07-08Add option to only read from TCP socket when previous read has been processedPeter Ballard
By default this option is disabled, existing usages will function as normal. This option stops the JavaConnection from reading data if the previous read has not been processed by the event loop. Previously constrained devices were seeing OutOfMemoryErrors, if they were not able to process the incoming data quick enough. This change does not affect the write behavour. Change-Id: I47bc0eafba32336f5bf250ccb1fea530f51d328e
2015-07-07Add GenericPayloadLoader & GenericPayloadPersister classes.Alan Young
Implemented as separate classes for Stroke, rather than as single combined class in Swiften because of type-erasure. Make VCardSerializer & DiscoInfoSerializer generally visible (public). Change-Id: I9e93c71377c417949da1c70e4219d3813a066087
2015-07-07Update Avatar access model.Alan Young
Use the String avatar hash as the general handle for an avatar. AvatarManager.getAvatar(JID jid) will return null if no avatar is available. AvatarManager.getAvatarPath() and AvatarStorage.getAvatarPath() are deleted. Make AvatarProvider & AvatarManager abstract classes instead of interfaces so that their onAvatarChanged Signals are not static fields. Implement delete() for AvatarManagerImpl and AvatarProvider & subclasses so that signal connections can be released. Add @Override annotations as appropriate. Change-Id: Ia7c9d7607b642bb42c373f81dc6be9a60f0f2134
2015-07-07Update JingleFileTransferFileInfo in light of recent discussions related to ↵Tarun Gupta
Date. Updates VCard Element, JingleFileTransferFileInfo to allow dates to be null, as a indicator for not a valid date time. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Corresponding tests changed, which passes. Change-Id: I9c9b4a84b7bebc18e8ef8ba5050e45ac2f13aa65
2015-07-07Adds tests for Parser and Serializers.Tarun Gupta
Adds PubSubEvent Element. Adds StreamFeaturesSerializer. Adds ParserTester, ElementParserTester, StanzaParserTester, PayloadParserTester, PayloadsSerializer and EnumParser. Updates Error Payload, JingleFIleTransferHash Elements/ Updates StreamFeaturesParser, ParserElement. Updates Delay Serializer, Error Serializer. Updates AuthChallenge and AuthRequest Element. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test are added for: AuthChallenge Serializer, AuthRequest Serializer, AuthResponse Serializer, AuthSuccess Serializer. GenericPayloadTreeParserTest. IQ Parser. Message Parser. Presence Parser. StanzaAck Parser. Stanza Parser. StreamFeatures Parser and Serializer. StreamManagementEnabled Parser. Private Storage Parser and Serializer. RawXMLPayload Parser. Storage Parser and Serializer. Error Serializer. Jingle Serializer. PubSubItem Serializer and PubSubItems Serializer. Serializing Parser. All tests passes. Change-Id: I79e00dc5b5c4f85e659bf88b1547dd7c17825805
2015-07-06Completes JID functionalities.Tarun Gupta
Completes JID by providing all features Swiften provides including Escaped and Unescaped Node. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for JID, which passes. Change-Id: Ia61dad0ed93a153186b9f78e2669f675f51e3734
2015-07-06Add Internationalized Domain Name Features.Tarun Gupta
Adds IDNConverter interface, ICUConverter using ICU for Stringprep. Also updates Makefile and build.xml by adding path to icu4j to compile tests classpath, so that icu4j.jar can be used in the tests. IDNConverter tests need StringPrepParseException from icu4j jar. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Added test for IDNConverter, which passes. Change-Id: I56aacf080a10216a2455cf561de567f5666cd0c9
2015-07-06Minor Fixes for Elements.Tarun Gupta
Adds Block Element, BlockList, and Unblock Element. Updates some Elements just for consistency. Updates Last Element, its Parser and Serializer for consistency with Swiften. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: None. Change-Id: If40c2516b944b1939db08721bb4de4554c3264f6
2015-07-06Add Base Functionalities.Tarun Gupta
Adds FileSize, SafeString, StartStoppable, StartStopper and TriState. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: None. Change-Id: I94020700a77bb33dab39fb838eefc96c07b73868
2015-07-06Add ChatStateNotifier.Tarun Gupta
Adds ChatStateNotifier, DummyEntityCapsProvider. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for Chate State Notifier, which passes. Change-Id: Ie596d9c226526ab5ace334b7926389b61ca5540a
2015-07-03Make AvatarStorage available for client.Alan Young
Change-Id: I03fa68c567250d938112ea9a0c236be100ac82e3
2015-07-03VCard: Ensure jids_ is allocated in addJID()Alan Young
Change-Id: Ibfea910e72ed4cdd21b19bf60d0ab5af1fdb0a92
2015-06-30Add tests for Payloads Parsers and Payloads Serializers.Tarun Gupta
Updates DiscoInfoParser, DiscoItemsParser and VCard Element. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test are added for: DeliveryReceipt Parser and Serializer. DiscoInfo Parser and Serializer, DiscoItemsParser. Replace Parser and Serializer. ResourceBind Parser and Serializer. SecurityLabel Parser and Serializer. SecurityLabelsCatalog Parser and Serializer. Status Parser and Serializer. StatusShow Parser and Serializer. SoftwareVersion Parser and Serializer. VCard Parser and Serializer. All tests passes. Change-Id: I8023372273e63813e1c8fe708fa6cdf39614e1f7
2015-06-30Adds Parser and Serializer for Priority Element.Tarun Gupta
Adds Priority Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests passes for Priority Parser and Serializer. Change-Id: I0077cd0a3d179590b6ea78fa445e91358ff8b623
2015-06-30Add StreamInitiation Elements.Tarun Gupta
Adds StreamInitiationFileInfo Element, its Parser and Serializer. Adds StreamInitiation Element, its Parser and Serializer. Adds StreamError Parser and Serializer. Updates StreamManagementEnabled Element. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for StreamInitiation Parser and Serializer, which passes. Change-Id: I21a7de3f6a5ac0955b6e5aaae3c2607a30eae002
2015-06-27Adds Form Elements and Version Element.Tarun Gupta
Adds FormPage, FormReportedRef, FormSection, FormText and Version Elements. Updates Form Elements, its Parser And Serializer. Updates SearchPayload Element, its Parser And Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Adds Search Payload Parser and Serializer Test. Updates tests for Form Parser and Serializer. Updates InBandRegistrationPayloadSerializer Test and MAMQuerySerializerTest. All tests passes. Change-Id: I8c620a3db39fe433bc9a5478b98d5caeaf9ed40b
2015-06-23Adds Carbons Element.Tarun Gupta
Adds: CarbonsDisable Element, its Parser and Serializer. CarbonsEnable Element, its Parser and Serializer. CarbonsPrivate Element, its Parser and Serializer. CarbonsReceived Element, its Parser and Serializer. CarbonsSent Element, its Parser and Serializer. Thread Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for CarbonsParser and CarbonsSerializers, which tests all the above functionalities and passes. Change-Id: I101b1b34c24515d5ba19a995254755af77c4e6e1
2015-06-23Add ComponentHandshake Element.Tarun Gupta
Adds ComponentHandshake Element, its parser and Serializer. Adds ComponentHandshake Generator. Adds TopLevelElement. Updates SafeByteArray. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for ComponentHandshakeGenerator, which passes. Change-Id: If3026a3db2207e6c65aa2306fee56d8dd5dee86f
2015-06-23Add Roster Elements.Tarun Gupta
Adds RosterItemExchangePayload Element, its Parser and Serializer. Updates RosterItemPayload, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for: RosterItemPayload Parser and Serializer. RosterItemExchangePayload Parser and Serializer. All tests passes. Change-Id: I8d16a18290d9820cea6839af1f075da00a25db09
2015-06-22Add Nickname Element.Tarun Gupta
Adds Nickname Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: None. Change-Id: I62affc8ef482f3e04a7c337f25b068b6d602c5bb
2015-06-18Adds Jingle Elements.Tarun Gupta
Adds: JinglePayload, its Parser and Serializer and JingleReasonParser. JingleContentPayload Element, its Parser and Serializer. JingleDesciption Element. JingleFileTransferDescription Element, its Parser and Serializer. JingleFileTransferFileInfo Element, its Parser and Serializer. JingleFileTransferHash Element, its Parser and Serializer. JingleIBBTransportPayload Element, its Parser and Serializer. JingleS5BTransportPayload Element, its Parser and Serializer. JingleTransportPayload Element and HashElement. Updates HostAddress access specifier for getInetAddress(). License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for: JingleParser JingleContentPayload Parser and Serializer. JingleFileTransferHash Parser and Serializer. JingleFileTranferFileInfo Parser and Serializer. JingleFileTransferDescription Parser and Serializer. JingleIBBTransportPayload Parser and Serializer. JingleS5BTransportPayload Parser and Serializer. All tests passes. Change-Id: Ife1b7fef00efc57d8d0d4290f3280327439abbb6
2015-06-16Add IBB Element.Tarun Gupta
Adds IBB Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for both IBB Parser and Serializer, which passes. Change-Id: I0f2657de89d5395652c62ee5d5a88fbe9acb25e9
2015-06-16Add IsodeIQDelegation Element.Tarun Gupta
Adds IsodeIQDelegation Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for both IsodeIQDelegation Serializer, which passes. Change-Id: I7f67c0db4510b41266993ec5719e9ed13e3eb3c4
2015-06-16Add InBandRegistrationPayload Element.Tarun Gupta
Adds InBandRegistrationPayload Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for InBandRegistrationPayload Serializer, which passes. Change-Id: Ic6cc1329f222b5a57f05ec2299e36b56f5767091
2015-06-16Add the UserLocation Element.Tarun Gupta
Adds UserLocation Element, its parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for UserLocation Parser and UserLocation Serializer, which passes. Change-Id: Ia1d57f4233351e755770f06fdc8e292db1acf521
2015-06-16Add the UserTune Element.Tarun Gupta
Adds UserTune Element, its parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for UserTune Parser and UserTune Serializer. Change-Id: I3330d8493c79c2305de426827b5018b68d5b8e1b
2015-06-14Add Avatar Functionality.Tarun Gupta
Adds AvatarManager, AvatarManagerImpl, AvatarStorage and different AvatarProviders including DummyAvatarProvider, NullAvatarProvider and OfflineAvatarProvider. Also adds VCardAvatarManager and VCardUpdateAvatarManager. Updates VCard Element, so that it does not return null on calling getPhoto() and thereby produce Null Pointer Exceptions. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests are added for AvatarManagerImpl, VCardAvatarManager and VCardUpdateAvatarManager, which passes. Tests for CombinedAvatarProvider will be added soon. Change-Id: Ia6c0f82ae496427dc0cd11841487f6c53fd0fe1c
2015-06-14Add the Bytestreams Element.Tarun Gupta
Adds Bytestreams Element, Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for both Parser and Serializer, which passes. Change-Id: Ia623f8fcd628d7b34f7f8f935602c6c4c0ffaac1
2015-06-14Add VCardUpdate Element.Tarun Gupta
Adds the VCardUpdate Element, VCardUpdate Parser, VCardUpdateSerializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests ported for VCardUpdateParser and VCardUpdateSerializer, which passes. Change-Id: I9baf8f6787567c8766b52dbe70105e8870c02b2d
2015-06-14Correcting access specifiers in VCardManager.Tarun Gupta
Access Specifiers for Methods in VCardManager were incorrect which was not allowing usage of methods of this class. Correct Specifiers are added according to Swiften. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Successful Compilation. Change-Id: I550702534a2acf326faa3942ce1b9cdb9cf88d6b
2015-06-14Add support for Crypto-functions.Tarun Gupta
Completes the JavaCryptoProvider providing functionalities for SHA-1 Hash, MD5 Hash and HMACSHA1 Hash. Also updates reference for JavaCryptoProvider in JavaNetworkFactories. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests are added for JavaCryptoProvider, which passes. Change-Id: I2439e5fd76a23e9b5c4e9132a9856543a7ca53fd
2015-06-05Add DeliveryReceiptRequest & DeliveryReceiptAlan Young
Change-Id: I4d1f1ad16edd3204dc347670d2429314208d6bcd
2015-05-27Add the functionality for processing of URL.Tarun Gupta
Adds functionalities for URL processing such as extracting parameters from URL, decoding URL. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Corresponding tests are added for each function which passes. Change-Id: I1d54b86167b4f368c365f16c63641a6e6a91cbb8
2015-05-26Add functionality for UUID Generator.Tarun Gupta
Adds the Simple ID Generator as well as Random ID Generator. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for both IDGenerator and SimpleIDGenerator which passes. Change-Id: I9bce3a172774effead3ada695bcceb0b0f81b851
2015-05-13Make sure Stroke clears write buffer before disconnectingAlex Clayton
There was a bug with stroke where if I sent a large amount of messgaes (cica 1000) and then disconnected, not all the messages would be sent before storke handled the disconnect. It seems it did not fully lear the write buffer before closing the stream. This patch shoudl fix the error. It now only closses if the disconnecting flag is closed and the write buffer is closed. This should bring it into line with Swiften behaviour. Test-information: I had a simple stroke application that sent 1000 messages and then disconnected. Before the patch it would only send abut 80 or so of the messages before it got disconnected. After the patch it now sends all the messages before disconnecting. Change-Id: I6f56b25dcbabd16ee860dbf353f39559a77d6830 Signed-off-by: Alex Clayton <alex.clayton@isode.com>
2015-05-05Fix default initialisationKevin Smith
The recent change introducing the DiscoInfoResponder didn't initialise the member variable, leading to crashes in Stroke. Test-Information: Blind Change-Id: I1b9de02fae82990db3882c8f1d58cca76555944e
2015-05-01Make SecurityLabelsCatalog items visible as a List (they are anyway)Alan Young
Change-Id: I005c81cd04f1e6b2ea5145ca914fae3a02515ae5
2015-05-01Add parser & serializer for SecurityLabel & SecurityLabelsCatalogAlan Young
Change visibility of some methods in SecurityLabel & SecurityLabelsCatalog and provide default values for strings and collections in those clases. Change-Id: I1ea3f6b20deac1d1ac7999dd304e2e755d5e7c8a
2015-05-01Revisit handling of JavaConnection race conditions.Alan Young
JavaConnection.disconnect() can be called at any time when opening or using the connection. Its use can interfere with tests for selector_.isOpen(). Protect relevant code by synchronization blocks. This should not cause any contended synchronization issue as contention can only occur while disconnecting. This reverts the relevant part of 7d2101b9. Move selector_.select() call to end of Worker.run() while loop so that any write that is done while still connecting (if that is permitted and possible), and before selector_ first become non-null, is still picked up. Remove redundant checks on disconnecting_ and calls to handleDisconnected(null). Move a couple of fields which are only used in Worker nested class into Worker. Update copyright. Change-Id: I2eabad79c69fe4e9206942c8025e0ac012bffdb0
2015-04-20Avoid potential double-adding of "lastConsumed" count to "bytesConsumed"Nick Hudson
The code is currently doing bytesConsumed += lastConsumed; inside one of the clauses in a while loop, and then the same operation again when the while loop exits. So there is a risk that the "bytesConsumed" value will be too large. In fact the only place the value of "bytesConsumed" is used is by some code that checks whether it's greater than zero, so it would not be problematic if the value were too large. It seems worth fixing this in case future changes rely on the "bytesConsumed" value being accurate. Test-information: inspection only Change-Id: Ibd6fd01417afc4c4e030a5173bfba9a02980a757 signed-off-by:robert.williams@isode.com
2015-04-10Add GetDiscoItemsRequestAlan Young
Change-Id: I4ec639aba4eb60d0bc1e25f2d86f17592f819d64
2015-04-10Remove unused imports & fix some uses of generics.Alan Young
Change-Id: Id919d64f05964e5cb5657d22c7eaf6ae7199bb7a
2015-04-10Throw exception for missing payload serializer.Alan Young
Change-Id: I3578fa59bfcb45f5893a16fa2d45c9ea460be198
2015-04-10Changes to support MUCController first cutAlan Young
Change-Id: I5ae22fee5a68a7a5d3575a576fb6eb490487c171
2015-04-10Checkpoint - A bunch of initial stuff for AndroidAlan Young
MemoryStorages, Storages NickManager, NickResolver CryptoProvider, Hash, SafeByteArray, JavaCryptoProvider CapsInfoGenerator, CapsManager, CapsMemoryStorage, CapsProvider, CapsStorage, CapsInfo CapsInfoSerializer, CapsInfoParser ClientDiscoManager, DiscoInfoResponder, EntityCapsManager, EntityCapsProvider GetDiscoInfoRequest ChatState, Idle Presence, PayloadAddingPresenceSender, PresenceOracle, SubscriptionManager StatusSerializer, StatusShowSerializer, StatusParser, StatusShowParser, Replace, ReplaceParser, ReplaceSerializer SecurityLabel, SecurityLabelsCatalog, GetSecurityLabelsCatalogRequest VCard, GetVCardRequest, SetVCardRequest, VCardManager, VCardMemoryStorage, VCardStorage RosterMemoryStorage, RosterPushResponder, RosterStorage, SetRosterRequest XMPPRoster, XMPPRosterController, XMPPRosterImpl, XMPPRosterItem GetRosterRequest, SetResponder Add parsers and serializers for Idle, VCard, PrivateStorage & Stroage. Add parser for Subject. Add impromptu flag to MUCInvitation. Update copyrights. Change-Id: I9949f506b70e60b3a64f1dadde8f9b235b322e1d