summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-29Minor improvements to element buffer testxengineering
2023-06-29Make tests verbosexengineering
This helps to debug tests with t.Log() and t.Logf().
2023-06-29xmpp: Add indent level test for elementBufferxengineering
This tests if the indent level is correctly detected. This basic test can be extended to support invalid XML elements which should be refused to add to the element buffer.
2023-06-28xmpp: Implement basic elementBufferxengineering
This is needed to buffer XML elements of a stream until they are complete and can be given to an element handler.
2023-06-28Merge branch 'stream-pair'xengineering
This adds the source file xmpp/stream_pair.go with the central function runStreamPair(). This function is called once by a session and could call itself. That way an initial stream and nested streams are implemented and closed via return and defer.
2023-06-28Apply go fmtxengineering
2023-06-28xmpp: Implement syncStreams()xengineering
This should ensure that the incoming and outgoing XML streams are in sync.
2023-06-28xmpp: Move Stream logic to stream_pair.goxengineering
The new source file should contain the complete stream logic.
2023-06-28Temporarily drop SASL authxengineering
This prepares the switch to stream pairs.
2023-06-27xmpp: Re-introduce SASL authenticationxengineering
2023-06-27xmpp: StartSession(): Switch to directed chanxengineering
This reduces the risk of using those channels wrong.
2023-06-27xmpp: Add name to return value of StartSessionxengineering
This explains implicitly why the value is returned.
2023-06-27Apply go fmtxengineering
2023-06-27xmpp: Fix confusing terminologyxengineering
2023-06-27xmpp: Remove unused codexengineering
This is part of the refactoring. Details of the old implementation should be looked up by older commits.
2023-06-17Rework build of imagesxengineering
This allows to add svg image sources by simply adding their name to the Makefile.
2023-06-17Use Go package name for tests targetxengineering
2023-06-16Add template for PDF developer documentationxengineering
This should be filled with content in the future. Furthermore build system integration will follow.
2023-06-16Add statemachine diagram for xmpp.sessionxengineering
This models the different states of an xmpp.session and helps to implement it correctly.
2023-06-16Add chan xml.Token xmpp.session.rxxengineering
This allows the goroutine which fetches all tokens from the server to forward them to the main goroutine of the session.
2023-06-05Re-implement XML decodingxengineering
2023-06-05Re-implement initial stream start/endxengineering
2023-06-05Re-implement XML encodingxengineering
2023-06-04Implement dummy XML encoder and decoderxengineering
2023-06-03Re-implement transport setup in sessionxengineering
2023-06-03Introduce new communication patternxengineering
2023-06-03Implement dummy sessionxengineering
Minimal step towards session-based XMPP architecture.
2023-05-25Add Golang race detector to debug runsxengineering
2023-05-25Add unit test for xmpp.username() and fix itxengineering
The second unit test detected a bug - they are worth the effort!
2023-05-25Update dependenciesxengineering
2023-05-25Implement first unit test and integrate into buildxengineering
2023-05-22Rename xmpp/xmpp.go -> xmpp/conn.goxengineering
2023-05-22Stop decoding on decoding errorsxengineering
This avoids an endless loop.
2023-05-22Act on SASL server responsexengineering
2023-05-22Introduce new xmpp/sasl.goxengineering
2023-05-22Move stream logic to new xmpp/stream.goxengineering
2023-05-22Lower the priority of mobile compliancexengineering
Mobile compliance will increase performance which has to step back in favour of basic features.
2023-05-21Re-order Roadmapxengineering
2023-05-21Rework Makefile completelyxengineering
2023-05-21Implement SASL PLAIN authenticationxengineering
2023-05-21Disable info loggingxengineering
The current log policy is to be quiet if nothing failed to allow to focus on relevant messages.
2023-05-21Include TCP connection in xmpp.Connxengineering
2023-05-21Introduce xengineering.eu/xmpp.Connxengineering
2023-05-21Implement SASL method parsingxengineering
2023-05-21Mark multi-token XML element handling as donexengineering
2023-05-21Allow error propagation from XML element handlersxengineering
2023-05-21Implement XML element routingxengineering
2023-05-21Fix token routingxengineering
2023-05-21Implement xengineering.eu/xmpp.tokenRouterxengineering
This will collect XML tokens until a full XML element is received and can be routed by a to-implement elementRouter.
2023-05-20Copy received tokensxengineering
The bytes the token refers to are just valid until a new token arrives. See the documentation of the encoding/xml package for details.