Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-06-30 | Apply go fmt | xengineering | |
2023-06-30 | Implement basic handler for failed SASL auth | xengineering | |
Writing to the log is still better than doing nothing ... | |||
2023-06-30 | Make streamFeaturesHandler() more generic | xengineering | |
The new structure allows to check for different stream features and act according to them or - if nothing matches - do nothing apart from an error message to the log. | |||
2023-06-30 | Rework and apply stream nesting on SASL success | xengineering | |
If SASL authentication is successful a new stream has to be opened by the client. This is implemented with this commit. | |||
2023-06-30 | Add SASL success handler | xengineering | |
2023-06-30 | Send SASL request based on new routing | xengineering | |
2023-06-30 | Add session pointer to routing infrastructure | xengineering | |
It is nearly useless to route a XML element to an appropriate handler function if the latter has no idea how to send responses to the server or the GUI. Passing a pointer to the session solves this issue. | |||
2023-06-30 | Fix debug message | xengineering | |
2023-06-30 | Move SASL mechanism detection to xmpp/sasl.go | xengineering | |
2023-06-30 | Add detection for SASL mechanism | xengineering | |
This is needed to respond with a SASL auth attempt. | |||
2023-06-30 | Add dummy handler for stream features elements | xengineering | |
This is the first step to handle stream features correctly with the new routing infrastructure. | |||
2023-06-30 | Merge branch 'routing' | xengineering | |
This adds an XML element router and a corresponding unit test. The element router will be used to register XML element handler with a single line. | |||
2023-06-30 | Add unit test for routing function | xengineering | |
2023-06-30 | Add xmpp/router.go | xengineering | |
This implements a routing function for XML elements received by an XML stream. | |||
2023-06-29 | Merge branch 'element-buffer' | xengineering | |
This adds xengineering.eu/limox/xmpp/elementBuffer which is a buffer for a collection of XML tokens which are further processed after a full XML element is collected. | |||
2023-06-29 | Add FIXME to element buffer specification | xengineering | |
The behaviour is ok for now but should be improved in the future to make it more robust. | |||
2023-06-29 | Document element buffer test point struct | xengineering | |
This makes it easier to add further test data in case there are further corner cases which should be tested in the future. | |||
2023-06-29 | Minor improvements to element buffer test | xengineering | |
2023-06-29 | Make tests verbose | xengineering | |
This helps to debug tests with t.Log() and t.Logf(). | |||
2023-06-29 | xmpp: Add indent level test for elementBuffer | xengineering | |
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-28 | xmpp: Implement basic elementBuffer | xengineering | |
This is needed to buffer XML elements of a stream until they are complete and can be given to an element handler. | |||
2023-06-28 | Merge 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-28 | Apply go fmt | xengineering | |
2023-06-28 | xmpp: Implement syncStreams() | xengineering | |
This should ensure that the incoming and outgoing XML streams are in sync. | |||
2023-06-28 | xmpp: Move Stream logic to stream_pair.go | xengineering | |
The new source file should contain the complete stream logic. | |||
2023-06-28 | Temporarily drop SASL auth | xengineering | |
This prepares the switch to stream pairs. | |||
2023-06-27 | xmpp: Re-introduce SASL authentication | xengineering | |
2023-06-27 | xmpp: StartSession(): Switch to directed chan | xengineering | |
This reduces the risk of using those channels wrong. | |||
2023-06-27 | xmpp: Add name to return value of StartSession | xengineering | |
This explains implicitly why the value is returned. | |||
2023-06-27 | Apply go fmt | xengineering | |
2023-06-27 | xmpp: Fix confusing terminology | xengineering | |
2023-06-27 | xmpp: Remove unused code | xengineering | |
This is part of the refactoring. Details of the old implementation should be looked up by older commits. | |||
2023-06-17 | Rework build of images | xengineering | |
This allows to add svg image sources by simply adding their name to the Makefile. | |||
2023-06-17 | Use Go package name for tests target | xengineering | |
2023-06-16 | Add template for PDF developer documentation | xengineering | |
This should be filled with content in the future. Furthermore build system integration will follow. | |||
2023-06-16 | Add statemachine diagram for xmpp.session | xengineering | |
This models the different states of an xmpp.session and helps to implement it correctly. | |||
2023-06-16 | Add chan xml.Token xmpp.session.rx | xengineering | |
This allows the goroutine which fetches all tokens from the server to forward them to the main goroutine of the session. | |||
2023-06-05 | Re-implement XML decoding | xengineering | |
2023-06-05 | Re-implement initial stream start/end | xengineering | |
2023-06-05 | Re-implement XML encoding | xengineering | |
2023-06-04 | Implement dummy XML encoder and decoder | xengineering | |
2023-06-03 | Re-implement transport setup in session | xengineering | |
2023-06-03 | Introduce new communication pattern | xengineering | |
2023-06-03 | Implement dummy session | xengineering | |
Minimal step towards session-based XMPP architecture. | |||
2023-05-25 | Add Golang race detector to debug runs | xengineering | |
2023-05-25 | Add unit test for xmpp.username() and fix it | xengineering | |
The second unit test detected a bug - they are worth the effort! | |||
2023-05-25 | Update dependencies | xengineering | |
2023-05-25 | Implement first unit test and integrate into build | xengineering | |
2023-05-22 | Rename xmpp/xmpp.go -> xmpp/conn.go | xengineering | |
2023-05-22 | Stop decoding on decoding errors | xengineering | |
This avoids an endless loop. |