Commit Graph

137 Commits

Author SHA1 Message Date
dcarrillo 7e2f3c397a Remove the 'Go Report Card' badge, as the service has been discontinued 2026-07-22 13:34:09 +02:00
dcarrillo 6284359df5 Revise Docker image size information
Updated Docker image size description in README.
2026-07-22 13:03:59 +02:00
dcarrillo cd6d5db918 chore: Upgrade integration tests dependencies (#59) 2026-07-22 12:55:28 +02:00
dcarrillo 04d6927cf5 chore: Update README.md 3.4.1 2026-07-22 12:36:00 +02:00
dcarrillo 49a63ef071 feat: Create multiarch artifacts (#58) 2026-07-22 12:33:57 +02:00
dcarrillo a36a5504fa chore: Add AGENTS.md 3.4.0 2026-07-21 18:40:56 +02:00
dcarrillo 2e32a20f60 refactor: dependency injection instead of package globals (#57)
* refactor: export Settings type, Setup returns value

* refactor: resolver.Setup takes explicit Settings struct

* refactor: GetHeadersWithoutTrustedHeaders takes explicit header params

* refactor: server constructors take narrow config

* refactor: Router struct with handler methods, remove geoSvc global

* refactor: wire DI through main, remove setting.App references

* refactor: remove App global, use returned Settings

* refactor: update router tests for DI

* chore: fix lint issues — rename ServerTimeouts to Timeouts, fix shadowed variables
2026-07-21 18:37:21 +02:00
dcarrillo 3874f6af3f Update dependencies 3.3.0 2026-07-19 12:27:56 +02:00
dcarrillo ff97f2c550 Move integration tests to separate Go module to slim main dependency graph (#56)
integration-tests/ is now its own Go module with a replace directive
pointing to the parent. docker/docker and testcontainers-go are no longer
in the main module, reducing go.mod from 106 to 60 lines and go.sum
from ~480 to 136 lines (-40% direct deps).

Makefile integration-test target updated to cd into the submodule.
2026-07-19 12:23:33 +02:00
dcarrillo 49ffcadb0a Fix data races, nil-record panics, scanner SSRF, log date layout, shutdown timeouts, and enable stricter linters (#54)
High (behavioral bugs):
- service.Geo: add RLock on lookups, handle Reload error, keep old DBs on failure
- models.GeoDB.Reload: open new DBs before closing old ones (no reader gap)
- router: guard nil geo records (404 instead of 500) in geo.go, generic.go, dns.go
- router/port_scanner: reject undetermined client IPs (nil->localhost dial)
- internal/httputils: fix access log date layout (02/Jan/2006, not literal Nov)
- server/quic: log.Printf instead of log.Fatal in request handler

Medium:
- server/*: 10s shutdown timeout; SIGTERM drains servers before closing geo DBs
- httputils: Clone() request headers instead of mutating the live map; strings.Builder
- setting/app: handle all os.Stat errors; fix "truster" typos; use errors.New;
  remove dead Token field
- cmd: errors.Is for sentinel checks; os.Stderr; log.Fatal instead of panic;
  pass http.Handler by value (not pointer-to-interface)
- resolver: validate config at startup (pre-parse RRs, validate IPs); check WriteMsg
  errors; Setup returns error

Low:
- .golangci.yaml: enable errcheck, govet, errorlint; fix all resulting findings
- server/tls: explicit TLSConfig{MinVersion: tls.VersionTLS12}
- router/dns: label-exact vhost suffix check, strip port; template.Must
- models: errors.Join instead of %s on []error
- service/geo_test: race-regression test (concurrent lookups during Reload)
- README: Go >= 1.25; fix latent test bug (store.Add->Set in dns_test.go)
2026-07-19 12:09:52 +02:00
dcarrillo 210e8c7cdb Update dependencies 2026-06-10 18:21:48 +02:00
dcarrillo bc27f8193f [ci] Upgrade github actions 3.2.3 2026-06-05 14:47:54 +02:00
dependabot[bot] 52b6302615 Bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 (#53)
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.59.0 to 0.59.1.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Commits](https://github.com/quic-go/quic-go/compare/v0.59.0...v0.59.1)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-version: 0.59.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dcarrillo <daniel.carrillo@gmail.com>
2026-06-05 14:42:26 +02:00
dcarrillo 9aa97e62cc [ci] Update linting tools installation method 2026-06-05 14:39:45 +02:00
dcarrillo 17c615b93d Update dependencies 2026-04-10 18:00:12 +02:00
dependabot[bot] 5a0c1c19fc Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 (#52)
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.40.0 to 1.43.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.40.0...v1.43.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-version: 1.43.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3.2.2
2026-04-08 23:40:58 +02:00
dependabot[bot] c3d113447d Bump go.opentelemetry.io/otel/sdk from 1.35.0 to 1.40.0 (#50)
* Bump go.opentelemetry.io/otel/sdk from 1.35.0 to 1.40.0

Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.35.0 to 1.40.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.35.0...v1.40.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-version: 1.40.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* [lint] Add metric package naming exclusion

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Carrillo <daniel.carrillo@gmail.com>
3.2.1
2026-03-03 17:29:34 +01:00
dependabot[bot] 473c859163 Bump github.com/quic-go/quic-go from 0.55.0 to 0.57.0 (#48)
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.55.0 to 0.57.0.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Commits](https://github.com/quic-go/quic-go/compare/v0.55.0...v0.57.0)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-version: 0.57.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-11 19:01:21 +01:00
dependabot[bot] 5f1af4a2b4 Bump golang.org/x/crypto from 0.43.0 to 0.45.0 (#47)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.43.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.43.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 16:22:14 +01:00
dcarrillo e8d3a20781 New feature: prometheus metrics endpoint (#46) 3.2.0 2025-11-03 18:36:13 +01:00
dcarrillo ec1de1fa81 Update dependencies and bump go version to 1.25 3.1.0 2025-09-26 16:09:18 +02:00
dcarrillo 00749ae529 Add tests for new disable-scan flag 2025-09-26 16:07:05 +02:00
AdamB 9b87d28433 Add a flag to disable TCP scanning (#45)
* Add a flag to disable TCP scanning

* Move the option definition
2025-09-26 15:59:39 +02:00
dcarrillo 751e5f3885 Improve README.md grammar and formatting (#43) 2025-07-19 12:39:18 +02:00
dcarrillo f3216cdf21 Update dependencies 2025-06-07 19:04:25 +02:00
dependabot[bot] f70f4c6b65 Bump golang.org/x/net from 0.37.0 to 0.38.0 (#42)
* Bump golang.org/x/net from 0.37.0 to 0.38.0

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/net/compare/v0.37.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.38.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update packages

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Carrillo <daniel.carrillo@gmail.com>
3.0.3
2025-04-17 10:53:14 +02:00
dcarrillo d3849cec02 [ci] Migrate golangci conf to v2 2025-04-17 10:30:41 +02:00
dcarrillo 00b1661ef9 Update dependencies and fix CVE-2025-22870, CVE-2024-40635 3.0.2 2025-03-18 20:25:24 +01:00
dcarrillo 10c199109a Bump go to 1.24 3.0.1 2025-02-21 19:37:35 +01:00
dcarrillo b5fe362183 Make geo database usage optional (#39) 3.0.0 2025-01-02 20:13:41 +01:00
dcarrillo 95e7742c56 Fix CVE-2024-45338 in golang.org/x/net 2024-12-19 17:52:04 +01:00
dcarrillo 680aeefeab Fix CVE-2024-45337 in golang.org/x/crypto 2024-12-13 09:26:24 +01:00
dependabot[bot] 15136359ae Bump github.com/quic-go/quic-go from 0.47.0 to 0.48.2 (#38)
* Bump github.com/quic-go/quic-go from 0.47.0 to 0.48.2

Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.47.0 to 0.48.2.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md)
- [Commits](https://github.com/quic-go/quic-go/compare/v0.47.0...v0.48.2)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix linter errors

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Carrillo <daniel.carrillo@gmail.com>
2.3.6
2024-12-02 19:14:32 +01:00
dcarrillo 64011f9e99 Update dependencies 2024-09-15 20:01:33 +02:00
dcarrillo f020abc228 Update dependencies and bump Go version to 1.23 2.3.5 2024-08-26 19:51:37 +02:00
dependabot[bot] 24b05c0015 Bump github.com/docker/docker (#36)
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 26.1.4+incompatible to 26.1.5+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](https://github.com/docker/docker/compare/v26.1.4...v26.1.5)

---
updated-dependencies:
- dependency-name: github.com/docker/docker
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-10 12:08:29 +02:00
dcarrillo f2da841307 Update dependencies 2.3.4 2024-07-30 12:50:27 +02:00
dependabot[bot] 5bb5c974dd Bump github.com/docker/docker (#35)
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 26.1.3+incompatible to 26.1.4+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](https://github.com/docker/docker/compare/v26.1.3...v26.1.4)

---
updated-dependencies:
- dependency-name: github.com/docker/docker
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-30 12:50:27 +02:00
dcarrillo 159c30f2f0 Update dependecies 2024-07-30 12:50:27 +02:00
dcarrillo 1539ba1987 Update dependencies 2024-07-30 12:50:11 +02:00
dcarrillo 4492f77d87 Remove docker compose from integration tests because of the testcontainers dependency nightmare (#34)
* Remove docker compose from integration tests because of the testcontainers dependency nightmare
2024-06-01 19:12:14 +02:00
dcarrillo aaf8a3b163 Revert update dependencies because of testcontainers 2024-05-25 16:14:46 +02:00
dcarrillo c37642c6c1 Revert "Update dependencies"
This reverts commit f3a6f27e99.
2024-05-25 16:10:48 +02:00
dcarrillo f3a6f27e99 Update dependencies 2024-05-25 16:07:52 +02:00
dcarrillo f167424e4f chore: Add concurrency to workflow 2024-05-12 19:26:00 +02:00
dcarrillo 789cc6939e Return 404 when the dns domain has any path different than / 2.3.2 2024-05-12 19:24:10 +02:00
dcarrillo b57beded8f chore: Fix typo 2024-05-09 20:01:40 +02:00
dcarrillo d29e238beb chore: Split unit/integration tests in CI workflow 2024-05-09 19:48:06 +02:00
dcarrillo 5d3dcb4b8e Bump gin-gonic to v1.10.0 2.3.1 2024-05-09 19:40:14 +02:00
dcarrillo 71a0f37abb Update LICENSE date 2024-05-02 13:32:03 +02:00