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

对 httpupgrade 中 host 参数作补充,修改ed=2560为推荐值 #494

Merged
merged 3 commits into from
Mar 27, 2024

Conversation

chika0801
Copy link
Contributor

No description provided.

@Fangliding
Copy link
Member

诶有这个验证吗
我自己写的我都不知道
ws是否有这个机制

@chika0801
Copy link
Contributor Author

chika0801 commented Mar 27, 2024

诶有这个验证吗

我已经测试了,所以补充了这段描述。至于v2fly v5中,我不用v2fly-core不清楚(猜想是一样的机制)

我自己写的我都不知道

试一试了

ws是否有这个机制

ws看了文档没有 host 这值。ws是只有 "headers" 用于自定义。

且我实验了在服务端中,不写 host,用 headers 来自定义 host,结果是并不能达到和直接写 host 指定一个值来验证客户端的host是否一致的作用。

@Fangliding
Copy link
Member

@chika0801 哦原来是host 我瞎了 我看成header了 host我也不知道 回头看看

@chika0801
Copy link
Contributor Author

chika0801 commented Mar 27, 2024

你看得是有多快速呀

@chika0801
Copy link
Contributor Author

且我实验了在服务端中,不写 host,用 headers 来自定义 host,结果是并不能达到和直接写 host 指定一个值来验证客户端的host是否一致的作用。

测试了服务端使用此版本 XTLS/Xray-core#3193

当只用 headers 来自定义 host时,会用此时 host 的值来验证客户端发来的host是否一致。

当同时有 host 和 headers 来自定义 host时 ,以 host 的值 > headers 的,符合 XTLS/Xray-core#3191 (comment)

@Fangliding
Copy link
Member

OK 我小改了一下 应该是这样

@Fangliding Fangliding merged commit 1f38650 into XTLS:main Mar 27, 2024
1 check passed
@RPRX
Copy link
Member

RPRX commented Mar 27, 2024

需要改两处:

  1. 对于 WebSocket 0-RTT,如果服务端接受 8k header 长度,ed 最大值也不是 8192(因为 base64 编码会膨胀 1/3,还有其它 header),关于“最大值”的描述直接删掉即可
  2. 对于 HTTPUpgrade 0-RTT,由于实现原理不同,其实 ed 大于 0 就是无限长度 early data,文档中需要改一下描述

参考 XTLS/Xray-core#3152

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants