Skip to content
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

Make sure to encode pathname for custom-route destination #10536

Merged
merged 2 commits into from Feb 14, 2020

Conversation

ijjk
Copy link
Member

@ijjk ijjk commented Feb 14, 2020

This makes sure to encode the pathname so that /%5Cgoogle.com is handled correctly when redirecting to a destination that uses the value at the base of the path /:path. I also added a test to prevent regressing on this to our custom-routes suite

x-ref: #9081

@ijjk ijjk added the kind: bug Confirmed bug that is on the backlog label Feb 14, 2020
@ijjk ijjk added this to the 9.2.2 milestone Feb 14, 2020
Copy link
Member

@timneutkens timneutkens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add tests into the security test suite too

@ijjk
Copy link
Member Author

ijjk commented Feb 14, 2020

Stats from current PR

Default Server Mode
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
buildDuration 12.2s 12.5s ⚠️ +256ms
nodeModulesSize 52.8 MB 52.8 MB ⚠️ +23 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
main-HASH.js gzip 5.13 kB 5.13 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..d239.js gzip 16.2 kB 16.2 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 70 kB 70 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
main-HASH.module.js gzip 4.13 kB 4.13 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15.1 kB 15.1 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 64.6 kB 64.6 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_app.js gzip 1.15 kB 1.15 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.89 kB 2.89 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.68 kB 9.68 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_app.module.js gzip 576 B 576 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.46 kB 2.46 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.22 kB 7.22 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
index.html gzip 1.04 kB 1.04 kB
link.html gzip 1.04 kB 1.04 kB
withRouter.html gzip 1.03 kB 1.03 kB
Overall change 3.11 kB 3.11 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
buildDuration 13.6s 13.3s -287ms
nodeModulesSize 52.8 MB 52.8 MB ⚠️ +23 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
main-HASH.js gzip 5.13 kB 5.13 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..d239.js gzip 16.2 kB 16.2 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 70 kB 70 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
main-HASH.module.js gzip 4.13 kB 4.13 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15.1 kB 15.1 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 64.6 kB 64.6 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_app.js gzip 1.15 kB 1.15 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.89 kB 2.89 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.68 kB 9.68 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_app.module.js gzip 576 B 576 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.46 kB 2.46 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.22 kB 7.22 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles Overall increase ⚠️
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_error.js gzip 289 kB 289 kB ⚠️ +202 B
404.html gzip 1.45 kB 1.45 kB
hooks.html gzip 1.08 kB 1.08 kB
index.js gzip 289 kB 290 kB ⚠️ +756 B
link.js gzip 319 kB 319 kB -290 B
routerDirect.js gzip 316 kB 316 kB -177 B
withRouter.js gzip 316 kB 315 kB -478 B
Overall change 1.53 MB 1.53 MB ⚠️ +13 B

Commit: 42cf950

@ijjk
Copy link
Member Author

ijjk commented Feb 14, 2020

Added tests to the security suite also 👍

@ijjk
Copy link
Member Author

ijjk commented Feb 14, 2020

Stats from current PR

Default Server Mode
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
buildDuration 11.3s 11.1s -163ms
nodeModulesSize 52.8 MB 52.8 MB ⚠️ +23 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
main-HASH.js gzip 5.13 kB 5.13 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..d239.js gzip 16.2 kB 16.2 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 70 kB 70 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
main-HASH.module.js gzip 4.13 kB 4.13 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15.1 kB 15.1 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 64.6 kB 64.6 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_app.js gzip 1.15 kB 1.15 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.89 kB 2.89 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.68 kB 9.68 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_app.module.js gzip 576 B 576 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.46 kB 2.46 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.22 kB 7.22 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
index.html gzip 1.04 kB 1.04 kB
link.html gzip 1.04 kB 1.04 kB
withRouter.html gzip 1.03 kB 1.03 kB
Overall change 3.11 kB 3.11 kB

Serverless Mode (Decrease detected ✓)
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
buildDuration 12.5s 12s -483ms
nodeModulesSize 52.8 MB 52.8 MB ⚠️ +23 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
main-HASH.js gzip 5.13 kB 5.13 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..d239.js gzip 16.2 kB 16.2 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 70 kB 70 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
main-HASH.module.js gzip 4.13 kB 4.13 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15.1 kB 15.1 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 64.6 kB 64.6 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_app.js gzip 1.15 kB 1.15 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.89 kB 2.89 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.68 kB 9.68 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_app.module.js gzip 576 B 576 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.46 kB 2.46 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.22 kB 7.22 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles Overall decrease ✓
zeit/next.js canary ijjk/next.js update/encode-redirect-path Change
_error.js gzip 290 kB 289 kB -561 B
404.html gzip 1.45 kB 1.45 kB
hooks.html gzip 1.08 kB 1.08 kB
index.js gzip 290 kB 289 kB -519 B
link.js gzip 319 kB 319 kB ⚠️ +486 B
routerDirect.js gzip 316 kB 316 kB -24 B
withRouter.js gzip 316 kB 316 kB -338 B
Overall change 1.53 MB 1.53 MB -956 B

Commit: abf3289

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind: bug Confirmed bug that is on the backlog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants