Commit Graph

1716 Commits

Author SHA1 Message Date
kjake b22006b0fe Undo change 2025-01-20 17:15:36 -05:00
kjake e75a43eec4 Align to original 2025-01-20 17:13:45 -05:00
kjake fee93f8cce
Merge branch 'cloudflare:master' into freebsd 2025-01-20 17:10:45 -05:00
kjake 4e9b54e610 Unwind Most Changes
Paring down to what should be necessary, but likely won't build in this state
2025-01-20 17:10:15 -05:00
kjake 3da39ea5bb Correct artifact path 2025-01-20 15:43:46 -05:00
kjake 4197b4267f Attach successful build file 2025-01-20 15:30:47 -05:00
kjake 49c3be3188 Fix missing cliutil
Aligns slightly more with the linux flavor
2025-01-20 15:11:19 -05:00
kjake 822fbc379d Implement NewSystemCollectorImpl for BSD 2025-01-20 14:48:07 -05:00
kjake 4c2e515fb3 Test fix for network diag package 2025-01-20 14:26:03 -05:00
kjake 8e668f511b Improve BSD coverage 2025-01-20 13:59:15 -05:00
kjake 32a5ba9418 More complete freebsd change 2025-01-20 13:36:21 -05:00
kjake 7c6405b158 Build for unix
Test build against our fork before opening a PR against the origin
2025-01-20 13:21:13 -05:00
João "Pisco" Fernandes 4eb0f8ce5f TUN-8861: Rename Session Limiter to Flow Limiter
## Summary
Session is the concept used for UDP flows. Therefore, to make
the session limiter ambiguous for both TCP and UDP, this commit
renames it to flow limiter.

Closes TUN-8861
2025-01-20 06:33:40 -08:00
João "Pisco" Fernandes 8c2eda16c1 TUN-8861: Add configuration for active sessions limiter
## Summary
This commit adds a new configuration in the warp routing
config to allow users to define the active sessions limit
value.
2025-01-20 11:39:42 +00:00
João "Pisco" Fernandes 8bfe111cab TUN-8861: Add session limiter to TCP session manager
## Summary
In order to make cloudflared behavior more predictable and
prevent an exhaustion of resources, we have decided to add
session limits that can be configured by the user. This commit
adds the session limiter to the HTTP/TCP handling path.
For now the limiter is set to run only in unlimited mode.
2025-01-20 10:53:53 +00:00
João "Pisco" Fernandes bf4954e96a TUN-8861: Add session limiter to UDP session manager
## Summary
In order to make cloudflared behavior more predictable and
prevent an exhaustion of resources, we have decided to add
session limits that can be configured by the user. This first
commit introduces the session limiter and adds it to the UDP
handling path. For now the limiter is set to run only in
unlimited mode.
2025-01-20 02:52:32 -08:00
kjake a546d623df Another vendor fix 2025-01-19 17:38:43 -05:00
kjake 018cba60e5 Fix vendors 2025-01-19 17:23:59 -05:00
kjake abce3d76f8 Update build.yml
Get go deps in the correct context
2025-01-19 17:12:54 -05:00
kjake bf160b011b Update go vendor modules
Making sure that go modules are current
2025-01-19 17:06:11 -05:00
kjake 45e3aef1ea Update build.yml
trying to solve `go build` issues
2025-01-19 16:29:47 -05:00
kjake 0cff12b1b6 Update build.yml
Enable CGO builds
2025-01-19 15:54:30 -05:00
kjake 8e4438c1b5 Update build.yml
Re-target FreeBSD 14.1
Debug environment vars
2025-01-19 15:07:44 -05:00
kjake cae50fffc0 Update build.yml
ensure dependancies are met
2025-01-19 14:44:20 -05:00
kjake 8aa84e46e3 Update build.yml
Fix for VCS stamping
2025-01-19 14:00:09 -05:00
kjake 6cca71a05c Create build.yml
Attempting automated FreeBSD builds
2025-01-19 13:47:49 -05:00
kjake 06fdbd4343 Update generic_service.go
Include changes from micah-yeager:master
2025-01-19 13:05:12 -05:00
Gonçalo Garcia 8918b6729e TUN-8871: Accept login flag to authenticate with Fedramp environment
## Summary
Some description...

Closes TUN-8871
2025-01-17 08:16:36 -08:00
João "Pisco" Fernandes 25c3f676f4 TUN-8900: Add import of Apple Developer Certificate Authority to macOS Pipeline
## Summary
During the renewal of the certificates used to sign the macOS binaries and package,
we faced an issue with the new certificates requiring a specific certification authority
that wasn't available in the keychain of the mac agents. Therefore, this commit adds
an import step that will ensure that the Certificate Authority, usually fetched from
https://www.apple.com/certificateauthority/ is imported into the keychain to validate
the Developer Certificates.

Closes TUN-8900
2025-01-17 07:10:16 -08:00
João "Pisco" Fernandes a1963aed80 TUN-8866: Add linter to cloudflared repository
## Summary
To improve our code, this commit adds a linter that will start
checking for issues from this commit onwards, also forcing
issues to be fixed on the file changed and not only on the changes
themselves. This should help improve our code quality overtime.

Closes TUN-8866
2025-01-16 07:02:54 -08:00
chungthuang ac34f94d42 TUN-8848: Don't treat connection shutdown as an error condition when RPC server is done 2025-01-09 10:07:12 -06:00
João "Pisco" Fernandes d8c7f1c1ec Release 2025.1.0 2025-01-07 11:33:38 +00:00
Devin Carr 3b522a27cf TUN-8807: Add support_datagram_v3 to remote feature rollout
Support rolling out the `support_datagram_v3` feature via remote feature rollout (DNS TXT record) with `dv3` key.

Consolidated some of the feature evaluation code into the features module to simplify the lookup of available features at runtime.

Reduced complexity for management logs feature lookup since it's a default feature.

Closes TUN-8807
2025-01-06 09:15:18 -08:00
João "Pisco" Fernandes 5cfe9bef79 TUN-8842: Add Ubuntu Noble and 'any' debian distributions to release script
## Summary
Ubuntu has released a new LTS version, and there are people starting to use it, this makes
our installation recommendation, that automatically detecs the release flavor, to fail for
Noble users. Therefore, this commit adds this new version to our release packages.
It also adds an `any` package so that we can update our documentation to use it since
we are using the same binaries across all debian flavors, so there is no reason to keep
adding more release flavors when we can just take advantage of the `any` release flavor
like other repositories do.
2025-01-06 12:09:13 +00:00
Luis Neto 2714d10d62 TUN-8829: add CONTAINER_BUILD to dockerfiles
Closes TUN-8829
2024-12-20 08:24:12 -08:00
lneto ac57ed9709 Release 2024.12.2 2024-12-19 15:28:18 +00:00
Gonçalo Garcia c6901551e7 TUN-8822: Prevent concurrent usage of ICMPDecoder
## Summary
Some description...

Closes TUN-8822
2024-12-19 07:19:36 -08:00
Luis Neto 9bc6cbd06d TUN-8818: update changes document to reflect newly added diag subcommand
Closes TUN-8818
2024-12-18 04:26:38 -08:00
Devin Carr bc9c5d2e6e TUN-8817: Increase close session channel by one since there are two writers
When closing a session, there are two possible signals that will occur,
one from the outside, indicating that the session is idle and needs to
be closed, and the internal error condition that will be unblocked
with a net.ErrClosed when the connection underneath is closed. Both of
these routines write to the session's closeChan.

Once the reader for the closeChan reads one value, it will immediately
return. This means that the channel is a one-shot and one of the two
writers will get stuck unless the size of the channel is increased to
accomodate for the second write to the channel.

With the channel size increased to two, the second writer (whichever
loses the race to write) will now be unblocked to end their go routine
and return.

Closes TUN-8817
2024-12-17 14:55:09 -08:00
Luis Neto 1859d742a8 TUN-8724: Add CLI command for diagnostic procedure
## Summary
Adds a new CLI subcommand, under the tunnel command, the `diag`. This command has as function the automatic collection of different data points, such as, logs, metrics, network information, system information, tunnel state, and runtime information which will be written to a single zip file.

Closes TUN-8724
2024-12-13 10:07:56 -08:00
Luis Neto 8ed19222b9 TUN-8797: update CHANGES.md with note about semi-deterministic approach used to bind metrics server
Closes TUN-8797
2024-12-13 01:53:11 -08:00
Luis Neto 02e7ffd5b7 TUN-8792: Make diag/system endpoint always return a JSON
## Summary
Change the system information collector and respective http handler so that it always returns a JSON.

Closes [TUN-8792](https://jira.cfdata.org/browse/TUN-8792)
2024-12-11 02:48:41 -08:00
Luis Neto ba9f28ef43 TUN-8786: calculate cli flags once for the diagnostic procedure
## Summary

The flags were always being computed when their value is static.

 Closes TUN-8786
2024-12-11 01:29:20 -08:00
Luis Neto 77b99cf5fe TUN-8784: Set JSON encoder options to print formatted JSON when writing diag files
## Summary

The initial implementation produced correct JSON however it was not formatted which would make it harder to read the file by an user.

 Closes TUN-8784
2024-12-10 13:01:24 -08:00
Luis Neto d74ca97b51 TUN-8785: include the icmp sources in the diag's tunnel state
Closes TUN-8785
2024-12-10 10:42:33 -08:00
Luis Neto 29f0cf354c TUN-8783: fix log collectors for the diagnostic procedure
## Summary

* The host log collector now verifies if the OS is linux and has systemd if so it will use journalctl to get the logs
* In linux systems docker will write the output of the command logs to the stderr therefore the function that handles the execution of the process will copy both the contents of stdout and stderr; this also affect the k8s collector

Closes TUN-8783
2024-12-10 09:53:13 -08:00
lneto e7dcb6edca Release 2024.12.1 2024-12-10 16:07:33 +00:00
Luis Neto 14cf0eff1d TUN-8795: update createrepo to createrepo_c to fix the release_pkgs.py script
## Summary
The default-flavour of cfsetup changed from bullseye to bookworm and in the latter the createrepo package was renamed to createrepo_c.

Closes TUN-8795
2024-12-10 08:07:02 -08:00
lneto a00c80f9e1 Release 2024.12.0 2024-12-09 16:55:31 +00:00
Luis Neto 12d878531c TUN-8789: make python package installation consistent
## Summary

The previous changes regarding python's distribution which broke CI the installation of python packages.

Python packages in cfsetup are now installed via virtual environment. The dependency python3-venv was added as builddep to allow the creation of venv and the python packages installation was moved to the post-cache resulting in the removal of 

* anchor build_release_pre_cache
* anchor component_test_pre_cache

Closes TUN-8789
2024-12-09 08:52:48 -08:00