Laurence
ee27bf3153
Fix race condition in WireGuard session management
...
The race condition existed because while sync.Map is thread-safe for map
operations (Load, Store, Delete, Range), it does not provide thread-safety
for the data stored within it. When WireGuardSession structs were stored as
pointers in the sync.Map, multiple goroutines could:
1. Retrieve the same session pointer from the map concurrently
2. Access and modify the session's fields (particularly LastSeen) without
synchronization
3. Cause data races when one goroutine reads LastSeen while another updates it
This fix adds a sync.RWMutex to each WireGuardSession struct to protect
concurrent access to its fields. All field access now goes through
thread-safe methods that properly acquire/release the mutex.
Changes:
- Added sync.RWMutex to WireGuardSession struct
- Added thread-safe accessor methods (GetLastSeen, GetDestAddr, etc.)
- Added atomic CheckAndUpdateIfMatch method for efficient check-and-update
- Updated all session field accesses to use thread-safe methods
- Removed redundant Store call after updating LastSeen (pointer update is
atomic in Go, but field access within pointer was not)
2025-11-13 06:26:09 +00:00
dependabot[bot]
a90f681957
Bump golang.org/x/crypto in the prod-minor-updates group
...
Bumps the prod-minor-updates group with 1 update: [golang.org/x/crypto](https://github.com/golang/crypto ).
Updates `golang.org/x/crypto` from 0.43.0 to 0.44.0
- [Commits](https://github.com/golang/crypto/compare/v0.43.0...v0.44.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.44.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-11 21:19:30 +00:00
dependabot[bot]
3afc82ef9a
Bump docker/setup-qemu-action from 3.6.0 to 3.7.0
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](29109295f8...c7c5346462 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-version: 3.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-10 21:51:03 +00:00
dependabot[bot]
d3a16f4c59
Bump actions/upload-artifact from 4.6.2 to 5.0.0
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4.6.2 to 5.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](ea165f8d65...330a01c490 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 5.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-27 22:24:20 +00:00
Owen
2a1911a66f
Update runner to amd64-runner
2025-10-20 16:43:18 -07:00
Owen Schwartz
08341b2385
Merge pull request #32 from marcschaeferger/gh-action
...
Adding GHCR to CI/CD Release Workflow & further improvements
2025-10-20 16:39:54 -07:00
Marc Schäfer
6cde07d479
ci(actions): add GHCR mirroring and cosign signing for Docker images
...
- mirror images from Docker Hub to GHCR using skopeo (preserves multi-arch manifests)
- login to GHCR via docker/login-action for signing/pushing
- install cosign and perform dual signing: keyless (OIDC) + key-based; verify signatures
- add required permissions for id-token/packages and reference necessary secrets
2025-10-21 01:30:51 +02:00
Marc Schäfer
06b1e84f99
feat(ci): add step to update version in main.go during CI/CD pipeline
2025-10-21 01:20:08 +02:00
Marc Schäfer
2b7e93ec92
ci(actions): add permissions section to CI/CD and test workflows
2025-10-21 01:19:36 +02:00
Marc Schäfer
ca23ae7a30
ci(actions): pin action versions to commit SHAs for security
...
- Pin actions/checkout to SHA for v5.0.0
- Pin docker/setup-qemu-action to SHA for v3.6.0
- Pin docker/setup-buildx-action to SHA for v3.11.1
- Pin docker/login-action to SHA for v3.6.0
- Pin actions/setup-go to SHA for v6.0.0
- Pin actions/upload-artifact to SHA for v4.6.2
2025-10-21 01:18:33 +02:00
Owen
661fd86305
Update to use gerbil and not newt
2025-10-20 12:59:17 -07:00
Owen Schwartz
594a499b95
Merge pull request #31 from marcschaeferger/ghcr
...
feat(actions): Sync Images from Docker to GHCR
2025-10-20 12:57:53 -07:00
Marc Schäfer
44aed84827
feat(actions): Sync Images from Docker to GHCR
2025-10-20 21:56:04 +02:00
Owen
bf038eb4a2
Update domain
2025-10-19 15:12:56 -07:00
Owen
6da3129b4e
Update port
2025-10-18 15:07:50 -07:00
Owen
ac0f9b6a82
Update cicd
2025-10-16 14:09:30 -07:00
Owen
16aef10cca
Merge branch 'main' of github.com:fosrl/gerbil
1.2.2
2025-10-16 13:41:42 -07:00
Owen
19031ebdfd
Move to gen the port in the right place
2025-10-16 13:40:01 -07:00
Owen
0eebbc51d5
Deprecate --listen
2025-10-16 10:38:47 -07:00
Owen
d321a8ba7e
Dont require proxy protocol from known hosts
2025-10-14 21:05:30 -07:00
Owen Schwartz
3ea86222ca
Merge pull request #29 from fosrl/dependabot/go_modules/prod-minor-updates-ce64870c5e
...
Bump golang.org/x/crypto from 0.42.0 to 0.43.0 in the prod-minor-updates group
2025-10-11 09:41:08 -07:00
dependabot[bot]
c3ebe930d9
Bump golang.org/x/crypto in the prod-minor-updates group
...
Bumps the prod-minor-updates group with 1 update: [golang.org/x/crypto](https://github.com/golang/crypto ).
Updates `golang.org/x/crypto` from 0.42.0 to 0.43.0
- [Commits](https://github.com/golang/crypto/compare/v0.42.0...v0.43.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-08 21:24:05 +00:00
Owen Schwartz
f2b96f2a38
Merge pull request #28 from SigmaSquadron/push-unypywyqkkrl
...
Change default port to 3004 to avoid a conflict with Pangolin's integration API.
2025-10-05 17:41:21 -07:00
Owen
9038239bbe
Accept proxy protocol from other nodes
2025-09-29 21:56:15 -07:00
miloschwartz
3e64eb9c4f
add templates
2025-09-29 16:41:29 -07:00
Owen
92992b8c14
Merge branch 'main' into dev
2025-09-28 16:28:07 -07:00
Owen
4ee9d77532
Rebuild sessions
2025-09-28 15:31:34 -07:00
Owen Schwartz
bd7a5bd4b0
Merge pull request #26 from fosrl/dependabot/github_actions/actions/setup-go-6
...
Bump actions/setup-go from 5 to 6
2025-09-15 14:43:53 -07:00
Owen Schwartz
1cd49f8ee3
Merge pull request #27 from fosrl/dependabot/go_modules/prod-minor-updates-237ba4726d
...
Bump golang.org/x/crypto from 0.41.0 to 0.42.0 in the prod-minor-updates group
2025-09-15 14:43:41 -07:00
Fernando Rodrigues
7a919d867b
Change default port to 3004 to avoid a conflict with Pangolin's integration API.
...
Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net >
2025-09-14 23:19:21 +10:00
dependabot[bot]
ce50c627a7
Bump golang.org/x/crypto in the prod-minor-updates group
...
Bumps the prod-minor-updates group with 1 update: [golang.org/x/crypto](https://github.com/golang/crypto ).
Updates `golang.org/x/crypto` from 0.41.0 to 0.42.0
- [Commits](https://github.com/golang/crypto/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-08 21:53:42 +00:00
dependabot[bot]
691d5f0271
Bump actions/setup-go from 5 to 6
...
Bumps [actions/setup-go](https://github.com/actions/setup-go ) from 5 to 6.
- [Release notes](https://github.com/actions/setup-go/releases )
- [Commits](https://github.com/actions/setup-go/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-08 21:52:09 +00:00
Owen Schwartz
56151089e3
Merge pull request #24 from Lokowitz/dockerfile-update
...
changed docker image from ubuntu to alpine
2025-08-31 09:56:28 -07:00
Lokowitz
af7c1caf98
changed docker image from ubuntu to alpine
2025-08-31 11:19:16 +00:00
Owen Schwartz
dd208ab67c
Merge pull request #22 from fosrl/dependabot/go_modules/prod-minor-updates-d1569a22cb
...
Bump golang.org/x/crypto from 0.36.0 to 0.41.0 in the prod-minor-updates group
2025-08-30 15:14:02 -07:00
Owen Schwartz
8189d41a45
Merge pull request #21 from fosrl/dependabot/github_actions/actions/checkout-5
...
Bump actions/checkout from 4 to 5
2025-08-30 15:13:54 -07:00
dependabot[bot]
ea3477c8ce
Bump golang.org/x/crypto in the prod-minor-updates group
...
Bumps the prod-minor-updates group with 1 update: [golang.org/x/crypto](https://github.com/golang/crypto ).
Updates `golang.org/x/crypto` from 0.36.0 to 0.41.0
- [Commits](https://github.com/golang/crypto/compare/v0.36.0...v0.41.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.41.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-27 21:35:30 +00:00
Owen Schwartz
a8a0f92c9b
Merge pull request #23 from fosrl/dev
...
Add proxy protocol
1.2.1
2025-08-27 14:22:08 -07:00
Owen
7040a9436e
Add proxy protocol
2025-08-26 22:26:01 -07:00
Owen
04361242fe
Update readme
2025-08-23 12:29:26 -07:00
Owen
554b1d55dc
Merge branch 'main' into dev
1.2.0
2025-08-23 12:24:21 -07:00
dependabot[bot]
b03f8911a5
Bump actions/checkout from 4 to 5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-23 04:37:59 +00:00
Owen Schwartz
47589570c9
Merge pull request #20 from Lokowitz/sync-go-versions
...
update versions and sync go version in all files
2025-08-22 21:37:20 -07:00
Owen
9f5b8dea26
Merge branch 'hybrid' into dev
2025-08-22 11:56:58 -07:00
Owen
f6a1e1e27c
Merge branch 'main' into dev
2025-08-22 11:56:54 -07:00
Owen
f983a8f141
Local proxy port 443
2025-08-22 11:56:29 -07:00
Owen
efce3cb0b2
Sni has no errors now
2025-08-17 10:43:37 -07:00
Marvin
6eeebd81b2
sync go versions
2025-08-17 11:48:39 +00:00
Owen
c970fd5a18
Update to work with multipe endpoints
2025-08-16 22:59:45 -07:00
Owen
09bd02456d
Move to post
2025-08-16 22:53:49 -07:00