-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sweep: Resolve merge conflicts for PR #5962: Release 4.0.16 update #5964
Open
sweep-ai
wants to merge
41
commits into
release-4-lts
Choose a base branch
from
sweep/release-4_0_16-update-merge-conflict_0
base: release-4-lts
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Sweep: Resolve merge conflicts for PR #5962: Release 4.0.16 update #5964
sweep-ai
wants to merge
41
commits into
release-4-lts
from
sweep/release-4_0_16-update-merge-conflict_0
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… director for all required vars (#5088) [TT-2301] Create scope local variables for director for all required vars (#5088) <!-- Provide a general summary of your changes in the Title above --> ## Description Fix logger according to scope; Add scope local variables for director to use, avoiding unexpected behaviour/races. <!-- Describe your changes in detail --> ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> Fixes #2980 #2952 https://tyktech.atlassian.net/browse/TT-2301 ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why Co-authored-by: Tit Petric <tit@tyk.io>
bump gw version <!-- Provide a general summary of your changes in the Title above --> ## Description <!-- Describe your changes in detail --> ## Related Issue https://tyktech.atlassian.net/browse/TT-9187 <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why
…5168) <!-- Provide a general summary of your changes in the Title above --> ## Description <!-- Describe your changes in detail --> This PR reverts commit 0e27df8 ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> https://tyktech.atlassian.net/browse/TT-9199 ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why --------- Co-authored-by: Tit Petric <tit@tyk.io> Co-authored-by: Ilija Bojanovic <ilijabojanovic@gmail.com>
Backport TT-9177 to 4.3.4 (#5153) <!-- Provide a general summary of your changes in the Title above --> ## Description <!-- Describe your changes in detail --> ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why --------- Co-authored-by: Zaid Albirawi <zaid@tyk.io> --------- Co-authored-by: Sredny M <sredny.buitrago@gmail.com> Co-authored-by: Matias <83959431+mativm02@users.noreply.github.com>
Pin goreleaser to 1.18.2 Co-authored-by: Tit Petric <tit@tyk.io>
Synchronizes github actions and goreleaser configs from 4-lts into 4.0.14 --------- Co-authored-by: Tit Petric <tit@tyk.io>
<!-- Provide a general summary of your changes in the Title above --> ## Description Made the changes that were applied in master, release 5, and release-4-lts to keep consistency ## Related Issue https://tyktech.atlassian.net/browse/TT-9177 ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested Same as ticket description ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why
Picking CI changes from the commit d85facd
Picking CI changes from the commit d161d25
Picking CI changes from the commit 92404e6
Picking CI changes from the commit 5dc52ef
manual change: - verify github actions - copy over goreleaser - copy over plugin-compiler - copy over ci/Dockerfile.std/slim remaining changes should be automation changes (TD-1998 to track). --------- Co-authored-by: Tit Petric <tit@tyk.io>
Update a failing test. Co-authored-by: Tit Petric <tit@tyk.io>
https://tyktech.atlassian.net/browse/TT-9987 --------- Co-authored-by: Tit Petric <tit@tyk.io>
…ss or nil pointer dereference (#5589) (#5594) [TT-7127] Fix goplugin invalid memory address or nil pointer dereference (#5589) https://tyktech.atlassian.net/browse/TT-7127 Closes #4198 #4197 Signed-off-by: Chenyang Yan <memory.yancy@gmail.com> Co-authored-by: Chenyang Yan <memory.yancy@gmail.com> [TT-7127]: https://tyktech.atlassian.net/browse/TT-7127?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: Tit Petric <tit.petric@monotek.net> Co-authored-by: Tit Petric <tit@tyk.io>
…on stdlib in 3.11 (deprecated since python 3.0) (#5664) [TT-10329] fix getargspec removal from python stdlib in 3.11 (deprecated since python 3.0) (#5664) https://tyktech.atlassian.net/browse/TT-10329 --------- Co-authored-by: Tit Petric <tit@tyk.io>
[TT-8547] Fix websocket error proxying (#4918) ## Description Upgrade websocket only when server responded with 101. Fixes the case when websocket have own authentification, so we can proxy this error. ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why
…ependency in CI (#5737) Co-authored-by: Tit Petric <tit@tyk.io>
Mark legacy graphql test as flaky to pass CI https://tyktech.atlassian.net/browse/TT-10432 Co-authored-by: Tit Petric <tit@tyk.io>
…efore handling any additional logic (#5345) (#5736) [TT-9327] Decoding the URL request first, before handling any additional logic (#5345) <!-- Provide a general summary of your changes in the Title above --> this path works: /payment-intents but this path doesn't: /payment%2Dintents Encoded URLs aren't being rewritten when URL rewrite is applied. One edge case scenario that could break backwards compatibility (as described by @buger ), is that users can rely on escaped characters, and try to match them from the the url rewrite rules. In order to accomodate that, we are running url rewrite middleware twice: - once on the raw path - if transformations are failing and the url contains encoded characters, then we run it second time, with decoded URL <!-- Describe your changes in detail --> ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested Unit test and manually ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [√ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why [TT-9327]: https://tyktech.atlassian.net/browse/TT-9327?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: Laurentiu Ghiur <laurentiu.ghiur@gmail.com> Co-authored-by: Tit Petric <tit@tyk.io>
[TT-9761] Add reload interval (#5418) <!-- Provide a general summary of your changes in the Title above --> Add ability to manage the reload interval to take the load off the gateway ## Description <!-- Describe your changes in detail --> ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why --------- Co-authored-by: Tit Petric <tit@tyk.io> Co-authored-by: Tit Petric <tit.petric@monotek.net> [TT-9761]: https://tyktech.atlassian.net/browse/TT-9761?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: Zaid Albirawi <zaid@tyk.io> Co-authored-by: Tit Petric <tit@tyk.io>
…ose idle connections (#5231) (#5741) [TT-9284] Ensure that old transport will close idle connections (#5231) <details open> <br /> <table> <tr> <th>Summary</th> <td>[CS] The gateway leaks file handles via sockets when max_conn_time is above 0</td> </tr> <tr> <th>Type</th> <td> <img alt="Bug" src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium" /> Bug </td> </tr> <tr> <th>Status</th> <td>In Code Review</td> </tr> <tr> <th>Points</th> <td>N/A</td> </tr> </table> </details> <!-- do not remove this marker as it will break jira-lint's functionality. added_by_jira_lint --> --- TBD ## Description <!-- Describe your changes in detail --> ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why --------- Co-authored-by: Tit Petric <tit@tyk.io> [TT-9284]: https://tyktech.atlassian.net/browse/TT-9284?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: Tit Petric <tit@tyk.io>
…outeHandler (#5482) (#5733) [TT-9924]remove muxer, proxy from explicitRouteHandler (#5482) Remove muxer from explicitRouteHandler [TT-9924]: https://tyktech.atlassian.net/browse/TT-9924?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: Jeffy Mathew <jeffy.mathew100@gmail.com> Co-authored-by: Tit Petric <tit@tyk.io>
TT-8942 Change default RPC pool size (#5030) <!-- Provide a general summary of your changes in the Title above --> ## Description Default RPC pool size is set to 20 and because of the relatively heavy CPU and Memory footprint of the RPC connections in the MDCB model this can cause issues where either the gateways or MDCB fail on load cause by scaling events or component failure at MDCB side. <!-- Describe your changes in detail --> ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> https://tyktech.atlassian.net/browse/TT-8942 ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> https://tyktech.atlassian.net/browse/TT-8942 ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why
…) (#5746) TT-8934 Fix chunked response analytics (#5495) <!-- Provide a general summary of your changes in the Title above --> ## Description <!-- Describe your changes in detail --> When transfer-encoding is chunked on the upstream response, analytics records raw responses also contain the chunked characters (example https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding#examples). This is not expected. The proposed solution is to delete the transfer-encoding header before reading and writing the response body to the rawResponse field. Without this header, Go will process the header as it should. ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> https://tyktech.atlassian.net/browse/TT-8934 ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> https://tyktech.atlassian.net/browse/TT-8934 ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> Added tests ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [X] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why --------- Co-authored-by: Tomas Buchaillot <tombuchaillot89@gmail.com> Co-authored-by: Tit Petric <tit@tyk.io>
…poses key in the log (#5080) [TT-926] fix security vulnerability that exposes key in the log (#5080) <!-- Provide a general summary of your changes in the Title above --> ## Description The problem involved the HashKey function in [storage.go](https://github.com/TykTechnologies/tyk/blob/76a00611f33e150b1b6145264909baeefa1cbd4f/storage/storage.go#L170). It returns the key without hashing if "hash_keys" is set to false in the tyk.conf file. Now a conditional has been added that obfuscates the key if "hash_keys" and "enable_key_logging" are set to false. ## Related Issue [View issue here](https://tyktech.atlassian.net/browse/TT-926) ## Motivation and Context This issue is a low level security vulnerability. ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [x] Bug fix (non-breaking change which fixes an issue) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why
…in tests (#5426) (#5751) [TT-9829] Fix checking json.Marshal errors in tests (#5426) - Added `test.MarshalJSON` utility for encoding json in tests and asserting the error return is nil, - Updated usage in tests This is required to resolve some sonarcloud errors in existing tests code. https://tyktech.atlassian.net/browse/TT-9829 --------- Co-authored-by: Tit Petric <tit@tyk.io> [TT-9829]: https://tyktech.atlassian.net/browse/TT-9829?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: Tit Petric <tit.petric@monotek.net> Co-authored-by: Tit Petric <tit@tyk.io>
… found (inactive or deleted) (#5423) (#5749) [TT-5988] Use defaults APISpec if no API ID found (inactive or deleted) (#5423) https://tyktech.atlassian.net/browse/TT-5988 Before: ![image](https://github.com/TykTechnologies/tyk/assets/233360/8e2b6b60-5ef1-49a3-a1b7-6014b3de5218) After: ![image](https://github.com/TykTechnologies/tyk/assets/233360/c42fd8f0-de85-4905-b3c0-fdf3f5685993) Final recorded key data: ``` { "last_check": 0, "allowance": 1000, "rate": 1000, "per": 60, "throttle_interval": -1, "throttle_retry_limit": -1, "max_query_depth": -1, "date_created": "2023-08-16T12:21:53.662653883Z", "expires": 1693398822, "quota_max": -1, "quota_renews": 1692190432, "quota_remaining": 0, "quota_renewal_rate": -1, "access_rights": { "b07c5d3d288f42674a2770aa31981f48": { "api_name": "api 2", "api_id": "b07c5d3d288f42674a2770aa31981f48", "versions": [ "Default" ], "allowed_urls": null, "restricted_types": [], "allowed_types": null, "limit": { "rate": 0, "per": 0, "throttle_interval": 0, "throttle_retry_limit": 0, "max_query_depth": 0, "quota_max": 0, "quota_renews": 0, "quota_remaining": 0, "quota_renewal_rate": 0 }, "field_access_rights": [], "disable_introspection": false, "allowance_scope": "" }, "d77069245b9444766c399015c903c1fb": { "api_name": "api 1", "api_id": "d77069245b9444766c399015c903c1fb", "versions": [ "Default" ], "allowed_urls": null, "restricted_types": [], "allowed_types": null, "limit": { "rate": 0, "per": 0, "throttle_interval": 0, "throttle_retry_limit": 0, "max_query_depth": 0, "quota_max": 0, "quota_renews": 0, "quota_remaining": 0, "quota_renewal_rate": 0 }, "field_access_rights": [], "disable_introspection": false, "allowance_scope": "" } }, "org_id": "64dcbf11a164cd000109d282", "oauth_client_id": "", "oauth_keys": null, "certificate": "", "basic_auth_data": { "password": "", "hash_type": "" }, "jwt_data": { "secret": "" }, "hmac_enabled": false, "enable_http_signature_validation": false, "hmac_string": "", "rsa_certificate_id": "", "is_inactive": false, "apply_policy_id": "", "apply_policies": [], "data_expires": 0, "monitor": { "trigger_limits": null }, "enable_detail_recording": false, "enable_detailed_recording": false, "meta_data": {}, "tags": [], "alias": "", "last_updated": "1692190433", "id_extractor_deadline": 0, "session_lifetime": 0 } ``` API 2 is inactive and honored in access_rights above: ![image](https://github.com/TykTechnologies/tyk/assets/233360/bf75d695-6543-4038-82a9-e80905654df7) PR also addresses some found defects: 1. logging was inconsistent/spaghetti code (now we log with same log fields in function), 2. pre-existing errors - added a `test.JSONMarshal(t)` utility to assert no errors occured (sonarcloud) 3. updated tests to ensure coverage for the change --------- Co-authored-by: Tit Petric <tit@tyk.io> [TT-5988]: https://tyktech.atlassian.net/browse/TT-5988?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ Co-authored-by: Tit Petric <tit.petric@monotek.net>
…text-enforced timeout (#5541) (#5748) [TT-6446] Minimal approach to setting a context-enforced timeout (#5541) This changes the default proxy timeout to not be based on HardTimeout configured from an APISpec. - If a hard timeout is configured, a context with timeout is created for the outgoing request, - The transport timeout is configured to [proxy_default_timeout](https://tyk.io/docs/tyk-oss-gateway/configuration/#proxy_default_timeout) or 30 secs by default. https://tyktech.atlassian.net/browse/TT-6446 --------- Co-authored-by: Tit Petric <tit@tyk.io> Co-authored-by: Furkan Senharputlu <furkan_senharputlu@hotmail.com> [TT-6446]: https://tyktech.atlassian.net/browse/TT-6446?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: Tit Petric <tit.petric@monotek.net> Co-authored-by: Tit Petric <tit@tyk.io>
…#5835) TT-10701, fix for urlRewrite encoding issue (#5835) <!-- Provide a general summary of your changes in the Title above --> ## Description Adapted logic such that the middleware is run only once but with the caveat that if no matches are found using the urlEncoded path, another regex match check is done but this time with the path decoded. This should allow for backwards compatibility and even improve performance. <!-- Describe your changes in detail --> ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why
…ens (#5766) (#5901) [TT-10189/TT-10467] Add OAuthPurgeLapsedTokens (#5766) <!-- Provide a general summary of your changes in the Title above --> ## Description This PR adds an event `OAuthPurgeLapsedTokens`, which upon receiving would delete all lapsed OAuth tokens. It also adds endpoint `DELETE /tyk/oauth/tokens?scope=lapsed` to purge lapsed OAuth tokens synchronously. What are lapsed OAuth tokens? Lapsed OAuth tokens that are expired and past `oauth_token_expired_retain_period` configured in gateway config. ## Related Issue Sub Task: https://tyktech.atlassian.net/browse/TT-10467 Parent Ticket: https://tyktech.atlassian.net/browse/TT-10189 ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why --------- Co-authored-by: dcs3spp <dcs3spp@users.noreply.github.com> --------- Co-authored-by: Jeffy Mathew <jeffy.mathew100@gmail.com>
… (#5916) [TT-10826] self trim oAuth sorted set (#5907) <!-- Provide a general summary of your changes in the Title above --> ## Description Add a background job to self trim oAuth sorted set ## Related Issue https://tyktech.atlassian.net/browse/TT-10826 ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested <!-- Please describe in detail how you tested your changes --> <!-- Include details of your testing environment, and the tests --> <!-- you ran to see how your change affects other areas of the code, etc. --> <!-- This information is helpful for reviewers and QA. --> ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why --------- Co-authored-by: Tit Petric <tit.petric@monotek.net> Co-authored-by: Tit Petric <tit@tyk.io> [TT-10826]: https://tyktech.atlassian.net/browse/TT-10826?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: Jeffy Mathew <jeffy.mathew100@gmail.com>
As per the https://tyktech.atlassian.net/browse/SYSE-292 policy, delete old workflows for 4-lts; Related to: TykTechnologies/tyk-docs#3831 Co-authored-by: Tit Petric <tit@tyk.io>
Removed bitrot
Merged
API tests result: success ✅ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR resolves the merge conflicts in #5962. This branch can be directly merged into release-4-lts.
Fixes #5962.