Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-07-01 | Implement byte-based logging for TX | xengineering | |
Using an io.MultiWriter it is trivially possible to write encoded tokens to the TCP channel aswell as to stdout. The disadvantage is that it is not possible to inject prefix data like the so far used `C: ` only for stdout and not for the TCP channel. Such a prefix is not wanted in the TCP channel and thus not wanted for both. The solution to get a nice log is to implement a transparent logging middleware which gets the raw TX stream and inserts a prefix at each line before sending to stdout. | |||
2023-06-30 | Send initial presence after resource result | xengineering | |
This completes the connection process. | |||
2023-06-30 | Apply go fmt | xengineering | |
2023-06-30 | Add log-only handler for received IQ stanzas | xengineering | |
This handler is just a placeholder for a more extensive IQ handling but already writes to the log so that it is obvious what is happening. | |||
2023-06-30 | Implement resource binding request | xengineering | |
This is the first step of resource binding which is a mandatory part of establishing an XMPP connection. | |||
2023-06-30 | Implement detection of resource binding offer | xengineering | |
This allows to trigger resource binding if the stream supports it. | |||
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 | 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 | 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 | 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 | 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: Remove unused code | xengineering | |
This is part of the refactoring. Details of the old implementation should be looked up by older commits. | |||
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 unit test for xmpp.username() and fix it | xengineering | |
The second unit test detected a bug - they are worth the effort! | |||
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. | |||
2023-05-22 | Act on SASL server response | xengineering | |
2023-05-22 | Introduce new xmpp/sasl.go | xengineering | |
2023-05-22 | Move stream logic to new xmpp/stream.go | xengineering | |
2023-05-21 | Implement SASL PLAIN authentication | xengineering | |
2023-05-21 | Include TCP connection in xmpp.Conn | xengineering | |