Comments (30)
My house is undergoing some pretty big repairs so I'm in a hotel for a bit guys, I won't be able to address this for a few days. Will as soon as I get back though because I have commercial software relying on this.
from citadelcore.
For my own records, I think this would be caused by setting the default response handler to 200 in the http handler, which would get this first before an Upgrade handshake. Then somehow in the logic gates following, a certain condition causes this default value not to get changed.
from citadelcore.
This might possibly be caused by https://www.nuget.org/packages/System.Net.WebSockets.Client.Managed/
This package is used because Microsoft is dumb and they purposely hold back websocket support on Windows 7 I guess to strong arm people into upgrading windows. This package is fully managed, written by Microsoft, but they still have refused to resolve this issue. Their "solution" was to make it only work in .NET Core 2.1, but not full.
Anyway that package had some bugs that were patched recently. That's all I can figure, is that these connections were dying, the engine was handling the error and then returning from the failure, which would give a 200 response.
from citadelcore.
I'm publishing a new release tonight, so you guys should give it a try and see if the problem was the websocket library.
from citadelcore.
@vdhong And @leminhthanh1998 This issue is now fixed.
from citadelcore.
@vdhong A flood of errors about imposter packets. hmmm. Is your friend running an antivirus software that performs HTTP/HTTPS inspection?
from citadelcore.
Yes, he use McAfree
from citadelcore.
@vdhong Ok try to disable the web filtering portion and see if that solves the problem.
Perhaps I shouldn't be ignoring imposter packets.
from citadelcore.
@vdhong Please follow up on the .Windows version of the repo here:
TechnikEmpire/CitadelCore.Windows#13
from citadelcore.
@vdhong I just pushed a new release of CitadelCore.Windows, let me know if that fixes your issue on the bug thread I linked to above.
from citadelcore.
Thank you, I will let you know.
from citadelcore.
@vdhong did that resolve your issue?
from citadelcore.
@TechnikEmpire Yes, issue solved. Thank you!
from citadelcore.
But now, I have another issue: I can send message on facebook but I can not receive message other send me. It's mean my friend can receive my message but I can not receive his message send me because my PC is running my app.
I check console of browser and see error:
WebSocket connection to 'wss://edge-chat.facebook.com/chat?region=ash' failed: Error during WebSocket handshake: Unexpected response code: 200
I think CitaldelCore changed response code of this packet or this is not http package.
from citadelcore.
More details about issue above:
Request header:
GET wss://edge-chat.facebook.com/chat?region=ash HTTP/1.1
Host: edge-chat.facebook.com
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
Upgrade: websocket
Origin: https://www.facebook.com
Sec-WebSocket-Version: 13
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,vi;q=0.8
Cookie: ...
Sec-WebSocket-Key: ...
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Response header:
HTTP/1.1 200 OK
Connection: close
Date: Thu, 13 Sep 2018 06:29:49 GMT
Server: Kestrel
Content-Length: 0
from citadelcore.
@vdhong Ok, use this bug ticket instead for your new issue:
from citadelcore.
Actually I just tested this and it's working fine with the bundled example application. Check your filtering rules because you're probably dropping the websocket connection.
from citadelcore.
@TechnikEmpire I sure my filtering rules do not drop any websocket, I just filter to drop some domain. That issue happened yesterday but not today, I do not change anything in my app but now facebook chat can work normal and no error showed in console log.
from citadelcore.
@TechnikEmpire When I run Example project and I have the same problem as vdhong.
In the console of Chrome see error: WebSocket connection to 'wss://edge-chat.facebook.com/chat?region=atn' failed: Error during WebSocket handshake: Unexpected response code: 200
from citadelcore.
Ok I'll look into it. But is it actually causing the chat to break? Because I tried chat with the filter on and it worked, and then the other user reported that the issue was gone. You're running the latest version of the engine?
from citadelcore.
@TechnikEmpire Yes,I run the latest. CitadelCore 3.0.14 and CitadelCore.Windows 3.0.16
I can send message but I can not receive.
And the error message in Example project when Facebook messenger reload: https://imgur.com/a/vjBpRG0
from citadelcore.
I think this is unstable issue because sometime it happens sometime it does not.
from citadelcore.
@vdhong I got stuck on this problem since yesterday :3
from citadelcore.
And now it is working fine, don't have any error with facebook chat!
from citadelcore.
That's weird. I'm working my way around to this issue. If I can't reproduce though, I'll have to close it out.
from citadelcore.
I looked over the code guys and I can't see where the engine would be causing this. Response status code is set, always, to precisely what the upstream server is responding. The 200 message coming from Kestrel would indicate that the connection has fallen through the tumblers and escaped the logic for handling even still, I can't see how. The code is set immediately.
from citadelcore.
@TechnikEmpire This error happen againt, now I can't receive any message.
from citadelcore.
@leminhthanh1998 And you're sure this is with version 3.1.2? Thanks for checking this out for me.
from citadelcore.
I guess I'll have to actually break out the debugger if you're still seeing this 3.1.2. I don't use Facebook so I'll have a hard time reproducing.
from citadelcore.
@TechnikEmpire Yes, CitadelCore 3.1.2
I would be really grateful if you create a account and test on Facebook. Because in my country, there are a lot of people use Facebook!
from citadelcore.
Related Issues (20)
- We need to clear headers before applying user-generated headers
- Possible bug where 0-length responses screw up and actually include a body HOT 2
- HttpMessageInfo.StatusCode wrong value HOT 1
- Body for blocked page not shown HOT 12
- HttpMessageInfo needs to have a property that indicates the HTTP version HOT 1
- Document that the user must specifically set the message info message type HOT 1
- Change error callback to include exception object
- HTTPS exception on TlsSniConnectionAdapter.cs::InnerOnConnectionAsync() HOT 29
- Perform a new coverity test HOT 1
- Overriding async io in InspectionStream causes duplicate data sent to feedbacks HOT 1
- Change configuration constructor
- Make blocking of SOCKS4/5/TOR a configuration variable, rather than compile-time condition HOT 1
- New websock system fails because new headers need to be blacklisted
- Is it possible to modify response body? HOT 3
- Add null checks for SNI extensions object HOT 1
- websocket based handler throwing multiple exceptions with Facebook HOT 9
- Support for Windivert 2.0 HOT 11
- Error when upload file to Google Drive HOT 2
- when I tested CitadelCore.Windows and got the traffic error as described HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from citadelcore.