-
-
Notifications
You must be signed in to change notification settings - Fork 618
Use UUID as request ID instead of a string. Reuse UUID to fix OSError when generating certificates #258
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
Use UUID as request ID instead of a string. Reuse UUID to fix OSError when generating certificates #258
Conversation
94f4b1d to
4549482
Compare
|
Thank you for the PR.
So I think I looked at the code where |
|
.... and after looking at your investigation here #251 (comment) and #251 (comment) , I have a strong hunch that this is exactly what probably is happening. E.g. sky.com was loaded in browser but it is trying to make say 200 requests in background. There is a high probability that |
|
Thank you for investigation and concluding that Thinking further about it, larger problem I see is that we can run into race conditions during certificate generations, resulting into random request failures. At the time of adding TLS interception support, I didn't verify / tested this scenario. So how can it happen?
|
|
Thx for you reply and your explications. |
Sure thing, please go ahead. Meanwhile, lemme figure why GitHub workflows are not running for your PR. |
|
On my dev version it works using the uid (with little changes...). I will do that maybe tonight, or tomorrow morning. |
Thanks for quickly checking out on it, I suspected it but wasn't sure. Let's not change To fix this bug, we need a unique integer that can act as certificate serial ID. If
So can we append to a) IIRC b) Append c) Or append One or more combination of above should result in a unique identifier. Wdyt? |
fd5150b to
fd6b125
Compare
|
jFYI, https://github.com/abhinavsingh/proxy.py#setup-pre-commit-hook will be useful to avoid failing workflow due to small things here and there. |
0f8d965 to
1ae6d8f
Compare
I tried the a) solution -> int of the hex. The advantage is for me that it's already generated so with that solution i think we are not consuming more resources... |
|
@Benouare That sounds great. Please send a PR to address the same :) Thank you!!! |
Just realized you actually closed the PR, will you be sending a separate one? I gazed over your current changes and it looks good to me. Changing UUID from str to UUID type itself works. |
0477ec4 to
e0b5913
Compare
|
This PR looks good for merge. Waiting for tests to finish. Thanks again and apologies it took time to get back to |
|
Hi Abhinav,
No worries for the time ;).
|
|
Just noticed it is All good, thank you, excellent investigation overall here :) |
Hi,
Dont really know what are the differences between -set_serial and -CAcreateserial... How they are working or the exepted behavior.
But, regarding my test on my environnement (Mac OS 10.13.6 Python 3.8.0) it solved my issue.