Pomerium is an identity and context-aware access proxy.
Find a file
Joe Kralicky 18cb47421a
Optimize Policy RouteID and Checksum
This significantly optimizes the (*Policy).RouteID() and
(*Policy).Checksum() methods for both speed and memory usage.

A new method (*Policy).ChecksumWithID(uint64) can be used to skip a call
to RouteID() if the ID is already known. Checksum() is implemented in
terms of this new method, and will always recompute the route ID on each
call.

RouteID() does not allocate heap memory. Checksum() may allocate heap memory,
depending on which fields are set. If all of the following are true,
Checksum() makes zero allocations:
1. The policy uses redirect or direct-response mode
2. The policy has no sub-policies
3. The policy has no response header rewrite config
2024-11-05 15:59:39 -05:00
.github chore(deps): bump the docker group in /.github with 3 updates (#5354) 2024-11-01 09:46:11 -07:00
.vscode use tlsClientConfig instead of custom dialer (#3830) 2022-12-27 09:55:36 -07:00
authenticate Fix many instances of contexts and loggers not being propagated (#5340) 2024-10-25 14:50:56 -04:00
authorize Decouple audience claim value from issuer format (#5345) 2024-10-25 16:21:19 -04:00
changelogs add v0.27.0 changelog (#5271) 2024-09-10 10:01:46 -04:00
cmd/pomerium Fix many instances of contexts and loggers not being propagated (#5340) 2024-10-25 14:50:56 -04:00
config Optimize Policy RouteID and Checksum 2024-11-05 15:59:39 -05:00
databroker Fix many instances of contexts and loggers not being propagated (#5340) 2024-10-25 14:50:56 -04:00
examples ci: address Dockerfile warnings (#5283) 2024-09-11 16:56:47 -07:00
integration Fix many instances of contexts and loggers not being propagated (#5340) 2024-10-25 14:50:56 -04:00
internal Optimize Policy RouteID and Checksum 2024-11-05 15:59:39 -05:00
k8s/zero zero: set k8s deployment to follow :latest tag (#5313) 2024-10-03 11:39:55 -07:00
ospkg move directory providers (#3633) 2022-11-03 11:33:56 -06:00
pkg New integration test fixtures (#5233) 2024-11-05 14:31:40 -05:00
proxy Fix many instances of contexts and loggers not being propagated (#5340) 2024-10-25 14:50:56 -04:00
scripts core/proto: update protoc dependencies (#5218) 2024-08-15 11:12:05 -06:00
ui core/ui: no-cache html, force back (#5264) 2024-09-05 10:39:50 -06:00
.codecov.yml development: change codecov precision 2019-07-18 16:49:37 -07:00
.dockerignore frontend: react+mui (#3004) 2022-02-07 08:47:58 -07:00
.fossa.yml rm cli code (#2824) 2021-12-15 16:25:21 -05:00
.gitattributes assets: use embed instead of statik (#1960) 2021-03-03 18:56:55 -07:00
.gitignore core/ui: improve frontend build size (#5109) 2024-05-09 07:10:00 -06:00
.golangci.yml New integration test fixtures (#5233) 2024-11-05 14:31:40 -05:00
.pre-commit-config.yaml integration: add single-cluster integration tests (#2516) 2021-08-24 15:35:05 -06:00
.tool-versions Update to Go 1.23 (#5216) 2024-08-14 14:12:01 -04:00
3RD-PARTY dependencies: vendor base58, remove shortuuid (#2739) 2021-11-02 09:23:15 -06:00
DEBUG.MD deplyoment: add debug build / container / docs (#1513) 2020-10-13 16:54:21 -04:00
Dockerfile chore(deps): bump the docker group with 3 updates (#5353) 2024-11-01 09:44:56 -07:00
Dockerfile.debug chore(deps): bump the docker group with 3 updates (#5353) 2024-11-01 09:44:56 -07:00
go.mod Optimize Policy RouteID and Checksum 2024-11-05 15:59:39 -05:00
go.sum Optimize Policy RouteID and Checksum 2024-11-05 15:59:39 -05:00
LICENSE initial release 2019-01-02 12:13:36 -08:00
Makefile Makefile: unset GOOS for get-envoy target (#5300) 2024-09-20 10:54:07 -07:00
pomerium.go fix go get, improve redis test (#2450) 2021-08-06 12:07:20 -06:00
README.md core/ui: update logo (#5249) 2024-09-05 18:13:06 +02:00
RELEASING.md deployment: update RELEASING.md (#3503) 2022-08-16 10:40:03 -07:00
SECURITY.md Fix SECURITY.md treated as symlink (#5211) 2024-08-07 17:20:18 -04:00

pomerium logo

Go Report Card GoDoc LICENSE Docker Pulls

Pomerium builds secure, clientless connections to internal web apps and services without a corporate VPN.

Pomerium is:

Its not a VPN alternative its the trusted, foolproof way to protect your business. Want a hosted control plane and management GUI? Give Pomerium Zero a try today!

Docs

For comprehensive docs, and tutorials see our documentation.

Contributing

See Contributing for information on how you can contribute to Pomerium.