summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-16Implement TCP connect / disconnectxengineering
2023-04-16Implement fallback DNS resolutionxengineering
This uses A / AAAA records while the preferred method in XMPP are SRV records.
2023-04-16Implement domain part extraction in Goxengineering
This is needed to continue with DNS resolution.
2023-04-15Apply go fmtxengineering
2023-04-15Implement basic connection statemachinexengineering
This prepares a real TCP / XMPP connection.
2023-04-11Align editors in the middlexengineering
2023-04-11Implement dummy functionality for first viewxengineering
2023-04-11Mask passwordxengineering
2023-04-11Fix variable namexengineering
2023-04-11Add editor widgets for JID and passwordxengineering
These are needed to provide credentials.
2023-04-11Turn label to headline and add buttonxengineering
These elements should be part of the initial view.
2023-04-11Further refactoringxengineering
2023-04-10go: Refactor with Limox structxengineering
The central Limox struct allows to structure the whole application in one struct and pass it around to different functions.
2023-02-21Adjust window and label sizexengineering
2023-02-20Set default dimensions for Gio versionxengineering
2023-02-20Adapt Gio example to LimoXxengineering
2023-02-20Add Golang-based Gio example codexengineering
Golang and Gio should be considered as an alternative to the current C- and SDL-based setup.
2023-01-23gui.c: Create separate create_window()legacy/sdl2xengineering
This splits the GUI code into smaller functions.
2023-01-23Remove typedefsxengineering
They just hide complexity.
2023-01-23gui.c: Remove inline commentsxengineering
Not that helpful. Should be replaced by easy to read code and well written function docstrings.
2023-01-23Implement GUI init and deinit functionsxengineering
2023-01-23Bundle GUI variables in context structxengineering
This allows to pass all variables easily between small functions.
2023-01-23Add debug symbols to default buildxengineering
2023-01-22Add new icon to READMExengineering
2023-01-22Fix SVG icon for systems without matching fontxengineering
The icon looked differently on systems without the correct font for the L letter. Converting the L into a path with Inkscape solved that issue.
2023-01-22Add initial iconxengineering
This will be needed for a GUI.
2023-01-09Fix reconnectionxengineering
This was not possible because gui.c did not reset the socket filedescriptor to the default value.
2023-01-09Make return statement more consistentxengineering
2023-01-09Prevent NULL pointer crashxengineering
It used to be assumed that the user sets the LIMOX_USER and LIMOX_PWD shell variables but there was no error checking if this was not the case. This commit adds the check preventing a crash of the whole program. Furthermore an error message is printed to the terminal.
2023-01-08Remove xmpp_ prefix from private functionxengineering
This is just internally used and thus has no benefit.
2023-01-08Rename to resolve_dns()xengineering
This explains better what this function is about.
2023-01-08Improve get_domainpart() docsxengineering
2023-01-08Adapt comment indent to Linux kernel codexengineering
2023-01-08Remove commented codexengineering
2023-01-08Update code style for mainxengineering
2023-01-08Add PDF generation of documentationxengineering
Using Markdown features (as URLs) is even more useful if you actually render this somewhere. PDF is now done and HTML might follow.
2023-01-08Split README and ROADMAPxengineering
Roadmap content should not spam the README
2023-01-08Implement close on clickxengineering
This adds the option to close the XMPP connection.
2023-01-08Connect on mouse clickxengineering
With this commit the client starts the connection to the server as soon as the user clicks into the application window. Disconnect or reading / writing to the stream is not implemented.
2022-12-04Implement printing of server responsexengineering
Sadly there is no way to stop LimoX after connection. This has to be fixed by a commit implementing a better control flow between GUI and network part of the program.
2022-12-04Implement client stream header sendingxengineering
This starts the XML stream via the XMPP connection.
2022-12-04Implement TCP connection to XMPP serverxengineering
This commit adds the functionality to actually connect to port 5222 (xmpp-client) of a XMPP server! This was tested using prosody and verified via its systemd journal log entries.
2022-12-04Implement socket creationxengineering
The socket is needed for the TCP connection to the XMPP server.
2022-12-04Implement DNS with a temporary solutionxengineering
The DNS resolution implemented with this commit uses getaddrinfo() from the standard library to get an IPv4 address for the domainpart of the user-given Jabber ID (JID). This is by far not the process described in [RFC 6120][1]. This XMPP core standard prefers SRV entry lookups. Taking A records like in this implementation is referenced as "fallback process". Furthermore this implementation just takes the first A record it finds which could also be improved. It could for example be that IPv4 is blocked in the referenced network and a AAAA IPv6 record is given and functional. In this case this implementation would needlessly fail to connect. [1]: https://www.rfc-editor.org/rfc/rfc6120
2022-12-02Add GPL3 license header to relevant source filesxengineering
This should make the license more visible and prevent wrong usage.
2022-12-02Add reference to Gigi's SDL2 tutorialxengineering
2022-12-02Add reference to SDL2 documentationxengineering
2022-12-01Implement colored output for testxengineering
2022-12-01Let Makefile fail if a test failsxengineering
This should make clear that something went wrong if a test failed.
2022-12-01Automate Makefile and test executionxengineering
LimoX aswell as the tests should be build automatically without altering the Makefile.