1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 05:40:11 +01:00
Commit graph

45 commits

Author SHA1 Message Date
Paul Schwabauer
5709b14650
Extend structured logging usage in aggregator (#622)
* Extend structured logging usage in aggregator

* Use structured logging in advisories processor

* Remove unnecessary inner function

* Format

* Feat: Add verbose flag to example aggregator toml (in comment)

---------

Co-authored-by: JanHoefelmeyer <jan.hoefelmeyer@intevation.de>
2025-03-19 09:04:19 +01:00
ncsc-ie-devs
1daaed2c51
ensure HTTP requests use proxy env vars (#597)
* fix: ensure HTTP requests use proxy env vars

Updated all instances of `http.Transport` to include the `Proxy` field set to `http.ProxyFromEnvironment`. This ensures that the application respects proxy configuration defined by the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables.

### Changes:
- Modified `http.Transport` initialization across the codebase to use:
  ```go
  Proxy: http.ProxyFromEnvironment
  ```
- Ensured TLS configurations remain intact by preserving `TLSClientConfig`.

### Why:
- Previously, HTTP requests bypassed proxy settings due to missing configuration in the transport layer.
- This fix enables compatibility with proxied environments, aligning with standard Go behavior.

### Impact:
- All HTTP and HTTPS traffic now adheres to proxy settings.
- Domains listed in `NO_PROXY` bypass the proxy as expected.

### Verification:
- Tested with proxy environment variables set (`HTTP_PROXY`, `HTTPS_PROXY`).
- Verified requests route through the proxy and `NO_PROXY` works as intended.

* reformat with fmt

---------

Co-authored-by: Cormac Doherty <cormac.doherty@ncsc.gov.ie>
2024-12-02 11:42:54 +01:00
Bernhard Reiter
e8706e5eb9 feat: perform go path repo move
* Change the go module path
   from github.com/csaf-poc/csaf_distribution to github.com/gocsaf/csaf.
 * Rename archive for release tarballs.
 * Adjust testing scripts and documentation.
2024-11-04 13:20:47 +01:00
koplas
0ab851a874
Use a default user agent 2024-07-31 10:16:08 +02:00
Bernhard Herzog
617deb4c17
Merge pull request #530 from oxisto/slog
Added support for structured logging in `csaf_aggregator`
2024-04-25 13:13:11 +02:00
Christian Banse
9b1480ae3d Bumped Go version to Go 1.21. Using log/slog instead of golang.org/x/exp/slog 2024-04-23 15:37:43 +02:00
JanHoefelmeyer
39a29e39f1 Change Licenses from MIT to Apache 2.0 2024-04-22 13:11:30 +02:00
Christian Banse
fb1cf32e17 Fixed linting errors 2024-04-19 09:35:36 +02:00
Christian Banse
e658738b56 Added support for structured logging in csaf_aggretator
This PR adds structured logging for the aggregator service. Currently, only the text handler is used, but I can extend this to use the JSON handler as well. In this case, probably some code that is shared between the aggregator and the downloader would need to be moved to a common package.

I was also wondering, whether this repo is moving to Go 1.21 at the future, since `slog` was introduced in to the standard lib in 1.21. So currently, this still relies on the `x/exp` package.

Fixes #462
2024-04-18 19:58:02 +02:00
JanHoefelmeyer
086c4ab48b
Convert a lot of command line arguments to snake case (#498)
* Convert a lot of variables to snake case

* Add snakecase for variables made out of two words that had it in no version yet (for consistency)

* Adjust example files too

---------

Co-authored-by: JanHoefelmeyer <hoefelmeyer.jan@gmail.com>
2023-11-06 14:33:05 +01:00
Sascha L. Teichmann
8f6e6ee8bb improve logging output 2023-10-17 18:52:38 +02:00
Bernhard Reiter
3923dc7044
fix: improve logging for downloader and aggregator
* use full name for printing out the used logfile for the downloader.
 * for debug or verbose, log the timeintervall that will be used
   for downloader and aggregator. (The checker has this as part
   of its output already.)
2023-10-17 11:33:03 +02:00
Sascha L. Teichmann
7a8cdb6d19
Lift distribution from v2 to v3. (#467)
* v2 -> v3

* Increase version within Makefile

---------

Co-authored-by: JanHoefelmeyer <hoefelmeyer.jan@gmail.com>
2023-09-27 15:46:57 +02:00
Sascha L. Teichmann
7d3c3a68df
Let aggregator look for config files in similiar places like the other tools. (#440) 2023-08-22 17:37:57 +02:00
Sascha L. Teichmann
d49049c3af
Aggregator: Add time range filtering 2023-08-17 16:54:11 +02:00
Sascha L. Teichmann
47e55a33bc Add support for client certificates and extra headers to aggregator 2023-08-02 22:44:44 +02:00
Sascha L. Teichmann
607bd0ebe1 Add ignore patterns to aggreagtor. 2023-08-01 22:16:14 +02:00
Sascha L. Teichmann
85f9d02ac0 Rename config.check to config.prepare to make symmerical to other tools. 2023-08-01 21:45:30 +02:00
Sascha L. Teichmann
1d9969162f Fix version config and make aggreator use new command line parser. 2023-07-30 22:37:32 +02:00
Sascha L. Teichmann
8032d47b50
Use Set type (#388)
* Use util.Set type.

* Caught another set usage.
2023-07-04 13:00:01 +02:00
Bernhard E. Reiter
cf49c7e414
Fix go.mod and internal dependencies (#371)
* Use a "/v2" in the module path to match the git version tag which
   lead with a 2. Change all mention of the module as dependency
   internally as well.
2023-06-05 10:24:35 +02:00
JanHoefelmeyer
b0d7df69b8 Change default location of lock file for csaf aggregator and rephrase error message if lock is in use. 2023-03-27 11:05:59 +02:00
Sascha L. Teichmann
c3a80b9f52 Make defaultLockFile a constant 2023-03-23 10:21:56 +01:00
JanHoefelmeyer
39787503cc Fix typo 2023-03-22 07:09:23 +01:00
JanHoefelmeyer
f638ae9a23 Move disabling of lockfile from explicit option to empty string in lockfile 2023-03-21 08:26:51 +01:00
JanHoefelmeyer
4800f4ec12 Improve formatting 2023-03-20 08:33:29 +01:00
JanHoefelmeyer
0c4ae88ee0 Fix typo: defautLockFile -> defaultLockFile 2023-03-20 08:31:06 +01:00
JanHoefelmeyer
dd0be44e81 Make Aggregator ignore set lockfile if NoLock option is set to true 2023-03-20 08:27:07 +01:00
JanHoefelmeyer
bb053bd427 Add option no_lock to use no lock file if none was configured 2023-03-17 13:00:51 +01:00
Bernhard Reiter
1bdf207e4b Improve aggregator docs and config
* Fix that TOML key `update_interval` can be processed on top level.
 * Add missing keys to top level and provider entries.
 * Move explanations to first mention of keys.
 * Describe overriding ability and defaults early on and only once.
2023-02-28 15:09:56 +01:00
Bernhard Reiter
de64b88491
Improve documentation for aggregator
* Add term "CSAF proxy provider", because it is mentioned now in
   https://docs.oasis-open.org/csaf/csaf/v2.0/os/csaf-v2.0-os.html .
 * Improve formatting and phrasing.
 * Improve description of configuration of update_intervall.
2023-01-26 16:23:08 +01:00
Sascha L. Teichmann
b608746fac support publishers in aggregator 2022-08-16 11:55:56 +02:00
Sascha L. Teichmann
696fb74b36 Do not export function in config. 2022-08-03 15:32:05 +02:00
Sascha L. Teichmann
ef829131e1 reworked loading, checking and storing interims. 2022-08-02 17:01:48 +02:00
JanHoefelmeyer
3769f1d338
Add abilities to aggregator to mirror and list
* Aggregator now checks every provider on whether its mirrored or listed. 
*Add the option to the docs.
* Clean up the example  toml file to still contain two mirrors and one example-lister.

Co-authored-by: Jan Höfelmeyer <Jan Höfelmeyer jhoefelmeyer@intevation.de>
Co-authored-by: Sascha L. Teichmann <sascha.teichmann@intevation.de>
Co-authored-by: Bernhard Reiter <bernhard@intevation.de>
2022-07-21 17:59:58 +02:00
JanHoefelmeyer
46f79a9e24
Bailout unknown config (#216)
* provider now checks for undecoded config entries and returns an error if any are found

* Specific error message now in server logs, more general message for user

* Changes spaces to tabs for formatting consistency

* Further formatting

* Improved handling of undecoded TOML fields in config.

* aggregator now checks for not decoded config options

Co-authored-by: Jan Höfelmeyer <Jan Höfelmeyer jhoefelmeyer@intevation.de>
Co-authored-by: Sascha L. Teichmann <sascha.teichmann@intevation.de>
2022-07-12 14:07:12 +02:00
Sascha L. Teichmann
dc8c89c886 Merge branch 'main' into rolie-categories 2022-07-05 16:54:12 +02:00
Sascha L. Teichmann
20f5937240
Only create/update index.txt, changes.csv, security.txt when configured. (#210)
* Change default to not write index.txt, changes.csv and security.txt 
  (for provider and aggregator)
* Add config file options to reenable writing.
2022-07-05 16:44:45 +02:00
Sascha L. Teichmann
141acc802e Add service document support for aggregator 2022-06-30 18:51:22 +02:00
Sascha L. Teichmann
7bafb210cf Add category support for aggregator 2022-06-30 13:54:51 +02:00
Sascha L. Teichmann
78d8b89aca
Add support for remote validation services. (#185)
* Simple tool to test the remote validation

* Added remote validator support to provider.

* Added remote validation to aggregator.

* Calm golint

* Removed csaf_remote_validator tool as it was only for dev.

* Re-added csaf_remote_validator tool. Testing is not done.

* Embed the document entirely

* Include testing the remote validator in the Itests

* Change permission of the script

* Remove code for Itests

* As these will be done in another branch

Co-authored-by: Fadi Abbud <fadi.abbud@intevation.de>
2022-06-21 14:47:06 +02:00
Sascha L. Teichmann
69f0f3499a
Change openpgp key providing code to use local directory
* Adjust provider and aggregator to copy the used openpgp pubkey into a locally
  provided directory `openpgp` beside the `prodiver-metadata.json`.
  This more robust and self-reliant than using a public pubkey server,
  which is the reason why the CSAF 2.0 csd02 mentions it as example in
  "7.1.20 Requirement 20: Public OpenPGP Key".
 * Improve aggregator by removing a typo `aggreator` from one written paths.
   (Done with this change as it also affects the openpgp/ paths writing.)

solve #85
2022-06-09 10:42:44 +02:00
Bernhard E. Reiter
a849ac0d5f
Improve https get diagnostics, add verbose option
* Implement a logging client and activate it using verbose parameter or option
   in checker and aggregator.

Co-authored-by: Sascha L. Teichmann <sascha.teichmann@intevation.de>
2022-06-02 15:07:55 +02:00
Sascha L. Teichmann
07ab770a35 Factored throttling client out of aggregator. 2022-05-30 23:12:08 +02:00
Sascha L. Teichmann
8a1ebe0b7a
Add aggregator; improve itest workflow
* Factor JSON evaluation and  construction base URLs out of of checker.
* Move json path matching to util.
* Add csaf_aggregator (as additional command)
* Improve itest workflow to checkout the branch where it is running on.

resolve #105
resolve  #72

Co-authored-by: tschmidtb51 <65305130+tschmidtb51@users.noreply.github.com>
Co-authored-by: Bernhard Reiter <bernhard@intevation.de>
Co-authored-by: Fadi Abbud <fadi.abbud@intevation.de>
2022-05-10 18:12:38 +02:00