mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
hotfix for bug #186, drop connect args when not object. 2.0.4.
This commit is contained in:
parent
a169262099
commit
1bfc238fec
3 changed files with 16 additions and 3 deletions
|
@ -220,6 +220,7 @@ Supported operating systems and hardware:
|
||||||
* 2013-10-17, Created.<br/>
|
* 2013-10-17, Created.<br/>
|
||||||
|
|
||||||
## History
|
## History
|
||||||
|
* v2.0, 2014-10-24, fix [#186](https://github.com/winlinvip/simple-rtmp-server/issues/186), hotfix for bug #186, drop connect args when not object. 2.0.4.
|
||||||
* v2.0, 2014-10-24, rename wiki/xxx to wiki/v1_xxx. 2.0.3.
|
* v2.0, 2014-10-24, rename wiki/xxx to wiki/v1_xxx. 2.0.3.
|
||||||
* v2.0, 2014-10-19, fix [#184](https://github.com/winlinvip/simple-rtmp-server/issues/184), support AnnexB in RTMP body for HLS. 2.0.2
|
* v2.0, 2014-10-19, fix [#184](https://github.com/winlinvip/simple-rtmp-server/issues/184), support AnnexB in RTMP body for HLS. 2.0.2
|
||||||
* v2.0, 2014-10-18, remove supports for OSX(darwin). 2.0.1.
|
* v2.0, 2014-10-18, remove supports for OSX(darwin). 2.0.1.
|
||||||
|
|
|
@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
// current release version
|
// current release version
|
||||||
#define VERSION_MAJOR "2"
|
#define VERSION_MAJOR "2"
|
||||||
#define VERSION_MINOR "0"
|
#define VERSION_MINOR "0"
|
||||||
#define VERSION_REVISION "3"
|
#define VERSION_REVISION "4"
|
||||||
#define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION
|
#define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION
|
||||||
// server info.
|
// server info.
|
||||||
#define RTMP_SIG_SRS_KEY "SRS"
|
#define RTMP_SIG_SRS_KEY "SRS"
|
||||||
|
|
|
@ -1864,11 +1864,23 @@ int SrsConnectAppPacket::decode(SrsStream* stream)
|
||||||
|
|
||||||
if (!stream->empty()) {
|
if (!stream->empty()) {
|
||||||
srs_freep(args);
|
srs_freep(args);
|
||||||
args = SrsAmf0Any::object();
|
|
||||||
if ((ret = args->read(stream)) != ERROR_SUCCESS) {
|
// see: https://github.com/winlinvip/simple-rtmp-server/issues/186
|
||||||
|
// the args maybe any amf0, for instance, a string. we should drop if not object.
|
||||||
|
SrsAmf0Any* any = NULL;
|
||||||
|
if ((ret = SrsAmf0Any::discovery(stream, &any)) != ERROR_SUCCESS) {
|
||||||
srs_error("amf0 decode connect args failed. ret=%d", ret);
|
srs_error("amf0 decode connect args failed. ret=%d", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
srs_assert(any);
|
||||||
|
|
||||||
|
// drop when not an AMF0 object.
|
||||||
|
if (!any->is_object()) {
|
||||||
|
srs_warn("drop the args, see: '4.1.1. connect', marker=%#x", any->marker);
|
||||||
|
srs_freep(any);
|
||||||
|
} else {
|
||||||
|
args = any->to_object();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
srs_info("amf0 decode connect packet success");
|
srs_info("amf0 decode connect packet success");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue