ossrs / srs

SRS is a simple, high-efficiency, real-time media server supporting RTMP, WebRTC, HLS, HTTP-FLV, HTTP-TS, SRT, MPEG-DASH, and GB28181.
https://ossrs.io
MIT License
25.57k stars 5.37k forks source link

PROTOCOL: Replace http-parser for bug and LICENSE #828

Closed vicent-q closed 4 years ago

vicent-q commented 7 years ago

It must be POST /live/live1, the directory must start with /, otherwise it will cause the SRS program to crash.

TRANS_BY_GPT3

winlinvip commented 7 years ago

Why was it closed?

TRANS_BY_GPT3

vicent-q commented 7 years ago

After actual testing, it was found that if the streaming address does not include "/", SRS will exit abnormally. This is caused by a dead loop in the http parser during parsing.

The reason for the close is that I modified the streaming address and added "/" by default.

However, this should be considered a serious bug and I haven't analyzed how to solve it carefully yet.

Thank you for your reply!

On 2017-04-15 18:38:53, "winlin" notifications@github.com wrote:

Why was it closed?

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or mute the thread.

TRANS_BY_GPT3

vicent-q commented 7 years ago

Test tool download address: http://pan.baidu.com/s/1o8FBZgm

Video encoding: H.264, audio encoding: AAC, data packaging: flv, Transmit to server using PowerLive Server.

TRANS_BY_GPT3

winlinvip commented 7 years ago

Maybe we should replace the http parser.

winlinvip commented 4 years ago

Fixed in SRS3:

[2020-01-25 11:06:12.271][Trace][9182][572] HTTP client ip=127.0.0.1, request=0, to=15000ms
[2020-01-25 11:06:21.204][Error][9182][572][11] serve error code=3009 : parse message : parse 26B, nparsed=9, err=7402508/invalid URL 
thread [9182][572]: parse_message() [src/service/srs_service_http_conn.cpp:95][errno=11]
thread [9182][572]: parse_message_imp() [src/service/srs_service_http_conn.cpp:127][errno=11](Resource temporarily unavailable)