All project references have been updated to point to the appropriate routes for the GitHub repository, replacing the previously used paths to src.neessen.cloud. This includes changes in README.md, Dockerfile, go mod packaging as well as in the source code where required.
Module references within 'go.mod', 'main.go', and various plugin files have been changed from 'github.com/wneessen/logranger' to 'src.neessen.cloud/wneessen/logranger'. This update is essential to align with the new source location and ensure code and plugins function as expected. The Dockerfile’s commands have also been updated accordingly.
This update upgrades the go-parsesyslog dependency version to v0.2.2. It also enhances the server's connection handling. This is done by expanding the `HandleConnection` method to handle network errors and EOF scenarios more thoroughly, adjusting processing time measurements, and handling deadlines for connection processing. Furthermore, the initialization of the syslog parser has now been moved to the `NewServer` function for efficiency.
Introduced a new Connection struct and related functions in `connection.go` to facilitate network connections. Incorporated the `go-parsesyslog` package to parse incoming network data. Implemented functions in `server.go` to accept and handle incoming network connections, bolstering the application's network interaction functionality.
All source code files as well as README.md, .gitignore, and various configuration files have been updated with an SPDX license identifier, changing license from CC0-1.0 to MIT. The copyright year has been updated to 2023, and the copyright holder's email address has been corrected from 'winni@neessen.dev' to 'wn@neessen.dev'. An MIT license text file has been additionally added.
This commit introduces the creation of the core server and its components: config loading mechanism, listener setup, and error handling. The provided configuration allows the server to run different types of listeners. Additionally, it includes robust log-level settings to facilitate debugging and operational transparency.